/* TOP FV v1. Only the operational homepage Hero; no changes to Header or patterns. */
.top-fv {
  position:relative; isolation:isolate; overflow:hidden;
  background:radial-gradient(ellipse at 33% 38%,#fff 0,rgba(255,255,255,.9) 22%,transparent 66%),linear-gradient(125deg,#fff1f5 0%,#fff8f3 45%,#ffe3ed 100%);
}
.top-fv::before,.top-fv::after {content:"";position:absolute;pointer-events:none;z-index:-1;border-radius:50%;}
.top-fv::before {width:85%;height:70%;right:-25%;top:5%;background:rgba(255,255,255,.5);transform:rotate(-22deg);}
.top-fv::after {width:130%;height:100px;left:-15%;bottom:-70px;background:var(--wp--preset--color--soft-pink);border-top:3px solid white;}
.top-fv .hero.wrap {position:relative;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:36px;width:min(1200px,calc(100% - 48px));padding-block:72px 110px;}
.top-fv .hero-text {min-width:0;}
.top-fv .eyebrow {font-size:17px;letter-spacing:.065em;margin:0 0 20px;}
.top-fv .hero h1 {font-size:clamp(34px,3.5vw,46px);line-height:1.5;letter-spacing:0;margin:0 0 22px;}
.fv-title-line {display:block;overflow-wrap:anywhere;text-wrap:balance;}
.top-fv .hero-copy {max-width:550px;margin:0 0 22px;font-size:16px;line-height:1.9;overflow-wrap:normal;line-break:strict;text-wrap:pretty;}
.fv-topics {display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;}
.fv-topics li {background:rgba(255,255,255,.8);color:var(--wp--preset--color--berry);border:1px solid #f8dde6;border-radius:40px;padding:6px 14px;font-size:13px;font-weight:600;line-height:1.5;white-space:nowrap;box-shadow:0 3px 12px rgba(255,79,129,.05);}
.top-fv .home-section-cta {display:flex;margin:24px 0 0;justify-content:flex-start;}
.top-fv .home-section-cta .wp-block-button {width:min(100%,360px);}
.top-fv .home-section-cta .wp-block-button__link {width:100%;min-height:56px;}
.fv-decoration {position:absolute;inset:0;z-index:-1;pointer-events:none;color:#ff6b95;}
.fv-decoration i {position:absolute;display:block;opacity:.16;font-style:normal;}
.fv-decoration i:nth-child(1) {top:5%;left:2%;font-size:90px;transform:rotate(-18deg);}
.fv-decoration i:nth-child(2) {top:10%;right:7%;font-size:38px;}
.fv-decoration i:nth-child(3) {bottom:25%;left:49%;font-size:25px;}
.fv-decoration i:nth-child(4) {top:40%;right:2%;font-size:64px;transform:rotate(15deg);}
.fv-decoration i:nth-child(odd)::before {content:"♥";}
.fv-decoration i:nth-child(even)::before {content:"✦";}
/* A suggestion of venue lights; small CSS gradients, no background image or animation. */
.fv-stage {position:absolute;z-index:-1;pointer-events:none;bottom:0;right:0;width:55%;height:130px;opacity:.45;transform:rotate(-4deg);transform-origin:bottom right;background:radial-gradient(ellipse at 50% 100%,rgba(255,107,149,.28),transparent 70%);}
.fv-stage::before {content:"";position:absolute;inset:30px 0 0;background:repeating-linear-gradient(78deg,transparent 0 48px,rgba(255,255,255,.95) 50px 54px,transparent 58px 83px);mask-image:linear-gradient(transparent,#000 70%);}
.fv-stage::after {content:"";position:absolute;inset:80px 0 -20px;background:radial-gradient(ellipse at 50% 100%,rgba(255,107,149,.25) 0 42%,transparent 44%) 0 0/65px 60px repeat-x;}
@media (min-width:768px) and (max-width:1023px) {
  .top-fv .hero.wrap {grid-template-columns:1fr;gap:24px;padding-block:44px 70px;text-align:center;}
  .top-fv .hero h1 {font-size:40px;}
  .top-fv .hero-copy {margin-inline:auto;text-align:center;}
  .top-fv .fv-topics,.top-fv .home-section-cta {justify-content:center;}
  .top-fv .home-section-cta {width:100%;margin-inline:auto;}
  .top-fv .home-section-cta .wp-block-button {margin-inline:auto;}
}
@media (max-width:767px) {
  .top-fv .hero.wrap {width:calc(100% - 40px);grid-template-columns:1fr;gap:20px;padding-block:32px 58px;text-align:center;}
  .top-fv .eyebrow {font-size:14px;letter-spacing:.02em;margin:0 0 14px;}
  .top-fv .hero h1 {width:auto;margin:0 0 16px;font-size:clamp(27px,7.6vw,34px);line-height:1.45;letter-spacing:0;}
  .top-fv .hero-copy {max-width:350px;padding:0;margin:0 auto 18px;font-size:15px;line-height:1.85;text-align:center;text-wrap:pretty;}
  .top-fv .fv-topics {justify-content:center;gap:6px;}
  .top-fv .fv-topics li {font-size:12px;padding:5px 10px;}
  .top-fv .home-section-cta {display:flex;justify-content:center;align-items:center;width:100%;margin:20px auto 0;}
  .top-fv .home-section-cta .wp-block-button {width:min(100%,360px);margin-inline:auto;}
  .top-fv .home-section-cta .wp-block-button__link {width:100%;font-size:16px;min-height:54px;margin-inline:auto;}
  .fv-decoration i:nth-child(1) {font-size:55px;top:0;left:-12px;}
  .fv-decoration i:nth-child(2) {font-size:26px;top:32%;right:1%;}
  .fv-decoration i:nth-child(3) {bottom:21%;left:4%;}
  .fv-decoration i:nth-child(4) {top:69%;right:4%;font-size:38px;}
  .fv-stage {width:100%;height:95px;opacity:.35;}
}

/* Corrected roles: copy, standalone motif slot, category navigation. */
.top-fv .hero.wrap {grid-template-areas:'copy visual' 'navigation visual';row-gap:0}
.top-fv .hero-text {grid-area:copy}
.top-fv .fv-navigation {grid-area:navigation}
.top-fv .fv-topics a {display:inline-flex;align-items:center;min-height:44px;padding:4px 12px;color:inherit;text-decoration:none}
.top-fv .fv-topics li:has(a) {padding:0}
.top-fv .fv-topics a:hover {color:var(--wp--preset--color--primary-pink);text-decoration:underline}
@media(max-width:1023px) {
 .top-fv .hero.wrap {grid-template-columns:1fr;grid-template-areas:'copy' 'visual' 'navigation'}
}

.top-fv .fv-visual{grid-area:visual;width:100%;max-width:510px;aspect-ratio:4/3;margin:0 auto;align-self:center}
.top-fv .fv-visual img{display:block;width:100%;height:auto;object-fit:contain}

/* The supplied standalone canonical artwork is always shown in full. */
@media(min-width:1024px){
 .top-fv .hero.wrap{padding-block:56px 80px;column-gap:32px}
 .top-fv .hero-text{align-self:end}
 .top-fv .fv-navigation{align-self:start}
}
@media(min-width:768px) and (max-width:1023px){
 .top-fv .fv-visual{max-width:330px;margin:0 auto 18px}
 .top-fv .hero-copy{margin-bottom:0}
}
@media(max-width:767px){
 .top-fv .hero.wrap{padding-block:28px 42px}
 .top-fv .hero-copy{margin-bottom:0}
 .top-fv .fv-visual{max-width:250px;margin:0 auto 12px}
 .top-fv .home-section-cta{margin-top:16px}
}
