:root{
  --cream:#fff8eb;--paper:#fffdf8;--ink:#28133f;--plum:#562391;--plum-dark:#3f176f;
  --coral:#f65077;--teal:#2fbcae;--yellow:#ffc946;--lav:#eadfff;--pink:#ffe1e9;--white:#fff;
  --muted:#6d5d79;--line:rgba(84,37,143,.12);--shadow:0 24px 68px rgba(65,31,92,.13);
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:ui-rounded,"Arial Rounded MT Bold","Trebuchet MS",system-ui,sans-serif;line-height:1.45;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button{font:inherit}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,248,235,.95);backdrop-filter:blur(16px);border-bottom:1px solid rgba(84,37,143,.08)}
.header-inner{max-width:1320px;margin:auto;height:84px;padding:0 28px;display:flex;align-items:center;gap:28px}.brand{font-size:2.55rem;font-weight:1000;letter-spacing:-.08em;line-height:1}.tri{color:var(--plum)}.yay{color:var(--coral)}.nav-menu{margin-left:auto;display:flex;gap:32px;align-items:center}.nav-menu a{font-size:.95rem;font-weight:900}.nav-menu a:hover{color:var(--coral)}.header-play{padding:12px 22px;border-radius:999px;background:var(--plum);color:#fff;font-weight:950;box-shadow:0 12px 24px rgba(84,37,143,.18)}.menu-button{display:none;margin-left:auto;border:0;border-radius:999px;background:var(--plum);color:#fff;padding:11px 18px;font-weight:900}
.hero{padding:40px 24px 46px}.hero-inner{max-width:1320px;margin:auto;display:grid;grid-template-columns:minmax(0,.84fr) minmax(590px,1.16fr);gap:40px;align-items:stretch;background:var(--paper);border:1px solid rgba(84,37,143,.09);border-radius:34px;padding:42px 42px 42px 50px;box-shadow:var(--shadow)}
.hero-copy{align-self:center;max-width:560px;padding:8px 0}.kicker,.eyebrow,.feature-kicker{display:inline-flex;align-items:center;gap:8px;margin:0 0 18px;text-transform:uppercase;letter-spacing:.13em;font-size:.76rem;font-weight:1000;color:var(--coral)}.kicker span{width:9px;height:9px;border-radius:50%;background:var(--teal)}
.hero-copy h1{margin:0;font-size:clamp(4.8rem,6.4vw,6.8rem);line-height:.86;letter-spacing:-.07em}.hero-copy h1 strong{display:block;color:var(--coral)}.hero-line{font-size:1.27rem;line-height:1.55;font-weight:850;max-width:540px;margin:28px 0 26px}.hero-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.primary-cta{display:inline-flex;align-items:center;gap:17px;padding:15px 18px 15px 24px;border-radius:999px;background:var(--plum);color:#fff;font-weight:1000;box-shadow:0 14px 28px rgba(84,37,143,.20)}.primary-cta span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--yellow);color:var(--ink)}.secondary-link{font-weight:950;border-bottom:2px solid rgba(84,37,143,.25);padding-bottom:4px}.signature{margin:20px 0 0;font-size:.82rem;font-weight:950;color:var(--plum)}
.playboard{position:relative;min-height:530px;border-radius:28px;overflow:hidden;background:linear-gradient(145deg,#fff6d9 0%,#ffe79b 100%);border:1px solid rgba(140,89,0,.08);padding:34px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.35)}.board-heading{position:relative;z-index:6;margin-bottom:24px}.board-heading span{display:block;font-size:.68rem;letter-spacing:.13em;text-transform:uppercase;font-weight:1000;color:var(--coral);margin-bottom:2px}.board-heading strong{font-size:1.18rem}.option-stack{position:relative;z-index:7;width:58%;display:flex;flex-direction:column;gap:13px}.play-option{display:grid;grid-template-columns:42px 1fr auto;gap:12px;align-items:center;padding:14px 15px;border-radius:18px;background:rgba(255,255,255,.90);border:1px solid rgba(84,37,143,.09);box-shadow:0 8px 18px rgba(84,37,143,.07);transition:.18s ease}.play-option:hover{transform:translateX(4px);box-shadow:0 12px 24px rgba(84,37,143,.11)}.option-number{width:37px;height:37px;display:grid;place-items:center;border-radius:12px;background:var(--pink);font-size:.72rem;font-weight:1000}.option-copy{display:flex;flex-direction:column;min-width:0}.option-copy b{font-size:.95rem}.option-copy small{font-size:.7rem;color:var(--muted);font-weight:850;margin-top:2px}.option-arrow{font-weight:1000;color:var(--plum)}.option-match.featured{background:var(--plum);color:#fff;transform:translateX(16px);box-shadow:0 14px 28px rgba(84,37,143,.21)}.option-match.featured .option-number{background:var(--yellow);color:var(--ink)}.option-match.featured .option-copy small{color:#e9dcff}.option-match.featured .option-arrow{color:#fff}.option-watch .option-number{background:#dcf7f2}.option-soon{font-size:.66rem;text-transform:uppercase;font-weight:1000;color:var(--coral)}
.peek-door{position:absolute;z-index:3;right:18px;top:44px;bottom:35px;width:28px;border-radius:16px;background:linear-gradient(180deg,#ffd65d,#ffbd2c);box-shadow:-8px 12px 22px rgba(110,69,0,.10)}.hero-character{position:absolute;z-index:5;height:585px;right:-2px;bottom:-10px;filter:drop-shadow(0 22px 28px rgba(59,27,81,.17));pointer-events:none}.character-shadow{position:absolute;z-index:2;width:300px;height:40px;right:5px;bottom:10px;border-radius:50%;background:rgba(96,58,93,.10);filter:blur(14px)}.hero-speech{position:absolute;z-index:8;right:272px;top:230px;padding:10px 15px;border:2px solid var(--plum);border-radius:18px;background:#fff;font-size:.9rem;font-weight:1000;box-shadow:0 8px 18px rgba(84,37,143,.07)}.hero-speech span{position:absolute;right:-48px;bottom:-14px;width:52px;height:27px;border-bottom:3px solid var(--plum);border-right:3px solid var(--plum);border-radius:0 0 28px 0;transform:rotate(-5deg)}
.games-section{max-width:1320px;margin:auto;padding:52px 28px 86px}#games{scroll-margin-top:96px}.section-heading{text-align:center;max-width:760px;margin:0 auto 34px}.section-heading .eyebrow{margin-bottom:10px}.section-heading h2,.about-copy h2,.parents-copy h2{font-size:clamp(2.7rem,4.7vw,4.6rem);line-height:1;letter-spacing:-.045em;margin:0}.section-heading p{color:var(--muted);font-weight:800;font-size:1.05rem;margin:14px 0 0}.game-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.game-card{overflow:hidden;border-radius:28px;border:1px solid rgba(84,37,143,.10);background:#fff;box-shadow:0 16px 34px rgba(84,37,143,.08);transition:.2s ease}.game-card:hover{transform:translateY(-5px);box-shadow:0 22px 40px rgba(84,37,143,.13)}.card-image{height:290px;overflow:hidden;background:#f5effe}.card-image-link{display:block;width:100%;height:100%}.card-image img{width:100%;height:100%;object-fit:cover;object-position:center 27%}.card-body{padding:22px 24px 24px}.card-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.card-label span{text-transform:uppercase;letter-spacing:.12em;font-size:.68rem;font-weight:1000;color:var(--coral)}.card-label b{font-size:.74rem;color:#aa9bb5}.card-body h3{font-size:1.75rem;line-height:1.05;margin:0 0 10px}.card-body h3 .card-title-link{color:inherit;font-weight:inherit}.card-body p{color:var(--muted);font-weight:750;margin:0 0 18px}.card-body a{font-weight:1000;color:var(--plum)}.coming-soon{display:inline-block;padding:8px 11px;border-radius:999px;background:#fff2bd;font-size:.72rem;font-weight:1000;text-transform:uppercase;color:#6e4c00}.card-body a.coming-soon{color:#6e4c00}.notice-demo{height:290px;background:linear-gradient(145deg,#fff0bd,#ffe17c);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:22px;position:relative}.notice-title{font-size:.76rem;letter-spacing:.14em;font-weight:1000;color:var(--plum)}.notice-row{display:flex;align-items:center;gap:18px}.shoe{width:72px;height:49px;border-radius:40% 55% 35% 22%;transform:rotate(-8deg);box-shadow:0 9px 16px rgba(84,37,143,.10)}.shoe.coral{background:var(--coral)}.shoe.teal{background:var(--teal)}.arrow{font-size:1.7rem;font-weight:1000;color:var(--plum)}.notice-question{position:absolute;right:28px;bottom:24px;width:64px;height:64px;display:grid;place-items:center;border-radius:50%;background:#fff;color:var(--plum);font-size:2rem;font-weight:1000;box-shadow:0 10px 20px rgba(84,37,143,.11)}
.feature{max-width:1320px;margin:0 auto 86px;display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:center;background:var(--plum);color:#fff;border-radius:34px;padding:54px 58px;overflow:hidden;position:relative;box-shadow:var(--shadow)}.feature:after{content:"";position:absolute;right:-110px;bottom:-180px;width:390px;height:390px;border-radius:50%;background:rgba(255,201,70,.12)}.feature-kicker{color:#ffd662;margin-bottom:12px}.feature-copy h2{font-size:clamp(3rem,5.2vw,5.3rem);line-height:.95;letter-spacing:-.05em;margin:0}.feature-lead{font-size:1.18rem;font-weight:800;max-width:590px;color:#f4eefe;margin:18px 0 22px}.feature-steps{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:25px}.feature-steps span{display:flex;align-items:center;gap:8px;padding:9px 13px;border-radius:999px;background:rgba(255,255,255,.12);font-weight:900}.feature-steps b{width:23px;height:23px;border-radius:50%;display:grid;place-items:center;background:var(--yellow);color:var(--ink);font-size:.72rem}.feature-cta{display:inline-flex;gap:10px;align-items:center;padding:13px 18px;border-radius:999px;background:#fff;color:var(--plum);font-weight:1000}.feature-visual{min-height:430px;position:relative;display:grid;place-items:center}.poster-wrap{width:270px;border-radius:28px;overflow:hidden;transform:rotate(4deg);box-shadow:0 25px 40px rgba(20,8,32,.35);border:7px solid #fff}.poster-wrap img{width:100%;height:auto}.feature-callout{position:absolute;padding:9px 13px;border-radius:999px;background:#fff;color:var(--plum);font-size:.72rem;font-weight:1000;box-shadow:0 10px 22px rgba(0,0,0,.18)}.callout-one{left:8%;top:20%;transform:rotate(-7deg)}.callout-two{right:1%;top:41%;transform:rotate(6deg);background:var(--yellow);color:var(--ink)}.callout-three{left:14%;bottom:16%;transform:rotate(5deg);background:var(--coral);color:#fff}
.about{max-width:1320px;margin:auto;padding:20px 28px 82px;display:grid;grid-template-columns:.75fr 1.25fr;gap:48px;align-items:start}.about-copy .eyebrow{margin-bottom:10px}.about-copy p:last-child{color:var(--muted);font-weight:800;font-size:1.05rem;max-width:520px}.value-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.value-grid article{padding:22px;border-radius:24px;background:#fff;border:1px solid rgba(84,37,143,.09);box-shadow:0 12px 26px rgba(84,37,143,.06)}.value-icon{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;margin-bottom:14px;font-weight:1000}.move-icon{background:var(--pink);color:var(--coral);font-size:1.5rem}.notice-icon{background:#dcf7f2;color:#108f80;font-size:1.4rem}.think-icon{background:#fff1bb;color:#6f5000;font-size:1.4rem}.laugh-icon{background:var(--lav);color:var(--plum);font-size:.75rem}.value-grid strong{font-size:1.22rem}.value-grid p{margin:6px 0 0;color:var(--muted);font-weight:750;font-size:.9rem}
.parents{max-width:1320px;margin:0 auto 80px;padding:42px 46px;display:grid;grid-template-columns:1fr .85fr;gap:40px;align-items:center;border-radius:32px;background:linear-gradient(110deg,#eadfff 0%,#fff0c5 100%);border:1px solid rgba(84,37,143,.08)}.parents-copy .eyebrow{margin-bottom:9px}.parents-copy h2{font-size:clamp(2.4rem,4.2vw,4.2rem)}.parents-copy p{font-size:1.05rem;font-weight:800;color:var(--muted)}.parents-copy a{font-weight:1000;color:var(--plum)}.parent-points{display:flex;flex-direction:column;gap:13px}.parent-points>div{display:flex;gap:12px;align-items:center;background:rgba(255,255,255,.86);border-radius:18px;padding:16px 18px}.parent-points b{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:var(--teal);color:#fff}.parent-points span{display:flex;flex-direction:column}.parent-points small{color:var(--muted);font-weight:750;margin-top:2px}
.site-footer{background:var(--plum-dark);color:#fff;padding:46px 24px 20px}.footer-inner{max-width:1320px;margin:auto;display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:40px;align-items:start}.footer-brand{font-size:1.8rem;font-weight:1000}.footer-brand-wrap p{color:#d9c9ef;font-weight:800}.footer-links,.footer-social{display:flex;gap:18px;flex-wrap:wrap;font-weight:850}.footer-social{flex-direction:column;gap:8px}.footer-social span{color:#c9b7df}.footer-bottom{max-width:1320px;margin:34px auto 0;border-top:1px solid rgba(255,255,255,.15);padding-top:18px;display:flex;justify-content:space-between;color:#c9b7df;font-size:.8rem;font-weight:700}
@media(max-width:1100px){.hero-inner{grid-template-columns:1fr;gap:24px}.hero-copy{max-width:760px}.playboard{min-height:500px}.option-stack{width:55%}.hero-character{height:550px}.hero-speech{right:250px}.game-grid{grid-template-columns:1fr 1fr}.notice-card{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}.notice-demo{height:auto;min-height:280px}.feature{grid-template-columns:1fr}.about{grid-template-columns:1fr}.parents{grid-template-columns:1fr}}
@media(max-width:760px){.header-inner{height:72px;padding:0 18px}.brand{font-size:2.1rem}.nav-menu{position:absolute;left:14px;right:14px;top:76px;display:none;flex-direction:column;gap:0;background:#fff;border:1px solid var(--line);border-radius:22px;padding:9px;box-shadow:var(--shadow)}.nav-menu.open{display:flex}.nav-menu a{padding:13px 15px;width:100%}.header-play{display:none}.menu-button{display:block}.hero{padding:18px 10px 30px}.hero-inner{padding:26px 18px 18px;border-radius:26px}.hero-copy h1{font-size:clamp(4rem,18vw,5.5rem)}.hero-line{font-size:1.05rem;margin:22px 0}.primary-cta{width:100%;justify-content:space-between}.secondary-link{margin-left:4px}.playboard{min-height:520px;padding:22px 16px;border-radius:23px}.board-heading{margin-bottom:18px}.option-stack{width:67%;gap:10px}.play-option{grid-template-columns:33px 1fr auto;padding:11px}.option-number{width:31px;height:31px;border-radius:10px}.option-copy b{font-size:.84rem}.option-copy small{font-size:.62rem}.option-match.featured{transform:translateX(8px)}.hero-character{height:485px;right:-6%;bottom:-5px}.peek-door{right:-2%;width:22px}.hero-speech{right:170px;top:250px;font-size:.78rem;padding:8px 11px}.hero-speech span{right:-35px;width:38px;height:20px}.games-section{padding:35px 14px 60px}.game-grid{grid-template-columns:1fr}.notice-card{grid-column:auto;display:block}.card-image,.notice-demo{height:260px}.feature{margin:0 10px 60px;padding:36px 22px;border-radius:28px}.feature-visual{min-height:370px}.poster-wrap{width:220px}.about{padding:10px 14px 60px}.value-grid{grid-template-columns:1fr}.parents{margin:0 10px 60px;padding:30px 22px}.footer-inner{grid-template-columns:1fr}.footer-bottom{flex-direction:column;gap:8px}}
@media(max-width:460px){.hero-copy h1{font-size:3.7rem}.playboard{min-height:470px}.option-stack{width:72%}.hero-character{height:420px;right:-10%}.hero-speech{right:140px;top:230px}.board-heading strong{font-size:1rem}.feature-copy h2{font-size:3.1rem}}
.legal-home{margin-left:auto}.legal-page{max-width:980px;margin:0 auto;padding:72px 28px 90px}.legal-page h1{font-size:clamp(3.2rem,6vw,5.8rem);line-height:.95;letter-spacing:-.055em;margin:0 0 20px}.legal-lead{font-size:1.2rem;line-height:1.6;color:var(--muted);font-weight:800;max-width:760px;margin-bottom:38px}.legal-page>section{padding:22px 0;border-top:1px solid var(--line)}.legal-page>section h2{font-size:1.45rem;margin:0 0 8px}.legal-page>section p{margin:0;color:var(--muted);font-weight:750}.legal-page a{color:var(--plum);font-weight:900}.legal-note{margin-top:32px;padding:18px 20px;border-radius:18px;background:#fff2bd;color:#5d4500;font-weight:800}.parent-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin:34px 0}.parent-cards section{background:#fff;border:1px solid var(--line);border-radius:24px;padding:22px;box-shadow:0 12px 26px rgba(84,37,143,.06)}.parent-cards h2{margin:0 0 7px}.parent-cards p{margin:0;color:var(--muted);font-weight:750}.parent-note-big{padding:24px 26px;border-radius:22px;background:linear-gradient(110deg,#eadfff,#fff0c5);font-size:1.25rem;font-weight:1000;text-align:center}
@media(max-width:760px){.legal-page{padding:46px 18px 70px}.parent-cards{grid-template-columns:1fr}.legal-home{display:inline-flex}}

/* =========================
   V38 HERO — one integrated triYAY! stage.
   No split wall, no decorative divider, no supporting-card clutter.
   Exact approved character asset preserved.
   ========================= */
.hero-v38{padding:32px 24px 22px}
.hero38-stage{max-width:1280px;margin:0 auto;min-height:560px;position:relative;display:grid;grid-template-columns:minmax(420px,.82fr) minmax(660px,1.18fr);overflow:hidden;border-radius:40px;background:linear-gradient(112deg,#fffdf8 0%,#fffaf1 43%,#fff3cf 70%,#ffe59a 100%);border:1px solid rgba(84,37,143,.08);box-shadow:0 24px 62px rgba(65,31,92,.11)}
.hero38-copy{position:relative;z-index:5;padding:62px 36px 48px 54px;display:flex;flex-direction:column;justify-content:center}
.hero38-kicker{display:flex;align-items:center;gap:9px;margin:0 0 13px;color:var(--coral);font-size:.70rem;font-weight:1000;text-transform:uppercase;letter-spacing:.14em}.hero38-kicker span{width:9px;height:9px;border-radius:50%;background:var(--teal)}
.hero38-copy h1{margin:0;line-height:.89;letter-spacing:-.064em}.hero38-copy h1 span{display:block;color:var(--ink);font-size:clamp(3.45rem,4.2vw,4.55rem);font-weight:1000}.hero38-copy h1 strong{display:block;color:var(--coral);font-size:clamp(4.2rem,5vw,5.25rem);font-weight:1000}
.hero38-lead{max-width:500px;margin:22px 0 21px;font-size:1.06rem;line-height:1.52;font-weight:850;color:var(--ink)}
.hero38-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.hero38-primary{display:inline-flex;align-items:center;gap:13px;background:var(--plum);color:#fff;border-radius:999px;padding:12px 13px 12px 21px;font-weight:1000;box-shadow:0 12px 26px rgba(84,37,143,.18)}.hero38-primary b{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--yellow);color:var(--ink)}.hero38-secondary{font-weight:1000;color:var(--plum);padding:10px 8px;border-bottom:2px solid rgba(84,37,143,.20)}
.hero38-signature{margin:15px 0 0;color:var(--plum);font-size:.79rem;font-weight:950}
.hero38-playzone{position:relative;min-height:560px;overflow:hidden}
.hero38-game-label{position:absolute;z-index:7;left:60px;top:42px;padding-left:14px;border-left:4px solid var(--coral);display:flex;flex-direction:column;line-height:1.2}.hero38-game-label small{font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;font-weight:1000;color:#c83d61}.hero38-game-label strong{font-size:1.22rem;color:var(--ink);margin-top:3px}.hero38-game-label span{font-size:.68rem;color:var(--muted);font-weight:850;margin-top:4px}
.hero38-poster{position:absolute;z-index:5;left:72px;top:122px;width:248px;height:386px;border:7px solid #fff;border-radius:25px;overflow:hidden;background:#fff;box-shadow:0 24px 48px rgba(62,32,81,.20);transform:rotate(-1.3deg);transition:transform .2s ease,box-shadow .2s ease}.hero38-poster:hover{transform:rotate(0deg) translateY(-5px);box-shadow:0 30px 56px rgba(62,32,81,.24)}.hero38-poster img{width:100%;height:100%;object-fit:cover}
.hero38-character{position:absolute;z-index:8;height:548px;right:-5px;bottom:-4px;pointer-events:none;filter:drop-shadow(0 20px 27px rgba(59,27,81,.17))}
.hero38-door{position:absolute;z-index:6;right:14px;top:58px;bottom:30px;width:20px;border-radius:15px;background:linear-gradient(180deg,#ffd55c,#ffb924);box-shadow:-7px 10px 20px rgba(110,69,0,.08)}
.hero38-speech{position:absolute;z-index:10;right:222px;top:286px;padding:10px 14px;border:2px solid var(--plum);border-radius:17px;background:#fff;font-size:.80rem;font-weight:1000;box-shadow:0 8px 18px rgba(84,37,143,.08)}.hero38-speech span{position:absolute;right:-48px;bottom:-9px;width:51px;height:22px;border-bottom:3px solid var(--plum);border-right:3px solid var(--plum);border-radius:0 0 27px 0;transform:rotate(-7deg)}
.hero-v38+.games-section{padding-top:40px;margin-top:0;background:var(--cream)}.hero-v38+.games-section .section-heading h2{font-size:clamp(2.65rem,4.1vw,4rem)}
@media(max-width:1120px){.hero38-stage{grid-template-columns:1fr}.hero38-copy{padding:44px 42px 34px}.hero38-playzone{min-height:570px}.hero38-game-label{left:64px}.hero38-poster{left:74px}.hero38-character{height:535px}}
@media(max-width:760px){.hero-v38{padding:16px 10px 18px}.hero38-stage{border-radius:28px}.hero38-copy{padding:32px 20px 28px}.hero38-copy h1 span{font-size:clamp(3.2rem,14.5vw,4.15rem)}.hero38-copy h1 strong{font-size:clamp(3.95rem,17.5vw,5.1rem)}.hero38-lead{font-size:1rem;margin:18px 0}.hero38-primary{width:100%;justify-content:space-between}.hero38-playzone{min-height:535px}.hero38-game-label{left:20px;top:20px}.hero38-poster{left:20px;top:92px;width:164px;height:294px;border-width:5px;border-radius:19px}.hero38-character{height:405px;right:-48px}.hero38-door{right:-2px;top:138px;bottom:20px;width:18px}.hero38-speech{right:92px;top:335px;font-size:.68rem}.hero38-speech span{right:-34px;width:38px}.hero-v38+.games-section{padding-top:26px}.hero-v38+.games-section .section-heading h2{font-size:clamp(2.4rem,11vw,3.3rem)}}
@media(max-width:460px){.hero38-playzone{min-height:510px}.hero38-poster{width:150px;height:270px}.hero38-character{height:378px;right:-54px}.hero38-speech{right:74px;top:324px}}


/* =========================
   V39 HERO — character-first, one brand scene.
   The hero introduces triYAY!; the featured game is a separate strip below.
   Exact approved character asset preserved.
   ========================= */
.hero-v39{padding:32px 24px 18px}
.hero39-stage{max-width:1280px;margin:0 auto;min-height:520px;position:relative;display:grid;grid-template-columns:minmax(470px,.92fr) minmax(560px,1.08fr);overflow:hidden;border-radius:40px;background:linear-gradient(105deg,#fffdf8 0%,#fffaf0 55%,#fff1c7 100%);border:1px solid rgba(84,37,143,.08);box-shadow:0 24px 62px rgba(65,31,92,.10)}
.hero39-copy{position:relative;z-index:5;padding:62px 38px 52px 58px;display:flex;flex-direction:column;justify-content:center}
.hero39-kicker{display:flex;align-items:center;gap:9px;margin:0 0 13px;color:var(--coral);font-size:.70rem;font-weight:1000;text-transform:uppercase;letter-spacing:.14em}.hero39-kicker span{width:9px;height:9px;border-radius:50%;background:var(--teal)}
.hero39-copy h1{margin:0;line-height:.90;letter-spacing:-.061em}.hero39-copy h1 span{display:block;color:var(--ink);font-size:clamp(3.55rem,4.4vw,4.75rem);font-weight:1000}.hero39-copy h1 strong{display:block;color:var(--coral);font-size:clamp(4.35rem,5.2vw,5.5rem);font-weight:1000}
.hero39-lead{max-width:520px;margin:22px 0 22px;font-size:1.08rem;line-height:1.52;font-weight:850;color:var(--ink)}
.hero39-actions{display:flex;align-items:center;gap:15px;flex-wrap:wrap}.hero39-primary{display:inline-flex;align-items:center;gap:14px;background:var(--plum);color:#fff;border-radius:999px;padding:12px 13px 12px 22px;font-weight:1000;box-shadow:0 12px 26px rgba(84,37,143,.18)}.hero39-primary b{width:35px;height:35px;border-radius:50%;display:grid;place-items:center;background:var(--yellow);color:var(--ink)}.hero39-secondary{font-weight:1000;color:var(--plum);padding:10px 8px;border-bottom:2px solid rgba(84,37,143,.20)}
.hero39-signature{margin:15px 0 0;color:var(--plum);font-size:.80rem;font-weight:950}
.hero39-character-zone{position:relative;min-height:520px;overflow:hidden}
.hero39-character-zone:before{content:"";position:absolute;left:5%;right:2%;top:9%;bottom:8%;border-radius:42px;background:linear-gradient(135deg,rgba(255,255,255,.42),rgba(255,227,137,.56));border:1px solid rgba(255,185,36,.18)}
.hero39-doorway{position:absolute;z-index:4;right:18px;top:54px;bottom:32px;width:80px;border-radius:38px 0 0 38px;background:linear-gradient(180deg,#ffd85f,#ffbb2e);box-shadow:-12px 16px 28px rgba(108,66,0,.08)}
.hero39-doorway span{position:absolute;right:21px;top:50%;transform:translateY(-50%) rotate(90deg);font-size:.60rem;letter-spacing:.28em;font-weight:1000;color:rgba(68,40,0,.42)}
.hero39-character{position:absolute;z-index:8;height:560px;right:1px;bottom:-6px;pointer-events:none;filter:drop-shadow(0 20px 27px rgba(59,27,81,.17))}
.hero39-speech{position:absolute;z-index:10;right:258px;top:252px;padding:11px 15px;border:2px solid var(--plum);border-radius:18px;background:#fff;font-size:.84rem;font-weight:1000;box-shadow:0 8px 18px rgba(84,37,143,.08)}.hero39-speech span{position:absolute;right:-47px;bottom:-10px;width:50px;height:24px;border-bottom:3px solid var(--plum);border-right:3px solid var(--plum);border-radius:0 0 28px 0;transform:rotate(-7deg)}

.today-strip{max-width:1180px;margin:4px auto 22px;padding:20px 24px;display:grid;grid-template-columns:112px 1fr auto;align-items:center;gap:24px;background:#fff;border:1px solid rgba(84,37,143,.09);border-radius:28px;box-shadow:0 16px 34px rgba(65,31,92,.07)}
.today-poster{width:92px;height:124px;border-radius:16px;overflow:hidden;border:5px solid #fff;box-shadow:0 11px 25px rgba(65,31,92,.16);transform:rotate(-2deg)}.today-poster img{width:100%;height:100%;object-fit:cover}
.today-kicker{margin:0 0 3px;color:var(--coral);font-size:.66rem;font-weight:1000;letter-spacing:.14em;text-transform:uppercase}.today-copy h2{margin:0;font-size:2rem;line-height:1.05}.today-copy p{margin:6px 0 8px;color:var(--muted);font-weight:800}.today-steps{display:flex;align-items:center;gap:8px;font-size:.68rem;font-weight:1000;color:var(--plum)}.today-steps i{font-style:normal;color:var(--teal)}
.today-cta{display:inline-flex;align-items:center;gap:12px;padding:13px 18px;border-radius:999px;background:var(--yellow);color:var(--ink);font-weight:1000;white-space:nowrap}.today-cta span{font-size:1.05rem}
.hero-v39+.today-strip+.games-section{padding-top:32px}

@media(max-width:1120px){.hero39-stage{grid-template-columns:1fr}.hero39-copy{padding:44px 42px 30px}.hero39-character-zone{min-height:540px}.hero39-character{height:530px}.today-strip{margin-left:24px;margin-right:24px}}
@media(max-width:760px){.hero-v39{padding:16px 10px 14px}.hero39-stage{border-radius:28px}.hero39-copy{padding:32px 20px 26px}.hero39-copy h1 span{font-size:clamp(3.2rem,14.5vw,4.2rem)}.hero39-copy h1 strong{font-size:clamp(3.95rem,17.5vw,5.15rem)}.hero39-lead{font-size:1rem;margin:18px 0}.hero39-primary{width:100%;justify-content:space-between}.hero39-character-zone{min-height:500px}.hero39-character{height:410px;right:-34px}.hero39-doorway{right:-2px;top:120px;bottom:18px;width:56px}.hero39-speech{right:100px;top:282px;font-size:.70rem}.hero39-speech span{right:-34px;width:38px}.today-strip{grid-template-columns:72px 1fr;margin:2px 10px 18px;padding:16px;gap:14px;border-radius:22px}.today-poster{width:64px;height:88px;border-width:4px}.today-copy h2{font-size:1.45rem}.today-copy p{font-size:.85rem}.today-cta{grid-column:1/-1;justify-content:center;width:100%}.hero-v39+.today-strip+.games-section{padding-top:26px}}
@media(max-width:460px){.hero39-character-zone{min-height:470px}.hero39-character{height:380px;right:-42px}.hero39-speech{right:78px;top:268px}.today-steps{gap:6px;font-size:.62rem}}

/* =========================
   V40 HERO — one integrated play stage.
   No poster inside the hero, no internal dashboard, no decorative filler.
   Exact approved character asset preserved.
   ========================= */
.hero-v40{padding:34px 24px 10px}
.hero40-stage{max-width:1280px;margin:0 auto;min-height:530px;position:relative;display:grid;grid-template-columns:minmax(430px,.82fr) minmax(650px,1.18fr);overflow:hidden;border-radius:42px;background:linear-gradient(105deg,#fffdf8 0%,#fff9ea 48%,#ffe79a 100%);border:1px solid rgba(84,37,143,.07);box-shadow:0 22px 58px rgba(65,31,92,.09)}
.hero40-copy{position:relative;z-index:8;padding:64px 26px 54px 58px;display:flex;flex-direction:column;justify-content:center}
.hero40-kicker{display:flex;align-items:center;gap:9px;margin:0 0 13px;color:var(--coral);font-size:.70rem;font-weight:1000;text-transform:uppercase;letter-spacing:.14em}.hero40-kicker span{width:9px;height:9px;border-radius:50%;background:var(--teal)}
.hero40-copy h1{margin:0;line-height:.91;letter-spacing:-.061em}.hero40-copy h1 span{display:block;color:var(--ink);font-size:clamp(3.25rem,4vw,4.35rem);font-weight:1000}.hero40-copy h1 strong{display:block;color:var(--coral);font-size:clamp(4rem,4.8vw,5.05rem);font-weight:1000}
.hero40-lead{max-width:470px;margin:20px 0 22px;font-size:1.02rem;line-height:1.52;font-weight:850;color:var(--ink)}
.hero40-primary{align-self:flex-start;display:inline-flex;align-items:center;gap:18px;background:var(--plum);color:#fff;border-radius:999px;padding:12px 13px 12px 22px;font-weight:1000;box-shadow:0 12px 26px rgba(84,37,143,.17)}.hero40-primary b{width:35px;height:35px;border-radius:50%;display:grid;place-items:center;background:var(--yellow);color:var(--ink)}
.hero40-signature{margin:15px 0 0;color:var(--plum);font-size:.80rem;font-weight:950}
.hero40-play{position:relative;min-height:530px;overflow:hidden}
.hero40-prompt{position:absolute;z-index:9;left:34px;top:86px;display:flex;flex-direction:column;gap:2px}.hero40-prompt small{font-size:.68rem;letter-spacing:.15em;color:var(--coral);font-weight:1000}.hero40-prompt strong{font-size:2rem;letter-spacing:-.035em;color:var(--ink)}
.hero40-choices{position:absolute;z-index:9;left:32px;top:170px;display:flex;gap:10px;align-items:stretch}
.hero40-choice{width:138px;min-height:82px;padding:15px 16px 13px;border-radius:22px;background:rgba(255,255,255,.85);border:1px solid rgba(84,37,143,.10);box-shadow:0 10px 24px rgba(62,32,81,.07);display:flex;flex-direction:column;justify-content:center;transition:transform .18s ease,box-shadow .18s ease}.hero40-choice span{font-size:1.04rem;letter-spacing:.04em;font-weight:1000;color:var(--ink)}.hero40-choice small{margin-top:3px;font-size:.65rem;font-weight:900;color:var(--muted)}.hero40-choice:hover{transform:translateY(-3px);box-shadow:0 14px 28px rgba(62,32,81,.11)}
.hero40-choice.move{border-top:5px solid var(--coral)}.hero40-choice.match{background:var(--plum);border-color:var(--plum);border-top:5px solid var(--yellow);transform:translateY(-6px);box-shadow:0 16px 30px rgba(84,37,143,.17)}.hero40-choice.match span,.hero40-choice.match small{color:#fff}.hero40-choice.match small{opacity:.78}.hero40-choice.notice{border-top:5px solid var(--teal);opacity:.83}
.hero40-doorway{position:absolute;z-index:4;right:16px;top:56px;bottom:30px;width:72px;border-radius:36px 0 0 36px;background:linear-gradient(180deg,#ffd65b,#ffba28);box-shadow:-11px 14px 25px rgba(108,66,0,.08)}
.hero40-character{position:absolute;z-index:8;height:565px;right:-4px;bottom:-8px;pointer-events:none;filter:drop-shadow(0 20px 27px rgba(59,27,81,.16))}
.hero40-speech{position:absolute;z-index:12;right:250px;top:315px;padding:10px 15px;border:2px solid var(--plum);border-radius:18px;background:#fff;font-size:.82rem;font-weight:1000;box-shadow:0 8px 18px rgba(84,37,143,.08)}.hero40-speech span{position:absolute;right:-48px;bottom:-9px;width:50px;height:22px;border-bottom:3px solid var(--plum);border-right:3px solid var(--plum);border-radius:0 0 27px 0;transform:rotate(-7deg)}
.hero-v40+.today-strip{margin-top:12px}.hero-v40+.today-strip+.games-section{padding-top:30px}.hero-v40+.today-strip+.games-section .section-heading h2{font-size:clamp(2.65rem,4vw,3.9rem)}

@media(max-width:1120px){.hero40-stage{grid-template-columns:1fr}.hero40-copy{padding:44px 42px 28px}.hero40-play{min-height:525px}.hero40-prompt{left:42px;top:44px}.hero40-choices{left:40px;top:128px}.hero40-character{height:515px}.hero40-speech{right:206px;top:302px}}
@media(max-width:760px){.hero-v40{padding:16px 10px 8px}.hero40-stage{border-radius:28px}.hero40-copy{padding:32px 20px 26px}.hero40-copy h1 span{font-size:clamp(3.05rem,14vw,4rem)}.hero40-copy h1 strong{font-size:clamp(3.8rem,17vw,4.95rem)}.hero40-lead{font-size:.98rem;margin:18px 0}.hero40-primary{width:100%;justify-content:space-between}.hero40-play{min-height:520px}.hero40-prompt{left:20px;top:24px}.hero40-prompt strong{font-size:1.65rem}.hero40-choices{left:18px;right:18px;top:96px;gap:7px}.hero40-choice{flex:1;width:auto;min-width:0;padding:11px 10px;min-height:72px;border-radius:18px}.hero40-choice span{font-size:.82rem}.hero40-choice small{font-size:.56rem}.hero40-character{height:395px;right:-42px}.hero40-doorway{right:-2px;top:176px;bottom:20px;width:54px}.hero40-speech{right:78px;top:332px;font-size:.69rem}.hero40-speech span{right:-34px;width:38px}.hero-v40+.today-strip+.games-section .section-heading h2{font-size:clamp(2.35rem,10vw,3.15rem)}}
@media(max-width:460px){.hero40-play{min-height:485px}.hero40-prompt strong{font-size:1.5rem}.hero40-character{height:365px;right:-50px}.hero40-speech{right:60px;top:319px}.hero40-choice small{display:none}}

/* V40 refinement: choices read as playful words, not dashboard cards. */
.hero40-choices{gap:22px;align-items:flex-end}
.hero40-choice{width:auto;min-height:0;padding:7px 3px 9px;border:0;border-radius:0;background:transparent;box-shadow:none;display:flex;flex-direction:column;justify-content:flex-start;position:relative}
.hero40-choice span{font-size:1.22rem;letter-spacing:.05em}.hero40-choice small{font-size:.63rem}
.hero40-choice:hover{transform:translateY(-2px);box-shadow:none}
.hero40-choice.move{border-top:0;border-bottom:4px solid var(--coral)}
.hero40-choice.match{padding:10px 17px 9px;border:0;border-radius:999px;background:var(--plum);transform:translateY(-2px);box-shadow:0 12px 26px rgba(84,37,143,.16)}
.hero40-choice.notice{border-top:0;border-bottom:4px solid var(--teal);opacity:.88}
@media(max-width:760px){.hero40-choices{gap:12px}.hero40-choice{flex:0 1 auto;padding-left:2px;padding-right:2px}.hero40-choice span{font-size:.88rem}.hero40-choice.match{padding:9px 12px}.hero40-choice small{font-size:.55rem}}

/* =========================
   V41 HERO — one open play stage.
   Exact approved character asset preserved.
   The center is a playful vertical choice path, not a dashboard.
   ========================= */
.hero-v41{padding:28px 24px 0}
.hero41-stage{max-width:1280px;margin:0 auto;min-height:548px;position:relative;display:grid;grid-template-columns:minmax(410px,.86fr) minmax(360px,.72fr) minmax(340px,.62fr);overflow:hidden;border-radius:38px;background:linear-gradient(96deg,#fffdf8 0%,#fffaf0 44%,#fff3cf 72%,#ffe69b 100%);border:1px solid rgba(84,37,143,.07);box-shadow:0 22px 58px rgba(65,31,92,.085)}
.hero41-copy{position:relative;z-index:8;padding:64px 24px 54px 58px;display:flex;flex-direction:column;justify-content:center}
.hero41-kicker{display:flex;align-items:center;gap:9px;margin:0 0 13px;color:var(--coral);font-size:.70rem;font-weight:1000;text-transform:uppercase;letter-spacing:.14em}.hero41-kicker span{width:9px;height:9px;border-radius:50%;background:var(--teal)}
.hero41-copy h1{margin:0;line-height:.91;letter-spacing:-.061em}.hero41-copy h1 span{display:block;color:var(--ink);font-size:clamp(3.15rem,3.85vw,4.15rem);font-weight:1000}.hero41-copy h1 strong{display:block;color:var(--coral);font-size:clamp(3.9rem,4.55vw,4.85rem);font-weight:1000}
.hero41-lead{max-width:430px;margin:20px 0 22px;font-size:1.00rem;line-height:1.52;font-weight:850;color:var(--ink)}
.hero41-primary{align-self:flex-start;display:inline-flex;align-items:center;gap:18px;background:var(--plum);color:#fff;border-radius:999px;padding:12px 13px 12px 22px;font-weight:1000;box-shadow:0 12px 26px rgba(84,37,143,.16)}.hero41-primary b{width:35px;height:35px;border-radius:50%;display:grid;place-items:center;background:var(--yellow);color:var(--ink)}
.hero41-signature{margin:15px 0 0;color:var(--plum);font-size:.80rem;font-weight:950}

.hero41-picker{position:relative;z-index:9;display:flex;flex-direction:column;justify-content:center;padding:62px 10px 54px 8px}
.hero41-prompt{margin:0 0 22px}.hero41-prompt small{display:block;margin-bottom:4px;color:var(--coral);font-size:.68rem;letter-spacing:.15em;font-weight:1000}.hero41-prompt strong{display:block;font-size:1.72rem;line-height:1.05;letter-spacing:-.035em;color:var(--ink)}
.hero41-path{display:flex;flex-direction:column;align-items:flex-start;gap:12px;position:relative;padding-left:2px}
.hero41-path:before{content:"";position:absolute;left:22px;top:36px;bottom:36px;width:2px;background:linear-gradient(var(--coral),var(--yellow),var(--teal));opacity:.35}
.hero41-choice{position:relative;z-index:2;width:100%;max-width:320px;min-height:72px;display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:12px;padding:9px 12px 9px 8px;color:var(--ink);border-radius:22px;transition:transform .18s ease}
.hero41-choice:hover{transform:translateX(4px)}
.hero41-number{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#fff;border:2px solid rgba(84,37,143,.10);font-size:.70rem;font-weight:1000;box-shadow:0 8px 18px rgba(65,31,92,.06)}
.hero41-choice-copy{display:flex;flex-direction:column;gap:2px}.hero41-choice-copy strong{font-size:1.35rem;letter-spacing:.04em}.hero41-choice-copy small{font-size:.66rem;font-weight:900;color:var(--muted)}
.hero41-choice.move{margin-left:0}.hero41-choice.move .hero41-number{border-color:rgba(246,80,119,.34);color:var(--coral)}
.hero41-choice.match{max-width:342px;margin-left:22px;background:var(--plum);color:#fff;box-shadow:0 14px 28px rgba(84,37,143,.17)}.hero41-choice.match .hero41-number{background:var(--yellow);border-color:var(--yellow);color:var(--ink)}.hero41-choice.match .hero41-choice-copy small{color:rgba(255,255,255,.78)}
.hero41-choice.notice{margin-left:4px;opacity:.90}.hero41-choice.notice .hero41-number{border-color:rgba(47,188,174,.38);color:var(--teal)}
.hero41-badge{font-size:.56rem;font-weight:1000;letter-spacing:.08em;padding:5px 7px;border-radius:999px;background:rgba(255,255,255,.14);color:inherit}.hero41-choice.notice .hero41-badge{background:#fff8dc;color:#8a6400}

.hero41-character-zone{position:relative;z-index:7;min-height:548px;overflow:hidden}
.hero41-curtain{position:absolute;z-index:2;right:18px;top:54px;bottom:28px;width:74px;border-radius:38px 0 0 38px;background:linear-gradient(180deg,#ffd65b,#ffba28);box-shadow:-11px 14px 25px rgba(108,66,0,.08)}
.hero41-character{position:absolute;z-index:8;height:560px;right:-3px;bottom:-8px;pointer-events:none;filter:drop-shadow(0 20px 27px rgba(59,27,81,.16))}
.hero41-speech{position:absolute;z-index:12;left:-8px;top:328px;padding:10px 15px;border:2px solid var(--plum);border-radius:18px;background:#fff;font-size:.80rem;font-weight:1000;box-shadow:0 8px 18px rgba(84,37,143,.08)}.hero41-speech span{position:absolute;right:-51px;bottom:-9px;width:54px;height:23px;border-bottom:3px solid var(--plum);border-right:3px solid var(--plum);border-radius:0 0 28px 0;transform:rotate(-6deg)}

.hero-v41+.today41{position:relative;z-index:14;margin:-28px auto 18px;max-width:1080px;box-shadow:0 18px 38px rgba(65,31,92,.10)}
.hero-v41+.today41+.games-section{padding-top:28px}.hero-v41+.today41+.games-section .section-heading h2{font-size:clamp(2.55rem,3.8vw,3.65rem)}

@media(max-width:1120px){
  .hero41-stage{grid-template-columns:1fr 1fr;min-height:0}.hero41-copy{padding:46px 38px 30px}.hero41-picker{padding:48px 18px 42px 4px}.hero41-character-zone{grid-column:1/-1;min-height:430px}.hero41-character{height:470px}.hero41-speech{left:auto;right:205px;top:235px}.hero41-curtain{top:24px}.hero-v41+.today41{margin-left:42px;margin-right:42px}
}
@media(max-width:760px){
  .hero-v41{padding:14px 10px 0}.hero41-stage{grid-template-columns:1fr;border-radius:28px}.hero41-copy{padding:32px 20px 24px}.hero41-copy h1 span{font-size:clamp(3rem,13.5vw,4rem)}.hero41-copy h1 strong{font-size:clamp(3.75rem,16.5vw,4.9rem)}.hero41-lead{font-size:.97rem;margin:18px 0}.hero41-primary{width:100%;justify-content:space-between}.hero41-picker{padding:26px 20px 18px}.hero41-prompt{margin-bottom:14px}.hero41-prompt strong{font-size:1.55rem}.hero41-path{gap:8px}.hero41-choice{max-width:none;min-height:64px}.hero41-choice.match{max-width:none;margin-left:10px}.hero41-choice-copy strong{font-size:1.08rem}.hero41-choice-copy small{font-size:.61rem}.hero41-character-zone{min-height:400px}.hero41-character{height:390px;right:-42px}.hero41-curtain{right:-2px;top:56px;bottom:18px;width:56px}.hero41-speech{right:91px;top:212px;font-size:.69rem}.hero41-speech span{right:-35px;width:39px}.hero-v41+.today41{margin:-18px 10px 16px}
}
@media(max-width:460px){.hero41-character-zone{min-height:374px}.hero41-character{height:365px;right:-50px}.hero41-speech{right:73px;top:201px}.hero41-choice{grid-template-columns:40px 1fr auto;gap:9px}.hero41-number{width:36px;height:36px}.hero41-badge{font-size:.50rem}}

/* V41 final refinement: the play choices are oversized stickers, not a stepper. */
.hero41-path{gap:11px;padding-left:0}
.hero41-path:before{display:none}
.hero41-choice{display:flex;align-items:center;justify-content:space-between;gap:14px;width:auto;min-width:235px;max-width:340px;min-height:0;padding:8px 12px;border-radius:0;background:transparent;box-shadow:none;transform-origin:left center}
.hero41-choice:hover{transform:translateX(4px) rotate(0deg)}
.hero41-choice-copy{gap:1px}.hero41-choice-copy strong{font-size:1.72rem;line-height:1;letter-spacing:.025em}.hero41-choice-copy small{font-size:.66rem}
.hero41-choice.move{margin-left:1px;border-left:7px solid var(--coral);transform:rotate(-1deg)}
.hero41-choice.match{min-width:300px;max-width:350px;margin-left:26px;padding:13px 15px 12px 18px;border-radius:999px;background:var(--plum);box-shadow:0 14px 28px rgba(84,37,143,.17);transform:rotate(.8deg)}
.hero41-choice.match .hero41-choice-copy strong{font-size:1.92rem}.hero41-choice.match .hero41-choice-copy small{font-size:.67rem}
.hero41-choice.notice{margin-left:7px;border-left:7px solid var(--teal);transform:rotate(-.5deg)}
.hero41-badge{flex:0 0 auto;font-size:.56rem;padding:6px 8px}
@media(max-width:760px){.hero41-choice{min-width:190px;max-width:100%}.hero41-choice-copy strong{font-size:1.34rem}.hero41-choice.match{min-width:250px;max-width:100%;margin-left:12px}.hero41-choice.match .hero41-choice-copy strong{font-size:1.5rem}.hero41-choice{grid-template-columns:none}.hero41-number{display:none}}

/* =========================
   V42 HERO — character conversation, not a selector/dashboard.
   The hero only introduces triYAY! and starts the play interaction.
   Today's Play remains immediately below as the actual content choice.
   ========================= */
.hero-v42{padding:28px 24px 0}
.hero42-stage{max-width:1280px;margin:0 auto;min-height:540px;position:relative;display:grid;grid-template-columns:minmax(420px,.9fr) minmax(620px,1.1fr);overflow:hidden;border-radius:40px;background:linear-gradient(100deg,#fffdf8 0%,#fffaf0 38%,#fff0bd 72%,#ffe392 100%);border:1px solid rgba(84,37,143,.07);box-shadow:0 22px 58px rgba(65,31,92,.085)}
.hero42-copy{position:relative;z-index:8;padding:66px 40px 62px 62px;display:flex;flex-direction:column;justify-content:center}
.hero42-kicker{display:flex;align-items:center;gap:9px;margin:0 0 14px;color:var(--coral);font-size:.70rem;font-weight:1000;text-transform:uppercase;letter-spacing:.14em}.hero42-kicker span{width:9px;height:9px;border-radius:50%;background:var(--teal)}
.hero42-copy h1{margin:0;line-height:.90;letter-spacing:-.061em}.hero42-copy h1 span{display:block;color:var(--ink);font-size:clamp(3.35rem,4.15vw,4.45rem);font-weight:1000}.hero42-copy h1 strong{display:block;color:var(--coral);font-size:clamp(4.15rem,4.95vw,5.25rem);font-weight:1000}
.hero42-lead{max-width:455px;margin:22px 0 0;font-size:1.03rem;line-height:1.54;font-weight:850;color:var(--ink)}
.hero42-signature{margin:17px 0 0;color:var(--plum);font-size:.81rem;font-weight:950}

.hero42-play-zone{position:relative;min-height:540px;overflow:hidden}
.hero42-doorway{position:absolute;z-index:2;right:18px;top:52px;bottom:28px;width:82px;border-radius:42px 0 0 42px;background:linear-gradient(180deg,#ffd55b,#ffb928);box-shadow:-12px 14px 25px rgba(108,66,0,.09)}
.hero42-character{position:absolute;z-index:8;height:584px;right:-3px;bottom:-10px;pointer-events:none;filter:drop-shadow(0 21px 28px rgba(59,27,81,.16))}
.hero42-bubble{position:absolute;z-index:12;left:28px;top:118px;width:330px;min-height:258px;padding:30px 32px 28px;border:2px solid var(--plum);border-radius:34px;background:rgba(255,255,255,.94);box-shadow:0 18px 38px rgba(84,37,143,.10);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.hero42-bubble-kicker{display:block;margin-bottom:6px;color:var(--coral);font-size:.64rem;font-weight:1000;letter-spacing:.14em}
.hero42-bubble strong{font-size:2.18rem;line-height:1.02;letter-spacing:-.045em;color:var(--ink)}
.hero42-bubble p{margin:10px 0 18px;color:var(--muted);font-size:.90rem;font-weight:850}
.hero42-bubble a{display:inline-flex;align-items:center;gap:14px;padding:11px 12px 11px 18px;border-radius:999px;background:var(--plum);color:#fff;font-size:.90rem;font-weight:1000;box-shadow:0 11px 22px rgba(84,37,143,.16)}
.hero42-bubble a b{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--yellow);color:var(--ink)}
.hero42-bubble i{position:absolute;right:-70px;bottom:60px;width:74px;height:34px;border-bottom:4px solid var(--plum);border-right:4px solid var(--plum);border-radius:0 0 36px 0;transform:rotate(-5deg)}

.hero-v42+.today41{position:relative;z-index:14;margin:-22px auto 18px;max-width:1080px;box-shadow:0 18px 38px rgba(65,31,92,.10)}
.hero-v42+.today41+.games-section{padding-top:26px}
.hero-v42+.today41+.games-section .section-heading h2{font-size:clamp(2.55rem,3.8vw,3.65rem)}

@media(max-width:1120px){
  .hero42-stage{grid-template-columns:1fr 1.05fr;min-height:500px}.hero42-copy{padding:52px 28px 52px 42px}.hero42-play-zone{min-height:500px}.hero42-character{height:535px}.hero42-bubble{left:8px;top:115px;width:290px;padding:27px 27px}.hero42-bubble strong{font-size:1.95rem}.hero-v42+.today41{margin-left:42px;margin-right:42px}
}
@media(max-width:760px){
  .hero-v42{padding:14px 10px 0}.hero42-stage{grid-template-columns:1fr;border-radius:28px;min-height:0}.hero42-copy{padding:32px 20px 20px}.hero42-copy h1 span{font-size:clamp(3rem,13.5vw,4rem)}.hero42-copy h1 strong{font-size:clamp(3.75rem,16.5vw,4.9rem)}.hero42-lead{font-size:.97rem;margin-top:18px}.hero42-signature{margin-top:13px}.hero42-play-zone{min-height:455px}.hero42-bubble{left:18px;top:28px;width:57%;min-height:205px;padding:22px 20px;border-radius:26px}.hero42-bubble strong{font-size:clamp(1.55rem,7vw,2rem)}.hero42-bubble p{font-size:.78rem;margin:8px 0 13px}.hero42-bubble a{font-size:.80rem}.hero42-bubble i{right:-38px;bottom:45px;width:42px;height:26px}.hero42-character{height:420px;right:-46px;bottom:-6px}.hero42-doorway{right:-2px;top:72px;bottom:18px;width:58px}.hero-v42+.today41{margin:-14px 10px 16px}
}
@media(max-width:460px){.hero42-play-zone{min-height:420px}.hero42-bubble{left:14px;top:24px;width:61%;padding:18px 16px}.hero42-bubble-kicker{font-size:.57rem}.hero42-bubble p{display:none}.hero42-character{height:390px;right:-54px}.hero42-bubble i{right:-30px;width:34px}.hero42-doorway{top:70px;width:52px}}

/* V42 mobile compression: keep the character visible and remove dead vertical space. */
@media(max-width:760px){
  .hero42-copy{padding:26px 18px 16px}
  .hero42-copy h1 span{font-size:clamp(2.55rem,12vw,3.4rem)}
  .hero42-copy h1 strong{font-size:clamp(3.25rem,15vw,4.15rem)}
  .hero42-lead{font-size:.90rem;line-height:1.43;margin-top:14px}
  .hero42-signature{font-size:.74rem;margin-top:10px}
  .hero42-play-zone{min-height:325px}
  .hero42-bubble{left:14px;top:24px;width:54%;min-height:162px;padding:17px 16px;border-radius:24px}
  .hero42-bubble strong{font-size:clamp(1.35rem,6.4vw,1.72rem)}
  .hero42-bubble p{display:none}
  .hero42-bubble a{margin-top:12px;padding:8px 9px 8px 13px;font-size:.74rem;gap:10px}
  .hero42-bubble a b{width:25px;height:25px}
  .hero42-bubble i{right:-34px;bottom:38px;width:38px;height:22px;border-width:0 3px 3px 0}
  .hero42-character{height:330px;right:-31px;bottom:-5px}
  .hero42-doorway{right:-2px;top:30px;bottom:12px;width:48px}
  .hero-v42+.today41{margin:-10px 10px 16px}
}
@media(max-width:460px){
  .hero42-play-zone{min-height:305px}
  .hero42-bubble{left:12px;top:22px;width:55%;min-height:154px;padding:15px 14px}
  .hero42-bubble-kicker{font-size:.54rem}
  .hero42-character{height:310px;right:-34px}
  .hero42-doorway{top:26px;width:44px}
}


/* =========================================================
   V43 — ONE PLAY MOMENT
   The hero has one job: meet triYAY!, then tap YAY to play.
   No dashboard, no selector, no modal card.
   ========================================================= */
.hero-v43{padding:28px 24px 0}
.hero43-stage{max-width:1280px;margin:0 auto;min-height:535px;position:relative;display:grid;grid-template-columns:minmax(405px,.82fr) minmax(650px,1.18fr);overflow:hidden;border-radius:40px;background:linear-gradient(102deg,#fffdf8 0%,#fffaf0 37%,#fff1c4 70%,#ffe491 100%);border:1px solid rgba(84,37,143,.07);box-shadow:0 22px 58px rgba(65,31,92,.085)}
.hero43-copy{position:relative;z-index:8;padding:66px 36px 62px 62px;display:flex;flex-direction:column;justify-content:center}
.hero43-kicker{display:flex;align-items:center;gap:9px;margin:0 0 14px;color:var(--coral);font-size:.70rem;font-weight:1000;text-transform:uppercase;letter-spacing:.14em}.hero43-kicker span{width:9px;height:9px;border-radius:50%;background:var(--teal)}
.hero43-copy h1{margin:0;line-height:.90;letter-spacing:-.061em}.hero43-copy h1 span{display:block;color:var(--ink);font-size:clamp(3.25rem,4.05vw,4.35rem);font-weight:1000}.hero43-copy h1 strong{display:block;color:var(--coral);font-size:clamp(4rem,4.8vw,5.05rem);font-weight:1000}
.hero43-lead{max-width:450px;margin:22px 0 0;font-size:1.02rem;line-height:1.52;font-weight:850;color:var(--ink)}
.hero43-signature{margin:17px 0 0;color:var(--plum);font-size:.81rem;font-weight:950}
.hero43-play-zone{position:relative;min-height:535px;overflow:hidden}
.hero43-action{position:absolute;z-index:10;left:38px;top:70px;width:390px;display:flex;flex-direction:column;align-items:flex-start}
.hero43-action-kicker{margin:0 0 2px;color:var(--coral);font-size:.66rem;font-weight:1000;letter-spacing:.14em}
.hero43-action h2{margin:0;color:var(--ink);font-size:3.55rem;line-height:.96;letter-spacing:-.055em}
.hero43-action-copy{max-width:300px;margin:9px 0 18px;color:var(--muted);font-size:.90rem;line-height:1.45;font-weight:850}
.hero43-yay{position:relative;z-index:4;width:205px;height:205px;border-radius:50%;display:grid;place-content:center;justify-items:center;background:linear-gradient(145deg,#ffd857,#ffbe31);border:6px solid #fff;box-shadow:0 18px 36px rgba(108,66,0,.18),0 0 0 3px rgba(84,37,143,.13);transform:rotate(-3deg);transition:transform .22s ease,box-shadow .22s ease;text-decoration:none;color:var(--ink)}
.hero43-yay:after{content:"";position:absolute;inset:-16px;border:2px dashed rgba(84,37,143,.25);border-radius:50%;animation:hero43-orbit 10s linear infinite}
.hero43-yay:hover,.hero43-yay:focus-visible{transform:rotate(1deg) scale(1.045);box-shadow:0 22px 42px rgba(108,66,0,.22),0 0 0 4px rgba(84,37,143,.16)}
.hero43-yay span,.hero43-yay small{font-size:.62rem;line-height:1;font-weight:1000;letter-spacing:.16em;color:var(--coral)}
.hero43-yay strong{margin:3px 0 5px;font-size:3.25rem;line-height:.9;letter-spacing:-.055em;color:var(--plum)}
.hero43-doorway{position:absolute;z-index:2;right:18px;top:52px;bottom:28px;width:82px;border-radius:42px 0 0 42px;background:linear-gradient(180deg,#ffd55b,#ffb928);box-shadow:-12px 14px 25px rgba(108,66,0,.09)}
.hero43-character{position:absolute;z-index:8;height:584px;right:-3px;bottom:-10px;pointer-events:none;filter:drop-shadow(0 21px 28px rgba(59,27,81,.16))}
.hero43-confetti{position:absolute;z-index:3;left:32px;top:125px;width:250px;height:230px;pointer-events:none}
.hero43-confetti i{position:absolute;width:10px;height:10px;border-radius:4px;opacity:.88;transition:transform .45s ease,opacity .45s ease}
.hero43-confetti i:nth-child(1){left:12px;top:38px;background:var(--coral);transform:rotate(18deg)}
.hero43-confetti i:nth-child(2){left:58px;top:5px;background:var(--teal);border-radius:50%}
.hero43-confetti i:nth-child(3){left:196px;top:32px;background:var(--plum);transform:rotate(34deg)}
.hero43-confetti i:nth-child(4){left:226px;top:102px;background:var(--coral);border-radius:50%}
.hero43-confetti i:nth-child(5){left:200px;top:188px;background:var(--teal);transform:rotate(-18deg)}
.hero43-confetti i:nth-child(6){left:58px;top:211px;background:var(--plum);border-radius:50%}
.hero43-confetti i:nth-child(7){left:4px;top:158px;background:#ffbd2c;transform:rotate(45deg)}
.hero43-confetti i:nth-child(8){left:118px;top:218px;background:var(--coral);transform:rotate(-35deg)}
.hero43-stage.is-popped .hero43-confetti i{opacity:0;transform:translate(var(--pop-x,0),var(--pop-y,0)) rotate(160deg) scale(1.7)}
.hero43-stage.is-popped .hero43-confetti i:nth-child(1){--pop-x:-55px;--pop-y:-45px}.hero43-stage.is-popped .hero43-confetti i:nth-child(2){--pop-x:-15px;--pop-y:-70px}.hero43-stage.is-popped .hero43-confetti i:nth-child(3){--pop-x:52px;--pop-y:-52px}.hero43-stage.is-popped .hero43-confetti i:nth-child(4){--pop-x:72px;--pop-y:0}.hero43-stage.is-popped .hero43-confetti i:nth-child(5){--pop-x:48px;--pop-y:55px}.hero43-stage.is-popped .hero43-confetti i:nth-child(6){--pop-x:-18px;--pop-y:68px}.hero43-stage.is-popped .hero43-confetti i:nth-child(7){--pop-x:-58px;--pop-y:40px}.hero43-stage.is-popped .hero43-confetti i:nth-child(8){--pop-x:8px;--pop-y:74px}
@keyframes hero43-orbit{to{transform:rotate(360deg)}}
.hero-v43+.today41{position:relative;z-index:14;margin:-22px auto 18px;max-width:1080px;box-shadow:0 18px 38px rgba(65,31,92,.10)}
.hero-v43+.today41+.games-section{padding-top:24px}
.hero-v43+.today41+.games-section .section-heading h2{font-size:clamp(2.55rem,3.8vw,3.65rem)}

@media(max-width:1120px){
  .hero43-stage{grid-template-columns:1fr 1.08fr;min-height:500px}.hero43-copy{padding:52px 28px 52px 42px}.hero43-play-zone{min-height:500px}.hero43-character{height:535px}.hero43-action{left:18px;top:58px;width:340px}.hero43-action h2{font-size:3.15rem}.hero43-yay{width:185px;height:185px}.hero43-yay strong{font-size:2.95rem}.hero43-confetti{left:14px;top:112px;transform:scale(.92);transform-origin:top left}.hero-v43+.today41{margin-left:42px;margin-right:42px}
}
@media(max-width:760px){
  .hero-v43{padding:14px 10px 0}.hero43-stage{grid-template-columns:1fr;border-radius:28px;min-height:0}.hero43-copy{padding:30px 20px 18px}.hero43-copy h1 span{font-size:clamp(2.9rem,13.2vw,3.85rem)}.hero43-copy h1 strong{font-size:clamp(3.6rem,16vw,4.7rem)}.hero43-lead{font-size:.95rem;margin-top:17px}.hero43-signature{margin-top:12px}.hero43-play-zone{min-height:360px}.hero43-action{left:18px;top:26px;width:54%;}.hero43-action h2{font-size:clamp(2.2rem,10vw,2.85rem)}.hero43-action-copy{font-size:.76rem;margin:6px 0 14px;max-width:180px}.hero43-yay{width:145px;height:145px;border-width:5px}.hero43-yay:after{inset:-11px}.hero43-yay strong{font-size:2.3rem}.hero43-yay span,.hero43-yay small{font-size:.53rem}.hero43-character{height:365px;right:-37px;bottom:-5px}.hero43-doorway{right:-2px;top:42px;bottom:16px;width:52px}.hero43-confetti{left:3px;top:105px;transform:scale(.70);transform-origin:top left}.hero-v43+.today41{margin:-12px 10px 16px}
}
@media(max-width:460px){
  .hero43-copy{padding:26px 18px 14px}.hero43-copy h1 span{font-size:clamp(2.45rem,12vw,3.2rem)}.hero43-copy h1 strong{font-size:clamp(3.1rem,15vw,3.95rem)}.hero43-lead{font-size:.88rem;line-height:1.43;margin-top:13px}.hero43-signature{font-size:.73rem;margin-top:9px}.hero43-play-zone{min-height:325px}.hero43-action{left:14px;top:22px;width:53%}.hero43-action-kicker{font-size:.54rem}.hero43-action h2{font-size:2.05rem}.hero43-action-copy{font-size:.68rem;line-height:1.36;margin:5px 0 11px;max-width:150px}.hero43-yay{width:125px;height:125px;border-width:4px}.hero43-yay strong{font-size:2rem}.hero43-yay span,.hero43-yay small{font-size:.48rem}.hero43-character{height:325px;right:-35px}.hero43-doorway{top:30px;width:44px}.hero43-confetti{display:none}.hero-v43+.today41{margin:-10px 10px 16px}
}
@media(prefers-reduced-motion:reduce){.hero43-yay:after{animation:none}.hero43-yay{transition:none}.hero43-confetti i{transition:none}}

/* =========================================================
   V44 — ONE WORLD, ONE INVITATION
   The character points to one real action. No center widget,
   no hero poster, no repeated Today strip.
   ========================================================= */
.hero-v44{padding:28px 24px 20px}
.hero44-stage{max-width:1320px;margin:0 auto;min-height:600px;position:relative;display:grid;grid-template-columns:minmax(410px,.78fr) minmax(680px,1.22fr);overflow:hidden;border-radius:38px;background:#fffdf8;border:1px solid rgba(84,37,143,.07);box-shadow:0 24px 64px rgba(65,31,92,.09)}
.hero44-stage:after{content:"";position:absolute;z-index:0;right:-150px;top:-180px;width:910px;height:930px;border-radius:49% 0 0 58%;background:linear-gradient(150deg,#fff5cf 0%,#ffe79c 55%,#ffd463 100%);transform:rotate(4deg)}
.hero44-copy{position:relative;z-index:7;padding:84px 28px 76px 70px;display:flex;flex-direction:column;justify-content:center}
.hero44-kicker{display:flex;align-items:center;gap:9px;margin:0 0 15px;color:var(--coral);font-size:.70rem;font-weight:1000;text-transform:uppercase;letter-spacing:.14em}.hero44-kicker span{width:9px;height:9px;border-radius:50%;background:var(--teal)}
.hero44-copy h1{margin:0;line-height:.90;letter-spacing:-.062em}.hero44-copy h1 span{display:block;color:var(--ink);font-size:clamp(3.65rem,4.45vw,4.9rem);font-weight:1000}.hero44-copy h1 strong{display:block;color:var(--coral);font-size:clamp(4.5rem,5.35vw,5.75rem);font-weight:1000}
.hero44-lead{max-width:470px;margin:26px 0 0;font-size:1.05rem;line-height:1.5;font-weight:850;color:var(--ink)}
.hero44-signature{margin:18px 0 0;color:var(--plum);font-size:.83rem;font-weight:950}
.hero44-explore{display:inline-flex;align-items:center;gap:9px;width:max-content;margin-top:28px;padding-bottom:4px;border-bottom:2px solid rgba(84,37,143,.22);color:var(--plum);font-size:.86rem;font-weight:1000}.hero44-explore span{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--yellow);color:var(--ink)}
.hero44-play-zone{position:relative;z-index:3;min-height:600px;overflow:hidden}
.hero44-spotlight{position:absolute;z-index:1;right:122px;top:74px;width:485px;height:455px;border-radius:50%;background:radial-gradient(circle at 48% 46%,rgba(255,255,255,.74) 0 33%,rgba(255,255,255,.28) 34% 57%,rgba(255,255,255,0) 58%);border:1px solid rgba(84,37,143,.045)}
.hero44-today{position:absolute;z-index:11;left:35px;top:235px;width:355px;min-height:112px;display:grid;grid-template-columns:78px 1fr 42px;align-items:center;gap:15px;padding:12px 14px;border-radius:24px;background:rgba(255,255,255,.96);border:1px solid rgba(84,37,143,.11);box-shadow:0 18px 38px rgba(65,31,92,.14);transition:transform .2s ease,box-shadow .2s ease}
.hero44-today:hover,.hero44-today:focus-visible{transform:translateY(-4px) rotate(-.5deg);box-shadow:0 24px 44px rgba(65,31,92,.18)}
.hero44-thumb{width:78px;height:88px;border-radius:15px;overflow:hidden;border:3px solid #fff;box-shadow:0 8px 16px rgba(65,31,92,.12);background:#f5effe}.hero44-thumb img{width:100%;height:100%;object-fit:cover;object-position:center 25%}
.hero44-today-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.hero44-today-copy small{color:var(--coral);font-size:.61rem;font-weight:1000;letter-spacing:.13em;text-transform:uppercase}.hero44-today-copy strong{font-size:1.33rem;line-height:1.08;color:var(--ink)}.hero44-today-copy span{font-size:.69rem;font-weight:850;color:var(--muted)}
.hero44-today>b{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:var(--plum);color:#fff;font-size:1rem}
.hero44-nudge{position:absolute;z-index:12;left:245px;top:190px;margin:0;padding:8px 12px;border-radius:999px;background:var(--coral);color:#fff;font-size:.68rem;font-weight:1000;letter-spacing:.02em;box-shadow:0 10px 20px rgba(246,80,119,.18);transform:rotate(-2deg)}
.hero44-nudge:after{content:"";position:absolute;right:16px;bottom:-7px;width:14px;height:14px;background:var(--coral);transform:rotate(45deg);border-radius:2px}
.hero44-doorway{position:absolute;z-index:5;right:18px;top:64px;bottom:32px;width:78px;border-radius:40px 0 0 40px;background:linear-gradient(180deg,#ffd45c,#ffb829);box-shadow:-12px 14px 25px rgba(108,66,0,.09)}
.hero44-character{position:absolute;z-index:9;height:632px;right:-2px;bottom:-10px;pointer-events:none;filter:drop-shadow(0 22px 28px rgba(59,27,81,.16))}
.hero-v44+.games-section{padding-top:34px}.hero-v44+.games-section .section-heading{margin-bottom:28px}.hero-v44+.games-section .section-heading h2{font-size:clamp(2.65rem,4.1vw,4rem)}

@media(max-width:1120px){
  .hero44-stage{grid-template-columns:1fr 1.08fr;min-height:555px}.hero44-copy{padding:64px 24px 58px 44px}.hero44-play-zone{min-height:555px}.hero44-character{height:585px}.hero44-today{left:10px;top:220px;width:330px}.hero44-nudge{left:206px;top:177px}.hero44-spotlight{right:80px;width:430px}.hero44-stage:after{right:-220px}
}
@media(max-width:760px){
  .hero-v44{padding:14px 10px 8px}.hero44-stage{grid-template-columns:1fr;border-radius:28px;min-height:0}.hero44-stage:after{right:-260px;top:220px;width:680px;height:700px;border-radius:50% 0 0 50%;transform:rotate(2deg)}
  .hero44-copy{padding:30px 20px 18px}.hero44-copy h1 span{font-size:clamp(2.9rem,13vw,3.75rem)}.hero44-copy h1 strong{font-size:clamp(3.6rem,16vw,4.65rem)}.hero44-lead{font-size:.94rem;margin-top:17px}.hero44-signature{margin-top:11px}.hero44-explore{margin-top:17px}
  .hero44-play-zone{min-height:390px}.hero44-spotlight{right:-20px;top:34px;width:340px;height:320px}.hero44-today{left:18px;top:150px;width:min(275px,64vw);min-height:96px;grid-template-columns:62px 1fr 32px;gap:10px;padding:10px;border-radius:20px}.hero44-thumb{width:62px;height:72px;border-radius:12px}.hero44-today-copy strong{font-size:1rem}.hero44-today-copy span{font-size:.58rem}.hero44-today>b{width:30px;height:30px}.hero44-nudge{left:55px;top:112px;font-size:.60rem;padding:7px 10px}.hero44-character{height:385px;right:-38px;bottom:-4px}.hero44-doorway{right:-2px;top:56px;bottom:18px;width:52px}
  .hero-v44+.games-section{padding-top:24px}.hero-v44+.games-section .section-heading h2{font-size:clamp(2.35rem,10.5vw,3.2rem)}
}
@media(max-width:460px){
  .hero44-copy{padding:26px 18px 16px}.hero44-copy h1 span{font-size:clamp(2.5rem,12.2vw,3.15rem)}.hero44-copy h1 strong{font-size:clamp(3.1rem,15vw,3.95rem)}.hero44-lead{font-size:.87rem;line-height:1.42;margin-top:14px}.hero44-signature{font-size:.73rem}.hero44-explore{font-size:.76rem;margin-top:14px}
  .hero44-play-zone{min-height:345px}.hero44-today{left:12px;top:138px;width:60vw;min-width:230px;grid-template-columns:54px 1fr 28px;gap:8px;padding:8px}.hero44-thumb{width:54px;height:64px}.hero44-today-copy small{font-size:.49rem}.hero44-today-copy strong{font-size:.89rem}.hero44-today-copy span{font-size:.50rem}.hero44-today>b{width:27px;height:27px;font-size:.82rem}.hero44-nudge{left:34px;top:104px;font-size:.54rem}.hero44-character{height:338px;right:-35px}.hero44-doorway{top:44px;width:44px}
}


/* =========================
   V56 HERO — tightened projected-play scene.
   V44 is the clean structural baseline. The game is neither a card/easel
   nor a loose sticker: the silhouette sits inside a stage-light projection.
   Approved hero character asset is unchanged.
   ========================= */
.hero-v56{padding:28px 24px 20px}
.hero56-stage{max-width:1320px;margin:0 auto;min-height:600px;position:relative;display:grid;grid-template-columns:minmax(410px,.78fr) minmax(680px,1.22fr);overflow:hidden;border-radius:38px;background:#fffdf8;border:1px solid rgba(84,37,143,.07);box-shadow:0 24px 64px rgba(65,31,92,.09)}
.hero56-stage:after{content:"";position:absolute;z-index:0;right:-150px;top:-180px;width:910px;height:930px;border-radius:49% 0 0 58%;background:linear-gradient(150deg,#fff5cf 0%,#ffe79c 55%,#ffd463 100%);transform:rotate(4deg)}
.hero56-copy{position:relative;z-index:7;padding:84px 28px 76px 70px;display:flex;flex-direction:column;justify-content:center}
.hero56-kicker{display:flex;align-items:center;gap:9px;margin:0 0 15px;color:var(--coral);font-size:.70rem;font-weight:1000;text-transform:uppercase;letter-spacing:.14em}.hero56-kicker span{width:9px;height:9px;border-radius:50%;background:var(--teal)}
.hero56-copy h1{margin:0;line-height:.90;letter-spacing:-.062em}.hero56-copy h1 span{display:block;color:var(--ink);font-size:clamp(3.65rem,4.45vw,4.9rem);font-weight:1000}.hero56-copy h1 strong{display:block;color:var(--coral);font-size:clamp(4.5rem,5.35vw,5.75rem);font-weight:1000}
.hero56-lead{max-width:470px;margin:26px 0 0;font-size:1.05rem;line-height:1.5;font-weight:850;color:var(--ink)}
.hero56-signature{margin:18px 0 0;color:var(--plum);font-size:.83rem;font-weight:950}
.hero56-explore{display:inline-flex;align-items:center;gap:10px;width:max-content;margin-top:27px;padding:11px 12px 11px 17px;border:1px solid rgba(84,37,143,.13);border-radius:999px;background:rgba(255,255,255,.82);color:var(--plum);font-size:.86rem;font-weight:1000;box-shadow:0 8px 18px rgba(65,31,92,.06)}.hero56-explore span{display:inline-grid;place-items:center;width:25px;height:25px;border-radius:50%;background:var(--yellow);color:var(--ink)}
.hero56-play-zone{position:relative;z-index:3;min-height:600px;overflow:hidden}
.hero56-play-zone:after{content:"";position:absolute;z-index:1;left:-50px;right:-30px;bottom:-76px;height:210px;border-radius:50% 54% 0 0;background:rgba(255,253,239,.72);transform:rotate(-3deg)}
.hero56-heading{position:absolute;z-index:8;left:78px;top:58px;width:390px}.hero56-heading small{display:inline-block;margin-bottom:7px;padding:7px 11px;border-radius:999px;background:var(--coral);color:#fff;font-size:.62rem;line-height:1;font-weight:1000;letter-spacing:.04em;text-transform:uppercase;box-shadow:0 8px 18px rgba(246,80,119,.14)}.hero56-heading h2{margin:0;color:var(--ink);font-size:2.28rem;line-height:.98;letter-spacing:-.05em}.hero56-heading p{margin:6px 0 0;color:var(--muted);font-size:.75rem;font-weight:850}
.hero56-projection{position:absolute;z-index:6;left:84px;top:154px;width:390px;height:405px;display:block;overflow:visible}
.hero56-beam{position:absolute;z-index:0;left:25px;top:6px;width:326px;height:350px;clip-path:polygon(36% 0,64% 0,92% 92%,8% 92%);background:linear-gradient(180deg,rgba(255,255,255,.46) 0%,rgba(255,255,255,.20) 66%,rgba(255,255,255,.04) 100%);filter:drop-shadow(0 12px 24px rgba(150,102,0,.055))}
.hero56-projection:after{content:"";position:absolute;z-index:1;left:65px;bottom:35px;width:260px;height:46px;border-radius:50%;background:radial-gradient(ellipse,rgba(105,64,37,.11) 0%,rgba(105,64,37,.045) 44%,rgba(105,64,37,0) 74%);filter:blur(4px)}
.hero56-projection img{position:absolute;z-index:3;left:50%;top:25px;height:300px;width:auto;max-width:none;transform:translateX(-50%);filter:drop-shadow(0 12px 13px rgba(65,31,92,.13));transition:transform .2s ease}
.hero56-projection:hover img,.hero56-projection:focus-visible img{transform:translateX(-50%) translateY(-3px)}
.hero56-play{position:absolute;z-index:9;left:122px;bottom:6px;display:inline-flex;align-items:center;gap:10px;padding:10px 11px 10px 16px;border-radius:999px;background:var(--plum);color:#fff;font-size:.76rem;font-style:normal;font-weight:1000;box-shadow:0 12px 24px rgba(84,37,143,.18)}.hero56-play i{width:27px;height:27px;display:grid;place-items:center;border-radius:50%;background:var(--yellow);color:var(--ink);font-style:normal}
.hero56-nudge{position:absolute;z-index:12;right:205px;top:326px;margin:0;padding:8px 12px;border-radius:999px;background:#fff;color:var(--plum);border:1px solid rgba(84,37,143,.09);font-size:.66rem;font-weight:1000;box-shadow:0 10px 20px rgba(65,31,92,.09)}.hero56-nudge:after{content:"";position:absolute;right:-18px;bottom:5px;width:22px;height:12px;border-bottom:2px solid rgba(84,37,143,.35);transform:rotate(8deg)}
.hero56-doorway{position:absolute;z-index:5;right:18px;top:64px;bottom:32px;width:70px;border-radius:40px 0 0 40px;background:linear-gradient(180deg,#ffd45c,#ffb829);box-shadow:-12px 14px 25px rgba(108,66,0,.09)}
.hero56-character{position:absolute;z-index:9;height:632px;right:-2px;bottom:-10px;pointer-events:none;filter:drop-shadow(0 22px 28px rgba(59,27,81,.16))}
.hero-v56+.games-section{padding-top:34px}.hero-v56+.games-section .section-heading{margin-bottom:28px}.hero-v56+.games-section .section-heading h2{font-size:clamp(2.65rem,4.1vw,4rem)}

@media(max-width:1120px){
  .hero56-stage{grid-template-columns:1fr 1.08fr;min-height:555px}.hero56-copy{padding:64px 24px 58px 44px}.hero56-play-zone{min-height:555px}.hero56-character{height:585px}.hero56-heading{left:34px;top:48px}.hero56-projection{left:24px;top:145px;transform:scale(.90);transform-origin:top left}.hero56-nudge{right:176px;top:305px}.hero56-stage:after{right:-220px}
}
@media(max-width:760px){
  .hero-v56{padding:14px 10px 8px}.hero56-stage{grid-template-columns:1fr;border-radius:28px;min-height:0}.hero56-stage:after{right:-260px;top:220px;width:680px;height:700px;border-radius:50% 0 0 50%;transform:rotate(2deg)}
  .hero56-copy{padding:30px 20px 18px}.hero56-copy h1 span{font-size:clamp(2.9rem,13vw,3.75rem)}.hero56-copy h1 strong{font-size:clamp(3.6rem,16vw,4.65rem)}.hero56-lead{font-size:.94rem;margin-top:17px}.hero56-signature{margin-top:11px}.hero56-explore{margin-top:17px}
  .hero56-play-zone{min-height:430px}.hero56-heading{left:18px;top:26px;width:58%}.hero56-heading small{font-size:.51rem;padding:6px 8px;margin-bottom:5px}.hero56-heading h2{font-size:1.62rem}.hero56-heading p{font-size:.60rem;margin-top:4px}
  .hero56-projection{left:4px;top:105px;width:270px;height:315px;transform:none}.hero56-beam{left:15px;top:4px;width:225px;height:282px}.hero56-projection img{height:235px;top:22px}.hero56-projection:after{left:40px;bottom:34px;width:184px;height:40px}.hero56-play{left:76px;bottom:5px;font-size:.65rem;padding:8px 8px 8px 12px}.hero56-play i{width:24px;height:24px}
  .hero56-character{height:395px;right:-42px;bottom:-4px}.hero56-doorway{right:-2px;top:56px;bottom:18px;width:52px}.hero56-nudge{right:92px;top:264px;font-size:.57rem;padding:7px 9px}.hero56-nudge:after{right:-14px;width:18px}
  .hero-v56+.games-section{padding-top:24px}.hero-v56+.games-section .section-heading h2{font-size:clamp(2.35rem,10.5vw,3.2rem)}
}
@media(max-width:460px){
  .hero56-copy{padding:26px 18px 16px}.hero56-copy h1 span{font-size:clamp(2.5rem,12.2vw,3.15rem)}.hero56-copy h1 strong{font-size:clamp(3.1rem,15vw,3.95rem)}.hero56-lead{font-size:.87rem;line-height:1.42;margin-top:14px}.hero56-signature{font-size:.73rem}.hero56-explore{font-size:.76rem;margin-top:14px}
  .hero56-play-zone{min-height:390px}.hero56-heading{left:14px;top:22px}.hero56-heading h2{font-size:1.45rem}.hero56-projection{left:-4px;top:96px;width:245px;height:290px}.hero56-beam{left:12px;width:205px;height:264px}.hero56-projection img{height:214px}.hero56-play{left:68px;bottom:4px}.hero56-character{height:350px;right:-40px}.hero56-doorway{top:44px;width:44px}.hero56-nudge{right:73px;top:246px;font-size:.52rem}
}

/* =========================
   V57 HERO — close the interaction gap.
   Built directly from V56. No new concept and no character changes.
   The projection and girl are brought onto a tighter shared axis so her
   pointing gesture lands more naturally on today's challenge.
   ========================= */
@media(min-width:1121px){
  .hero-v57 .hero56-heading{left:106px}
  .hero-v57 .hero56-projection{left:112px}
  .hero-v57 .hero56-character{right:28px}
  .hero-v57 .hero56-nudge{right:235px;top:326px}
  .hero-v57 .hero56-doorway{right:18px;width:54px;opacity:.86}
  .hero-v57 .hero56-beam{opacity:.86}
  .hero-v57 .hero56-projection:after{left:72px;width:246px;opacity:.84}
  .hero-v57 .hero56-explore{background:rgba(255,255,255,.94);border-color:rgba(84,37,143,.17);box-shadow:0 9px 20px rgba(65,31,92,.075)}
}
@media(max-width:1120px) and (min-width:761px){
  .hero-v57 .hero56-heading{left:46px}
  .hero-v57 .hero56-projection{left:36px}
  .hero-v57 .hero56-character{right:16px}
  .hero-v57 .hero56-nudge{right:192px}
  .hero-v57 .hero56-doorway{width:48px;opacity:.86}
}
@media(max-width:760px){
  .hero-v57 .hero56-heading{left:22px}
  .hero-v57 .hero56-projection{left:10px}
  .hero-v57 .hero56-character{right:-32px}
  .hero-v57 .hero56-nudge{right:100px}
  .hero-v57 .hero56-doorway{width:46px;opacity:.86}
}
@media(max-width:460px){
  .hero-v57 .hero56-heading{left:17px}
  .hero-v57 .hero56-projection{left:2px}
  .hero-v57 .hero56-character{right:-31px}
  .hero-v57 .hero56-nudge{right:82px}
  .hero-v57 .hero56-doorway{width:40px}
}

/* =========================
   V59 HERO — remove the pasted frame and soften the shared play light.
   Built directly from protected V57. The approved character asset is unchanged.
   V58 is not inherited: V59 keeps V57's stronger balance while removing the
   orange doorway and the hard-edged spotlight geometry.
   ========================= */
@media(min-width:1121px){
  .hero-v59 .hero56-heading{left:122px}
  .hero-v59 .hero56-projection{left:126px}
  .hero-v59 .hero56-character{right:34px}
  .hero-v59 .hero56-doorway{display:none}
  .hero-v59 .hero56-beam{
    left:31px;top:0;width:318px;height:360px;
    clip-path:none;border-radius:46% 46% 40% 40% / 20% 20% 70% 70%;
    background:radial-gradient(ellipse at 50% 34%,rgba(255,255,255,.62) 0%,rgba(255,255,255,.38) 36%,rgba(255,255,255,.16) 61%,rgba(255,255,255,0) 82%);
    filter:blur(5px);opacity:.90;
  }
  .hero-v59 .hero56-projection img{height:304px;top:23px}
  .hero-v59 .hero56-projection:after{left:76px;width:244px;opacity:.68;filter:blur(6px)}
  .hero-v59 .hero56-play{left:126px}
  .hero-v59 .hero56-nudge{right:242px;top:323px;padding:8px 13px;background:#fff;border-color:rgba(84,37,143,.11);box-shadow:0 9px 18px rgba(65,31,92,.075)}
  .hero-v59 .hero56-nudge:after{right:-6px;bottom:9px;width:11px;height:11px;background:#fff;border:0;border-top:1px solid rgba(84,37,143,.11);border-right:1px solid rgba(84,37,143,.11);transform:rotate(45deg)}
  .hero-v59 .hero56-explore{background:#fbf7ff;border-color:rgba(84,37,143,.18);box-shadow:0 10px 22px rgba(65,31,92,.075)}
}
@media(max-width:1120px) and (min-width:761px){
  .hero-v59 .hero56-heading{left:50px}
  .hero-v59 .hero56-projection{left:42px}
  .hero-v59 .hero56-character{right:20px}
  .hero-v59 .hero56-doorway{display:none}
  .hero-v59 .hero56-beam{clip-path:none;border-radius:46% 46% 40% 40% / 20% 20% 70% 70%;background:radial-gradient(ellipse at 50% 34%,rgba(255,255,255,.60) 0%,rgba(255,255,255,.36) 38%,rgba(255,255,255,.14) 62%,rgba(255,255,255,0) 82%);filter:blur(4px);opacity:.88}
  .hero-v59 .hero56-nudge{right:198px;top:304px}
  .hero-v59 .hero56-nudge:after{right:-6px;bottom:8px;width:10px;height:10px;background:#fff;border:0;border-top:1px solid rgba(84,37,143,.11);border-right:1px solid rgba(84,37,143,.11);transform:rotate(45deg)}
}
@media(max-width:760px){
  .hero-v59 .hero56-heading{left:23px}
  .hero-v59 .hero56-projection{left:12px}
  .hero-v59 .hero56-character{right:-30px}
  .hero-v59 .hero56-doorway{display:none}
  .hero-v59 .hero56-beam{clip-path:none;border-radius:46% 46% 40% 40% / 20% 20% 70% 70%;background:radial-gradient(ellipse at 50% 34%,rgba(255,255,255,.58) 0%,rgba(255,255,255,.34) 38%,rgba(255,255,255,.12) 62%,rgba(255,255,255,0) 82%);filter:blur(3px);opacity:.86}
  .hero-v59 .hero56-nudge{right:102px;top:260px}
  .hero-v59 .hero56-nudge:after{right:-5px;bottom:7px;width:9px;height:9px;background:#fff;border:0;border-top:1px solid rgba(84,37,143,.11);border-right:1px solid rgba(84,37,143,.11);transform:rotate(45deg)}
}
@media(max-width:460px){
  .hero-v59 .hero56-heading{left:18px}
  .hero-v59 .hero56-projection{left:4px}
  .hero-v59 .hero56-character{right:-30px}
  .hero-v59 .hero56-nudge{right:84px;top:243px}
}


/* =========================
   V60 HERO — dissolve the projection patch into the world.
   Built directly from protected V59. No architecture or character changes.
   The visible white activity blob is replaced by a soft wall-light wash,
   and the host/challenge relationship is tightened only slightly.
   ========================= */
@media(min-width:1121px){
  .hero-v60 .hero56-heading{left:136px}
  .hero-v60 .hero56-projection{left:140px}
  .hero-v60 .hero56-character{right:42px}
  .hero-v60 .hero56-beam{
    left:10px;top:-8px;width:360px;height:372px;
    clip-path:none;border-radius:50%;
    background:radial-gradient(ellipse at 50% 48%,rgba(255,255,255,.43) 0%,rgba(255,255,255,.27) 31%,rgba(255,255,255,.13) 52%,rgba(255,255,255,.045) 66%,rgba(255,255,255,0) 78%);
    filter:blur(12px);opacity:.70;
  }
  .hero-v60 .hero56-projection img{height:300px;top:25px}
  .hero-v60 .hero56-projection:after{left:80px;bottom:37px;width:236px;height:42px;opacity:.56;filter:blur(8px)}
  .hero-v60 .hero56-play{left:124px}
  .hero-v60 .hero56-nudge{right:250px;top:323px}
  .hero-v60 .hero56-explore{background:#f9f3ff;border-color:rgba(84,37,143,.20);box-shadow:0 10px 22px rgba(65,31,92,.08)}
}
@media(max-width:1120px) and (min-width:761px){
  .hero-v60 .hero56-heading{left:54px}
  .hero-v60 .hero56-projection{left:48px}
  .hero-v60 .hero56-character{right:24px}
  .hero-v60 .hero56-beam{
    left:-2px;top:-6px;width:275px;height:310px;
    clip-path:none;border-radius:50%;
    background:radial-gradient(ellipse at 50% 48%,rgba(255,255,255,.40) 0%,rgba(255,255,255,.24) 32%,rgba(255,255,255,.11) 54%,rgba(255,255,255,.035) 68%,rgba(255,255,255,0) 80%);
    filter:blur(10px);opacity:.68;
  }
  .hero-v60 .hero56-nudge{right:204px;top:304px}
}
@media(max-width:760px){
  .hero-v60 .hero56-heading{left:24px}
  .hero-v60 .hero56-projection{left:14px}
  .hero-v60 .hero56-character{right:-28px}
  .hero-v60 .hero56-beam{
    left:-10px;top:-5px;width:250px;height:286px;
    clip-path:none;border-radius:50%;
    background:radial-gradient(ellipse at 50% 48%,rgba(255,255,255,.38) 0%,rgba(255,255,255,.22) 33%,rgba(255,255,255,.10) 55%,rgba(255,255,255,.03) 69%,rgba(255,255,255,0) 81%);
    filter:blur(8px);opacity:.66;
  }
  .hero-v60 .hero56-nudge{right:105px;top:260px}
}
@media(max-width:460px){
  .hero-v60 .hero56-heading{left:19px}
  .hero-v60 .hero56-projection{left:6px}
  .hero-v60 .hero56-character{right:-28px}
  .hero-v60 .hero56-nudge{right:86px;top:243px}
}

/* =========================
   V61 HERO - close the last interaction gap without adding a new concept.
   Built directly from protected V60. The approved character asset is unchanged.
   The challenge, speech cue, and host move onto a slightly tighter shared axis;
   the floor wash is lowered so the play zone feels less layered/pasted.
   ========================= */
@media(min-width:1121px){
  .hero-v61 .hero56-heading{left:144px}
  .hero-v61 .hero56-projection{left:152px}
  .hero-v61 .hero56-character{right:54px}
  .hero-v61 .hero56-nudge{right:268px;top:321px}
  .hero-v61 .hero56-play{left:132px;bottom:18px}
  .hero-v61 .hero56-play-zone:after{left:-44px;right:-28px;bottom:-92px;height:190px;background:rgba(255,253,239,.62);transform:rotate(-2deg)}
  .hero-v61 .hero56-projection:after{left:84px;bottom:42px;width:220px;height:38px;opacity:.44;filter:blur(9px)}
  .hero-v61 .hero56-beam{left:18px;top:-10px;width:338px;height:368px;opacity:.58;filter:blur(14px)}
}
@media(max-width:1120px) and (min-width:761px){
  .hero-v61 .hero56-heading{left:58px}
  .hero-v61 .hero56-projection{left:54px}
  .hero-v61 .hero56-character{right:30px}
  .hero-v61 .hero56-nudge{right:214px;top:302px}
  .hero-v61 .hero56-play{bottom:13px}
  .hero-v61 .hero56-play-zone:after{bottom:-88px;height:188px;background:rgba(255,253,239,.64)}
  .hero-v61 .hero56-beam{opacity:.60;filter:blur(12px)}
}
@media(max-width:760px){
  .hero-v61 .hero56-heading{left:25px}
  .hero-v61 .hero56-projection{left:16px}
  .hero-v61 .hero56-character{right:-26px}
  .hero-v61 .hero56-nudge{right:108px;top:258px}
  .hero-v61 .hero56-play-zone:after{bottom:-82px;height:176px;background:rgba(255,253,239,.64)}
}
@media(max-width:460px){
  .hero-v61 .hero56-heading{left:19px}
  .hero-v61 .hero56-projection{left:6px}
  .hero-v61 .hero56-character{right:-28px}
  .hero-v61 .hero56-nudge{right:90px;top:241px}
}

/* =========================
   V62 HERO - tighten vertical rhythm and give the host more edge breathing.
   Built directly from protected V61. No architecture or character changes.
   The activity column is compacted, the host comes slightly inward, the
   speech cue sits more decisively in the pointing path, and the floor wash
   is lowered so the yellow play world reads as one cleaner surface.
   ========================= */
@media(min-width:1121px){
  .hero-v62 .hero56-heading{left:154px;top:54px}
  .hero-v62 .hero56-projection{left:160px;top:148px}
  .hero-v62 .hero56-projection img{height:294px;top:27px}
  .hero-v62 .hero56-character{right:64px}
  .hero-v62 .hero56-nudge{right:284px;top:319px}
  .hero-v62 .hero56-play{left:140px;bottom:28px}
  .hero-v62 .hero56-play-zone:after{left:-42px;right:-26px;bottom:-106px;height:174px;background:rgba(255,253,239,.56);transform:rotate(-1.6deg)}
  .hero-v62 .hero56-projection:after{left:88px;bottom:47px;width:206px;height:34px;opacity:.34;filter:blur(10px)}
  .hero-v62 .hero56-beam{left:26px;top:-14px;width:326px;height:352px;opacity:.50;filter:blur(18px)}
  .hero-v62 .hero56-explore{background:#f7efff;border-color:rgba(84,37,143,.23);box-shadow:0 10px 22px rgba(65,31,92,.085)}
}
@media(max-width:1120px) and (min-width:761px){
  .hero-v62 .hero56-heading{left:62px;top:46px}
  .hero-v62 .hero56-projection{left:60px;top:142px}
  .hero-v62 .hero56-character{right:36px}
  .hero-v62 .hero56-nudge{right:224px;top:300px}
  .hero-v62 .hero56-play{bottom:20px}
  .hero-v62 .hero56-play-zone:after{bottom:-100px;height:174px;background:rgba(255,253,239,.58)}
  .hero-v62 .hero56-beam{opacity:.54;filter:blur(14px)}
}
@media(max-width:760px){
  .hero-v62 .hero56-heading{left:26px}
  .hero-v62 .hero56-projection{left:18px;top:102px}
  .hero-v62 .hero56-character{right:-20px}
  .hero-v62 .hero56-nudge{right:112px;top:256px}
  .hero-v62 .hero56-play{bottom:10px}
  .hero-v62 .hero56-play-zone:after{bottom:-94px;height:166px;background:rgba(255,253,239,.58)}
}
@media(max-width:460px){
  .hero-v62 .hero56-heading{left:20px}
  .hero-v62 .hero56-projection{left:8px;top:94px}
  .hero-v62 .hero56-character{right:-22px}
  .hero-v62 .hero56-nudge{right:94px;top:239px}
}


/* =========================
   V63 HERO - integrate the activity column without disturbing V62.
   Built directly from protected V62. Desktop/tablet surgical refinement only.
   The title, projection and action are tightened into one activity unit,
   the speech cue is nudged into the pointing path, and the floor/light layers
   are reduced so the yellow play world feels less constructed.
   ========================= */
@media(min-width:1121px){
  .hero-v63 .hero56-heading{left:170px;top:52px}
  .hero-v63 .hero56-projection{left:176px;top:146px}
  .hero-v63 .hero56-projection img{height:288px;top:28px}
  .hero-v63 .hero56-character{right:64px}
  .hero-v63 .hero56-nudge{right:292px;top:316px}
  .hero-v63 .hero56-play{left:146px;bottom:44px}
  .hero-v63 .hero56-play-zone:after{left:-40px;right:-24px;bottom:-118px;height:150px;background:rgba(255,253,239,.48);transform:rotate(-1.2deg)}
  .hero-v63 .hero56-projection:after{left:94px;bottom:56px;width:188px;height:30px;opacity:.26;filter:blur(12px)}
  .hero-v63 .hero56-beam{left:40px;top:-20px;width:300px;height:340px;opacity:.40;filter:blur(22px)}
}
@media(max-width:1120px) and (min-width:761px){
  .hero-v63 .hero56-heading{left:68px;top:44px}
  .hero-v63 .hero56-projection{left:66px;top:140px}
  .hero-v63 .hero56-character{right:36px}
  .hero-v63 .hero56-nudge{right:230px;top:297px}
  .hero-v63 .hero56-play{bottom:30px}
  .hero-v63 .hero56-play-zone:after{bottom:-110px;height:156px;background:rgba(255,253,239,.50)}
  .hero-v63 .hero56-projection:after{opacity:.28;filter:blur(11px)}
  .hero-v63 .hero56-beam{opacity:.46;filter:blur(18px)}
}


/* =========================
   V64 HERO - scene recomposition from V63.
   Preserve the V63 shell and locked character, but stop treating the right
   side as a stack of separate UI objects. The silhouette is lowered onto the
   same visual ground as the host, the detached bottom CTA is folded upward
   into the activity header, and the visible projection shape is dissolved.
   ========================= */
@media(min-width:1121px){
  .hero-v64 .hero56-heading{left:142px;top:50px;width:420px}
  .hero-v64 .hero56-heading h2{font-size:2.34rem}
  .hero-v64 .hero56-projection{left:188px;top:150px;width:360px;height:430px}
  .hero-v64 .hero56-projection img{height:308px;top:82px;filter:drop-shadow(0 10px 12px rgba(65,31,92,.10))}
  .hero-v64 .hero56-beam{opacity:0;filter:none}
  .hero-v64 .hero56-projection:after{left:86px;bottom:28px;width:188px;height:28px;opacity:.28;filter:blur(10px)}
  .hero-v64 .hero56-play{left:216px;top:-95px;bottom:auto;padding:8px 9px 8px 14px;font-size:.70rem;box-shadow:0 8px 18px rgba(84,37,143,.14)}
  .hero-v64 .hero56-play i{width:24px;height:24px}
  .hero-v64 .hero56-character{right:82px;bottom:-8px}
  .hero-v64 .hero56-nudge{right:292px;top:327px;padding:8px 13px}
  .hero-v64 .hero56-nudge:after{right:-6px;bottom:8px;width:10px;height:10px;background:#fff;border:0;border-top:1px solid rgba(84,37,143,.11);border-right:1px solid rgba(84,37,143,.11);transform:rotate(45deg)}
  .hero-v64 .hero56-play-zone:after{left:-34px;right:-20px;bottom:-126px;height:132px;background:rgba(255,253,239,.44);transform:rotate(-.8deg)}
  .hero-v64 .hero56-play-zone:before{content:"";position:absolute;z-index:2;inset:0;pointer-events:none;background:radial-gradient(ellipse at 48% 91%,rgba(96,59,31,.085) 0%,rgba(96,59,31,.035) 13%,rgba(96,59,31,0) 30%),radial-gradient(ellipse at 82% 92%,rgba(96,59,31,.075) 0%,rgba(96,59,31,.028) 13%,rgba(96,59,31,0) 29%)}
}
@media(max-width:1120px) and (min-width:761px){
  .hero-v64 .hero56-heading{left:54px;top:43px;width:360px}
  .hero-v64 .hero56-projection{left:76px;top:137px;width:330px;height:405px}
  .hero-v64 .hero56-projection img{height:286px;top:70px}
  .hero-v64 .hero56-beam{opacity:0;filter:none}
  .hero-v64 .hero56-play{left:190px;top:-83px;bottom:auto;padding:8px 9px 8px 13px}
  .hero-v64 .hero56-character{right:48px}
  .hero-v64 .hero56-nudge{right:224px;top:299px}
  .hero-v64 .hero56-play-zone:after{bottom:-112px;height:142px;background:rgba(255,253,239,.47)}
  .hero-v64 .hero56-play-zone:before{content:"";position:absolute;z-index:2;inset:0;pointer-events:none;background:radial-gradient(ellipse at 46% 91%,rgba(96,59,31,.075) 0%,rgba(96,59,31,.03) 14%,rgba(96,59,31,0) 31%),radial-gradient(ellipse at 82% 92%,rgba(96,59,31,.065) 0%,rgba(96,59,31,.024) 13%,rgba(96,59,31,0) 29%)}
}
@media(max-width:760px){
  .hero-v64 .hero56-heading{left:24px;top:24px;width:58%}
  .hero-v64 .hero56-projection{left:24px;top:92px;width:250px;height:316px}
  .hero-v64 .hero56-projection img{height:224px;top:50px}
  .hero-v64 .hero56-beam{opacity:0;filter:none}
  .hero-v64 .hero56-play{left:67px;top:auto;bottom:3px;font-size:.64rem;padding:8px 8px 8px 12px}
  .hero-v64 .hero56-character{right:-16px;bottom:-3px}
  .hero-v64 .hero56-nudge{right:108px;top:255px}
  .hero-v64 .hero56-play-zone:after{bottom:-92px;height:152px;background:rgba(255,253,239,.54)}
}
@media(max-width:460px){
  .hero-v64 .hero56-heading{left:18px;top:21px}
  .hero-v64 .hero56-projection{left:8px;top:88px;width:235px;height:294px}
  .hero-v64 .hero56-projection img{height:208px;top:48px}
  .hero-v64 .hero56-character{right:-20px}
  .hero-v64 .hero56-nudge{right:91px;top:239px}
  .hero-v64 .hero56-play{left:62px;bottom:2px}
}


/* =========================
   V65 HERO - make the scene feel authored, not arranged.
   Built directly from V64. The approved character file is untouched.
   Key corrections:
   - align the character's existing source crop with the stage edge instead of
     exposing that crop inside the yellow scene;
   - move the challenge toward the host rather than moving the host away from
     the edge;
   - replace the floating purple CTA pill with a quieter inline action that
     belongs to the game heading;
   - keep the shared floor subtle so the scene reads as one environment.
   ========================= */
.hero-v65 .hero65-inline-play{
  display:inline-flex;align-items:center;gap:7px;margin-top:11px;
  color:var(--plum);font-size:.73rem;line-height:1;font-weight:1000;
  text-decoration:none;border-bottom:2px solid rgba(84,37,143,.18);
  padding-bottom:4px;
}
.hero-v65 .hero65-inline-play span{font-size:.86rem;transition:transform .18s ease}
.hero-v65 .hero65-inline-play:hover span,.hero-v65 .hero65-inline-play:focus-visible span{transform:translateX(2px)}
.hero-v65 .hero56-play{display:none}

@media(min-width:1121px){
  .hero-v65 .hero56-heading{left:150px;top:48px;width:400px}
  .hero-v65 .hero56-heading h2{font-size:2.34rem}
  .hero-v65 .hero56-projection{left:222px;top:151px;width:350px;height:430px}
  .hero-v65 .hero56-projection img{height:300px;top:84px;filter:drop-shadow(0 10px 12px rgba(65,31,92,.09))}
  .hero-v65 .hero56-character{right:-2px;bottom:-8px}
  .hero-v65 .hero56-nudge{right:212px;top:327px;padding:8px 13px}
  .hero-v65 .hero56-play-zone:after{left:-28px;right:-16px;bottom:-138px;height:118px;background:rgba(255,253,239,.34);transform:rotate(-.6deg)}
  .hero-v65 .hero56-projection:after{left:82px;bottom:26px;width:184px;height:26px;opacity:.22;filter:blur(11px)}
  .hero-v65 .hero56-play-zone:before{content:"";position:absolute;z-index:2;inset:0;pointer-events:none;background:radial-gradient(ellipse at 55% 92%,rgba(96,59,31,.065) 0%,rgba(96,59,31,.024) 13%,rgba(96,59,31,0) 29%),radial-gradient(ellipse at 92% 92%,rgba(96,59,31,.055) 0%,rgba(96,59,31,.020) 12%,rgba(96,59,31,0) 27%)}
}
@media(max-width:1120px) and (min-width:761px){
  .hero-v65 .hero56-heading{left:58px;top:42px;width:350px}
  .hero-v65 .hero56-projection{left:100px;top:138px;width:320px;height:402px}
  .hero-v65 .hero56-projection img{height:280px;top:72px}
  .hero-v65 .hero56-character{right:-2px}
  .hero-v65 .hero56-nudge{right:160px;top:300px}
  .hero-v65 .hero56-play-zone:after{bottom:-124px;height:128px;background:rgba(255,253,239,.38)}
}
@media(max-width:760px){
  .hero-v65 .hero65-inline-play{margin-top:8px;font-size:.66rem}
  .hero-v65 .hero56-heading{left:24px;top:23px;width:60%}
  .hero-v65 .hero56-projection{left:34px;top:92px;width:245px;height:310px}
  .hero-v65 .hero56-projection img{height:218px;top:50px}
  .hero-v65 .hero56-character{right:-31px;bottom:-3px}
  .hero-v65 .hero56-nudge{right:104px;top:254px}
  .hero-v65 .hero56-play-zone:after{bottom:-96px;height:144px;background:rgba(255,253,239,.48)}
}
@media(max-width:460px){
  .hero-v65 .hero56-heading{left:18px;top:20px;width:61%}
  .hero-v65 .hero56-projection{left:14px;top:88px;width:228px;height:288px}
  .hero-v65 .hero56-projection img{height:202px;top:48px}
  .hero-v65 .hero56-character{right:-34px}
  .hero-v65 .hero56-nudge{right:88px;top:238px}
}

/* =========================
   V66 HERO - make the interaction read as one scene and force fresh assets.
   Built directly from V65 after live review. The approved character asset is
   unchanged. The obsolete floating CTA has been removed from the DOM, the
   activity metadata/action are one unit, and the visible cream floor layer is
   replaced by subtle shared grounding so the girl and shadow occupy one world.
   ========================= */
.hero-v66 .hero66-meta{display:flex;align-items:center;gap:14px;margin-top:6px;flex-wrap:wrap}
.hero-v66 .hero66-meta p{margin:0}
.hero-v66 .hero65-inline-play{
  margin:0;padding:0 0 2px;border-bottom:1.5px solid rgba(84,37,143,.26);
  font-size:.70rem;letter-spacing:.01em;color:var(--plum);background:transparent;
}
.hero-v66 .hero56-play-zone:after{opacity:0}

@media(min-width:1121px){
  .hero-v66 .hero56-heading{left:154px;top:52px;width:410px}
  .hero-v66 .hero56-heading h2{font-size:2.30rem}
  .hero-v66 .hero56-projection{left:250px;top:164px;width:330px;height:420px}
  .hero-v66 .hero56-projection img{height:292px;top:77px;filter:drop-shadow(0 11px 13px rgba(65,31,92,.09))}
  .hero-v66 .hero56-character{right:-2px;bottom:-8px}
  .hero-v66 .hero56-nudge{right:196px;top:330px;padding:8px 13px}
  .hero-v66 .hero56-projection:after{left:78px;bottom:24px;width:170px;height:24px;opacity:.18;filter:blur(12px)}
  .hero-v66 .hero56-play-zone:before{
    content:"";position:absolute;z-index:2;inset:0;pointer-events:none;
    background:
      radial-gradient(ellipse at 59% 91%,rgba(96,59,31,.055) 0%,rgba(96,59,31,.021) 12%,rgba(96,59,31,0) 28%),
      radial-gradient(ellipse at 94% 92%,rgba(96,59,31,.050) 0%,rgba(96,59,31,.018) 12%,rgba(96,59,31,0) 27%);
  }
  .hero-v66 .hero56-explore{background:#f6efff;border-color:rgba(84,37,143,.25);box-shadow:0 10px 22px rgba(65,31,92,.09)}
}
@media(max-width:1120px) and (min-width:761px){
  .hero-v66 .hero56-heading{left:62px;top:44px;width:360px}
  .hero-v66 .hero56-projection{left:116px;top:142px;width:306px;height:396px}
  .hero-v66 .hero56-projection img{height:272px;top:70px}
  .hero-v66 .hero56-character{right:-2px}
  .hero-v66 .hero56-nudge{right:154px;top:300px}
  .hero-v66 .hero56-projection:after{opacity:.18;filter:blur(12px)}
  .hero-v66 .hero56-play-zone:before{
    content:"";position:absolute;z-index:2;inset:0;pointer-events:none;
    background:radial-gradient(ellipse at 59% 91%,rgba(96,59,31,.05) 0%,rgba(96,59,31,.018) 13%,rgba(96,59,31,0) 29%),radial-gradient(ellipse at 94% 92%,rgba(96,59,31,.045) 0%,rgba(96,59,31,.016) 12%,rgba(96,59,31,0) 27%);
  }
}
@media(max-width:760px){
  .hero-v66 .hero66-meta{gap:10px;margin-top:5px}
  .hero-v66 .hero65-inline-play{font-size:.64rem}
  .hero-v66 .hero56-heading{left:24px;top:23px;width:64%}
  .hero-v66 .hero56-projection{left:42px;top:96px;width:240px;height:304px}
  .hero-v66 .hero56-projection img{height:214px;top:48px}
  .hero-v66 .hero56-character{right:-31px;bottom:-3px}
  .hero-v66 .hero56-nudge{right:102px;top:253px}
}
@media(max-width:460px){
  .hero-v66 .hero56-heading{left:18px;top:20px;width:64%}
  .hero-v66 .hero56-projection{left:20px;top:90px;width:224px;height:284px}
  .hero-v66 .hero56-projection img{height:198px;top:46px}
  .hero-v66 .hero56-character{right:-34px}
  .hero-v66 .hero56-nudge{right:86px;top:238px}
}

/* =========================
   V67 HERO - gesture alignment and shared grounding from V66.
   Keep the V66 composition and approved character asset intact. This pass
   turns the game lockup into one compact unit, aligns the silhouette more
   directly with the host's pointing path, and replaces separate object
   grounding with one subtle shared floor shadow.
   ========================= */
.hero-v67 .hero66-meta{flex-wrap:nowrap;gap:12px;width:max-content;max-width:100%}
.hero-v67 .hero66-meta p,.hero-v67 .hero65-inline-play{white-space:nowrap}
.hero-v67 .hero65-inline-play{border-bottom-color:rgba(84,37,143,.34);font-weight:1000}
.hero-v67 .hero56-projection:after{opacity:0}

@media(min-width:1121px){
  .hero-v67 .hero56-heading{left:162px;top:50px;width:430px}
  .hero-v67 .hero56-heading h2{font-size:2.32rem}
  .hero-v67 .hero56-projection{left:272px;top:160px;width:326px;height:420px}
  .hero-v67 .hero56-projection img{height:296px;top:76px;filter:drop-shadow(0 10px 12px rgba(65,31,92,.085))}
  .hero-v67 .hero56-character{right:-2px;bottom:-8px}
  .hero-v67 .hero56-nudge{right:192px;top:329px}
  .hero-v67 .hero56-play-zone:before{
    content:"";position:absolute;z-index:2;inset:0;pointer-events:none;
    background:radial-gradient(ellipse 46% 10% at 75% 91%,rgba(96,59,31,.065) 0%,rgba(96,59,31,.027) 36%,rgba(96,59,31,0) 72%);
  }
}
@media(max-width:1120px) and (min-width:761px){
  .hero-v67 .hero56-heading{left:68px;top:43px;width:370px}
  .hero-v67 .hero56-projection{left:128px;top:140px;width:302px;height:396px}
  .hero-v67 .hero56-projection img{height:276px;top:70px}
  .hero-v67 .hero56-character{right:-2px}
  .hero-v67 .hero56-nudge{right:150px;top:298px}
  .hero-v67 .hero56-play-zone:before{
    content:"";position:absolute;z-index:2;inset:0;pointer-events:none;
    background:radial-gradient(ellipse 48% 10% at 75% 91%,rgba(96,59,31,.055) 0%,rgba(96,59,31,.022) 36%,rgba(96,59,31,0) 72%);
  }
}
@media(max-width:760px){
  .hero-v67 .hero66-meta{flex-wrap:wrap;gap:8px}
  .hero-v67 .hero56-heading{left:24px;top:23px;width:66%}
  .hero-v67 .hero56-projection{left:48px;top:95px;width:238px;height:304px}
  .hero-v67 .hero56-projection img{height:214px;top:48px}
  .hero-v67 .hero56-character{right:-31px;bottom:-3px}
  .hero-v67 .hero56-nudge{right:100px;top:252px}
}
@media(max-width:460px){
  .hero-v67 .hero56-heading{left:18px;top:20px;width:66%}
  .hero-v67 .hero56-projection{left:24px;top:90px;width:222px;height:284px}
  .hero-v67 .hero56-projection img{height:198px;top:46px}
  .hero-v67 .hero56-character{right:-34px}
  .hero-v67 .hero56-nudge{right:84px;top:237px}
}


/* =========================
   V68 HERO - make the character invitation the action.
   Built directly from live V67. The approved character asset is unchanged.
   The separate Play today text is removed from the heading so the right side
   stops reading like stacked UI. The existing Try this one! speech cue becomes
   the actual play CTA, positioned between the shadow's reaching hand and the
   host's pointing finger. One extremely soft interaction glow and one shared
   ground cue support the scene without adding a card, target, or connector.
   ========================= */
.hero-v68 .hero66-meta{display:block;width:auto;margin-top:6px}
.hero-v68 .hero66-meta p{white-space:nowrap;margin:0}
.hero-v68 .hero68-nudge{
  display:inline-flex;align-items:center;gap:7px;text-decoration:none;
  cursor:pointer;transition:transform .18s ease,box-shadow .18s ease;
}
.hero-v68 .hero68-nudge span{font-size:.78rem;line-height:1;color:var(--coral);transition:transform .18s ease}
.hero-v68 .hero68-nudge:hover,.hero-v68 .hero68-nudge:focus-visible{transform:translateY(-1px);box-shadow:0 12px 22px rgba(65,31,92,.11)}
.hero-v68 .hero68-nudge:hover span,.hero-v68 .hero68-nudge:focus-visible span{transform:translateX(2px)}

@media(min-width:1121px){
  .hero-v68 .hero56-heading{left:166px;top:50px;width:410px}
  .hero-v68 .hero56-heading h2{font-size:2.32rem}
  .hero-v68 .hero56-projection{left:284px;top:158px;width:326px;height:420px}
  .hero-v68 .hero56-projection img{height:296px;top:76px}
  .hero-v68 .hero56-character{right:-2px;bottom:-8px}
  .hero-v68 .hero56-nudge{right:184px;top:328px;padding:8px 12px}
  .hero-v68 .hero56-play-zone:before{
    content:"";position:absolute;z-index:2;inset:0;pointer-events:none;
    background:
      radial-gradient(circle at 72% 55%,rgba(255,255,255,.20) 0%,rgba(255,255,255,.085) 9%,rgba(255,255,255,0) 22%),
      radial-gradient(ellipse 48% 10% at 76% 91%,rgba(96,59,31,.058) 0%,rgba(96,59,31,.023) 35%,rgba(96,59,31,0) 72%);
  }
}
@media(max-width:1120px) and (min-width:761px){
  .hero-v68 .hero56-heading{left:70px;top:43px;width:355px}
  .hero-v68 .hero56-projection{left:138px;top:139px;width:300px;height:396px}
  .hero-v68 .hero56-projection img{height:276px;top:70px}
  .hero-v68 .hero56-character{right:-2px}
  .hero-v68 .hero56-nudge{right:144px;top:297px}
  .hero-v68 .hero56-play-zone:before{
    content:"";position:absolute;z-index:2;inset:0;pointer-events:none;
    background:
      radial-gradient(circle at 71% 54%,rgba(255,255,255,.18) 0%,rgba(255,255,255,.075) 9%,rgba(255,255,255,0) 22%),
      radial-gradient(ellipse 48% 10% at 76% 91%,rgba(96,59,31,.050) 0%,rgba(96,59,31,.020) 35%,rgba(96,59,31,0) 72%);
  }
}
@media(max-width:760px){
  .hero-v68 .hero66-meta{display:block;margin-top:5px}
  .hero-v68 .hero56-heading{left:24px;top:23px;width:64%}
  .hero-v68 .hero56-projection{left:52px;top:95px;width:236px;height:304px}
  .hero-v68 .hero56-projection img{height:214px;top:48px}
  .hero-v68 .hero56-character{right:-31px;bottom:-3px}
  .hero-v68 .hero56-nudge{right:96px;top:252px}
  .hero-v68 .hero68-nudge span{font-size:.70rem}
}
@media(max-width:460px){
  .hero-v68 .hero56-heading{left:18px;top:20px;width:64%}
  .hero-v68 .hero56-projection{left:28px;top:90px;width:220px;height:284px}
  .hero-v68 .hero56-projection img{height:198px;top:46px}
  .hero-v68 .hero56-character{right:-34px}
  .hero-v68 .hero56-nudge{right:80px;top:237px}
}

/* =========================
   V69 HERO - turn the invitation into the visual bridge.
   Built directly from live V68. The approved character asset is unchanged.
   V68 proved that the girl should own the CTA; V69 refines that idea by
   strengthening the shadow-to-speech-to-finger path without adding another
   interface control. The arrow glyph becomes a compact play dot, the shadow
   rises and scales slightly so it relates more naturally to the heading and
   the host, and the speech cue moves onto the actual pointing line.
   ========================= */
.hero-v69 .hero69-nudge{
  gap:9px;
  padding:8px 9px 8px 13px;
  border-color:rgba(84,37,143,.13);
  background:rgba(255,255,255,.96);
  box-shadow:0 10px 22px rgba(65,31,92,.09);
}
.hero-v69 .hero69-nudge:after{
  right:-5px;bottom:8px;width:10px;height:10px;
  background:#fff;border:0;border-top:1px solid rgba(84,37,143,.12);border-right:1px solid rgba(84,37,143,.12);
  transform:rotate(45deg);
}
.hero-v69 .hero69-label{font-size:.66rem;line-height:1;font-weight:1000;color:var(--plum)}
.hero-v69 .hero69-playdot{
  width:20px;height:20px;display:inline-grid;place-items:center;border-radius:50%;
  background:var(--coral);color:#fff;font-size:.53rem;line-height:1;padding-left:1px;
  box-shadow:0 4px 10px rgba(246,80,119,.18);
  transition:transform .18s ease;
}
.hero-v69 .hero69-nudge:hover .hero69-playdot,.hero-v69 .hero69-nudge:focus-visible .hero69-playdot{transform:scale(1.06)}

@media(min-width:1121px){
  .hero-v69 .hero56-heading{left:174px;top:50px}
  .hero-v69 .hero56-projection{left:292px;top:144px;width:332px;height:420px}
  .hero-v69 .hero56-projection img{height:310px;top:72px}
  .hero-v69 .hero56-nudge{right:174px;top:311px}
  .hero-v69 .hero56-play-zone:before{
    content:"";position:absolute;z-index:2;inset:0;pointer-events:none;
    background:
      radial-gradient(circle at 73% 53%,rgba(255,255,255,.17) 0%,rgba(255,255,255,.065) 9%,rgba(255,255,255,0) 20%),
      radial-gradient(ellipse 50% 9% at 75% 92%,rgba(96,59,31,.052) 0%,rgba(96,59,31,.020) 34%,rgba(96,59,31,0) 72%);
  }
}
@media(max-width:1120px) and (min-width:761px){
  .hero-v69 .hero56-heading{left:74px;top:42px}
  .hero-v69 .hero56-projection{left:145px;top:130px;width:304px;height:396px}
  .hero-v69 .hero56-projection img{height:286px;top:66px}
  .hero-v69 .hero56-nudge{right:136px;top:286px}
}
@media(max-width:760px){
  .hero-v69 .hero56-heading{left:24px;top:22px;width:64%}
  .hero-v69 .hero56-projection{left:56px;top:88px;width:238px;height:304px}
  .hero-v69 .hero56-projection img{height:220px;top:46px}
  .hero-v69 .hero56-nudge{right:92px;top:244px}
  .hero-v69 .hero69-nudge{gap:6px;padding:7px 8px 7px 10px}
  .hero-v69 .hero69-label{font-size:.57rem}
  .hero-v69 .hero69-playdot{width:18px;height:18px;font-size:.48rem}
}
@media(max-width:460px){
  .hero-v69 .hero56-heading{left:18px;top:19px;width:64%}
  .hero-v69 .hero56-projection{left:31px;top:84px;width:222px;height:284px}
  .hero-v69 .hero56-projection img{height:204px;top:44px}
  .hero-v69 .hero56-nudge{right:76px;top:230px}
}

/* =========================
   V70 HERO - make the invitation feel spoken, not buttoned.
   Built directly from live V69. The approved character asset is unchanged.
   V69 proved the shadow/speech/finger bridge works; V70 removes the play-dot
   UI treatment, turns Try this one! into a cleaner speech cue, and makes only
   a small shadow/CTA position refinement so the interaction reads naturally.
   ========================= */
.hero-v70 .hero70-nudge{
  display:inline-flex;align-items:center;
  padding:9px 14px 9px 14px;
  border-radius:18px;
  background:rgba(255,255,255,.97);
  border:1px solid rgba(84,37,143,.12);
  box-shadow:0 10px 20px rgba(65,31,92,.075);
  transition:transform .18s ease,box-shadow .18s ease;
}
.hero-v70 .hero70-nudge .hero70-label{
  color:var(--plum);font-size:.67rem;line-height:1;font-weight:1000;white-space:nowrap;
}
.hero-v70 .hero70-nudge:after{
  content:"";position:absolute;right:-6px;top:15px;width:11px;height:11px;
  background:#fff;border:0;border-top:1px solid rgba(84,37,143,.12);border-right:1px solid rgba(84,37,143,.12);
  transform:rotate(45deg);
}
.hero-v70 .hero70-nudge:hover,.hero-v70 .hero70-nudge:focus-visible{
  transform:translateY(-1px);box-shadow:0 12px 22px rgba(65,31,92,.10);
}
.hero-v70 .hero70-nudge:focus-visible{outline:3px solid rgba(246,80,119,.30);outline-offset:3px}

@media(min-width:1121px){
  .hero-v70 .hero56-heading{left:174px;top:50px}
  .hero-v70 .hero56-projection{left:300px;top:138px;width:334px;height:424px}
  .hero-v70 .hero56-projection img{height:316px;top:70px}
  .hero-v70 .hero56-nudge{right:150px;top:307px}
  .hero-v70 .hero56-play-zone:before{
    content:"";position:absolute;z-index:2;inset:0;pointer-events:none;
    background:
      radial-gradient(circle at 74% 53%,rgba(255,255,255,.15) 0%,rgba(255,255,255,.055) 8%,rgba(255,255,255,0) 19%),
      radial-gradient(ellipse 49% 9% at 76% 92%,rgba(96,59,31,.048) 0%,rgba(96,59,31,.018) 34%,rgba(96,59,31,0) 72%);
  }
}
@media(max-width:1120px) and (min-width:761px){
  .hero-v70 .hero56-heading{left:74px;top:42px}
  .hero-v70 .hero56-projection{left:150px;top:126px;width:306px;height:398px}
  .hero-v70 .hero56-projection img{height:290px;top:65px}
  .hero-v70 .hero56-nudge{right:120px;top:281px}
}
@media(max-width:760px){
  .hero-v70 .hero56-heading{left:24px;top:22px;width:64%}
  .hero-v70 .hero56-projection{left:58px;top:86px;width:240px;height:304px}
  .hero-v70 .hero56-projection img{height:222px;top:45px}
  .hero-v70 .hero56-nudge{right:84px;top:241px;padding:7px 11px}
  .hero-v70 .hero70-nudge .hero70-label{font-size:.58rem}
}
@media(max-width:460px){
  .hero-v70 .hero56-heading{left:18px;top:19px;width:64%}
  .hero-v70 .hero56-projection{left:33px;top:82px;width:224px;height:284px}
  .hero-v70 .hero56-projection img{height:206px;top:43px}
  .hero-v70 .hero56-nudge{right:70px;top:227px}
}

/* =========================
   V72 HERO - let the gesture carry the game; keep CTA in the activity label.
   Built directly from live V70 after V71 proved that moving the speech bubble
   toward the host can cover the face. V72 removes the floating speech bubble
   entirely, keeps the girl untouched at the stage edge, brings the shadow hand
   closer to her pointing finger, and makes the quiet action part of the activity
   heading instead of another object between the two characters.
   ========================= */
.hero-v72 .hero66-meta{
  display:flex;align-items:center;gap:12px;flex-wrap:nowrap;
  width:max-content;max-width:100%;margin-top:6px;
}
.hero-v72 .hero66-meta p{margin:0;white-space:nowrap}
.hero-v72 .hero72-play{
  display:inline-flex;align-items:center;white-space:nowrap;
  color:var(--plum);font-size:.72rem;line-height:1;font-weight:1000;
  padding-bottom:2px;border-bottom:2px solid rgba(84,37,143,.22);
  transition:color .18s ease,border-color .18s ease,transform .18s ease;
}
.hero-v72 .hero72-play:hover,.hero-v72 .hero72-play:focus-visible{
  color:var(--coral);border-color:rgba(246,80,119,.42);transform:translateY(-1px);
}
.hero-v72 .hero72-play:focus-visible{outline:3px solid rgba(246,80,119,.22);outline-offset:4px;border-radius:4px}

@media(min-width:1121px){
  .hero-v72 .hero56-heading{left:174px;top:50px}
  .hero-v72 .hero56-projection{left:330px;top:130px;width:340px;height:430px}
  .hero-v72 .hero56-projection img{height:324px;top:66px}
  .hero-v72 .hero56-character{right:-2px;bottom:-8px}
  .hero-v72 .hero56-play-zone:before{
    content:"";position:absolute;z-index:2;inset:0;pointer-events:none;
    background:
      radial-gradient(circle at 78% 54%,rgba(255,255,255,.10) 0%,rgba(255,255,255,.034) 8%,rgba(255,255,255,0) 18%),
      radial-gradient(ellipse 48% 8% at 76% 92%,rgba(96,59,31,.040) 0%,rgba(96,59,31,.014) 34%,rgba(96,59,31,0) 72%);
  }
}
@media(max-width:1120px) and (min-width:761px){
  .hero-v72 .hero56-heading{left:74px;top:42px}
  .hero-v72 .hero56-projection{left:168px;top:120px;width:312px;height:404px}
  .hero-v72 .hero56-projection img{height:298px;top:61px}
  .hero-v72 .hero56-character{right:-2px}
}
@media(max-width:760px){
  .hero-v72 .hero66-meta{gap:8px;flex-wrap:wrap}
  .hero-v72 .hero72-play{font-size:.62rem}
  .hero-v72 .hero56-heading{left:24px;top:22px;width:68%}
  .hero-v72 .hero56-projection{left:66px;top:80px;width:244px;height:308px}
  .hero-v72 .hero56-projection img{height:226px;top:42px}
  .hero-v72 .hero56-character{right:-31px;bottom:-3px}
}
@media(max-width:460px){
  .hero-v72 .hero56-heading{left:18px;top:19px;width:68%}
  .hero-v72 .hero56-projection{left:39px;top:77px;width:228px;height:288px}
  .hero-v72 .hero56-projection img{height:210px;top:40px}
  .hero-v72 .hero56-character{right:-34px}
}


/* =========================
   V73 HERO - make the challenge itself the action and make the silhouette
   read like a shadow rather than a pasted striped illustration. Built
   directly from live V72. Approved hero-character.png remains untouched.
   ========================= */
.hero-v73 .hero66-meta{display:block;width:auto;margin-top:6px}
.hero-v73 .hero66-meta p{margin:0;white-space:nowrap}
.hero-v73 .hero73-titlelink{
  color:inherit;text-decoration:none;display:inline-flex;align-items:baseline;gap:7px;
  transition:color .18s ease,transform .18s ease;
}
.hero-v73 .hero73-titlelink span{
  color:var(--coral);font-size:.56em;font-weight:1000;line-height:1;
  transform:translateY(-1px);transition:transform .18s ease;
}
.hero-v73 .hero73-titlelink:hover,.hero-v73 .hero73-titlelink:focus-visible{color:var(--plum);transform:translateY(-1px)}
.hero-v73 .hero73-titlelink:hover span,.hero-v73 .hero73-titlelink:focus-visible span{transform:translate(2px,-3px)}
.hero-v73 .hero73-titlelink:focus-visible{outline:3px solid rgba(246,80,119,.22);outline-offset:5px;border-radius:7px}
.hero-v73 .hero56-projection img{filter:drop-shadow(0 12px 15px rgba(65,31,92,.10))}

@media(min-width:1121px){
  .hero-v73 .hero56-heading{left:174px;top:50px;width:440px}
  .hero-v73 .hero56-projection{left:338px;top:126px;width:344px;height:434px}
  .hero-v73 .hero56-projection img{height:330px;top:64px}
  .hero-v73 .hero56-character{right:-2px;bottom:-8px}
  .hero-v73 .hero56-play-zone:before{
    content:"";position:absolute;z-index:2;inset:0;pointer-events:none;
    background:radial-gradient(circle at 79% 54%,rgba(255,255,255,.075) 0%,rgba(255,255,255,.022) 8%,rgba(255,255,255,0) 17%),radial-gradient(ellipse 48% 8% at 76% 92%,rgba(96,59,31,.036) 0%,rgba(96,59,31,.012) 34%,rgba(96,59,31,0) 72%);
  }
}
@media(max-width:1120px) and (min-width:761px){
  .hero-v73 .hero56-heading{left:74px;top:42px;width:380px}
  .hero-v73 .hero56-projection{left:174px;top:116px;width:316px;height:408px}
  .hero-v73 .hero56-projection img{height:304px;top:59px}
  .hero-v73 .hero56-character{right:-2px}
}
@media(max-width:760px){
  .hero-v73 .hero66-meta{display:block;margin-top:5px}
  .hero-v73 .hero56-heading{left:24px;top:22px;width:70%}
  .hero-v73 .hero56-projection{left:70px;top:78px;width:246px;height:310px}
  .hero-v73 .hero56-projection img{height:230px;top:40px}
  .hero-v73 .hero56-character{right:-31px;bottom:-3px}
}
@media(max-width:460px){
  .hero-v73 .hero56-heading{left:18px;top:19px;width:70%}
  .hero-v73 .hero56-projection{left:42px;top:75px;width:230px;height:290px}
  .hero-v73 .hero56-projection img{height:214px;top:38px}
  .hero-v73 .hero56-character{right:-34px}
}


/* =========================
   V74 HERO - deployment-proof cleanup from V73.
   Live V73 did not visibly reflect its intended title/shadow changes.
   V74 removes the micro CTA from markup, makes the title itself the quiet
   action, uses a fresh solid-plum silhouette asset, and gives the build
   unique cache-busted assets. Approved hero-character.png is untouched.
   ========================= */
.hero-v74 .hero74-titlelink{
  color:inherit;text-decoration:none;display:inline-block;
  transition:color .18s ease, transform .18s ease;
}
.hero-v74 .hero74-titlelink:hover,.hero-v74 .hero74-titlelink:focus-visible{
  color:var(--coral);transform:translateY(-1px);
}
.hero-v74 .hero74-titlelink:focus-visible{
  outline:3px solid rgba(246,80,119,.22);outline-offset:5px;border-radius:7px;
}
.hero-v74 .hero56-projection img{
  filter:none;opacity:.96;
}
@media(min-width:1121px){
  .hero-v74 .hero56-heading{left:174px;top:50px;width:440px}
  .hero-v74 .hero56-projection{left:350px;top:120px;width:350px;height:438px}
  .hero-v74 .hero56-projection img{height:338px;top:60px}
  .hero-v74 .hero56-character{right:-2px;bottom:-8px}
  .hero-v74 .hero56-play-zone:before{
    content:"";position:absolute;z-index:2;inset:0;pointer-events:none;
    background:
      radial-gradient(circle at 79% 54%,rgba(255,255,255,.060) 0%,rgba(255,255,255,.018) 8%,rgba(255,255,255,0) 16%),
      radial-gradient(ellipse 45% 7% at 77% 92%,rgba(96,59,31,.030) 0%,rgba(96,59,31,.010) 34%,rgba(96,59,31,0) 70%);
  }
}
@media(max-width:1120px) and (min-width:761px){
  .hero-v74 .hero56-heading{left:74px;top:42px;width:380px}
  .hero-v74 .hero56-projection{left:182px;top:112px;width:322px;height:412px}
  .hero-v74 .hero56-projection img{height:310px;top:56px}
  .hero-v74 .hero56-character{right:-2px}
}
@media(max-width:760px){
  .hero-v74 .hero66-meta{display:block;margin-top:5px}
  .hero-v74 .hero56-heading{left:24px;top:22px;width:70%}
  .hero-v74 .hero56-projection{left:74px;top:76px;width:250px;height:312px}
  .hero-v74 .hero56-projection img{height:234px;top:38px}
  .hero-v74 .hero56-character{right:-31px;bottom:-3px}
}
@media(max-width:460px){
  .hero-v74 .hero56-heading{left:18px;top:19px;width:70%}
  .hero-v74 .hero56-projection{left:45px;top:73px;width:234px;height:292px}
  .hero-v74 .hero56-projection img{height:218px;top:36px}
  .hero-v74 .hero56-character{right:-34px}
}

/* =========================
   V77 HERO - crisp internal-depth shadow refinement from protected V74.
   V76 still looked fuzzy at live desktop size. V77 returns to V74's exact
   composition and exact alpha silhouette edge, adds restrained color depth
   inside the shadow asset, and grounds only the foot contact. No edge blur.
   Approved hero-character.png remains untouched.
   ========================= */
.hero-v77 .hero56-projection img{
  opacity:.97;
  filter:none;
  image-rendering:auto;
}
.hero-v77 .hero56-projection:after{
  left:50%;bottom:39px;width:92px;height:16px;
  transform:translateX(-50%);
  background:radial-gradient(ellipse,rgba(70,34,73,.085) 0%,rgba(70,34,73,.035) 44%,rgba(70,34,73,0) 76%);
  filter:blur(4px);opacity:.72;
}
@media(min-width:1121px){
  .hero-v77 .hero56-projection{left:350px;top:120px;width:350px;height:438px}
  .hero-v77 .hero56-projection img{height:338px;top:60px}
  .hero-v77 .hero56-character{right:-2px;bottom:-8px}
  .hero-v77 .hero56-play-zone:before{
    content:"";position:absolute;z-index:2;inset:0;pointer-events:none;
    background:
      radial-gradient(ellipse 32% 42% at 69% 54%,rgba(255,255,255,.042) 0%,rgba(255,255,255,.015) 38%,rgba(255,255,255,0) 72%),
      radial-gradient(ellipse 43% 6% at 77% 92%,rgba(96,59,31,.026) 0%,rgba(96,59,31,.009) 34%,rgba(96,59,31,0) 70%);
  }
}
@media(max-width:1120px) and (min-width:761px){
  .hero-v77 .hero56-projection{left:182px;top:112px;width:322px;height:412px}
  .hero-v77 .hero56-projection img{height:310px;top:56px}
  .hero-v77 .hero56-character{right:-2px}
  .hero-v77 .hero56-projection:after{bottom:39px;width:84px;height:15px}
}
@media(max-width:760px){
  .hero-v77 .hero56-projection{left:74px;top:76px;width:250px;height:312px}
  .hero-v77 .hero56-projection img{height:234px;top:38px}
  .hero-v77 .hero56-character{right:-31px;bottom:-3px}
  .hero-v77 .hero56-projection:after{bottom:30px;width:66px;height:13px;filter:blur(3px)}
}
@media(max-width:460px){
  .hero-v77 .hero56-projection{left:45px;top:73px;width:234px;height:292px}
  .hero-v77 .hero56-projection img{height:218px;top:36px}
  .hero-v77 .hero56-character{right:-34px}
  .hero-v77 .hero56-projection:after{bottom:28px;width:62px;height:12px}
}

/* =========================
   V78 HERO - cast-shadow integration from live V77.
   Keep V77's crisp silhouette and exact composition, but let the yellow
   environment show through the shadow so it reads as projected/cast rather
   than a separate purple object. No edge blur and no character changes.
   ========================= */
.hero-v78 .hero56-projection img{
  opacity:.84;
  filter:none;
  mix-blend-mode:multiply;
  image-rendering:auto;
}
.hero-v78 .hero56-projection:after{
  left:50%;bottom:39px;width:78px;height:13px;
  transform:translateX(-50%);
  background:radial-gradient(ellipse,rgba(70,34,73,.060) 0%,rgba(70,34,73,.024) 46%,rgba(70,34,73,0) 78%);
  filter:blur(3px);opacity:.60;
}
@media(min-width:1121px){
  .hero-v78 .hero56-projection{left:350px;top:120px;width:350px;height:438px}
  .hero-v78 .hero56-projection img{height:338px;top:60px}
  .hero-v78 .hero56-character{right:-2px;bottom:-8px}
  .hero-v78 .hero56-play-zone:before{
    content:"";position:absolute;z-index:2;inset:0;pointer-events:none;
    background:
      radial-gradient(ellipse 34% 40% at 69% 54%,rgba(255,255,255,.030) 0%,rgba(255,255,255,.010) 40%,rgba(255,255,255,0) 74%),
      radial-gradient(ellipse 42% 5% at 77% 92%,rgba(96,59,31,.020) 0%,rgba(96,59,31,.006) 36%,rgba(96,59,31,0) 72%);
  }
}
@media(max-width:1120px) and (min-width:761px){
  .hero-v78 .hero56-projection{left:182px;top:112px;width:322px;height:412px}
  .hero-v78 .hero56-projection img{height:310px;top:56px}
  .hero-v78 .hero56-character{right:-2px}
  .hero-v78 .hero56-projection:after{bottom:39px;width:72px;height:12px}
}
@media(max-width:760px){
  .hero-v78 .hero56-projection{left:74px;top:76px;width:250px;height:312px}
  .hero-v78 .hero56-projection img{height:234px;top:38px;opacity:.88}
  .hero-v78 .hero56-character{right:-31px;bottom:-3px}
  .hero-v78 .hero56-projection:after{bottom:30px;width:58px;height:10px;filter:blur(2px)}
}
@media(max-width:460px){
  .hero-v78 .hero56-projection{left:45px;top:73px;width:234px;height:292px}
  .hero-v78 .hero56-projection img{height:218px;top:36px;opacity:.90}
  .hero-v78 .hero56-character{right:-34px}
  .hero-v78 .hero56-projection:after{bottom:28px;width:54px;height:9px}
}

/* =========================
   V79 HERO - shadow-tone integration from live V78.
   Preserve V78's exact composition and crisp silhouette edge. Shift only
   the cast-shadow tone/density away from bright brand-purple toward a muted
   warm plum, with slightly denser lower-body contact. No blur and no girl
   changes.
   ========================= */
.hero-v79 .hero56-projection img{
  opacity:.79;
  filter:none;
  mix-blend-mode:multiply;
  image-rendering:auto;
  -webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,.88) 0%,rgba(0,0,0,.93) 55%,rgba(0,0,0,1) 100%);
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.88) 0%,rgba(0,0,0,.93) 55%,rgba(0,0,0,1) 100%);
}
.hero-v79 .hero56-projection:after{
  left:50%;bottom:39px;width:72px;height:11px;
  transform:translateX(-50%);
  background:radial-gradient(ellipse,rgba(58,38,61,.050) 0%,rgba(58,38,61,.018) 48%,rgba(58,38,61,0) 80%);
  filter:blur(2px);opacity:.52;
}
@media(max-width:760px){
  .hero-v79 .hero56-projection img{opacity:.84}
}


/* =========================
   V80 HERO - balanced cast-shadow tone from live V79.
   Preserve V79/V78 composition and crisp silhouette edge. Keep the more
   natural cast quality, but restore enough cool-plum clarity to avoid a
   muddy gray/brown read against the yellow stage. No blur and no girl changes.
   ========================= */
.hero-v80 .hero56-projection img{
  opacity:.80;
  filter:none;
  mix-blend-mode:multiply;
  image-rendering:auto;
  -webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,.92) 0%,rgba(0,0,0,.96) 58%,rgba(0,0,0,1) 100%);
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.92) 0%,rgba(0,0,0,.96) 58%,rgba(0,0,0,1) 100%);
}
.hero-v80 .hero56-projection:after{
  left:50%;bottom:39px;width:68px;height:10px;
  transform:translateX(-50%);
  background:radial-gradient(ellipse,rgba(57,37,65,.044) 0%,rgba(57,37,65,.015) 50%,rgba(57,37,65,0) 82%);
  filter:blur(2px);opacity:.46;
}
@media(max-width:760px){
  .hero-v80 .hero56-projection img{opacity:.85}
}

/* =========================
   V81 HERO - clearer cast-shadow balance from live V80.
   Preserve the exact V78-V80 composition, crisp silhouette alpha edge,
   approved girl, and direct hand-to-hand interaction. V80 became too dusty
   and gray-brown against the yellow stage; V81 restores controlled cool-plum
   chroma while remaining more muted and shadow-like than V78 brand purple.
   ========================= */
.hero-v81 .hero56-projection img{
  opacity:.82;
  filter:none;
  mix-blend-mode:multiply;
  image-rendering:auto;
  -webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,.94) 0%,rgba(0,0,0,.97) 60%,rgba(0,0,0,1) 100%);
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.94) 0%,rgba(0,0,0,.97) 60%,rgba(0,0,0,1) 100%);
}
.hero-v81 .hero56-projection:after{
  left:50%;bottom:39px;width:66px;height:10px;
  transform:translateX(-50%);
  background:radial-gradient(ellipse,rgba(61,35,72,.044) 0%,rgba(61,35,72,.014) 50%,rgba(61,35,72,0) 82%);
  filter:blur(2px);opacity:.44;
}
@media(max-width:760px){
  .hero-v81 .hero56-projection img{opacity:.86}
}

/* =========================
   V82 HERO - hierarchy polish from live V81.
   Preserve V81's full composition, approved girl, cast-shadow tone, crisp
   silhouette shape, and hand-to-hand interaction. The visual change targets
   the remaining weak hierarchy on the copy side: the primary invitation now
   has enough presence to balance the activity without adding new decoration.
   ========================= */
.hero-v82 .hero56-explore{
  background:#5b278d;
  border-color:rgba(84,37,143,.44);
  color:#fff;
  box-shadow:0 11px 24px rgba(65,31,92,.16);
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}
.hero-v82 .hero56-explore span{
  background:#ffd24f;
  color:#2c1745;
  box-shadow:inset 0 0 0 1px rgba(44,23,69,.04);
}
.hero-v82 .hero56-explore:hover,
.hero-v82 .hero56-explore:focus-visible{
  background:#542281;
  transform:translateY(-1px);
  box-shadow:0 14px 28px rgba(65,31,92,.19);
}
.hero-v82 .hero56-explore:focus-visible{
  outline:3px solid rgba(246,80,119,.22);
  outline-offset:4px;
}
@media(max-width:760px){
  .hero-v82 .hero56-explore{box-shadow:0 9px 20px rgba(65,31,92,.14)}
}

/* =========================
   V83 HERO - activity lockup alignment from live V82.
   Preserve V82's approved girl, cast-shadow treatment, primary CTA, and
   direct hand-to-hand interaction. Tighten only the Today's Play heading so
   the title reads as part of the shadow activity instead of floating left.
   ========================= */
@media(min-width:1121px){
  .hero-v83 .hero56-heading{
    left:218px;
    top:54px;
    width:410px;
  }
  .hero-v83 .hero56-heading h2{
    font-size:2.36rem;
    letter-spacing:-.052em;
  }
  .hero-v83 .hero56-heading p{
    margin-top:5px;
  }
}
@media(max-width:1120px) and (min-width:761px){
  .hero-v83 .hero56-heading{
    left:92px;
    top:44px;
    width:360px;
  }
  .hero-v83 .hero56-heading h2{
    font-size:2.18rem;
  }
}

/* =========================
   V84 HERO - scene-integration polish from live V83.
   Preserve the approved girl, V82 filled CTA, V81/V83 shadow treatment,
   exact shadow scale/position, and direct hand-to-hand interaction. V84
   softens the hard white/yellow split with a faint warm seam bridge and
   lowers the activity lockup slightly so the heading belongs more clearly
   to the shadow below it. No new objects and no character changes.
   ========================= */
.hero-v84 .hero56-stage:before{
  content:"";
  position:absolute;
  z-index:1;
  pointer-events:none;
  top:3%;
  bottom:3%;
  left:42.5%;
  width:15%;
  background:linear-gradient(90deg,
    rgba(255,250,238,0) 0%,
    rgba(255,241,199,.13) 36%,
    rgba(255,229,152,.15) 58%,
    rgba(255,225,140,.08) 76%,
    rgba(255,225,140,0) 100%);
  filter:blur(18px);
  opacity:.72;
}
@media(min-width:1121px){
  .hero-v84 .hero56-heading{
    left:218px;
    top:62px;
    width:410px;
  }
  .hero-v84 .hero56-heading h2{
    font-size:2.36rem;
    letter-spacing:-.052em;
  }
}
@media(max-width:1120px) and (min-width:761px){
  .hero-v84 .hero56-stage:before{
    left:42%;
    width:17%;
    opacity:.66;
  }
  .hero-v84 .hero56-heading{
    left:92px;
    top:50px;
    width:360px;
  }
}
@media(max-width:760px){
  .hero-v84 .hero56-stage:before{
    top:37%;
    bottom:0;
    left:0;
    width:100%;
    background:linear-gradient(180deg,
      rgba(255,250,238,0) 0%,
      rgba(255,239,190,.08) 30%,
      rgba(255,226,144,.10) 55%,
      rgba(255,226,144,0) 100%);
    filter:blur(14px);
    opacity:.55;
  }
}

/* =========================
   V85 HERO - continuous stage wash from live V84.
   Preserve V84's approved girl, shadow pixels/tone/scale/position, filled CTA,
   heading position, and direct hand-to-hand interaction. V84 improved the seam
   with a separate warm bridge, but the hero still read as two polished halves.
   V85 removes that extra bridge on desktop/tablet and instead lets the yellow
   stage itself begin almost paper-white before warming continuously across the
   play side. Geometry is unchanged; only color continuity at the split changes.
   ========================= */
@media(min-width:761px){
  .hero-v85 .hero56-stage:before{
    display:none;
  }
  .hero-v85 .hero56-stage:after{
    background:linear-gradient(150deg,
      #fffdf8 0%,
      #fff9e8 13%,
      #fff2c7 32%,
      #ffe9a7 55%,
      #ffdf82 77%,
      #ffd463 100%);
  }
}


/* =========================
   V88 HERO - one continuous desktop/tablet scene from protected V85.
   Preserve the approved girl, V85 shadow pixels/tone/translucency/multiply
   integration/scale/position, filled plum CTA, activity lockup, hero geometry,
   and direct hand-to-hand interaction. Remove the visible curved color boundary
   on desktop/tablet. Depth now comes from one continuous stage gradient plus a
   soft right-side ambient light field rather than a separate curved yellow layer.
   Mobile retains the protected V85 treatment.
   ========================= */
@media(min-width:761px){
  .hero-v88 .hero56-stage{
    background:
      radial-gradient(circle at 82% 52%,
        rgba(255,236,177,.34) 0%,
        rgba(255,232,160,.18) 27%,
        rgba(255,232,160,0) 57%),
      linear-gradient(100deg,
        #fffdf8 0%,
        #fffdf8 35%,
        #fffaf0 47%,
        #fff4d8 60%,
        #ffeab4 77%,
        #ffdf87 100%);
  }
  .hero-v88 .hero56-stage:before,
  .hero-v88 .hero56-stage:after{
    display:none;
  }
}
\n\n/* =========================
   V89 HERO - interaction-centered ambient polish from live V88.
   Preserve V88's continuous one-scene stage, approved girl, protected shadow
   pixels/tone/translucency/multiply integration/scale/position, filled plum CTA,
   activity lockup, hero geometry, and direct hand-to-hand interaction unchanged.
   Shift only the ambient-light center slightly inward so the shared interaction,
   rather than the far-right character edge, feels like the lighting focus.
   ========================= */
@media(min-width:761px){
  .hero-v89 .hero56-stage{
    background:
      radial-gradient(ellipse 46% 58% at 74% 54%,
        rgba(255,241,195,.28) 0%,
        rgba(255,232,165,.15) 31%,
        rgba(255,228,150,.065) 48%,
        rgba(255,228,150,0) 70%),
      linear-gradient(100deg,
        #fffdf8 0%,
        #fffdf8 35%,
        #fffaf0 47%,
        #fff4d8 60%,
        #ffeab4 77%,
        #ffdf87 100%);
  }
  .hero-v89 .hero56-stage:before,
  .hero-v89 .hero56-stage:after{
    display:none;
  }
}

/* =========================
   V90 HERO - activity lockup micro-alignment from live V89.
   Preserve V89's continuous one-scene gradient, interaction-centered ambient
   light, approved girl, protected shadow pixels/tone/translucency/multiply
   integration/scale/position, filled plum CTA, hero geometry, and direct
   hand-to-hand interaction. Move only the desktop/tablet Today’s Play /
   Match the Shadow lockup slightly down and toward the shadow so the title
   sits more directly over the activity it describes.
   ========================= */
@media(min-width:1121px){
  .hero-v90 .hero56-heading{
    left:230px;
    top:70px;
  }
}
@media(max-width:1120px) and (min-width:761px){
  .hero-v90 .hero56-heading{
    left:102px;
    top:58px;
  }
}

/* =========================
   V91 HERO - interaction-focus polish from live V90.
   Preserve V90's one-scene gradient, approved girl, protected shadow pixels,
   CTA, activity lockup position, hero geometry, scale, and direct hand-to-hand
   interaction. Add only a very subtle warm focus around the shared pointing
   interaction so the connection reads as the visual center without adding a
   visible object or changing the underlying layout.
   ========================= */
@media(min-width:761px){
  .hero-v91 .hero56-stage{
    background:
      radial-gradient(ellipse 18% 20% at 79% 56%,
        rgba(255,250,226,.16) 0%,
        rgba(255,244,199,.08) 42%,
        rgba(255,244,199,0) 78%),
      radial-gradient(ellipse 46% 58% at 74% 54%,
        rgba(255,241,195,.28) 0%,
        rgba(255,232,165,.15) 31%,
        rgba(255,228,150,.065) 48%,
        rgba(255,228,150,0) 70%),
      linear-gradient(100deg,
        #fffdf8 0%,
        #fffdf8 35%,
        #fffaf0 47%,
        #fff4d8 60%,
        #ffeab4 77%,
        #ffdf87 100%);
  }
  .hero-v91 .hero56-stage:before,
  .hero-v91 .hero56-stage:after{display:none}
}

/* =========================
   V92 HERO - restore the protected V90 activity-lockup alignment on top of V91.
   Live V91 kept the interaction-focus wash but accidentally omitted the V90
   hero class, so its proven lockup micro-alignment no longer applied. V92 keeps
   V91's one-scene lighting exactly as rendered and explicitly restores only the
   protected V90 desktop/tablet heading coordinates. Girl, shadow, CTA, geometry,
   scale, and hand-to-hand interaction remain unchanged.
   ========================= */
@media(min-width:1121px){
  .hero-v92 .hero56-heading{
    left:230px;
    top:70px;
  }
}
@media(max-width:1120px) and (min-width:761px){
  .hero-v92 .hero56-heading{
    left:102px;
    top:58px;
  }
}


/* =========================
   V93 HERO - support-line typography polish from live V92.
   Preserve V92's one-scene gradient, interaction-focus lighting, protected
   activity-lockup coordinates, approved girl, protected shadow, filled plum
   CTA, hero geometry, scale, and direct shadow-hand to girl-finger interaction.
   Change only the desktop/tablet Look · Copy · Reveal support line so it
   carries enough legibility beneath the now-strong activity title.
   ========================= */
@media(min-width:1121px){
  .hero-v93 .hero56-heading .hero66-meta p{
    font-size:.79rem;
    font-weight:900;
    color:rgba(40,19,63,.70);
    letter-spacing:.004em;
  }
}
@media(max-width:1120px) and (min-width:761px){
  .hero-v93 .hero56-heading .hero66-meta p{
    font-size:.76rem;
    font-weight:900;
    color:rgba(40,19,63,.70);
  }
}


/* =========================
   V94 HERO - activity support-line rhythm polish from live V93.
   Preserve V93's protected girl, protected shadow, one-scene gradient,
   interaction-focus lighting, activity-lockup coordinates, filled plum CTA,
   hero geometry, scale, and direct shadow-hand to girl-finger interaction.
   Change only the desktop/tablet Look · Copy · Reveal typography rhythm: give
   it a touch more breathing room beneath the title and slightly soften the
   weight so the lockup reads polished rather than dense.
   ========================= */
@media(min-width:1121px){
  .hero-v94 .hero56-heading .hero66-meta{
    margin-top:7px;
  }
  .hero-v94 .hero56-heading .hero66-meta p{
    font-size:.79rem;
    font-weight:800;
    line-height:1.16;
    color:rgba(40,19,63,.70);
    letter-spacing:.006em;
  }
}
@media(max-width:1120px) and (min-width:761px){
  .hero-v94 .hero56-heading .hero66-meta{
    margin-top:6px;
  }
  .hero-v94 .hero56-heading .hero66-meta p{
    font-size:.76rem;
    font-weight:800;
    line-height:1.16;
    color:rgba(40,19,63,.70);
    letter-spacing:.004em;
  }
}


/* =========================
   V95 HERO - Today's Play badge/title lockup polish from live V94.
   Preserve V94's approved girl, protected shadow, one-scene gradient,
   interaction-focus lighting, activity-lockup coordinates, V94 support-line
   typography, filled plum CTA, hero geometry, scale, and direct shadow-hand
   to girl-finger interaction. Change only the desktop/tablet badge/title
   rhythm so Today's Play feels integrated with the activity title rather than
   like a separate floating UI chip.
   ========================= */
@media(min-width:1121px){
  .hero-v95 .hero56-heading small{
    margin-bottom:5px;
    box-shadow:0 5px 12px rgba(246,80,119,.10);
  }
}
@media(max-width:1120px) and (min-width:761px){
  .hero-v95 .hero56-heading small{
    margin-bottom:5px;
    box-shadow:0 5px 12px rgba(246,80,119,.10);
  }
}

/* =========================
   V96 HERO - Today's Play editorial-badge restraint from live V95.
   Preserve V95/V94's approved girl, protected shadow, one-scene gradient,
   interaction-focus lighting, activity-lockup coordinates, support-line
   typography, filled plum CTA, hero geometry, scale, and direct shadow-hand
   to girl-finger interaction. Live V95 showed the 2px gap/shadow tweak was
   too subtle to clearly beat V94, while the badge still read slightly like a
   UI pill. Change only the desktop/tablet badge itself: slightly smaller
   footprint, no drop shadow, and restrained type so it reads as an editorial
   activity label rather than a floating control.
   ========================= */
@media(min-width:1121px){
  .hero-v96 .hero56-heading small{
    margin-bottom:6px;
    padding:6px 10px;
    font-size:.60rem;
    letter-spacing:.05em;
    box-shadow:none;
  }
}
@media(max-width:1120px) and (min-width:761px){
  .hero-v96 .hero56-heading small{
    margin-bottom:6px;
    padding:6px 9px;
    font-size:.58rem;
    letter-spacing:.05em;
    box-shadow:none;
  }
}

/* =========================
   V97 PAGE FLOW - hero-to-games transition polish from live V96.
   V96 is the protected 8.6/10 desktop keeper. Preserve the approved girl,
   protected shadow, one-scene gradient, interaction-focus lighting,
   activity-lockup coordinates, V94 support-line typography, V96 editorial
   Today's Play badge, filled plum CTA, hero geometry, scale, and direct
   shadow-hand to girl-finger interaction. Change only the desktop/tablet
   vertical handoff into Pick Your Play so the homepage reads as one continuous
   experience rather than two stacked sections.
   ========================= */
@media(min-width:1121px){
  .hero-v97 + .games-section{
    padding-top:24px;
  }
}
@media(max-width:1120px) and (min-width:761px){
  .hero-v97 + .games-section{
    padding-top:28px;
  }
}

/* =========================
   V98 PAGE FLOW - quieter hero elevation from live V97.
   V97 reduced the hero-to-games spacing and earned 8.7/10 as the new protected
   keeper. The remaining page-flow weakness is the stage elevation: the hero
   still reads as a slightly floating card above Pick Your Play. Preserve V97's tighter section spacing and every
   protected hero element. Change only the desktop/tablet stage elevation so
   the hero hands off into the next section more naturally without flattening
   the premium card treatment.
   ========================= */
@media(min-width:761px){
  .hero-v98 .hero56-stage{
    box-shadow:0 16px 42px rgba(65,31,92,.055);
  }
}


/* =========================
   V99 PAGE FLOW - quieter stage frame from live V98.
   V98 earned 8.8/10 by reducing hero elevation while preserving V97's tighter
   hero-to-games handoff. Preserve every protected visual element and V98's
   exact stage shadow. Change only the desktop/tablet stage border contrast so
   the hero frame recedes slightly and the homepage reads as one continuous
   experience without losing the premium rounded container.
   ========================= */
@media(min-width:761px){
  .hero-v99 .hero56-stage{
    border-color:rgba(84,37,143,.04);
  }
}
