:root{
  --ink:#151515;
  --paper:#f4f1e8;
  --acid:#dfff45;
  --violet:#6c45ff;
  --coral:#ff6f61;
  --line:rgba(21,21,21,.18);
  --max:1440px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,system-ui,sans-serif;overflow-x:hidden}
a{color:inherit;text-decoration:none}
button{font:inherit}
.masthead{position:fixed;z-index:50;top:18px;left:50%;transform:translateX(-50%);width:min(calc(100% - 32px),var(--max));height:68px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 22px;border:1px solid rgba(21,21,21,.16);background:rgba(244,241,232,.88);backdrop-filter:blur(18px);transition:.3s ease}
.masthead.is-scrolled{top:8px;box-shadow:0 14px 40px rgba(0,0,0,.09)}
.wordmark{justify-self:start;display:flex;align-items:center;gap:12px;font-family:"Space Grotesk",sans-serif;font-weight:700;letter-spacing:.08em;font-size:.88rem}
.wordmark-dot{width:12px;height:12px;background:var(--violet);border-radius:50%}
.nav{display:flex;gap:20px;font-size:.86rem;font-weight:700}
.nav a{position:relative}.nav a:after{content:"";position:absolute;left:0;bottom:-7px;width:100%;height:2px;background:var(--ink);transform:scaleX(0);transform-origin:right;transition:transform .25s}.nav a:hover:after{transform:scaleX(1);transform-origin:left}
.nav-cta{justify-self:end;background:var(--ink);color:white;padding:12px 17px;font-size:.82rem;font-weight:800}
.menu-button{display:none;background:none;border:0;width:44px;height:44px;padding:0;position:relative}.menu-button span{position:absolute;left:9px;width:26px;height:2px;background:var(--ink);transition:.25s}.menu-button span:first-child{top:17px}.menu-button span:last-child{top:25px}
.mobile-panel{display:none}
.opening{min-height:100svh;padding:150px max(24px,calc((100vw - var(--max))/2 + 24px)) 48px;display:grid;grid-template-columns:1.02fr .98fr;gap:5vw;align-items:center;position:relative;border-bottom:1px solid var(--line)}
.opening-copy{max-width:760px}
.kicker,.section-tag{font-size:.72rem;text-transform:uppercase;letter-spacing:.16em;font-weight:800;margin:0 0 26px}
.opening h1{font-family:"Space Grotesk",sans-serif;font-size:clamp(4.4rem,9.5vw,10rem);line-height:.82;letter-spacing:-.075em;margin:0;font-weight:700}
.opening h1 em{font-style:normal;color:var(--violet);position:relative;display:inline-block}.opening h1 em:after{content:"";position:absolute;left:4%;right:-2%;bottom:.05em;height:.12em;background:var(--acid);z-index:-1;transform:rotate(-1deg)}
.opening-lead{font-size:clamp(1.05rem,1.5vw,1.35rem);line-height:1.55;max-width:560px;margin:34px 0 28px}
.opening-actions{display:flex;gap:26px;align-items:center;flex-wrap:wrap}
.action{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;padding:16px 19px;font-size:.84rem;font-weight:800;min-width:220px;transition:.25s}.action:hover{transform:translateY(-3px)}.action-dark{background:var(--ink);color:white}.action-light{background:var(--paper);color:var(--ink)}
.text-link{font-size:.85rem;font-weight:800;border-bottom:1px solid var(--ink);padding-bottom:4px}
.opening-stage{aspect-ratio:1/1;max-width:620px;width:100%;justify-self:end;background:var(--acid);position:relative;overflow:hidden;border-radius:50%;display:grid;place-items:center}
.opening-stage:before,.opening-stage:after{content:"";position:absolute;border:2px solid var(--ink);border-radius:50%}.opening-stage:before{width:76%;height:76%}.opening-stage:after{width:48%;height:48%}
.route{position:absolute;width:135%;height:2px;background:var(--ink);transform-origin:center}.route-one{transform:rotate(29deg)}.route-two{transform:rotate(-36deg)}
.stage-orbit{width:230px;height:230px;background:var(--violet);color:white;border-radius:50%;display:grid;place-items:center;text-align:center;z-index:2;padding:28px;font-family:"Space Grotesk",sans-serif;font-size:1.35rem;line-height:1.15;box-shadow:18px 18px 0 var(--coral)}
.orbit-point{position:absolute;width:18px;height:18px;border:4px solid var(--ink);background:var(--paper);border-radius:50%;transform:translate(130px,-105px)}
.stage-label{position:absolute;z-index:3;font-size:.67rem;letter-spacing:.15em;font-weight:800;background:var(--paper);padding:8px 10px}.stage-label-top{top:15%;right:3%}.stage-label-bottom{left:0;bottom:12%}
.scroll-note{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);font-size:.67rem;letter-spacing:.1em;text-transform:uppercase;font-weight:800}
.manifesto{max-width:var(--max);margin:auto;padding:130px 24px;display:grid;grid-template-columns:130px 1.4fr .6fr;gap:50px;border-bottom:1px solid var(--line)}
.manifesto-index{font-family:"Space Grotesk";font-size:5rem;line-height:1;color:var(--violet)}
.manifesto h2,.programs h2,.stories-copy h2,.join-panel h2,.choice-heading h2{font-family:"Space Grotesk";font-size:clamp(2.8rem,5.5vw,6rem);line-height:.98;letter-spacing:-.055em;margin:0}
.manifesto-side{align-self:end;font-size:1rem;line-height:1.7}.manifesto-side a{display:inline-block;margin-top:22px;font-weight:800;border-bottom:1px solid}
.choice-strip{background:var(--ink);color:white;padding:110px max(24px,calc((100vw - var(--max))/2 + 24px));display:grid;grid-template-columns:.72fr 1.28fr;gap:8vw}
.choice-heading p:last-child{max-width:430px;line-height:1.7;color:rgba(255,255,255,.68)}
.choice-scenario{border-top:1px solid rgba(255,255,255,.28);padding-top:22px}.scenario-number{font-size:.7rem;letter-spacing:.14em;color:var(--acid);font-weight:800}.scenario-question{font-family:"Space Grotesk";font-size:clamp(2rem,4vw,4.2rem);line-height:1.05;letter-spacing:-.04em;margin:38px 0 50px}.scenario-options{display:grid;gap:12px}.scenario-option{display:flex;align-items:center;gap:18px;border:1px solid rgba(255,255,255,.28);padding:18px;transition:.2s;font-weight:700}.scenario-option span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--acid);color:var(--ink)}.scenario-option:hover{background:white;color:var(--ink);transform:translateX(8px)}
.programs{padding:130px max(24px,calc((100vw - var(--max))/2 + 24px))}.programs-head{display:grid;grid-template-columns:1fr 1.3fr;margin-bottom:70px}.programs-head .section-tag{align-self:start}.program-row{border-top:1px solid var(--ink)}.program-link{display:grid;grid-template-columns:80px 1.1fr 1fr 60px;gap:22px;align-items:center;padding:28px 0;border-bottom:1px solid var(--ink);transition:.25s}.program-link:hover{padding-left:18px;background:var(--acid)}.program-no{font-size:.72rem;font-weight:800}.program-title{font-family:"Space Grotesk";font-size:clamp(1.55rem,3vw,3rem);font-weight:700;letter-spacing:-.035em}.program-desc{font-size:.9rem;line-height:1.6;max-width:420px}.program-arrow{font-size:1.8rem;text-align:right}
.stories-preview{background:var(--violet);color:white;padding:120px max(24px,calc((100vw - var(--max))/2 + 24px));display:grid;grid-template-columns:.75fr 1.25fr;gap:7vw;align-items:center}.stories-copy p:not(.section-tag){line-height:1.7;color:rgba(255,255,255,.75);max-width:470px}.stories-copy .action{margin-top:22px}.story-canvas{min-height:520px;background:var(--paper);color:var(--ink);position:relative;overflow:hidden}.story-canvas:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent 48%,rgba(21,21,21,.08) 49%,transparent 50%);background-size:35px 35px}.road-line{position:absolute;width:150%;height:80px;left:-25%;top:48%;background:var(--ink);transform:rotate(-8deg)}.road-line:after{content:"";position:absolute;left:0;right:0;top:38px;border-top:3px dashed var(--paper)}.speech{position:absolute;z-index:2;background:white;border:2px solid var(--ink);padding:22px;max-width:260px;font-family:"Space Grotesk";font-size:1.25rem;font-weight:700;box-shadow:10px 10px 0 var(--acid)}.speech-one{left:8%;top:12%}.speech-two{right:6%;bottom:10%;box-shadow:10px 10px 0 var(--coral)}
.join-panel{max-width:var(--max);margin:auto;padding:130px 24px;display:grid;grid-template-columns:130px 1fr .7fr;gap:46px;align-items:start}.join-symbol{width:90px;height:90px;border-radius:50%;background:var(--coral);display:grid;place-items:center;font-size:4rem;font-weight:300}.join-side p{line-height:1.7;margin-top:0}.join-side .action{margin-top:20px}
.footer{background:var(--ink);color:white;padding:70px max(24px,calc((100vw - var(--max))/2 + 24px));display:grid;grid-template-columns:1.2fr .8fr 1fr auto;gap:30px;align-items:end}.footer-mark{font-family:"Space Grotesk";font-size:clamp(2.8rem,5vw,6rem);font-weight:700;letter-spacing:-.06em}.footer-mark span{color:var(--acid)}.footer p{margin:0;color:rgba(255,255,255,.65)}.footer-links{display:grid;gap:10px;font-size:.8rem}.footer-links a:hover{color:var(--acid)}.footer-year{font-size:.75rem;color:rgba(255,255,255,.5)}
@media (max-width:980px){.masthead{grid-template-columns:1fr auto}.nav,.nav-cta{display:none}.menu-button{display:block;justify-self:end}.mobile-panel{position:fixed;z-index:45;top:0;right:0;width:min(88vw,420px);height:100svh;background:var(--ink);color:white;padding:110px 30px 40px;display:flex;flex-direction:column;gap:0;transform:translateX(105%);transition:.3s}.mobile-panel.is-open{transform:translateX(0)}.mobile-panel a{font-family:"Space Grotesk";font-size:2rem;font-weight:700;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.18)}.opening{grid-template-columns:1fr;padding-top:130px}.opening-stage{justify-self:start;max-width:560px}.scroll-note{display:none}.manifesto{grid-template-columns:80px 1fr}.manifesto-side{grid-column:2}.choice-strip,.stories-preview{grid-template-columns:1fr}.programs-head{grid-template-columns:1fr}.program-link{grid-template-columns:55px 1fr 50px}.program-desc{display:none}.join-panel{grid-template-columns:90px 1fr}.join-side{grid-column:2}.footer{grid-template-columns:1fr 1fr}.footer-mark{grid-column:1/-1}}
@media (max-width:640px){.masthead{top:10px;width:calc(100% - 20px);height:58px;padding:0 14px}.opening{padding:112px 18px 46px;gap:54px}.opening h1{font-size:clamp(4rem,20vw,6rem)}.opening-stage{border-radius:0;aspect-ratio:1/1.05}.stage-orbit{width:180px;height:180px;font-size:1.1rem}.orbit-point{transform:translate(105px,-82px)}.manifesto,.programs,.join-panel{padding:82px 18px}.manifesto{grid-template-columns:1fr;gap:24px}.manifesto-index{font-size:3rem}.manifesto-side{grid-column:auto}.choice-strip,.stories-preview{padding:82px 18px}.choice-heading h2,.programs h2,.stories-copy h2,.join-panel h2,.manifesto h2{font-size:clamp(2.5rem,12vw,4rem)}.scenario-question{font-size:2.2rem}.program-link{grid-template-columns:42px 1fr 34px;padding:22px 0}.program-title{font-size:1.55rem}.story-canvas{min-height:430px}.speech{font-size:1rem;max-width:210px}.join-panel{grid-template-columns:1fr}.join-symbol{width:70px;height:70px}.join-side{grid-column:auto}.footer{padding:60px 18px;grid-template-columns:1fr}.footer-mark{grid-column:auto}.footer-year{margin-top:20px}}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Stage 1: message-led homepage + Why manifesto */
.contrast{padding:120px max(24px,calc((100vw - var(--max))/2 + 24px));border-bottom:1px solid var(--line)}
.contrast-head{display:grid;grid-template-columns:.7fr 1.3fr;gap:50px;margin-bottom:60px}.contrast-head h2{font-family:"Space Grotesk";font-size:clamp(2.8rem,5vw,5.5rem);line-height:.98;letter-spacing:-.055em;margin:0;max-width:980px}
.contrast-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.contrast-card{padding:38px;min-height:500px;border:1px solid var(--ink);display:flex;flex-direction:column;justify-content:space-between}.contrast-card-no{background:var(--ink);color:white}.contrast-card-yes{background:var(--acid)}.contrast-label{font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;font-weight:800}.contrast-card ul{list-style:none;padding:0;margin:80px 0 0}.contrast-card li{font-family:"Space Grotesk";font-size:clamp(1.35rem,2.2vw,2.4rem);line-height:1.1;letter-spacing:-.03em;padding:17px 0;border-top:1px solid currentColor}.contrast-card li:last-child{border-bottom:1px solid currentColor}
.why-page{padding-top:0}.why-hero{min-height:100svh;background:var(--violet);color:white;padding:155px max(24px,calc((100vw - var(--max))/2 + 24px)) 70px;display:grid;grid-template-columns:1.15fr .85fr;align-content:end;gap:40px;position:relative}.why-hero .section-tag{grid-column:1/-1}.why-hero h1{font-family:"Space Grotesk";font-size:clamp(6rem,18vw,17rem);line-height:.72;letter-spacing:-.09em;margin:0}.why-hero>p:not(.section-tag){align-self:end;font-size:clamp(1.15rem,2vw,1.7rem);line-height:1.5;max-width:600px}.why-scroll{position:absolute;right:max(24px,calc((100vw - var(--max))/2 + 24px));bottom:28px;font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;font-weight:800}.why-quotes{background:var(--paper);padding:100px max(24px,calc((100vw - var(--max))/2 + 24px));display:grid;gap:0}.why-quotes p{font-family:"Space Grotesk";font-size:clamp(2.2rem,6vw,7rem);line-height:1;letter-spacing:-.055em;margin:0;padding:18px 0;border-bottom:1px solid var(--ink)}.why-quotes p:nth-child(even){text-align:right;color:var(--violet)}
.why-block{padding:110px max(24px,calc((100vw - var(--max))/2 + 24px));display:grid;grid-template-columns:110px 1fr 1fr;gap:50px}.why-block-dark{background:var(--ink);color:white}.why-block-acid{background:var(--acid)}.why-number{font-family:"Space Grotesk";font-size:4.5rem;line-height:1}.why-block h2,.why-statement h2,.why-mission h2,.why-finale h2{font-family:"Space Grotesk";font-size:clamp(3rem,6vw,7rem);line-height:.92;letter-spacing:-.065em;margin:0}.why-block ul{list-style:none;margin:0;padding:0}.why-block li{font-size:clamp(1.1rem,1.7vw,1.55rem);font-weight:700;padding:17px 0;border-bottom:1px solid currentColor}.why-statement{padding:150px max(24px,calc((100vw - var(--max))/2 + 24px));display:grid;grid-template-columns:.7fr 1.3fr;gap:30px 70px}.why-statement h2{grid-column:1/-1;max-width:1200px}.why-statement p{font-size:1.05rem;line-height:1.75;max-width:650px}.why-statement p:last-child{grid-column:2}.why-mission{padding:120px max(24px,calc((100vw - var(--max))/2 + 24px));background:var(--coral);display:grid;grid-template-columns:110px 1fr auto;gap:50px;align-items:end}.why-mission-copy p:last-child{max-width:730px;line-height:1.75}.why-finale{min-height:82svh;background:var(--paper);padding:100px max(24px,calc((100vw - var(--max))/2 + 24px));display:flex;flex-direction:column;justify-content:center;text-align:center}.why-finale>p{text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;font-weight:800}.why-finale em{font-style:normal;color:var(--violet)}
@media(max-width:980px){.contrast-head,.why-hero,.why-statement{grid-template-columns:1fr}.contrast-grid{grid-template-columns:1fr}.why-hero h1{font-size:clamp(6rem,24vw,12rem)}.why-block{grid-template-columns:80px 1fr}.why-block ul{grid-column:2}.why-statement p:last-child{grid-column:auto}.why-mission{grid-template-columns:80px 1fr}.why-mission .action{grid-column:2}}
@media(max-width:640px){.contrast{padding:82px 18px}.contrast-head{gap:20px;margin-bottom:35px}.contrast-card{padding:24px;min-height:auto}.contrast-card ul{margin-top:48px}.why-hero{padding:130px 18px 60px;min-height:88svh}.why-hero h1{font-size:clamp(5.2rem,27vw,8rem)}.why-scroll{right:18px}.why-quotes{padding:70px 18px}.why-block,.why-statement,.why-mission{padding:82px 18px;grid-template-columns:1fr;gap:28px}.why-block ul,.why-mission .action{grid-column:auto}.why-number{font-size:3rem}.why-finale{padding:80px 18px;min-height:70svh}}

/* Stage 2 — Play, Stories, Resources */
.next-page{padding-top:88px;overflow:hidden}.page-intro{min-height:76vh;padding:clamp(90px,12vw,170px) max(6vw,24px) 80px;display:flex;flex-direction:column;justify-content:flex-end;border-bottom:1px solid #171717}.page-intro h1{font-family:"Space Grotesk",sans-serif;font-size:clamp(3.4rem,8.5vw,8.8rem);line-height:.88;letter-spacing:-.075em;margin:18px 0 28px;max-width:1200px}.page-intro h1 em{font-style:normal;color:#7146ff}.page-intro>p:last-child{max-width:690px;font-size:clamp(1.05rem,1.65vw,1.35rem);line-height:1.55}.page-intro-play{background:#f6f2e9}.page-intro-stories{background:#151515;color:#fff}.page-intro-stories h1 em{color:#f36f5f}.page-intro-resources{background:#dff7e6}.experience-grid{display:grid;grid-template-columns:1fr 1fr}.experience{min-height:500px;padding:clamp(30px,5vw,72px);display:flex;flex-direction:column;justify-content:space-between;border-right:1px solid #171717;border-bottom:1px solid #171717;text-decoration:none;color:#171717;transition:transform .25s ease}.experience:hover{transform:translateY(-6px)}.experience-no{font:700 1rem "Space Grotesk"}.experience h2{font:700 clamp(2.2rem,4.5vw,5rem)/.95 "Space Grotesk";letter-spacing:-.055em;margin:12px 0 22px}.experience p{max-width:480px;line-height:1.6}.experience-go{font-weight:800;border-bottom:2px solid currentColor;width:max-content;padding-bottom:5px}.experience-primary{background:#a98cff}.experience-dark{background:#181818;color:#fff}.experience-coral{background:#ff806f}.experience-outline{background:#fff}.challenge-strip{background:#f4ff6a;display:grid;grid-template-columns:1fr auto;gap:40px;align-items:end;padding:clamp(48px,8vw,110px) max(6vw,24px)}.challenge-strip h2{font:700 clamp(2.1rem,4.2vw,4.8rem)/1 "Space Grotesk";letter-spacing:-.05em;max-width:950px;margin:15px 0 0}.story-shelf{padding:clamp(60px,8vw,120px) max(6vw,24px);background:#f6f2e9}.story-featured{display:grid;grid-template-columns:1.2fr .8fr;min-height:620px;background:#fff;border:1px solid #171717;text-decoration:none;color:#171717}.story-featured img{width:100%;height:100%;object-fit:cover;min-height:620px;border-right:1px solid #171717}.story-cover-copy{padding:clamp(32px,5vw,70px);display:flex;flex-direction:column;justify-content:center}.story-cover-copy span,.story-card span{font-size:.78rem;text-transform:uppercase;letter-spacing:.13em;font-weight:800}.story-cover-copy h2{font:700 clamp(2.4rem,4.5vw,5rem)/.95 "Space Grotesk";letter-spacing:-.055em;margin:22px 0}.story-cover-copy p{font-size:1.08rem;line-height:1.65}.story-cover-copy b{margin-top:40px}.story-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#171717;border:1px solid #171717;margin-top:1px}.story-card{background:#fff;color:#171717;text-decoration:none;padding-bottom:28px}.story-card img{width:100%;aspect-ratio:4/5;object-fit:cover;border-bottom:1px solid #171717}.story-card span,.story-card h3{display:block;margin-left:22px;margin-right:22px}.story-card span{margin-top:22px;color:#7146ff}.story-card h3{font:700 1.35rem/1.1 "Space Grotesk";margin-top:10px}.quote-panel{background:#7146ff;color:#fff;padding:clamp(70px,10vw,150px) max(6vw,24px);display:flex;justify-content:space-between;align-items:end;gap:40px}.quote-panel p{font:700 clamp(2.5rem,5.4vw,6.5rem)/.95 "Space Grotesk";letter-spacing:-.06em;max-width:1100px;margin:0}.quote-panel a{color:#fff;font-weight:800;white-space:nowrap}.audience-tabs{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid #171717}.audience-tabs>div{padding:clamp(36px,5vw,72px);border-right:1px solid #171717;min-height:280px}.audience-tabs span{font:700 1rem "Space Grotesk"}.audience-tabs h2{font:700 clamp(2rem,3.4vw,3.8rem)/1 "Space Grotesk";letter-spacing:-.045em;margin:38px 0 18px}.audience-tabs p{line-height:1.6}.module-list{padding:clamp(70px,9vw,130px) max(6vw,24px);background:#f6f2e9}.module-heading{display:grid;grid-template-columns:.35fr 1fr;margin-bottom:65px}.module-heading h2{font:700 clamp(3rem,6vw,7rem)/.9 "Space Grotesk";letter-spacing:-.065em;margin:0}.module-row{display:grid;grid-template-columns:90px 1fr auto;gap:30px;align-items:center;padding:34px 0;border-top:1px solid #171717;color:#171717;text-decoration:none}.module-row:last-child{border-bottom:1px solid #171717}.module-number{font:700 1rem "Space Grotesk"}.module-row small{font-weight:800;text-transform:uppercase;letter-spacing:.09em;color:#7146ff}.module-row h3{font:700 clamp(1.55rem,2.7vw,3rem)/1 "Space Grotesk";letter-spacing:-.035em;margin:9px 0}.module-row p{margin:0;color:#595959}.module-row b{white-space:nowrap}.module-ready{background:#f4ff6a;margin:0 -20px;padding-left:20px;padding-right:20px}.resource-cta{padding:clamp(70px,10vw,150px) max(6vw,24px);background:#171717;color:#fff}.resource-cta h2{font:700 clamp(3rem,6vw,7rem)/.92 "Space Grotesk";letter-spacing:-.065em;margin:15px 0 25px}.resource-cta>p:not(.section-tag){font-size:1.15rem;max-width:650px;line-height:1.6;margin-bottom:32px}.resource-cta .action-dark{background:#f4ff6a;color:#171717}
@media(max-width:900px){.experience-grid{grid-template-columns:1fr}.experience{min-height:400px;border-right:0}.challenge-strip{grid-template-columns:1fr}.story-featured{grid-template-columns:1fr}.story-featured img{min-height:420px;border-right:0;border-bottom:1px solid #171717}.story-grid{grid-template-columns:1fr 1fr}.quote-panel{align-items:flex-start;flex-direction:column}.audience-tabs{grid-template-columns:1fr}.audience-tabs>div{border-right:0;border-bottom:1px solid #171717;min-height:auto}.module-heading{grid-template-columns:1fr;gap:20px}.module-row{grid-template-columns:55px 1fr}.module-row b{grid-column:2}.page-intro{min-height:65vh}}
@media(max-width:560px){.page-intro h1{font-size:clamp(3rem,16vw,5rem)}.story-grid{grid-template-columns:1fr}.story-featured img{min-height:340px}.experience{min-height:360px}.module-row{gap:12px}.challenge-strip{padding-bottom:70px}}

/* Stage 3: participation and interaction */
.situation-lab{padding:130px max(24px,calc((100vw - var(--max))/2 + 24px));border-bottom:1px solid var(--ink)}
.situation-head{display:grid;grid-template-columns:.45fr 1.15fr .65fr;gap:40px;align-items:end;margin-bottom:65px}.situation-head h2,.daily-example h2,.progress-copy h2,.friend-challenge h2,.comic-reflection h2,.join-form-copy h2{font:700 clamp(2.7rem,5.4vw,6rem)/.96 "Space Grotesk";letter-spacing:-.06em;margin:0}.situation-head>p:last-child{line-height:1.65;margin:0}
.situation-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--ink);border:1px solid var(--ink)}.situation-tile{min-height:310px;padding:30px;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto 1fr auto;gap:18px;transition:.25s}.situation-tile:hover{transform:translateY(-7px);box-shadow:0 14px 0 var(--ink)}.situation-tile span{font-weight:800}.situation-tile strong{grid-column:1/-1;align-self:end;font:700 clamp(1.8rem,3vw,3.3rem)/.95 "Space Grotesk";letter-spacing:-.04em}.situation-tile small{font-weight:700;line-height:1.4}.situation-tile b{font-size:1.6rem}.situation-violet{background:#a98cff}.situation-acid{background:var(--acid)}.situation-coral{background:#ff806f}.situation-paper{background:#fff}.situation-mint{background:#c9f3dc}.situation-dark{background:var(--ink);color:#fff}
.daily-example{padding:80px max(24px,calc((100vw - var(--max))/2 + 24px));display:grid;grid-template-columns:140px 1fr auto;gap:42px;align-items:center;background:var(--acid);border-bottom:1px solid var(--ink)}.daily-index{font:700 1rem "Space Grotesk";letter-spacing:.18em}.daily-button{border:1px solid var(--ink);background:transparent;padding:16px 18px;font-weight:800;cursor:pointer}.daily-button:hover{background:var(--ink);color:#fff}
.finale{min-height:78vh;background:var(--ink);color:#fff;padding:120px max(24px,calc((100vw - var(--max))/2 + 24px));display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.finale p{font-weight:800;text-transform:uppercase;letter-spacing:.15em}.finale h2{font:700 clamp(4rem,9vw,10rem)/.84 "Space Grotesk";letter-spacing:-.075em;margin:25px 0 50px}.finale h2 em{font-style:normal;color:var(--acid)}.finale a{background:#fff;color:var(--ink);padding:17px 20px;font-weight:800}.compact-finale{min-height:60vh}
.progress-studio{padding:110px max(24px,calc((100vw - var(--max))/2 + 24px));display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;background:#c9f3dc;border-bottom:1px solid var(--ink)}.progress-copy>p:last-child{line-height:1.65}.progress-board{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--ink);background:var(--ink);gap:1px}.progress-board>div{background:#fff;padding:35px 25px;display:flex;flex-direction:column;justify-content:space-between;min-height:210px}.progress-board strong{font:700 clamp(3rem,5vw,6rem)/1 "Space Grotesk";letter-spacing:-.06em;color:var(--violet)}.progress-board span{font-weight:800}
.play-categories{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--ink)}.play-categories a{padding:32px;min-height:180px;border-right:1px solid var(--ink);display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:end;background:#fff}.play-categories a:nth-child(2){background:var(--acid)}.play-categories a:nth-child(3){background:#ff806f}.play-categories strong{font:700 clamp(1.6rem,3vw,3rem)/1 "Space Grotesk"}.play-categories b{font-size:1.5rem}
.friend-challenge{padding:90px max(24px,calc((100vw - var(--max))/2 + 24px));background:var(--violet);color:#fff;display:grid;grid-template-columns:1fr auto;gap:40px;align-items:end}.friend-challenge button{background:var(--acid);border:0;padding:18px 22px;font-weight:900;cursor:pointer}
.comic-reflection{padding:110px max(24px,calc((100vw - var(--max))/2 + 24px));display:grid;grid-template-columns:.7fr 1.3fr;gap:70px;background:#c9f3dc}.comic-reflection>div>p:last-child{line-height:1.6}.reflection-options{display:grid;gap:12px;align-content:center}.reflection-options button{display:flex;align-items:center;gap:18px;text-align:left;border:1px solid var(--ink);background:#fff;padding:18px;font-weight:800;cursor:pointer}.reflection-options button:hover,.reflection-options button.is-selected{background:var(--ink);color:#fff}.reflection-options button span{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--acid);color:var(--ink)}.reflection-options p{min-height:28px;font-weight:800}
.join-intro{background:#ff806f}.join-options{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--ink)}.join-options article{padding:clamp(38px,5vw,75px);min-height:360px;border-right:1px solid var(--ink)}.join-options article:nth-child(2){background:var(--acid)}.join-options article:nth-child(3){background:#a98cff}.join-options span{font-weight:900}.join-options h2{font:700 clamp(2rem,4vw,4rem)/.95 "Space Grotesk";letter-spacing:-.05em;margin:60px 0 20px}.join-options p{line-height:1.65;max-width:420px}.join-form-section{padding:120px max(24px,calc((100vw - var(--max))/2 + 24px));display:grid;grid-template-columns:.7fr 1.3fr;gap:8vw}.join-form-copy p{line-height:1.65}.join-form-copy a{display:inline-block;margin-top:24px;font-weight:900;border-bottom:2px solid}.next-form{display:grid;grid-template-columns:1fr 1fr;gap:22px}.next-form label{display:grid;gap:9px;font-weight:800}.next-form label:nth-of-type(4){grid-column:1/-1}.next-form input,.next-form select,.next-form textarea{width:100%;border:1px solid var(--ink);background:#fff;padding:15px;font:inherit;border-radius:0}.next-form button{grid-column:1/-1;background:var(--ink);color:#fff;border:0;padding:18px 20px;font-weight:900;display:flex;justify-content:space-between;cursor:pointer}
@media(max-width:900px){.situation-head,.progress-studio,.comic-reflection,.join-form-section{grid-template-columns:1fr}.situation-grid{grid-template-columns:1fr 1fr}.daily-example{grid-template-columns:1fr}.progress-board{grid-template-columns:1fr}.play-categories,.join-options{grid-template-columns:1fr}.friend-challenge{grid-template-columns:1fr}.join-options article{border-right:0;border-bottom:1px solid var(--ink)}.next-form{grid-template-columns:1fr}.next-form label:nth-of-type(4),.next-form button{grid-column:auto}}
@media(max-width:560px){.situation-grid{grid-template-columns:1fr}.situation-tile{min-height:240px}.finale{min-height:70vh}.finale h2{font-size:clamp(3.3rem,16vw,5.3rem)}.daily-example,.progress-studio,.comic-reflection,.join-form-section{padding-top:70px;padding-bottom:70px}}

/* Stage 4 — shared visual system for legacy interactive pages */
.legacy-shell{background:var(--paper,#f7f3ea);color:var(--ink,#16151b);font-family:Manrope,system-ui,sans-serif;min-height:100vh;padding-top:88px}
.legacy-shell .masthead{position:fixed;top:0;left:0;right:0}
.legacy-shell main:not(.next-page){width:min(1180px,calc(100% - 32px));margin:0 auto;padding:58px 0 90px}
.legacy-shell .wrap{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:58px 0 90px}
.legacy-shell h1,.legacy-shell h2,.legacy-shell h3,.legacy-shell .hero-title,.legacy-shell .section-title{font-family:"Space Grotesk",Manrope,sans-serif;letter-spacing:-.035em;color:var(--ink,#16151b)}
.legacy-shell h1{font-size:clamp(2.5rem,7vw,5.8rem);line-height:.95}
.legacy-shell h2{font-size:clamp(1.8rem,4vw,3.3rem);line-height:1.05}
.legacy-shell p{color:#5b5863;line-height:1.7}
.legacy-shell .hero,.legacy-shell .page-hero,.legacy-shell .section-hero{background:#17151d;color:white;border-radius:32px;padding:clamp(34px,6vw,76px);margin-bottom:28px;box-shadow:none;overflow:hidden}
.legacy-shell .hero h1,.legacy-shell .hero h2,.legacy-shell .hero p,.legacy-shell .page-hero h1,.legacy-shell .page-hero h2,.legacy-shell .page-hero p{color:white}
.legacy-shell .card,.legacy-shell .quiz-card,.legacy-shell .game-card,.legacy-shell .story-card,.legacy-shell .module-card,.legacy-shell .panel,.legacy-shell .join,.legacy-shell article.card{background:#fff;border:1px solid #ddd5e8;border-radius:24px;box-shadow:0 12px 34px rgba(32,24,48,.07);padding:clamp(22px,4vw,38px)}
.legacy-shell .grid,.legacy-shell .cards,.legacy-shell .quiz-grid{gap:20px}
.legacy-shell .btn,.legacy-shell button:not(.menu-button):not(.drawer-close),.legacy-shell .primary-btn,.legacy-shell .option,.legacy-shell .answer-btn{font-family:Manrope,sans-serif;border-radius:999px;border:1px solid #1b1820;min-height:48px;padding:12px 20px;font-weight:800;transition:.2s ease;box-shadow:none}
.legacy-shell .btn.primary,.legacy-shell .primary-btn,.legacy-shell button.primary,.legacy-shell .answer-btn:hover,.legacy-shell .option:hover{background:#6d36e8;color:#fff;border-color:#6d36e8;transform:translateY(-1px)}
.legacy-shell input,.legacy-shell textarea,.legacy-shell select{background:#fff;border:1px solid #d8d0e1;border-radius:16px;color:#1b1820;padding:14px 16px;font:inherit}
.legacy-shell input:focus,.legacy-shell textarea:focus,.legacy-shell select:focus{outline:3px solid rgba(109,54,232,.16);border-color:#6d36e8}
.legacy-shell .eyebrow,.legacy-shell .kicker,.legacy-shell .label,.legacy-shell .badge{color:#6d36e8;text-transform:uppercase;letter-spacing:.14em;font-size:.76rem;font-weight:800}
.legacy-shell .icon{background:#eee8ff;color:#6d36e8;border-radius:18px;box-shadow:none}
.legacy-shell .clean-footer{display:none!important}
.legacy-shell .next-footer{margin-top:0}
.legacy-shell img{max-width:100%;height:auto}
.legacy-shell .quiz-image,.legacy-shell .question-image,.legacy-shell .scene-image{border-radius:22px;overflow:hidden;border:1px solid #ddd5e8;background:#fff}
.legacy-shell .progress,.legacy-shell .progress-bar{background:#e9e2f1;border-radius:999px;overflow:hidden}
.legacy-shell .progress span,.legacy-shell .progress-fill{background:#6d36e8}
@media (max-width:760px){.legacy-shell{padding-top:72px}.legacy-shell main:not(.next-page),.legacy-shell .wrap{width:min(100% - 20px,1180px);padding-top:28px}.legacy-shell .hero,.legacy-shell .page-hero,.legacy-shell .section-hero{border-radius:22px;padding:28px 20px}.legacy-shell .card,.legacy-shell .quiz-card,.legacy-shell .game-card,.legacy-shell .story-card,.legacy-shell .module-card,.legacy-shell .panel,.legacy-shell .join,.legacy-shell article.card{border-radius:20px;padding:20px}}

/* Stage 5: code-drawn question illustrations */
.choice-visual{width:100%;aspect-ratio:1.9/1;border-radius:24px;overflow:hidden;background:#fffaf0;border:1px solid rgba(23,19,31,.12);box-shadow:0 18px 50px rgba(44,34,80,.08);margin:20px 0 24px}.choice-visual svg{display:block;width:100%;height:100%}.legacy-shell .choice-card{background:#fff;border:1px solid rgba(23,19,31,.1);box-shadow:0 24px 70px rgba(45,35,70,.1)}@media(max-width:700px){.choice-visual{border-radius:18px;aspect-ratio:1.45/1}}


/* Stage 6 — mission hub */
.mission-hub{padding:clamp(64px,9vw,120px) max(20px,calc((100vw - 1180px)/2));background:#f5f0e6;color:#17131f;border-top:1px solid rgba(23,19,31,.14)}
.mission-intro{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.7fr);gap:44px;align-items:end;margin-bottom:34px}.mission-intro h2{font-size:clamp(2.5rem,6vw,5.8rem);line-height:.92;letter-spacing:-.065em;margin:.2em 0 0;max-width:850px}.mission-intro>p{font-size:1.05rem;line-height:1.65;max-width:470px;margin:0 0 8px}
.mission-console{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(310px,.65fr);gap:18px;align-items:stretch}.mission-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.mission-card{appearance:none;border:1px solid rgba(23,19,31,.18);background:rgba(255,255,255,.58);min-height:190px;padding:20px;text-align:left;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto 1fr auto;gap:12px;cursor:pointer;color:#17131f;transition:transform .22s ease,background .22s ease,border-color .22s ease,box-shadow .22s ease}.mission-card:hover,.mission-card:focus-visible{transform:translateY(-4px);border-color:#17131f;box-shadow:8px 8px 0 rgba(23,19,31,.12);outline:none}.mission-card.is-active{background:#17131f;color:#fff;border-color:#17131f;box-shadow:8px 8px 0 #7657ff}.mission-id{font-size:.72rem;letter-spacing:.16em;font-weight:900;opacity:.72}.mission-icon{font-size:1.35rem;font-weight:900}.mission-card strong{grid-column:1/-1;align-self:end;font-size:clamp(1.35rem,2.2vw,2rem);line-height:1;letter-spacing:-.035em}.mission-card small{grid-column:1/-1;font-size:.92rem;line-height:1.45;opacity:.72;max-width:34ch}
.mission-preview{position:sticky;top:96px;min-height:100%;padding:30px;background:#7657ff;color:#fff;display:flex;flex-direction:column;overflow:hidden;transition:background .25s ease,color .25s ease}.mission-preview[data-theme="acid"]{background:#d9ff61;color:#17131f}.mission-preview[data-theme="coral"]{background:#ff7866;color:#17131f}.mission-preview[data-theme="paper"]{background:#fffaf0;color:#17131f;border:1px solid #17131f}.mission-preview[data-theme="mint"]{background:#8edcc7;color:#17131f}.mission-preview[data-theme="dark"]{background:#17131f;color:#fff}.mission-loading{display:flex;gap:7px;margin-bottom:auto}.mission-loading span{width:10px;height:10px;border-radius:50%;background:currentColor;opacity:.28;animation:missionPulse 1.4s infinite}.mission-loading span:nth-child(2){animation-delay:.18s}.mission-loading span:nth-child(3){animation-delay:.36s}@keyframes missionPulse{0%,70%,100%{transform:scale(.7);opacity:.25}35%{transform:scale(1);opacity:1}}.mission-kicker{font-size:.72rem;letter-spacing:.18em;font-weight:900;margin:42px 0 12px;opacity:.7}.mission-preview h3{font-size:clamp(2.3rem,4vw,4.6rem);line-height:.9;letter-spacing:-.06em;margin:0 0 16px}.mission-preview>p:not(.mission-kicker){font-size:1.02rem;line-height:1.55;max-width:35ch;margin:0 0 24px}.mission-meta{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid currentColor;border-bottom:1px solid currentColor;margin:4px 0 24px}.mission-meta span{padding:13px 7px;text-align:center;font-size:.76rem;border-right:1px solid currentColor;opacity:.78}.mission-meta span:last-child{border-right:0}.mission-meta b{display:block;font-size:1.45rem;opacity:1}.mission-steps{margin:0 0 28px;padding-left:22px;display:grid;gap:8px;font-size:.9rem}.mission-start{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;background:#fff;color:#17131f;text-decoration:none;font-weight:950;border:2px solid #17131f;box-shadow:6px 6px 0 #17131f;transition:transform .2s ease,box-shadow .2s ease}.mission-start:hover{transform:translate(3px,3px);box-shadow:3px 3px 0 #17131f}.mission-preview[data-theme="paper"] .mission-start,.mission-preview[data-theme="acid"] .mission-start,.mission-preview[data-theme="mint"] .mission-start,.mission-preview[data-theme="coral"] .mission-start{background:#17131f;color:#fff}
@media(max-width:900px){.mission-intro,.mission-console{grid-template-columns:1fr}.mission-preview{position:relative;top:auto;min-height:520px}.mission-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.mission-hub{padding-left:14px;padding-right:14px}.mission-intro{gap:20px}.mission-list{grid-template-columns:1fr}.mission-card{min-height:155px}.mission-preview{min-height:500px;padding:24px}.mission-meta span{font-size:.68rem}}

/* Stage 7 — clearer homepage architecture */
html { scroll-behavior: smooth; }
#my-world, #stories, #learn, #join { scroll-margin-top: 96px; }
.learn-gateway .learn-intro {
  max-width: 58ch;
  margin: 1.25rem 0 0;
  color: var(--muted, #626262);
  font-size: clamp(1rem, 1.5vw, 1.2rem);
  line-height: 1.7;
}
.learn-gateway .program-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 760px) {
  .learn-gateway .program-row { grid-template-columns: 1fr; }
}


/* === Compact rhythm pass === */
:root{
  --page-gutter: clamp(18px, 4vw, 32px);
  --section-gap: clamp(54px, 7vw, 84px);
  --block-gap: clamp(24px, 4vw, 40px);
}
html,body{max-width:100%;overflow-x:hidden}
main{overflow:hidden}

/* Keep content aligned without doubling old section paddings */
.opening,
.manifesto,
.contrast,
.mission-hub,
.daily-example,
.programs,
.stories-preview,
.join-panel,
.finale,
.why-hero,
.why-quotes,
.why-block,
.why-statement,
.why-mission,
.why-finale{
  box-sizing:border-box;
}

/* Homepage: tighter vertical rhythm */
.opening{padding-top:clamp(104px,12vw,138px);padding-bottom:clamp(48px,6vw,74px)}
.opening-copy{align-self:center}
.opening-actions{margin-top:clamp(24px,3vw,34px);gap:18px}
.manifesto{padding-top:var(--section-gap);padding-bottom:var(--section-gap);gap:clamp(22px,4vw,42px)}
.contrast{padding-top:var(--section-gap);padding-bottom:var(--section-gap)}
.contrast-head{margin-bottom:clamp(30px,4vw,46px)}
.contrast-card{min-height:0;padding:clamp(26px,4vw,38px)}
.contrast-card ul{margin-top:clamp(38px,5vw,60px)}
.contrast-card li{padding:14px 0}
.mission-hub{padding-top:var(--section-gap);padding-bottom:var(--section-gap)}
.mission-intro{gap:clamp(22px,4vw,40px);margin-bottom:clamp(26px,4vw,38px)}
.daily-example{padding-top:var(--section-gap);padding-bottom:var(--section-gap)}
.programs{padding-top:var(--section-gap);padding-bottom:var(--section-gap)}
.programs-head{margin-bottom:clamp(34px,5vw,54px)}
.stories-preview{padding-top:var(--section-gap);padding-bottom:var(--section-gap)}
.join-panel{padding-top:var(--section-gap);padding-bottom:var(--section-gap)}
.finale{padding-top:clamp(72px,9vw,110px);padding-bottom:clamp(72px,9vw,110px)}

/* Why page: prevent oversized empty fields and clipped type */
.why-hero{min-height:auto;padding-top:clamp(124px,15vw,170px);padding-bottom:clamp(56px,7vw,84px);overflow:hidden}
.why-hero h1{font-size:clamp(4.5rem,15vw,13rem);line-height:.78;max-width:100%;overflow-wrap:normal;word-break:normal;hyphens:none}
.why-hero>p:not(.section-tag){max-width:32ch}
.why-quotes{padding-top:var(--section-gap);padding-bottom:var(--section-gap)}
.why-block{padding-top:var(--section-gap);padding-bottom:var(--section-gap);gap:clamp(24px,4vw,44px)}
.why-block li{padding:13px 0}
.why-statement{padding-top:clamp(70px,9vw,110px);padding-bottom:clamp(70px,9vw,110px)}
.why-mission{padding-top:var(--section-gap);padding-bottom:var(--section-gap)}
.why-finale{padding-top:clamp(72px,9vw,110px);padding-bottom:clamp(72px,9vw,110px)}

/* General typography safety */
h1,h2,h3,.hero-title,.page-title,.section-title{overflow-wrap:normal;word-break:normal;hyphens:none}

@media(max-width:640px){
  .opening{padding:92px 18px 40px;gap:34px}
  .opening-actions{margin-top:22px;gap:14px}
  .manifesto,.contrast,.mission-hub,.daily-example,.programs,.stories-preview,.join-panel{padding-top:56px;padding-bottom:56px}
  .manifesto{gap:18px}
  .manifesto-side a{margin-top:16px}
  .contrast-head{margin-bottom:28px}
  .contrast-grid{gap:12px}
  .contrast-card{padding:26px 22px}
  .contrast-card ul{margin-top:34px}
  .contrast-card li{padding:12px 0}
  .mission-intro{gap:14px;margin-bottom:24px}
  .daily-example{gap:20px}
  .programs-head{margin-bottom:30px}
  .story-canvas{min-height:390px}
  .why-hero{padding:112px 22px 54px;gap:24px}
  .why-hero h1{font-size:clamp(4.2rem,20vw,6.3rem);line-height:.8;letter-spacing:-.07em}
  .why-scroll{right:22px;bottom:20px}
  .why-quotes,.why-block,.why-statement,.why-mission,.why-finale{padding-left:22px;padding-right:22px}
  .why-quotes{padding-top:54px;padding-bottom:54px}
  .why-block{padding-top:56px;padding-bottom:56px;gap:20px}
  .why-block li{padding:12px 0}
  .why-statement,.why-finale{padding-top:68px;padding-bottom:68px}
  .why-mission{padding-top:56px;padding-bottom:56px}
}

/* ==========================================================
   UI POLISH — shared page rhythm, mobile headers and footer
   ========================================================== */
:root{
  --site-gutter: clamp(18px, 4vw, 32px);
  --site-max: 1180px;
  --space-section: clamp(56px, 7vw, 88px);
}

/* Prevent fixed header overlap and accidental horizontal clipping */
body{overflow-x:clip}
main{min-width:0}
.masthead{z-index:100}
.mobile-panel{z-index:90}

/* Consistent content widths */
.manifesto,
.join-panel,
.programs-head,
.program-row,
.mission-intro,
.mission-console,
.contrast-head,
.contrast-grid,
.daily-example > *,
.finale > *,
.footer > *{
  min-width:0;
}

/* Homepage hero: no oversized empty field, no clipped heading */
.opening{
  min-height:auto;
  padding-top:clamp(112px,13vw,150px);
  padding-bottom:clamp(54px,7vw,82px);
  align-items:center;
}
.opening h1{
  max-width:9.4ch;
  font-size:clamp(4rem,9vw,8.9rem);
  line-height:.84;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
}
.opening-copy{padding-right:clamp(0px,2vw,24px)}
.opening-actions{margin-top:26px}
.opening-stage{max-width:560px}

/* Final call-to-action must be a section, not a second footer */
.finale{
  min-height:auto;
  padding-top:clamp(68px,8vw,104px);
  padding-bottom:clamp(68px,8vw,104px);
  border-bottom:1px solid rgba(255,255,255,.14);
}
.finale h2{
  max-width:11ch;
  font-size:clamp(3.8rem,8vw,8.5rem);
  margin:22px 0 38px;
}
.compact-finale{min-height:auto}

/* Footer: compact, intentional and clearly separated */
.footer{
  padding-top:clamp(42px,5vw,62px);
  padding-bottom:clamp(36px,4vw,52px);
  gap:24px 34px;
  align-items:start;
  border-top:0;
}
.footer-mark{
  font-size:clamp(2.6rem,4.6vw,5rem);
  line-height:.9;
}
.footer p{max-width:32ch;line-height:1.55}
.footer-links{font-size:.88rem;line-height:1.55}
.footer-year{align-self:end}

/* Shared legacy pages: remove excessive bottom voids and unify rhythm */
.legacy-shell main:not(.next-page),
.legacy-shell .wrap{
  padding-top:clamp(30px,4vw,52px);
  padding-bottom:clamp(54px,7vw,82px);
}
.legacy-shell .hero,
.legacy-shell .page-hero,
.legacy-shell .section-hero{
  margin-bottom:clamp(20px,3vw,32px);
}
.legacy-shell section,
.legacy-shell .section,
.legacy-shell .panel,
.legacy-shell .card{
  scroll-margin-top:88px;
}

/* General section rhythm */
.manifesto,
.contrast,
.mission-hub,
.daily-example,
.programs,
.stories-preview,
.join-panel{
  padding-top:var(--space-section);
  padding-bottom:var(--space-section);
}

/* Typography safety across all pages */
h1,h2,h3,.hero-title,.page-title,.section-title{
  max-width:100%;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
}

@media (max-width:980px){
  .opening{grid-template-columns:1fr;gap:42px}
  .opening-stage{justify-self:center;width:min(100%,520px)}
  .footer{grid-template-columns:1fr 1fr}
  .footer-mark{grid-column:1/-1}
}

@media (max-width:640px){
  .masthead{
    top:10px;
    width:calc(100% - 20px);
    height:58px;
    padding:0 16px;
  }
  .wordmark{font-size:.82rem;gap:10px}
  .wordmark-dot{width:11px;height:11px}

  .opening{
    padding:92px 20px 48px;
    gap:34px;
  }
  .opening h1{
    max-width:8.7ch;
    font-size:clamp(3.7rem,17vw,5.8rem);
    line-height:.86;
    letter-spacing:-.068em;
  }
  .opening-lead{margin:24px 0 22px}
  .opening-actions{display:grid;gap:14px;margin-top:20px}
  .opening-actions .action{width:100%;min-width:0}
  .opening-actions .text-link{justify-self:start}
  .opening-stage{width:100%;max-width:470px}

  .manifesto,
  .contrast,
  .mission-hub,
  .daily-example,
  .programs,
  .stories-preview,
  .join-panel{
    padding-top:52px;
    padding-bottom:52px;
  }

  .finale{
    padding:64px 20px 58px;
  }
  .finale h2{
    max-width:9.5ch;
    font-size:clamp(3.1rem,14vw,4.9rem);
    line-height:.88;
    margin:18px 0 30px;
  }
  .finale a{width:100%;display:flex;justify-content:space-between}

  .footer{
    grid-template-columns:1fr;
    padding:42px 20px 34px;
    gap:18px;
  }
  .footer-mark{grid-column:auto;font-size:3rem}
  .footer-year{margin-top:10px;align-self:auto}

  .legacy-shell{padding-top:72px}
  .legacy-shell main:not(.next-page),
  .legacy-shell .wrap{
    width:min(100% - 24px,1180px);
    padding-top:24px;
    padding-bottom:58px;
  }
  .legacy-shell .hero,
  .legacy-shell .page-hero,
  .legacy-shell .section-hero{
    padding:26px 20px;
    border-radius:20px;
  }
}

/* ===== Modern comic reader shell ===== */
.comic-reader-page{background:var(--paper,#f4f0e8);color:#111}
.comic-reader-next{padding-bottom:0}
.comic-reader-intro{padding-bottom:34px}
.comic-reader-intro .text-link{display:inline-flex;margin-top:18px;color:#111;font-weight:800;text-decoration:none;border-bottom:2px solid #111}
.comic-reader-page .comic-reader{width:min(960px,calc(100% - 40px));margin:0 auto 54px;border:1px solid #171717;border-radius:0;background:#111;box-shadow:12px 12px 0 #6b42ff;padding:22px}
.comic-reader-page .comic-topline{color:#fff;display:flex;justify-content:space-between;gap:18px;font-weight:800;letter-spacing:.02em;margin-bottom:14px}
.comic-reader-page .comic-title-menu{display:flex;gap:8px;overflow-x:auto;padding:0 0 14px;margin-bottom:12px;scrollbar-width:none}
.comic-reader-page .comic-title-menu button{flex:0 0 auto;border:1px solid rgba(255,255,255,.35);background:transparent;color:#fff;border-radius:999px;padding:10px 14px;font:inherit;font-weight:700}
.comic-reader-page .comic-title-menu button.active,.comic-reader-page .comic-title-menu button.is-active{background:#d7ff2f;color:#111;border-color:#d7ff2f}
.comic-reader-page .comic-stage{background:#080808;border:0;border-radius:0;min-height:300px}
.comic-reader-page .comic-image{display:block;width:100%;height:auto;max-height:72vh;object-fit:contain;background:#080808}
.comic-reader-page .comic-dots{margin-top:14px}
.comic-reader-page .comic-message{color:#fff;text-align:center;padding:20px 10px 6px;font-size:clamp(1rem,2.4vw,1.35rem)}
.comic-reader-page .comic-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.comic-reader-page .comic-actions .btn{border-radius:0!important;background:#d7ff2f!important;color:#111!important;border:1px solid #d7ff2f!important;box-shadow:none!important}
.comic-reader-page .comic-reader-end{margin-top:64px}
@media(max-width:680px){.comic-reader-page .comic-reader{width:calc(100% - 28px);padding:12px;box-shadow:7px 7px 0 #6b42ff;margin-bottom:40px}.comic-reader-page .comic-topline{font-size:.86rem}.comic-reader-page .comic-stage{min-height:220px}.comic-reader-page .comic-actions{display:grid}.comic-reader-page .comic-actions .btn{width:100%}.comic-reader-intro{padding-bottom:24px}}


/* === Interactive experiences: unified Stage 8 shell === */
body.interactive-page{
  min-height:100vh;
  background:#17131f;
  color:#fff;
  font-family:Manrope,system-ui,sans-serif;
}
body.interactive-page .masthead{
  color:var(--ink);
}
body.interactive-page .interactive-main{
  width:min(calc(100% - 32px),1120px);
  margin:0 auto;
  padding-top:112px;
  padding-bottom:clamp(44px,7vw,82px);
  overflow:visible;
}
body.interactive-page .next-footer{
  margin-top:0;
  border-top:1px solid rgba(255,255,255,.16);
  background:#111015;
}
body.interactive-page .back,
body.interactive-page .small-btn,
body.interactive-page .mode-btn,
body.interactive-page .control-btn,
body.interactive-page .lang-switch{
  min-height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:0;
  border:1px solid rgba(255,255,255,.28);
  background:transparent;
  box-shadow:none;
  transition:transform .2s ease,background .2s ease,color .2s ease;
}
body.interactive-page .back:hover,
body.interactive-page .small-btn:hover,
body.interactive-page .mode-btn:hover,
body.interactive-page .control-btn:hover{
  transform:translateY(-2px);
  background:var(--acid);
  color:var(--ink);
  border-color:var(--acid);
}
body.interactive-page .mode-btn.active,
body.interactive-page .control-btn.primary{
  background:var(--acid);
  color:var(--ink);
  border-color:var(--acid);
}
body.game-page .game-shell{max-width:980px;padding-left:0;padding-right:0}
body.game-page .hero{margin:18px 0 22px}
body.game-page .hero h1,
body.adventure-page .adventure-page-hero h1{
  font-family:"Space Grotesk",sans-serif;
  letter-spacing:-.045em;
  font-size:clamp(2.45rem,6vw,5.8rem);
  line-height:.94;
}
body.game-page .hero p{max-width:650px;line-height:1.65}
body.game-page .scene,
body.game-page .question,
body.adventure-page .book,
body.adventure-page .content,
body.adventure-page .scene-art{
  border-radius:0;
}
body.game-page .scene,
body.adventure-page .book{
  border:1px solid rgba(255,255,255,.22);
  box-shadow:14px 14px 0 rgba(108,69,255,.72);
}
body.game-page .question{
  border:1px solid rgba(255,255,255,.22);
  background:#221b2c;
}
body.game-page .answer,
body.adventure-page .choice{
  border-radius:0;
  border:1px solid rgba(255,255,255,.22);
  box-shadow:none;
}
body.game-page .answer:hover,
body.adventure-page .choice:hover{
  background:var(--acid);
  color:var(--ink);
  border-color:var(--acid);
  transform:translateX(5px);
}
body.adventure-page{background:radial-gradient(circle at 16% 12%,#32204d 0,#17131f 35%,#0d0b11 100%)}
body.adventure-page:before{display:none!important}
body.adventure-page .adventure-wrap{padding-bottom:clamp(44px,7vw,82px)}
body.adventure-page .adventure-page-hero{padding:12px 0 22px}
body.adventure-page .adventure-page-hero .page-head{text-align:left}
body.adventure-page .adventure-page-hero .eyebrow{color:var(--acid)}
body.adventure-page .shell{width:100%;padding:0}
body.adventure-page .top{margin:0 0 18px}
body.adventure-page .book{background:rgba(255,255,255,.055)}
body.adventure-page .content{background:#f4f1e8;color:#151515}
body.adventure-page .choice{background:#fff;color:#151515;border-color:rgba(21,21,21,.2)}
body.adventure-page .choice:hover{border-color:#151515}
body.adventure-page .ending{border-radius:0}
@media(max-width:640px){
  body.interactive-page .interactive-main{width:calc(100% - 20px);padding-top:88px;padding-bottom:44px}
  body.game-page .scene,body.adventure-page .book{box-shadow:7px 7px 0 rgba(108,69,255,.72)}
  body.adventure-page .adventure-page-hero{padding-top:4px}
  body.adventure-page .adventure-page-hero .page-head{text-align:center}
}

/* Unified comic fullscreen overlay */
.comic-fullscreen{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;background:rgba(8,8,8,.96);padding:56px 14px 72px;overflow:hidden}
.comic-fullscreen.show{display:flex}
.comic-fullscreen-image{display:block;max-width:min(100%,980px);max-height:calc(100dvh - 150px);width:auto;height:auto;object-fit:contain;background:#080808}
.comic-fullscreen-close{position:fixed;top:14px;right:14px;z-index:2;width:44px;height:44px;border:1px solid rgba(255,255,255,.45);background:#111;color:#fff;font-size:28px;line-height:1;cursor:pointer}
.comic-fullscreen-indicator{position:fixed;top:22px;left:50%;transform:translateX(-50%);color:#fff;font-weight:800}
.comic-fullscreen-hint{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);color:#fff;background:rgba(0,0,0,.65);padding:9px 13px;opacity:0;pointer-events:none;transition:opacity .2s;white-space:nowrap;font-size:.82rem}
.comic-fullscreen-hint.show{opacity:1}
.comic-fullscreen-actions{position:fixed;left:14px;right:14px;bottom:18px;display:none;grid-template-columns:1fr 1fr;gap:8px;max-width:760px;margin:auto}
.comic-fullscreen-actions.is-visible{display:grid}
.comic-fullscreen-actions button{min-height:48px;border:0;background:#d7ff2f;color:#111;font-weight:800;padding:10px}
.comic-no-scroll{overflow:hidden!important}
@media(max-width:680px){.comic-fullscreen{padding:52px 8px 74px}.comic-fullscreen-image{max-height:calc(100dvh - 130px);max-width:100%}.comic-fullscreen-actions{grid-template-columns:1fr}.comic-fullscreen.is-last-page .comic-fullscreen-image{max-height:calc(100dvh - 190px)}}

/* Keep the reader and all comic media inside their container */
.comic-reader-page .comic-reader,.comic-reader-page .comic-stage,.comic-reader-page .comic-image{max-width:100%;box-sizing:border-box}
.comic-reader-page .comic-stage{overflow:hidden}
.comic-reader-page .comic-image{margin:0 auto}

/* Visible current navigation item */
.nav a[aria-current="page"]{font-weight:900}
.nav a[aria-current="page"]:after{transform:scaleX(1);transform-origin:left}
.mobile-panel a[aria-current="page"]{color:#bdf064}


/* Stage 9 — stable interactive footer and back navigation */
.site-back-link{display:inline-flex;align-items:center;gap:8px;width:max-content;margin:0 0 20px;padding:10px 14px;border:1px solid currentColor;text-decoration:none;font-weight:800;line-height:1;background:transparent;transition:transform .2s ease,background .2s ease,color .2s ease}
.site-back-link:hover{transform:translateY(-2px);background:var(--acid);color:var(--ink);border-color:var(--acid)}
.choice-page>.site-back-link{margin:0 auto 18px;width:min(1180px,calc(100% - 32px));color:var(--ink)}
body.interactive-page .site-back-link{color:#fff}
body.interactive-page .footer,.choice-page~.footer{position:relative;z-index:2;width:100%;margin:0;clear:both}
body.interactive-page .footer{border-top:1px solid rgba(255,255,255,.16)}
body.interactive-page main,.choice-page{min-height:auto}
@media(max-width:640px){.site-back-link{margin-bottom:14px;padding:10px 12px;font-size:.9rem}.choice-page>.site-back-link{width:calc(100% - 24px)}}

/* Activities page — unified next-stage layout */
.page-intro-activities{background:#eee8ff}.activities-audience{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--ink,#171717)}.activity-card{min-height:360px;padding:clamp(28px,4vw,58px);border-right:1px solid var(--ink,#171717);display:flex;flex-direction:column;justify-content:space-between}.activity-card:nth-child(1){background:#f4ff6a}.activity-card:nth-child(2){background:#fff}.activity-card:nth-child(3){background:#ff806f}.activity-card:nth-child(4){background:#dff7e6}.activity-card .activity-no{font:700 1rem "Space Grotesk",sans-serif}.activity-card h2{font:700 clamp(2rem,3.4vw,3.8rem)/.96 "Space Grotesk",sans-serif;letter-spacing:-.05em;margin:38px 0 18px}.activity-card p{line-height:1.65;margin:0;max-width:420px}.activity-offer{padding:clamp(70px,9vw,130px) max(6vw,24px);background:#f6f2e9}.activity-offer-head{display:grid;grid-template-columns:.35fr 1fr;gap:30px;margin-bottom:56px}.activity-offer-head h2{font:700 clamp(3rem,6vw,7rem)/.9 "Space Grotesk",sans-serif;letter-spacing:-.065em;margin:0}.activity-offer-list{border-top:1px solid var(--ink,#171717)}.activity-offer-row{display:grid;grid-template-columns:80px 1fr 1.1fr;gap:30px;align-items:start;padding:30px 0;border-bottom:1px solid var(--ink,#171717)}.activity-offer-row span{font:700 1rem "Space Grotesk",sans-serif}.activity-offer-row h3{font:700 clamp(1.5rem,2.4vw,2.7rem)/1 "Space Grotesk",sans-serif;letter-spacing:-.035em;margin:0}.activity-offer-row p{margin:0;line-height:1.6;color:#595959}.activities-cta{padding:clamp(70px,10vw,150px) max(6vw,24px);background:#171717;color:#fff}.activities-cta h2{font:700 clamp(3rem,6vw,7rem)/.92 "Space Grotesk",sans-serif;letter-spacing:-.065em;margin:15px 0 24px;max-width:1050px}.activities-cta>p:not(.section-tag){max-width:680px;font-size:1.15rem;line-height:1.65;margin-bottom:34px}.activities-cta .action{background:#f4ff6a;color:#171717}@media(max-width:900px){.activities-audience{grid-template-columns:1fr 1fr}.activity-card:nth-child(2){border-right:0}.activity-offer-head{grid-template-columns:1fr}.activity-offer-row{grid-template-columns:50px 1fr}.activity-offer-row p{grid-column:2}}@media(max-width:620px){.activities-audience{grid-template-columns:1fr}.activity-card{min-height:280px;border-right:0}.activity-offer-row{grid-template-columns:38px 1fr;gap:16px}.activity-offer-row p{grid-column:2}.page-intro-activities{min-height:68vh}}


/* My World — unified section, mission page and footer */
.mission-hub{overflow:hidden}
.mission-console,.mission-list,.mission-preview,.mission-card{min-width:0}
.mission-card{border-radius:0}
.mission-preview{border-radius:0}
.world-mission-page{display:flex;min-height:100vh;flex-direction:column;background:#f6f1e8;color:#17151b}
.world-mission-page .mission-shell{flex:1;width:min(1120px,calc(100% - 40px));margin:0 auto;padding:128px 0 88px}
.world-mission-page .footer{margin-top:auto}
.world-mission-page .mission-back{padding:10px 14px;border:1px solid currentColor;transition:transform .2s ease,background .2s ease,color .2s ease}
.world-mission-page .mission-back:hover{transform:translateY(-2px);background:#d9ff61;color:#17151b}
.world-mission-page .question-card,.world-mission-page .mission-side{border-radius:0;box-shadow:10px 10px 0 rgba(111,57,232,.18)}
.world-mission-page .scene,.world-mission-page .answer,.world-mission-page .feedback,.world-mission-page .next-btn,.world-mission-page .restart-btn,.world-mission-page .result-actions a{border-radius:0}
.world-mission-page .mission-side{background:#17151b;color:#fff;border-color:#17151b}
.world-mission-page .mission-side p,.world-mission-page .mission-side ul{color:rgba(255,255,255,.72)}
.world-mission-page .side-label{color:#d9ff61}
.world-mission-page .next-btn,.world-mission-page .restart-btn{background:#6f39e8}
@media(max-width:980px){
  .mission-console{grid-template-columns:1fr}
  .mission-preview{position:relative;top:auto;min-height:430px}
}
@media(max-width:760px){
  .mission-intro{grid-template-columns:1fr}
  .mission-list{grid-template-columns:1fr}
  .mission-card{min-height:155px}
  .mission-preview{min-height:390px;padding:24px}
  .mission-meta{grid-template-columns:repeat(3,minmax(0,1fr))}
  .world-mission-page .mission-shell{width:calc(100% - 24px);padding-top:104px;padding-bottom:54px}
}
@media(max-width:420px){
  .mission-meta span{font-size:.68rem;padding:11px 3px}
  .mission-meta b{font-size:1.2rem}
  .mission-preview h3{font-size:2.45rem}
}

/* Stage 10 — final unified interactive experiences */
body.interactive-page{display:flex;min-height:100svh;flex-direction:column;background:#17131f;color:#fff}
body.interactive-page .masthead{position:fixed;top:18px;left:50%;right:auto;transform:translateX(-50%);width:min(calc(100% - 36px),1180px);color:var(--ink);z-index:100}
body.interactive-page .interactive-main{flex:1;width:min(calc(100% - 32px),1060px);padding-top:118px;padding-bottom:64px}
body.interactive-page .game-top{display:none!important}
body.interactive-page .site-back-link{margin-bottom:28px;color:#fff;border-color:rgba(255,255,255,.35)}

body.game-page .hero{padding:36px 28px;margin:0 0 24px;text-align:left;background:#221b2c;border:1px solid rgba(255,255,255,.18)}
body.game-page .hero h1{max-width:900px;margin:0 0 16px;font-size:clamp(2.6rem,7vw,6.4rem);line-height:.9}
body.game-page .hero p{margin:0 0 24px;color:rgba(255,255,255,.72);font-size:clamp(1rem,2vw,1.18rem)}
body.game-page .mode-row{justify-content:flex-start;margin:0}
body.game-page .mode-btn,body.game-page .control-btn,body.game-page .btn{border-radius:0!important;background:transparent;box-shadow:none}
body.game-page .mode-btn.active,body.game-page .control-btn.primary,body.game-page .btn:not(.secondary){background:var(--acid)!important;color:var(--ink)!important;border:1px solid var(--acid)!important}
body.game-page .hud span{border-radius:0;background:#221b2c}
body.game-page .scene{border-radius:0!important}
body.game-page .question,body.game-page .result{border-radius:0!important;background:#221b2c!important}
body.game-page .feedback{border-radius:0!important}
body.game-page .answer{border-radius:0!important}

body.adventure-page .adventure-page-hero{padding:0 0 26px}
body.adventure-page .book{overflow:hidden}
body.adventure-page .scene-art{background:#f1ebff}
body.adventure-page .content{background:#f7f3e9!important;color:#171717!important;padding:clamp(24px,4vw,48px)!important}
body.adventure-page .content .chapter,body.adventure-page .content .chapter *{color:#6f39e8!important}
body.adventure-page .content .title{color:#171717!important}
body.adventure-page .content .text,body.adventure-page .content .text p{color:#3b393d!important;opacity:1!important;text-shadow:none!important}
body.adventure-page .content .text p{font-size:clamp(1rem,2.1vw,1.18rem);line-height:1.72}
body.adventure-page .content .choice{background:#fff!important;color:#171717!important;border:1px solid rgba(23,23,23,.2)!important}
body.adventure-page .content .choice:hover{background:var(--acid)!important;color:#171717!important;border-color:#171717!important}
body.adventure-page .content .small-btn{color:#171717;border-color:rgba(23,23,23,.35)}
body.adventure-page .content .small-btn:hover{background:#171717;color:#fff;border-color:#171717}
body.adventure-page .content .ending{color:#171717;background:#e9ffd0;border:1px solid #171717}
body.adventure-page .content .pill{color:#171717;background:#fff;border:1px solid rgba(23,23,23,.18)}

body.interactive-page>.footer{width:100%;margin-top:auto;padding:42px max(20px,calc((100vw - 1180px)/2 + 24px));grid-template-columns:1.2fr 1fr auto;gap:24px 40px;align-items:start;background:#111;color:#fff;border-top:1px solid rgba(255,255,255,.16)}
body.interactive-page>.footer .footer-mark{font-size:clamp(2.7rem,5vw,4.8rem)}
body.interactive-page>.footer>p{align-self:center}
body.interactive-page>.footer .footer-links{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:22px}
body.interactive-page>.footer .footer-year{align-self:end}

@media(max-width:760px){
  body.interactive-page .masthead{top:10px;width:calc(100% - 20px)}
  body.interactive-page .interactive-main{width:calc(100% - 20px);padding-top:88px;padding-bottom:44px}
  body.game-page .hero{padding:28px 18px}
  body.game-page .hero h1{font-size:clamp(2.7rem,14vw,4.6rem)}
  body.game-page .mode-row,body.game-page .control-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  body.game-page .mode-btn,body.game-page .control-btn{width:100%}
  body.adventure-page .content{padding:24px 20px!important}
  body.interactive-page>.footer{grid-template-columns:1fr;padding:42px 20px;gap:18px}
  body.interactive-page>.footer .footer-links{grid-template-columns:1fr 1fr}
  body.interactive-page>.footer .footer-year{margin-top:4px;align-self:auto}
}
@media(max-width:430px){
  body.game-page .mode-row,body.game-page .control-row{grid-template-columns:1fr}
  body.interactive-page>.footer .footer-links{grid-template-columns:1fr}
}

/* Useful — safety knowledge library */
.page-intro-useful{background:#dff7e6}
.useful-library{padding:clamp(64px,9vw,120px) max(6vw,24px);background:#f6f2e9}
.useful-library-head{display:grid;grid-template-columns:1fr minmax(280px,.65fr);gap:40px;align-items:end;margin-bottom:38px}
.useful-library-head h2{font:700 clamp(3rem,6vw,6.8rem)/.9 "Space Grotesk",sans-serif;letter-spacing:-.065em;margin:10px 0 0}
.useful-library-head>p{max-width:520px;margin:0 0 8px;line-height:1.65;color:#555}
.useful-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:30px}
.useful-filter{border:1px solid #171717;background:transparent;color:#171717;padding:11px 15px;font:800 .78rem/1 Manrope,sans-serif;cursor:pointer}
.useful-filter:hover,.useful-filter.is-active{background:#171717;color:#fff}
.useful-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid #171717;border-left:1px solid #171717}
.useful-article{background:#fff;border-right:1px solid #171717;border-bottom:1px solid #171717}
.useful-article[hidden]{display:none}
.useful-article summary{list-style:none;cursor:pointer;padding:clamp(24px,3.5vw,42px);min-height:300px;display:flex;flex-direction:column}
.useful-article summary::-webkit-details-marker{display:none}
.useful-article:nth-child(4n+1) summary{background:#f4ff6a}
.useful-article:nth-child(4n+2) summary{background:#fff}
.useful-article:nth-child(4n+3) summary{background:#eee8ff}
.useful-article:nth-child(4n+4) summary{background:#ffdbd4}
.article-topic{font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.useful-article h3{font:700 clamp(1.75rem,3vw,3.1rem)/.98 "Space Grotesk",sans-serif;letter-spacing:-.045em;margin:38px 0 16px;max-width:620px}
.useful-article summary>p{max-width:560px;line-height:1.55;margin:0;color:#4d4d4d}
.article-open{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:28px;font-size:.8rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.article-open b{font:500 2rem/1 "Space Grotesk",sans-serif}
.article-body{padding:clamp(24px,3.5vw,42px);border-top:1px solid #171717;background:#171717;color:#fff}
.article-body p{font-size:1rem;line-height:1.75;color:rgba(255,255,255,.76);margin:0 0 15px}
.article-body strong{display:block;margin-top:24px;color:#d9ff61;font-size:1.05rem}
.useful-modules{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(30px,6vw,90px);padding:clamp(70px,9vw,130px) max(6vw,24px);background:#fff;align-items:center}
.useful-modules-copy h2{font:700 clamp(2.8rem,5vw,5.8rem)/.92 "Space Grotesk",sans-serif;letter-spacing:-.06em;margin:14px 0 22px}
.useful-modules-copy>p:last-child{max-width:520px;line-height:1.65;color:#555}
.useful-module-card{display:block;padding:clamp(30px,5vw,60px);background:#6f39e8;color:#fff;text-decoration:none;border:1px solid #171717;box-shadow:12px 12px 0 #d9ff61;transition:transform .2s ease,box-shadow .2s ease}
.useful-module-card:hover{transform:translate(-4px,-4px);box-shadow:16px 16px 0 #d9ff61}
.useful-module-card small{font-weight:800;color:#d9ff61}
.useful-module-card h3{font:700 clamp(2rem,4vw,4.2rem)/.95 "Space Grotesk",sans-serif;letter-spacing:-.05em;margin:42px 0 18px}
.useful-module-card p{line-height:1.65;color:rgba(255,255,255,.76);margin-bottom:42px}
.useful-module-card span{font-weight:900;text-transform:uppercase;letter-spacing:.05em}
@media(max-width:800px){.useful-library-head,.useful-modules{grid-template-columns:1fr}.useful-grid{grid-template-columns:1fr}.useful-article summary{min-height:270px}.useful-module-card{box-shadow:8px 8px 0 #d9ff61}}
@media(max-width:520px){.useful-library{padding-left:12px;padding-right:12px}.useful-filters{flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px}.useful-filter{white-space:nowrap}.useful-article h3{font-size:2rem}.useful-article summary{padding:24px 20px;min-height:250px}.article-body{padding:24px 20px}}

/* Choice gateway after merging My World into Your Choice */
.choice-gateway{padding:clamp(58px,8vw,96px) max(20px,calc((100vw - 1180px)/2));background:#7657ff;color:#fff;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:36px;align-items:end}.choice-gateway h2{font-family:"Space Grotesk";font-size:clamp(2.5rem,6vw,5.7rem);line-height:.92;letter-spacing:-.06em;margin:.2em 0}.choice-gateway p:not(.section-tag){max-width:620px;line-height:1.65;margin:0;opacity:.86}.choice-gateway .action{background:#fff;color:#17131f;white-space:nowrap}@media(max-width:760px){.choice-gateway{grid-template-columns:1fr;gap:24px}.choice-gateway .action{justify-self:start}}


/* Homepage refinement — unify "Твоят избор" with the site system */
.choice-gateway{
  padding:var(--section-gap) max(var(--page-gutter),calc((100vw - 1180px)/2));
  background:var(--paper,#f6f1e8);
  color:var(--ink,#17131f);
  border-top:1px solid rgba(23,19,31,.14);
  border-bottom:1px solid rgba(23,19,31,.14);
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:clamp(24px,5vw,64px);
  align-items:end;
}
.choice-gateway-copy{max-width:900px}
.choice-gateway h2{
  font-family:"Space Grotesk";
  font-size:clamp(2.8rem,5.5vw,6rem);
  line-height:.98;
  letter-spacing:-.055em;
  margin:.22em 0 .28em;
  max-width:900px;
}
.choice-gateway p:not(.section-tag){
  max-width:620px;
  margin:0;
  color:var(--muted,#626262);
  font-size:clamp(1rem,1.5vw,1.18rem);
  line-height:1.7;
  opacity:1;
}
.choice-gateway .action{
  background:var(--ink,#17131f);
  color:#fff;
  border:1px solid var(--ink,#17131f);
  white-space:nowrap;
}
.choice-gateway .action:hover{background:var(--acid,#d9ff61);color:var(--ink,#17131f)}
@media(max-width:760px){
  .choice-gateway{grid-template-columns:1fr;gap:26px;padding-left:18px;padding-right:18px}
  .choice-gateway h2{font-size:clamp(2.5rem,12vw,4rem)}
  .choice-gateway .action{justify-self:start;width:auto}
}

/* Minimal footer */
.site-quick-footer{
  width:100%;
  margin:0;
  padding:52px max(24px,calc((100vw - 1160px)/2)) 24px;
  box-sizing:border-box;
  background:#111014;
  color:#f7f4ef;
  border-top:1px solid rgba(255,255,255,.12);
  display:grid;
  grid-template-columns:minmax(230px,1.15fr) minmax(190px,.8fr) minmax(220px,.9fr);
  gap:40px 64px;
  align-items:start;
}
.site-quick-footer__brand,.site-quick-footer__nav,.site-quick-footer__contact{min-width:0}
.site-quick-footer__logo{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin:0;
  color:#fff;
  font-family:"Space Grotesk",sans-serif;
  font-size:clamp(1.55rem,3vw,2.3rem);
  font-weight:800;
  line-height:1;
  letter-spacing:-.035em;
  text-decoration:none;
}
.site-quick-footer__logo::before{
  content:"";
  width:11px;height:11px;flex:0 0 11px;
  border-radius:50%;
  background:#744cff;
}
.site-quick-footer__logo span{display:none}
.site-quick-footer__brand p,.site-quick-footer__contact p{
  max-width:31ch;
  margin:15px 0 0;
  color:rgba(255,255,255,.62);
  font-size:.94rem;
  line-height:1.6;
}
.site-quick-footer h2{
  margin:2px 0 17px;
  color:rgba(255,255,255,.5);
  font-family:"Space Grotesk",sans-serif;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.18em;
  line-height:1.2;
  text-transform:uppercase;
}
.site-quick-footer__links{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px 24px;
}
.site-quick-footer a{color:#f7f4ef;text-decoration:none;transition:color .18s ease}
.site-quick-footer__links a{
  display:block;
  width:max-content;
  max-width:100%;
  padding:1px 0;
  font-size:.96rem;
  line-height:1.4;
}
.site-quick-footer a:hover,.site-quick-footer a:focus-visible{color:#b8ff35}
.site-quick-footer__contact>a{
  display:inline-block;
  max-width:100%;
  font-size:1rem;
  font-weight:700;
  line-height:1.45;
  overflow-wrap:anywhere;
}
.site-quick-footer__bottom{
  grid-column:1/-1;
  margin-top:5px;
  padding-top:21px;
  border-top:1px solid rgba(255,255,255,.12);
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  color:rgba(255,255,255,.46);
  font-size:.76rem;
  line-height:1.45;
}
.site-quick-footer__bottom a{color:rgba(255,255,255,.7)}
.brand-byline{
  display:inline-block;
  margin-left:.4em;
  color:#6f39e8;
  font-weight:900;
}
@media(max-width:820px){
  .site-quick-footer{grid-template-columns:1fr 1fr;gap:34px 42px}
  .site-quick-footer__brand{grid-column:1/-1}
}
@media(max-width:560px){
  .site-quick-footer{
    grid-template-columns:1fr;
    gap:29px;
    padding:38px 22px 24px;
  }
  .site-quick-footer__brand{grid-column:auto}
  .site-quick-footer__links{
    grid-template-columns:1fr 1fr;
    gap:13px 20px;
  }
  .site-quick-footer__bottom{
    grid-column:auto;
    margin-top:0;
    padding-top:18px;
    flex-direction:column;
    align-items:flex-start;
    gap:7px;
  }
}
@media(max-width:350px){.site-quick-footer__links{grid-template-columns:1fr}}

/* Good deeds challenges */
.challenge-page{background:#f7f4ef;color:#111}
.challenge-hero{padding:150px 7vw 80px;max-width:1180px;margin:0 auto}
.challenge-hero h1{margin:10px 0 24px;font-family:"Space Grotesk",sans-serif;font-size:clamp(3.2rem,8vw,7.5rem);line-height:.9;letter-spacing:-.07em;max-width:1000px}
.challenge-hero h1 em{font-style:normal;color:#6f39e8}
.challenge-hero>p:last-child{max-width:700px;font-size:1.12rem;line-height:1.7;color:#4e4a45}
.deeds-dashboard{max-width:1180px;margin:0 auto 90px;padding:0 7vw;display:grid;grid-template-columns:1fr 1fr;gap:18px}
.deed-counter{min-height:230px;border-radius:26px;padding:34px;display:flex;flex-direction:column;justify-content:space-between}
.deed-counter span{font-family:"Space Grotesk",sans-serif;font-size:.82rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.deed-counter strong{font-family:"Space Grotesk",sans-serif;font-size:clamp(4rem,10vw,7rem);line-height:.9;letter-spacing:-.08em}
.deed-counter p{margin:0;max-width:260px;line-height:1.5}
.deed-counter-personal{background:#6f39e8;color:white}
.deed-counter-total{background:#dfff45;color:#111}
.deeds-message{grid-column:1/-1;border-top:1px solid #d8d2ca;padding:22px 4px 0;font-size:1.04rem;font-weight:700}
.challenge-library{max-width:1180px;margin:0 auto;padding:0 7vw 110px}
.challenge-library-head{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:34px}
.challenge-library-head h2{margin:8px 0 0;font-family:"Space Grotesk",sans-serif;font-size:clamp(2.2rem,5vw,4.5rem);line-height:1;letter-spacing:-.055em}
.challenge-progress{min-width:115px;text-align:right}
.challenge-progress strong{display:block;font-size:1.55rem}.challenge-progress span{font-size:.82rem;color:#666}
.challenge-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.good-challenge{border:1px solid #d8d2ca;border-radius:24px;padding:28px;background:#fff;display:flex;flex-direction:column;min-height:300px;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.good-challenge:hover{transform:translateY(-3px);box-shadow:0 16px 38px rgba(23,19,14,.08)}
.good-challenge.is-active{border-color:#6f39e8}.good-challenge.is-complete{border-color:#a9d91e;background:#fbffe9}
.challenge-status{align-self:flex-start;border-radius:999px;background:#eee9e2;padding:7px 11px;font-size:.72rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.is-active .challenge-status{background:#ede4ff;color:#5b2bc8}.is-complete .challenge-status{background:#dfff45;color:#111}
.good-challenge h3{margin:25px 0 12px;font-family:"Space Grotesk",sans-serif;font-size:1.65rem;line-height:1.05;letter-spacing:-.035em}
.good-challenge p{margin:0 0 30px;color:#5b5650;line-height:1.65;max-width:520px}
.challenge-actions{margin-top:auto;display:flex;gap:10px;flex-wrap:wrap}
.challenge-actions button{border:0;border-radius:999px;padding:12px 17px;font:inherit;font-size:.88rem;font-weight:800;cursor:pointer;background:#171513;color:#fff}
.challenge-actions button+button{background:#6f39e8}.challenge-actions button:disabled{background:#ddd7d0;color:#8a837b;cursor:not-allowed}
.is-complete .challenge-actions button:first-child{background:#fff;color:#171513;border:1px solid #cfc8bf}
@media(max-width:760px){.challenge-hero{padding:120px 22px 58px}.deeds-dashboard,.challenge-library{padding-left:22px;padding-right:22px}.deeds-dashboard,.challenge-grid{grid-template-columns:1fr}.deed-counter{min-height:190px}.challenge-library-head{align-items:flex-start;flex-direction:column}.challenge-progress{text-align:left}.good-challenge{min-height:0}}

/* vNext — simple top-attached navigation with heart mark */
.masthead,
.masthead.is-scrolled{
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:0!important;
  transform:none!important;
  width:100%!important;
  max-width:none!important;
  height:62px!important;
  padding:0 clamp(16px,3vw,34px)!important;
  border:0!important;
  border-bottom:1px solid rgba(21,21,21,.12)!important;
  background:rgba(244,241,232,.97)!important;
  backdrop-filter:blur(10px)!important;
  -webkit-backdrop-filter:blur(10px)!important;
  box-shadow:0 4px 18px rgba(21,21,21,.05)!important;
}
.wordmark{gap:9px!important;font-size:.84rem!important;letter-spacing:.075em!important}
.wordmark-dot{
  width:auto!important;
  height:auto!important;
  border-radius:0!important;
  background:none!important;
  color:var(--violet)!important;
  font-size:18px!important;
  line-height:1!important;
  display:inline-grid!important;
  place-items:center!important;
}
.wordmark-dot::before{content:"♥";display:block}
.nav{gap:clamp(12px,1.7vw,24px)!important;font-size:.82rem!important}
.nav a:after{bottom:-6px!important;height:1.5px!important;background:var(--violet)!important}
.nav-cta{padding:10px 15px!important;border-radius:999px!important;font-size:.78rem!important}
.menu-button{width:40px!important;height:40px!important}
.menu-button span{left:8px!important;width:24px!important}

@media (max-width:980px){
  .mobile-panel{
    top:62px!important;
    right:10px!important;
    width:min(86vw,330px)!important;
    height:auto!important;
    max-height:calc(100svh - 74px)!important;
    overflow:auto!important;
    padding:10px 16px 14px!important;
    gap:0!important;
    background:rgba(21,21,21,.98)!important;
    border-radius:0 0 18px 18px!important;
    box-shadow:0 18px 42px rgba(0,0,0,.22)!important;
  }
  .mobile-panel a{
    font-family:Manrope,system-ui,sans-serif!important;
    font-size:1rem!important;
    line-height:1.2!important;
    padding:13px 4px!important;
    border-bottom:1px solid rgba(255,255,255,.12)!important;
  }
  .mobile-panel a:last-child{border-bottom:0!important}
}

@media (max-width:640px){
  .masthead,.masthead.is-scrolled{height:58px!important;padding:0 14px!important}
  .wordmark{font-size:.78rem!important;gap:8px!important}
  .wordmark-dot{font-size:17px!important}
  .mobile-panel{top:58px!important;right:8px!important;width:min(88vw,310px)!important}
}

/* =========================================================
   DYNAMIC PAGE OPENINGS — unified Gotino e visual language
   ========================================================= */
:root{
  --hero-purple:#6f35ed;
  --hero-purple-dark:#281057;
  --hero-acid:#dfff2f;
  --hero-coral:#ff7465;
  --hero-cream:#f6f2e9;
}

/* Shared hero canvas */
.page-intro,
.challenge-hero,
.why-hero,
.resources-hero,
.page-hero,
.game-shell > .hero,
.hero-card,
.mission-intro,
.mission-head{
  position:relative;
  isolation:isolate;
  overflow:hidden;
}

.page-intro,
.challenge-hero,
.why-hero,
.resources-hero,
.page-hero{
  min-height:clamp(390px,58vw,650px);
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding-top:clamp(72px,10vw,132px);
  padding-bottom:clamp(76px,10vw,128px);
}

/* Orbit, dot and offset block — no extra markup needed */
.page-intro::before,
.challenge-hero::before,
.why-hero::before,
.resources-hero::before,
.page-hero::before,
.game-shell > .hero::before,
.hero-card::before,
.mission-intro::before,
.mission-head::before{
  content:"";
  position:absolute;
  z-index:-2;
  width:clamp(210px,33vw,470px);
  aspect-ratio:1;
  border:2px solid rgba(111,53,237,.44);
  border-radius:50%;
  right:clamp(-125px,-7vw,-36px);
  top:clamp(38px,8vw,104px);
  box-shadow:
    0 0 0 38px rgba(223,255,47,.10),
    0 0 0 76px rgba(255,116,101,.06);
  transform:rotate(-12deg);
}

.page-intro::after,
.challenge-hero::after,
.why-hero::after,
.resources-hero::after,
.page-hero::after,
.game-shell > .hero::after,
.hero-card::after,
.mission-intro::after,
.mission-head::after{
  content:"";
  position:absolute;
  z-index:-1;
  width:clamp(112px,17vw,230px);
  height:clamp(112px,17vw,230px);
  right:clamp(15px,8vw,118px);
  top:clamp(112px,17vw,210px);
  border-radius:50%;
  background:
    radial-gradient(circle at 68% 25%,var(--hero-acid) 0 8%,transparent 9%),
    radial-gradient(circle at 25% 72%,var(--hero-coral) 0 12%,transparent 13%),
    linear-gradient(135deg,var(--hero-purple),#8452f4);
  opacity:.95;
  filter:saturate(1.05);
}

/* Decorative line under the content */
.page-intro > :last-child,
.challenge-hero > :last-child,
.why-hero > :last-child,
.resources-hero > :last-child,
.page-hero .page-head > :last-child{
  position:relative;
}
.page-intro > :last-child::after,
.challenge-hero > :last-child::after,
.why-hero > :last-child::after,
.resources-hero > :last-child::after{
  content:"";
  display:block;
  width:clamp(70px,12vw,150px);
  height:5px;
  margin-top:clamp(24px,4vw,42px);
  background:linear-gradient(90deg,var(--hero-purple) 0 52%,var(--hero-acid) 52% 78%,var(--hero-coral) 78%);
  border-radius:99px;
}

/* Stronger editorial hierarchy */
.page-intro h1,
.challenge-hero h1,
.why-hero h1,
.resources-hero h1,
.page-hero h1,
.game-shell > .hero h1,
.hero-card h1{
  position:relative;
  z-index:2;
  max-width:12ch;
  letter-spacing:-.055em;
  line-height:.94;
  text-wrap:balance;
}
.page-intro h1 em,
.challenge-hero h1 em,
.resources-hero h1 em,
.page-hero h1 em{
  display:inline;
  color:var(--hero-purple);
  font-style:normal;
  position:relative;
}
.page-intro h1 em::after,
.challenge-hero h1 em::after,
.resources-hero h1 em::after,
.page-hero h1 em::after{
  content:"";
  position:absolute;
  left:-.04em;
  right:-.06em;
  bottom:.02em;
  height:.16em;
  z-index:-1;
  background:var(--hero-acid);
  transform:rotate(-1.8deg);
  opacity:.9;
}

.page-intro .kicker,
.challenge-hero .eyebrow,
.why-hero .eyebrow,
.resources-hero .eyebrow,
.page-hero .eyebrow,
.page-intro .section-tag{
  width:max-content;
  max-width:100%;
  padding:.55rem .78rem;
  border:1px solid rgba(21,17,24,.22);
  background:rgba(246,242,233,.82);
  box-shadow:7px 7px 0 var(--hero-acid);
}

.page-intro > p:last-child,
.challenge-hero > p,
.resources-hero > p,
.why-hero > p{
  max-width:42rem;
  font-size:clamp(1.05rem,2vw,1.3rem);
  line-height:1.65;
}

/* First content section peeks into hero for forward motion */
.page-intro + section,
.challenge-hero + section,
.why-hero + section,
.resources-hero + section,
.page-hero + section{
  position:relative;
  z-index:3;
  margin-top:clamp(-48px,-4vw,-24px);
}

/* Page-specific personalities */
.page-intro-play::after{background:linear-gradient(145deg,var(--hero-purple),var(--hero-coral));border-radius:38% 62% 58% 42%/45% 38% 62% 55%}
.page-intro-useful::after{background:linear-gradient(135deg,var(--hero-acid),#f2ff82);border:2px solid #111}
.page-intro-stories::after{border-radius:20px;background:linear-gradient(135deg,var(--hero-coral),#ff9a90);transform:rotate(8deg)}
.page-intro-activities::after{background:linear-gradient(145deg,var(--hero-purple),#9d77ff);clip-path:polygon(50% 0,100% 30%,86% 100%,14% 100%,0 30%)}
.join-intro::after{background:linear-gradient(135deg,var(--hero-acid),var(--hero-coral));border-radius:50% 50% 14% 50%}
.challenge-hero::after{background:linear-gradient(135deg,var(--hero-purple),#8350f4);box-shadow:26px 24px 0 var(--hero-coral)}
.why-hero::after{background:var(--hero-acid);border:2px solid #111;box-shadow:24px 24px 0 var(--hero-purple)}

/* Compact pages and interactive screens */
.game-shell > .hero,
.hero-card,
.mission-intro,
.mission-head{
  padding:clamp(34px,7vw,72px);
  border:1px solid rgba(20,16,25,.13);
  background:linear-gradient(145deg,rgba(255,255,255,.92),rgba(246,242,233,.88));
  box-shadow:0 20px 60px rgba(53,25,109,.09);
}
.game-shell > .hero::before,
.hero-card::before,
.mission-intro::before,
.mission-head::before{width:220px;right:-90px;top:-70px}
.game-shell > .hero::after,
.hero-card::after,
.mission-intro::after,
.mission-head::after{width:94px;height:94px;right:42px;top:38px}

/* Cards immediately below hero gain depth and varied accents */
.page-intro + section > :is(article,a,div):nth-child(3n+1),
.challenge-hero + section > :is(article,a,div):nth-child(3n+1){--card-accent:var(--hero-purple)}
.page-intro + section > :is(article,a,div):nth-child(3n+2),
.challenge-hero + section > :is(article,a,div):nth-child(3n+2){--card-accent:var(--hero-acid)}
.page-intro + section > :is(article,a,div):nth-child(3n),
.challenge-hero + section > :is(article,a,div):nth-child(3n){--card-accent:var(--hero-coral)}

/* Entrance motion, respectful of reduced-motion settings */
@keyframes gotinoHeroIn{
  from{opacity:0;transform:translateY(18px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes gotinoFloat{
  0%,100%{transform:translate3d(0,0,0) rotate(-12deg)}
  50%{transform:translate3d(0,-9px,0) rotate(-8deg)}
}
@media (prefers-reduced-motion:no-preference){
  .page-intro > *,
  .challenge-hero > *,
  .why-hero > *,
  .resources-hero > *,
  .page-hero .page-head > *{
    animation:gotinoHeroIn .65s both cubic-bezier(.2,.75,.25,1);
  }
  .page-intro > *:nth-child(2),.challenge-hero > *:nth-child(2),.why-hero > *:nth-child(2),.resources-hero > *:nth-child(2){animation-delay:.08s}
  .page-intro > *:nth-child(3),.challenge-hero > *:nth-child(3),.why-hero > *:nth-child(3),.resources-hero > *:nth-child(3){animation-delay:.16s}
  .page-intro::before,.challenge-hero::before,.why-hero::before,.resources-hero::before,.page-hero::before{animation:gotinoFloat 7s ease-in-out infinite}
}

@media (max-width:760px){
  .page-intro,
  .challenge-hero,
  .why-hero,
  .resources-hero,
  .page-hero{
    min-height:auto;
    padding-top:72px;
    padding-bottom:86px;
  }
  .page-intro::before,
  .challenge-hero::before,
  .why-hero::before,
  .resources-hero::before,
  .page-hero::before{
    width:220px;
    right:-132px;
    top:92px;
    opacity:.72;
  }
  .page-intro::after,
  .challenge-hero::after,
  .why-hero::after,
  .resources-hero::after,
  .page-hero::after{
    width:94px;
    height:94px;
    right:14px;
    top:118px;
    opacity:.82;
  }
  .page-intro h1,
  .challenge-hero h1,
  .why-hero h1,
  .resources-hero h1,
  .page-hero h1{max-width:10.5ch}
  .page-intro > p:last-child,
  .challenge-hero > p,
  .resources-hero > p,
  .why-hero > p{max-width:29rem;font-size:1.03rem;line-height:1.58}
  .page-intro + section,
  .challenge-hero + section,
  .why-hero + section,
  .resources-hero + section,
  .page-hero + section{margin-top:-32px}
}

/* Brand reveal — automatic logo intro shared by every page */
.brand-reveal{
  position:relative;
  z-index:2;
  display:grid;
  place-items:center;
  min-height:clamp(230px,34vw,390px);
  height:auto;
  padding:clamp(20px,4vw,42px) 20px;
  overflow:hidden;
  opacity:1;
  background:
    radial-gradient(circle at 18% 20%,rgba(205,255,38,.18),transparent 28%),
    radial-gradient(circle at 82% 72%,rgba(111,61,246,.13),transparent 32%),
    linear-gradient(180deg,#fff 0%,#fbfaf6 100%);
  border-bottom:1px solid rgba(25,19,35,.09);
  transition:
    height .72s cubic-bezier(.22,.7,.18,1),
    min-height .72s cubic-bezier(.22,.7,.18,1),
    padding .72s cubic-bezier(.22,.7,.18,1),
    opacity .46s ease .18s,
    border-color .35s ease;
}
.brand-reveal--home{min-height:clamp(290px,48vw,520px)}
.brand-reveal::before,
.brand-reveal::after{
  content:"";
  position:absolute;
  border-radius:999px;
  pointer-events:none;
  transition:opacity .45s ease,transform .65s cubic-bezier(.22,.7,.18,1);
}
.brand-reveal::before{
  width:clamp(150px,22vw,300px);
  height:clamp(150px,22vw,300px);
  left:clamp(-120px,-7vw,-55px);
  top:18%;
  border:1px solid rgba(111,61,246,.16);
}
.brand-reveal::after{
  width:clamp(90px,13vw,170px);
  height:clamp(90px,13vw,170px);
  right:clamp(-70px,-3vw,-25px);
  bottom:10%;
  background:rgba(205,255,38,.20);
  filter:blur(1px);
}
.brand-reveal__inner{
  position:relative;
  z-index:1;
  width:min(88vw,430px);
  opacity:1;
  transform:translate3d(0,0,0) scale(1);
  transform-origin:center top;
  will-change:transform,opacity;
  transition:
    transform .82s cubic-bezier(.22,.7,.18,1),
    opacity .68s ease;
}
.brand-reveal--home .brand-reveal__inner{width:min(90vw,520px)}
.brand-reveal img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:1;
  object-fit:contain;
  filter:drop-shadow(0 18px 38px rgba(61,25,124,.10));
}
.brand-reveal.is-exiting .brand-reveal__inner{
  opacity:0;
  transform:translate3d(0,-52px,0) scale(.975);
  pointer-events:none;
}
.brand-reveal.is-exiting::before,
.brand-reveal.is-exiting::after{
  opacity:0;
  transform:translateY(-24px) scale(.94);
}
.brand-reveal.is-collapsing{
  min-height:0!important;
  height:0!important;
  padding-top:0!important;
  padding-bottom:0!important;
  opacity:0;
  border-color:transparent;
}
.brand-reveal.is-hidden{display:none!important}
@media (max-width:760px){
  .brand-reveal{min-height:260px;padding:14px 12px 22px}
  .brand-reveal--home{min-height:320px}
  .brand-reveal__inner{width:min(94vw,360px)}
  .brand-reveal--home .brand-reveal__inner{width:min(96vw,405px)}
  .brand-reveal.is-exiting .brand-reveal__inner{transform:translate3d(0,-46px,0) scale(.97)}
}
@media (prefers-reduced-motion:reduce){
  .brand-reveal,
  .brand-reveal__inner,
  .brand-reveal::before,
  .brand-reveal::after{transition:none!important}
}

/* =========================================================
   BRAND ORBIT LANGUAGE — logo circle continues into page intros
   ========================================================= */
.page-intro,
.challenge-hero,
.why-hero,
.resources-hero,
.page-hero,
.game-shell > .hero,
.hero-card,
.mission-intro,
.mission-head{
  --orbit-rotate:-18deg;
  --orbit-x:68%;
  --orbit-y:50%;
}

/* Brush-like partial ring borrowed from the logo */
.page-intro::before,
.challenge-hero::before,
.why-hero::before,
.resources-hero::before,
.page-hero::before,
.game-shell > .hero::before,
.hero-card::before,
.mission-intro::before,
.mission-head::before{
  width:clamp(330px,48vw,690px);
  aspect-ratio:1;
  right:auto;
  left:var(--orbit-x);
  top:var(--orbit-y);
  border:0;
  border-radius:50%;
  transform:translate(-50%,-50%) rotate(var(--orbit-rotate));
  background:conic-gradient(
    from 20deg,
    transparent 0 7%,
    rgba(111,53,237,.12) 8%,
    #6f35ed 12% 31%,
    #a855f7 36% 51%,
    rgba(223,255,47,.96) 57% 72%,
    rgba(223,255,47,.22) 77%,
    transparent 83% 100%
  );
  -webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 16px),#000 calc(100% - 14px));
  mask:radial-gradient(farthest-side,transparent calc(100% - 16px),#000 calc(100% - 14px));
  box-shadow:none;
  opacity:.78;
  filter:drop-shadow(0 8px 18px rgba(111,53,237,.12));
}

/* Small light point, like the spark in the logo */
.page-intro::after,
.challenge-hero::after,
.why-hero::after,
.resources-hero::after,
.page-hero::after,
.game-shell > .hero::after,
.hero-card::after,
.mission-intro::after,
.mission-head::after{
  width:clamp(86px,10vw,142px);
  height:clamp(86px,10vw,142px);
  right:clamp(20px,8vw,110px);
  top:clamp(84px,14vw,180px);
  border-radius:50%;
  background:
    radial-gradient(circle at 50% 50%,rgba(255,255,255,.98) 0 3%,transparent 4%),
    radial-gradient(circle at 50% 50%,rgba(223,255,47,.96) 0 10%,rgba(223,255,47,.24) 11% 28%,transparent 29%);
  box-shadow:none;
  clip-path:none;
  opacity:.92;
}

/* The title block feels held by the orbit instead of floating alone */
.page-intro h1,
.challenge-hero h1,
.why-hero h1,
.resources-hero h1,
.page-hero h1,
.game-shell > .hero h1,
.hero-card h1,
.mission-intro h1,
.mission-head h1{
  text-shadow:0 1px 0 rgba(255,255,255,.45);
}

.page-intro .kicker,
.challenge-hero .eyebrow,
.why-hero .eyebrow,
.resources-hero .eyebrow,
.page-hero .eyebrow,
.page-intro .section-tag{
  position:relative;
  padding-left:2.15rem;
}
.page-intro .kicker::before,
.challenge-hero .eyebrow::before,
.why-hero .eyebrow::before,
.resources-hero .eyebrow::before,
.page-hero .eyebrow::before,
.page-intro .section-tag::before{
  content:"♥";
  position:absolute;
  left:.72rem;
  top:50%;
  transform:translateY(-53%);
  color:#6f35ed;
  font-size:.9rem;
  line-height:1;
}

/* Each section keeps the same DNA, but with its own composition */
.page-intro-play{--orbit-x:76%;--orbit-y:48%;--orbit-rotate:-24deg}
.page-intro-useful{--orbit-x:24%;--orbit-y:50%;--orbit-rotate:145deg}
.page-intro-stories{--orbit-x:78%;--orbit-y:62%;--orbit-rotate:18deg}
.page-intro-activities{--orbit-x:72%;--orbit-y:40%;--orbit-rotate:-42deg}
.join-intro{--orbit-x:28%;--orbit-y:56%;--orbit-rotate:118deg}
.challenge-hero{--orbit-x:74%;--orbit-y:48%;--orbit-rotate:-30deg}
.why-hero{--orbit-x:76%;--orbit-y:54%;--orbit-rotate:8deg}
.resources-hero{--orbit-x:27%;--orbit-y:50%;--orbit-rotate:138deg}
.page-hero{--orbit-x:76%;--orbit-y:48%;--orbit-rotate:-22deg}
.game-shell > .hero,.hero-card{--orbit-x:78%;--orbit-y:48%;--orbit-rotate:-26deg}
.mission-intro,.mission-head{--orbit-x:72%;--orbit-y:45%;--orbit-rotate:-32deg}

/* Fine streaks that visually connect the intro logo to the page */
.page-intro,
.challenge-hero,
.resources-hero,
.page-hero,
.game-shell > .hero,
.hero-card,
.mission-intro,
.mission-head{
  background-image:
    linear-gradient(104deg,transparent 0 63%,rgba(111,53,237,.045) 63.2% 63.5%,transparent 63.7%),
    linear-gradient(104deg,transparent 0 69%,rgba(223,255,47,.10) 69.2% 69.55%,transparent 69.8%);
}

@media(max-width:760px){
  .page-intro,
  .challenge-hero,
  .why-hero,
  .resources-hero,
  .page-hero,
  .game-shell > .hero,
  .hero-card,
  .mission-intro,
  .mission-head{
    --orbit-x:82%;
    --orbit-y:50%;
  }
  .page-intro::before,
  .challenge-hero::before,
  .why-hero::before,
  .resources-hero::before,
  .page-hero::before,
  .game-shell > .hero::before,
  .hero-card::before,
  .mission-intro::before,
  .mission-head::before{
    width:clamp(290px,92vw,430px);
    opacity:.58;
    -webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 12px),#000 calc(100% - 10px));
    mask:radial-gradient(farthest-side,transparent calc(100% - 12px),#000 calc(100% - 10px));
  }
  .page-intro::after,
  .challenge-hero::after,
  .why-hero::after,
  .resources-hero::after,
  .page-hero::after,
  .game-shell > .hero::after,
  .hero-card::after,
  .mission-intro::after,
  .mission-head::after{
    width:72px;height:72px;right:14px;top:92px;opacity:.78;
  }
  .page-intro h1,
  .challenge-hero h1,
  .why-hero h1,
  .resources-hero h1,
  .page-hero h1{
    max-width:9.5ch;
  }
}

/* Prevention message on About page */
.why-prevention{
  width:min(920px,calc(100% - 36px));
  margin:0 auto 54px;
  padding:26px 30px;
  border:1px solid rgba(111,45,189,.18);
  border-left:5px solid var(--violet);
  border-radius:22px;
  background:linear-gradient(135deg,rgba(111,45,189,.07),rgba(206,255,0,.10));
  box-shadow:0 16px 38px rgba(30,20,45,.08);
}
.why-prevention p{margin:0;font-size:clamp(1.05rem,2vw,1.25rem);line-height:1.65;color:var(--ink)}
.why-prevention strong{font-weight:800}
@media (max-width:640px){.why-prevention{width:calc(100% - 28px);margin-bottom:38px;padding:22px 20px;border-radius:18px}}


/* Performance polish v22: pages render immediately; keep only lightweight brand motion */
@media (prefers-reduced-motion:no-preference){
  .page-intro > *, .challenge-hero > *, .why-hero > *, .resources-hero > *, .page-hero > *{animation:none!important;}
}
img:not(.brand-reveal img){content-visibility:auto;}

/* Homepage compass artwork */
.opening-stage{
  aspect-ratio:auto;
  max-width:620px;
  background:transparent;
  overflow:hidden;
  border-radius:0;
  display:block;
  line-height:0;
}
.opening-stage::before,
.opening-stage::after{display:none}
.opening-stage-image{
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
}
@media (max-width:980px){
  .opening-stage{max-width:620px}
}
@media (max-width:640px){
  .opening-stage{aspect-ratio:auto;max-width:none}
}

/* Homepage manifesto — subtle brand background, drawn entirely with CSS */
.manifesto{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:
    radial-gradient(circle at 88% 20%, rgba(197,255,39,.20) 0 7%, transparent 7.3%),
    radial-gradient(circle at 7% 88%, rgba(111,69,255,.09) 0 12%, transparent 12.4%),
    linear-gradient(135deg, rgba(255,255,255,.22), rgba(244,240,232,.04));
}
.manifesto::before{
  content:"";
  position:absolute;
  z-index:-1;
  width:clamp(300px,42vw,560px);
  aspect-ratio:1;
  right:clamp(-250px,-14vw,-100px);
  top:50%;
  transform:translateY(-50%) rotate(-12deg);
  border:1px solid rgba(36,31,28,.13);
  border-radius:50%;
  box-shadow:
    0 0 0 54px rgba(111,69,255,.035),
    0 0 0 108px rgba(197,255,39,.035);
}
.manifesto::after{
  content:"";
  position:absolute;
  z-index:-1;
  left:clamp(-72px,-5vw,-20px);
  bottom:clamp(22px,5vw,58px);
  width:clamp(150px,20vw,260px);
  height:3px;
  border-radius:999px;
  background:linear-gradient(90deg, transparent 0 8%, rgba(255,105,96,.72) 8% 43%, rgba(111,69,255,.58) 43% 72%, transparent 72%);
  transform:rotate(-18deg);
  opacity:.72;
}
.manifesto > *{position:relative;z-index:1}

@media(max-width:640px){
  .manifesto{
    background:
      radial-gradient(circle at 92% 12%, rgba(197,255,39,.18) 0 8%, transparent 8.4%),
      radial-gradient(circle at 2% 94%, rgba(111,69,255,.08) 0 11%, transparent 11.5%);
  }
  .manifesto::before{
    width:330px;
    right:-235px;
    top:36%;
    box-shadow:0 0 0 38px rgba(111,69,255,.03),0 0 0 76px rgba(197,255,39,.03);
  }
  .manifesto::after{left:-58px;bottom:34px;width:180px;opacity:.56}
}

/* Manifesto background visibility fix — keep decorative layer inside the section */
.manifesto{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background-color:#f4f0e8;
  background-image:
    radial-gradient(circle at 88% 18%, rgba(197,255,39,.30) 0 8%, transparent 8.4%),
    radial-gradient(circle at 8% 88%, rgba(111,69,255,.14) 0 13%, transparent 13.5%),
    linear-gradient(135deg, rgba(255,255,255,.55), rgba(244,240,232,.12));
}
.manifesto::before{
  z-index:0;
  opacity:1;
  pointer-events:none;
}
.manifesto::after{
  z-index:0;
  pointer-events:none;
}
.manifesto > *{
  position:relative;
  z-index:2;
}
@media(max-width:640px){
  .manifesto{
    background-color:#f4f0e8;
    background-image:
      radial-gradient(circle at 94% 13%, rgba(197,255,39,.27) 0 9%, transparent 9.5%),
      radial-gradient(circle at 3% 94%, rgba(111,69,255,.12) 0 12%, transparent 12.5%),
      linear-gradient(145deg, rgba(255,255,255,.48), rgba(244,240,232,.08));
  }
}

.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

.language-links-mobile{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.masthead>.site-language-link{margin-left:4px;min-width:36px;padding:0 8px}

.choice-score-card{position:relative;display:grid;grid-template-columns:1fr 1fr;min-height:220px;border:1px solid var(--ink);overflow:hidden;background:#fff}.choice-score-half{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:34px 24px;text-align:center}.choice-score-correct{background:#c9f3dc}.choice-score-wrong{background:#ffd6df}.choice-score-half span{font-weight:900;letter-spacing:.03em;text-transform:uppercase;font-size:.82rem}.choice-score-half strong{font:700 clamp(3.6rem,7vw,7rem)/.9 "Space Grotesk";letter-spacing:-.07em}.choice-score-correct strong{color:#156b48}.choice-score-wrong strong{color:#b5355e}.choice-score-vs{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:48px;height:48px;border:1px solid var(--ink);border-radius:50%;background:#fff;color:var(--ink);font-weight:950;font-size:.78rem;box-shadow:0 6px 20px rgba(31,24,51,.12)}
@media(max-width:560px){.choice-score-card{min-height:170px}.choice-score-half{padding:26px 14px}.choice-score-vs{width:42px;height:42px}}


/* About belief strips */
.why-prevention{
width:100%!important;
max-width:none!important;
margin:0 0 48px!important;
padding:0!important;
border:none!important;
border-radius:0!important;
background:transparent!important;
box-shadow:none!important;
}
.belief-card{
padding:64px 36px;
margin:0;
width:100vw;
margin-left:calc(50% - 50vw);
border-radius:0;
}
.belief-card h3{font-size:clamp(2rem,5vw,3.4rem);line-height:1.05;margin:0 0 18px}
.belief-card p{max-width:760px;font-size:1.25rem;line-height:1.7}
.belief-purple{background:#f2ebff;border-left:0}
.belief-green{background:#ecfff3;border-left:0}
.belief-orange{background:#fff1e4;border-left:0}
@media(max-width:640px){
 .belief-card{padding:34px 24px}
 .belief-card p{font-size:1.08rem}
}

/* Contact form: stay on the current page after sending */
.contact-inline-status{margin-top:16px;padding:18px 20px;border:1px solid rgba(20,20,20,.15);background:#f6f2ff;line-height:1.45}
.contact-inline-status[hidden]{display:none!important}
.contact-inline-status strong,.contact-inline-status span{display:block}
.contact-inline-status strong{font-size:1.1rem;margin-bottom:4px}
.contact-inline-status.is-sending{background:#f4f0e8}
.contact-inline-status.is-success{background:#eaf9ef;border-left:5px solid #28c76f}
.next-form button:disabled{opacity:.65;cursor:wait}

/* About page — belief sections match the visual language of “Нашата мисия” */
.why-prevention{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.why-prevention .belief-card{
  width:100%!important;
  margin:0!important;
  padding:var(--section-gap) max(24px,calc((100vw - var(--max))/2 + 24px))!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  display:grid!important;
  grid-template-columns:110px minmax(0,1fr)!important;
  gap:50px!important;
  align-items:end!important;
}
.why-prevention .belief-card::before{
  content:"";
  display:block;
}
.why-prevention .belief-card h3{
  grid-column:2;
  max-width:1000px;
  margin:0 0 22px!important;
  font-family:"Space Grotesk",sans-serif!important;
  font-size:clamp(3rem,6vw,7rem)!important;
  font-weight:700!important;
  line-height:.92!important;
  letter-spacing:-.065em!important;
  color:var(--ink)!important;
}
.why-prevention .belief-card p{
  grid-column:2;
  max-width:730px!important;
  margin:0!important;
  font-size:1rem!important;
  line-height:1.75!important;
  color:var(--ink)!important;
}
.why-prevention .belief-purple{background:#eee8ff!important}
.why-prevention .belief-green{background:#dff7e6!important}
.why-prevention .belief-orange{background:#f4ff6a!important}

@media(max-width:980px){
  .why-prevention .belief-card{
    grid-template-columns:80px minmax(0,1fr)!important;
  }
}
@media(max-width:640px){
  .why-prevention .belief-card{
    padding:56px 38px!important;
    grid-template-columns:1fr!important;
    gap:0!important;
  }
  .why-prevention .belief-card::before{display:none!important}
  .why-prevention .belief-card h3,
  .why-prevention .belief-card p{grid-column:auto!important}
  .why-prevention .belief-card h3{
    font-size:clamp(3rem,13vw,4.75rem)!important;
    margin-bottom:24px!important;
  }
  .why-prevention .belief-card p{
    font-size:1rem!important;
    line-height:1.7!important;
  }
}

/* v42 — premium glass finish (visual-only, no layout/content changes) */
:root{
  --glass-surface:rgba(255,255,255,.58);
  --glass-surface-strong:rgba(255,255,255,.72);
  --glass-border:rgba(255,255,255,.76);
  --glass-shadow:0 18px 55px rgba(39,28,70,.12),0 3px 12px rgba(39,28,70,.06),inset 0 1px 0 rgba(255,255,255,.9);
  --glass-glow:0 0 26px rgba(109,54,232,.16);
}

body:before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    radial-gradient(circle at 12% 18%,rgba(109,54,232,.10),transparent 28%),
    radial-gradient(circle at 88% 34%,rgba(244,255,106,.14),transparent 25%),
    radial-gradient(circle at 48% 86%,rgba(255,111,97,.08),transparent 28%);
}

.masthead{
  background:rgba(244,241,232,.68)!important;
  border-color:rgba(255,255,255,.72)!important;
  box-shadow:0 12px 34px rgba(39,28,70,.10),inset 0 1px 0 rgba(255,255,255,.85)!important;
  -webkit-backdrop-filter:blur(22px) saturate(135%);
  backdrop-filter:blur(22px) saturate(135%);
}

.legacy-shell .card,
.legacy-shell .quiz-card,
.legacy-shell .game-card,
.legacy-shell .story-card,
.legacy-shell .module-card,
.legacy-shell .panel,
.legacy-shell .join,
.legacy-shell article.card,
.legacy-shell .choice-card,
.about-hero-modern,
.about-statement,
.about-values,
.about-change,
.about-goal,
.value-card,
.change-grid article,
.join-panel,
.next-card,
.next-form,
.resource-card,
.volunteer-card,
.volunteer-panel{
  position:relative;
  overflow:hidden;
  background:linear-gradient(145deg,var(--glass-surface-strong),var(--glass-surface))!important;
  border-color:var(--glass-border)!important;
  box-shadow:var(--glass-shadow)!important;
  -webkit-backdrop-filter:blur(18px) saturate(130%);
  backdrop-filter:blur(18px) saturate(130%);
  transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;
}

.legacy-shell .card:before,
.legacy-shell .quiz-card:before,
.legacy-shell .game-card:before,
.legacy-shell .story-card:before,
.legacy-shell .module-card:before,
.legacy-shell .panel:before,
.legacy-shell .join:before,
.legacy-shell article.card:before,
.legacy-shell .choice-card:before,
.about-hero-modern:after,
.about-statement:before,
.about-values:before,
.about-change:before,
.about-goal:before,
.value-card:before,
.change-grid article:before{
  content:"";
  position:absolute;
  left:8%;
  right:8%;
  top:0;
  height:1px;
  pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.98),transparent);
}

@media (hover:hover){
  .legacy-shell .card:hover,
  .legacy-shell .quiz-card:hover,
  .legacy-shell .game-card:hover,
  .legacy-shell .story-card:hover,
  .legacy-shell .module-card:hover,
  .legacy-shell .panel:hover,
  .legacy-shell .join:hover,
  .legacy-shell article.card:hover,
  .legacy-shell .choice-card:hover,
  .value-card:hover,
  .change-grid article:hover{
    transform:translateY(-4px);
    box-shadow:0 24px 68px rgba(39,28,70,.15),0 5px 16px rgba(39,28,70,.08),inset 0 1px 0 rgba(255,255,255,.95),var(--glass-glow)!important;
    border-color:rgba(255,255,255,.95)!important;
  }
}

.action,
.legacy-shell .btn,
.legacy-shell button:not(.menu-button):not(.drawer-close),
.legacy-shell .primary-btn,
.legacy-shell .answer-btn,
.nav-cta{
  position:relative;
  overflow:hidden;
  box-shadow:0 10px 26px rgba(31,23,50,.13),inset 0 1px 0 rgba(255,255,255,.34)!important;
  transition:transform .24s ease,box-shadow .24s ease,filter .24s ease!important;
}
.action:before,
.legacy-shell .btn:before,
.legacy-shell button:not(.menu-button):not(.drawer-close):before,
.legacy-shell .primary-btn:before,
.legacy-shell .answer-btn:before,
.nav-cta:before{
  content:"";
  position:absolute;
  left:10%;right:10%;top:1px;height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.78),transparent);
  pointer-events:none;
}
@media (hover:hover){
  .action:hover,
  .legacy-shell .btn:hover,
  .legacy-shell button:not(.menu-button):not(.drawer-close):hover,
  .legacy-shell .primary-btn:hover,
  .legacy-shell .answer-btn:hover,
  .nav-cta:hover{
    transform:translateY(-3px);
    box-shadow:0 16px 34px rgba(31,23,50,.18),0 0 22px rgba(109,54,232,.14),inset 0 1px 0 rgba(255,255,255,.42)!important;
    filter:saturate(1.04);
  }
}

.wordmark-dot,
.opening h1 em,
.legacy-shell .eyebrow,
.legacy-shell .section-tag,
.legacy-shell .kicker{
  text-shadow:0 0 18px rgba(109,54,232,.20);
}
.wordmark-dot{box-shadow:0 0 16px rgba(109,54,232,.38)}

@keyframes glassReveal{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.legacy-shell main > section,
.legacy-shell main > .wrap,
.about-modern > *{
  animation:glassReveal .52s ease both;
}
@media(prefers-reduced-motion:reduce){
  .legacy-shell main > section,
  .legacy-shell main > .wrap,
  .about-modern > *{animation:none!important}
}

@media(max-width:760px){
  .masthead{
    background:rgba(244,241,232,.78)!important;
    -webkit-backdrop-filter:blur(16px) saturate(125%);
    backdrop-filter:blur(16px) saturate(125%);
  }
  .legacy-shell .card,
  .legacy-shell .quiz-card,
  .legacy-shell .game-card,
  .legacy-shell .story-card,
  .legacy-shell .module-card,
  .legacy-shell .panel,
  .legacy-shell .join,
  .legacy-shell article.card,
  .legacy-shell .choice-card,
  .about-hero-modern,
  .about-statement,
  .about-values,
  .about-change,
  .about-goal,
  .value-card,
  .change-grid article{
    -webkit-backdrop-filter:blur(13px) saturate(120%);
    backdrop-filter:blur(13px) saturate(120%);
    box-shadow:0 13px 34px rgba(39,28,70,.10),0 2px 8px rgba(39,28,70,.05),inset 0 1px 0 rgba(255,255,255,.88)!important;
  }
}

/* v44 — stronger visible glass finish */
:root{
  --glass-surface:rgba(255,255,255,.42);
  --glass-surface-strong:rgba(255,255,255,.56);
  --glass-border:rgba(255,255,255,.92);
  --glass-shadow:0 26px 70px rgba(55,37,94,.18),0 8px 24px rgba(55,37,94,.10),inset 0 1px 0 rgba(255,255,255,1),inset 0 -1px 0 rgba(109,54,232,.08);
  --glass-glow:0 0 36px rgba(109,54,232,.22);
}
body:before{
  background:
    radial-gradient(circle at 8% 12%,rgba(109,54,232,.22),transparent 30%),
    radial-gradient(circle at 92% 28%,rgba(212,232,75,.24),transparent 28%),
    radial-gradient(circle at 52% 82%,rgba(255,111,97,.15),transparent 32%),
    linear-gradient(135deg,rgba(255,255,255,.28),transparent 45%)!important;
}
.masthead{
  background:rgba(248,245,237,.52)!important;
  border:1px solid rgba(255,255,255,.95)!important;
  box-shadow:0 18px 46px rgba(48,34,80,.16),inset 0 1px 0 #fff!important;
  -webkit-backdrop-filter:blur(28px) saturate(155%)!important;
  backdrop-filter:blur(28px) saturate(155%)!important;
}
.legacy-shell .card,
.legacy-shell .quiz-card,
.legacy-shell .game-card,
.legacy-shell .story-card,
.legacy-shell .module-card,
.legacy-shell .panel,
.legacy-shell .join,
.legacy-shell article.card,
.legacy-shell .choice-card,
.about-hero-modern,
.about-statement,
.about-values,
.about-change,
.about-goal,
.value-card,
.change-grid article,
.join-panel,
.next-card,
.next-form,
.resource-card,
.volunteer-card,
.volunteer-panel{
  background:linear-gradient(135deg,rgba(255,255,255,.66),rgba(255,255,255,.34))!important;
  border:1px solid rgba(255,255,255,.94)!important;
  box-shadow:var(--glass-shadow)!important;
  -webkit-backdrop-filter:blur(26px) saturate(155%)!important;
  backdrop-filter:blur(26px) saturate(155%)!important;
}
.legacy-shell .card:after,
.legacy-shell .quiz-card:after,
.legacy-shell .game-card:after,
.legacy-shell .story-card:after,
.legacy-shell .module-card:after,
.legacy-shell .panel:after,
.legacy-shell .join:after,
.legacy-shell article.card:after,
.legacy-shell .choice-card:after,
.about-statement:after,
.about-values:after,
.about-change:after,
.about-goal:after,
.value-card:after,
.change-grid article:after,
.join-panel:after,
.resource-card:after,
.volunteer-card:after,
.volunteer-panel:after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  border-radius:inherit;
  background:linear-gradient(120deg,rgba(255,255,255,.48) 0%,rgba(255,255,255,.10) 25%,transparent 48%);
  opacity:.72;
  mix-blend-mode:screen;
}
.action,.legacy-shell .btn,.legacy-shell button:not(.menu-button):not(.drawer-close),.legacy-shell .primary-btn,.legacy-shell .answer-btn,.nav-cta{
  box-shadow:0 13px 32px rgba(48,34,80,.20),inset 0 1px 0 rgba(255,255,255,.58),inset 0 -1px 0 rgba(0,0,0,.08)!important;
}
@media (hover:hover){
  .legacy-shell .card:hover,.legacy-shell .quiz-card:hover,.legacy-shell .game-card:hover,.legacy-shell .story-card:hover,.legacy-shell .module-card:hover,.legacy-shell .panel:hover,.legacy-shell .join:hover,.legacy-shell article.card:hover,.legacy-shell .choice-card:hover,.value-card:hover,.change-grid article:hover,.volunteer-card:hover{
    transform:translateY(-6px) scale(1.008);
    box-shadow:0 34px 82px rgba(55,37,94,.23),0 10px 28px rgba(55,37,94,.12),inset 0 1px 0 #fff,var(--glass-glow)!important;
  }
}
@media(max-width:760px){
  .legacy-shell .card,.legacy-shell .quiz-card,.legacy-shell .game-card,.legacy-shell .story-card,.legacy-shell .module-card,.legacy-shell .panel,.legacy-shell .join,.legacy-shell article.card,.legacy-shell .choice-card,.about-hero-modern,.about-statement,.about-values,.about-change,.about-goal,.value-card,.change-grid article,.join-panel,.resource-card,.volunteer-card,.volunteer-panel{
    background:linear-gradient(135deg,rgba(255,255,255,.72),rgba(255,255,255,.45))!important;
    -webkit-backdrop-filter:blur(18px) saturate(145%)!important;
    backdrop-filter:blur(18px) saturate(145%)!important;
    box-shadow:0 18px 46px rgba(55,37,94,.16),0 5px 14px rgba(55,37,94,.08),inset 0 1px 0 #fff!important;
  }
}

/* v45 — contact form: remove the extra glass panel behind the fields */
.join-form-section .next-form{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
  padding:0!important;
  border-radius:0!important;
}

.join-form-section .next-form::before,
.join-form-section .next-form::after{
  content:none!important;
  display:none!important;
}

.join-form-section .next-form input,
.join-form-section .next-form select,
.join-form-section .next-form textarea{
  background:rgba(255,255,255,.48)!important;
  border:1px solid rgba(31,24,51,.28)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72),0 6px 18px rgba(55,37,94,.06)!important;
  -webkit-backdrop-filter:blur(12px) saturate(120%);
  backdrop-filter:blur(12px) saturate(120%);
  outline:none;
}

.join-form-section .next-form input:focus,
.join-form-section .next-form select:focus,
.join-form-section .next-form textarea:focus{
  border-color:rgba(109,54,232,.72)!important;
  box-shadow:0 0 0 3px rgba(109,54,232,.12),inset 0 1px 0 rgba(255,255,255,.82)!important;
}

/* v46 — desktop repair: Volunteers + Contact only */
@media (min-width: 901px){
  /* Shared page width and calmer desktop hero */
  .next-page > .page-intro.page-intro-activities,
  .next-page > .page-intro.join-intro{
    min-height:620px!important;
    padding:150px max(5vw,48px) 76px!important;
  }
  .page-intro-activities > *,
  .join-intro > *{
    width:min(100%,1180px)!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .page-intro-activities h1,
  .join-intro h1{
    font-size:clamp(4.5rem,6.7vw,7.4rem)!important;
    max-width:1080px!important;
  }
  .page-intro-activities > p:last-child,
  .join-intro > p:last-child{
    max-width:760px!important;
  }

  /* Volunteers */
  .activities-audience{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    max-width:1240px!important;
    margin:72px auto!important;
    border:1px solid var(--ink,#171717)!important;
    background:var(--ink,#171717)!important;
    gap:1px!important;
  }
  .activities-audience .activity-card{
    min-height:320px!important;
    border:0!important;
    padding:46px!important;
  }
  .activities-audience .activity-card h2{
    font-size:clamp(2rem,2.8vw,3.25rem)!important;
    margin:0 0 20px!important;
  }
  .activities-audience .activity-card p{
    max-width:560px!important;
  }
  .activity-offer{
    padding:100px max(5vw,48px)!important;
  }
  .activity-offer > *{
    max-width:1180px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .activity-offer-head{
    grid-template-columns:240px minmax(0,1fr)!important;
    gap:56px!important;
    align-items:start!important;
  }
  .activity-offer-head h2{
    font-size:clamp(3.3rem,4.8vw,5.7rem)!important;
  }
  .activity-offer-row{
    grid-template-columns:40px minmax(220px,.55fr) minmax(0,1fr)!important;
    gap:30px!important;
    padding:28px 0!important;
  }
  .activities-cta{
    padding:100px max(5vw,48px)!important;
  }
  .activities-cta > *{
    max-width:1180px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .activities-cta h2{
    font-size:clamp(3.5rem,5.2vw,6rem)!important;
  }

  /* Contact */
  .join-options{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    max-width:1240px!important;
    margin:72px auto 0!important;
    border:1px solid var(--ink,#171717)!important;
    background:var(--ink,#171717)!important;
    gap:1px!important;
  }
  .join-options article{
    min-height:300px!important;
    border:0!important;
    padding:44px!important;
  }
  .join-options h2{
    margin:12px 0 18px!important;
    font-size:clamp(2.1rem,3vw,3.35rem)!important;
  }
  .join-form-section{
    max-width:1240px!important;
    margin:0 auto!important;
    padding:110px 0!important;
    grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr)!important;
    gap:72px!important;
    align-items:start!important;
  }
  .join-form-copy{
    position:sticky!important;
    top:130px!important;
  }
  .join-form-copy h2{
    font-size:clamp(2.9rem,4.1vw,4.8rem)!important;
  }
  .join-form-section .next-form{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:20px!important;
    min-width:0!important;
  }
  .join-form-section .next-form label{
    min-width:0!important;
  }
  .join-form-section .next-form label:nth-of-type(3),
  .join-form-section .next-form label:nth-of-type(4),
  .join-form-section .next-form button,
  .join-form-section .contact-inline-status{
    grid-column:1/-1!important;
  }
  .join-form-section .next-form input,
  .join-form-section .next-form select,
  .join-form-section .next-form textarea{
    box-sizing:border-box!important;
    min-width:0!important;
  }
  .compact-finale{
    min-height:520px!important;
    padding-left:max(5vw,48px)!important;
    padding-right:max(5vw,48px)!important;
  }
}

@media (min-width:901px) and (max-width:1320px){
  .activities-audience,
  .join-options,
  .join-form-section{
    width:calc(100% - 64px)!important;
  }
}

/* Desktop equal-height information boxes — Volunteers & Contact */
@media (min-width:901px){
  .activities-audience,
  .join-options{
    align-items:stretch!important;
    grid-auto-rows:1fr!important;
  }

  .activities-audience .activity-card,
  .join-options article{
    height:100%!important;
    min-height:0!important;
    box-sizing:border-box!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:flex-start!important;
  }

  .activities-audience .activity-card > div{
    height:100%!important;
    display:flex!important;
    flex-direction:column!important;
  }

  .activities-audience .activity-card p,
  .join-options article p{
    margin-bottom:0!important;
  }

  .activities-audience .activity-card h2,
  .join-options article h2{
    min-height:2.05em!important;
    display:flex!important;
    align-items:flex-end!important;
  }
}

/* v47 — Premium desktop presentation for the Volunteers page */
@media (min-width: 901px){
  .page-intro-activities + .activities-audience{
    width:min(1240px,calc(100% - 64px))!important;
    max-width:1240px!important;
    margin:84px auto 104px!important;
    padding:0!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-auto-rows:1fr!important;
    gap:18px!important;
    border:0!important;
    background:transparent!important;
    overflow:visible!important;
  }

  .page-intro-activities + .activities-audience .activity-card{
    position:relative!important;
    min-height:270px!important;
    height:100%!important;
    padding:0!important;
    border:1px solid rgba(23,23,23,.16)!important;
    border-radius:28px!important;
    overflow:hidden!important;
    box-shadow:0 18px 46px rgba(31,24,51,.08)!important;
    transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease!important;
  }

  .page-intro-activities + .activities-audience .activity-card:hover{
    transform:translateY(-5px)!important;
    box-shadow:0 28px 64px rgba(31,24,51,.14)!important;
    border-color:rgba(23,23,23,.28)!important;
  }

  .page-intro-activities + .activities-audience .activity-card > div{
    width:100%!important;
    min-height:270px!important;
    height:100%!important;
    padding:42px 42px 40px!important;
    box-sizing:border-box!important;
    display:grid!important;
    grid-template-columns:minmax(180px,.82fr) minmax(0,1.18fr)!important;
    gap:36px!important;
    align-items:center!important;
  }

  .page-intro-activities + .activities-audience .activity-card h2{
    min-height:0!important;
    margin:0!important;
    padding:0 26px 0 0!important;
    display:block!important;
    align-self:center!important;
    font:700 clamp(2rem,2.55vw,3.05rem)/.98 "Space Grotesk",sans-serif!important;
    letter-spacing:-.05em!important;
    border-right:1px solid rgba(23,23,23,.22)!important;
  }

  .page-intro-activities + .activities-audience .activity-card p{
    max-width:none!important;
    margin:0!important;
    align-self:center!important;
    color:rgba(23,23,23,.72)!important;
    font-size:1rem!important;
    line-height:1.72!important;
  }

  .page-intro-activities + .activities-audience .activity-card::before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:6px;
    background:rgba(23,23,23,.78);
  }

  .page-intro-activities + .activities-audience .activity-card::after{
    position:absolute;
    right:24px;
    top:18px;
    font:700 .72rem/1 "Space Grotesk",sans-serif;
    letter-spacing:.14em;
    color:rgba(23,23,23,.42);
  }
  .page-intro-activities + .activities-audience .activity-card:nth-child(1)::after{content:"01";}
  .page-intro-activities + .activities-audience .activity-card:nth-child(2)::after{content:"02";}
  .page-intro-activities + .activities-audience .activity-card:nth-child(3)::after{content:"03";}
  .page-intro-activities + .activities-audience .activity-card:nth-child(4)::after{content:"04";}

  .page-intro-activities + .activities-audience .activity-card:nth-child(1){background:linear-gradient(135deg,#f4ff6a 0%,#f8ffc0 100%)!important;}
  .page-intro-activities + .activities-audience .activity-card:nth-child(2){background:linear-gradient(135deg,#ffffff 0%,#f4f0ff 100%)!important;}
  .page-intro-activities + .activities-audience .activity-card:nth-child(3){background:linear-gradient(135deg,#ff806f 0%,#ffc2b9 100%)!important;}
  .page-intro-activities + .activities-audience .activity-card:nth-child(4){background:linear-gradient(135deg,#dff7e6 0%,#f2fff6 100%)!important;}
}

@media (min-width:901px) and (max-width:1120px){
  .page-intro-activities + .activities-audience{
    grid-template-columns:1fr!important;
    width:calc(100% - 56px)!important;
  }
  .page-intro-activities + .activities-audience .activity-card > div{
    grid-template-columns:minmax(210px,.72fr) minmax(0,1.28fr)!important;
  }
}


/* v48 — contact text visibility + unified language controls */
.language-links-desktop{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:6px!important;
  justify-self:end!important;
  min-width:max-content!important;
  white-space:nowrap!important;
}
.language-links-desktop .site-language-link{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:34px!important;
  min-width:34px!important;
  height:30px!important;
  flex:0 0 34px!important;
  margin:0!important;
  padding:0!important;
  border:1px solid rgba(31,24,51,.28)!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.52)!important;
  color:#1f1833!important;
  font-size:.68rem!important;
  font-weight:800!important;
  line-height:1!important;
  letter-spacing:.02em!important;
  text-decoration:none!important;
  box-sizing:border-box!important;
}
.language-links-desktop .site-language-link[aria-current="true"]{
  background:#2f1b54!important;
  color:#fff!important;
  border-color:#2f1b54!important;
}
@media(min-width:981px){
  .masthead{
    grid-template-columns:minmax(150px,1fr) auto auto auto!important;
    column-gap:14px!important;
  }
  .masthead .nav{justify-self:center!important;}
  .masthead .nav-cta{justify-self:end!important;}
}
@media(max-width:980px){
  .language-links-desktop{display:none!important;}
}

/* Keep every visible Contact-page text above decorative glass layers. */
.join-intro > *,
.join-options article > *,
.join-form-section > *,
.join-form-copy > *,
.next-form > *{
  position:relative!important;
  z-index:2!important;
}
.join-intro,
.join-options article,
.join-form-copy,
.join-form-copy h2,
.join-form-copy p,
.join-form-copy a,
.join-options h2,
.join-options p,
.next-form label,
.next-form label span,
.next-form input,
.next-form select,
.next-form textarea,
.next-form button{
  visibility:visible!important;
  opacity:1!important;
}
.join-intro,
.join-intro h1,
.join-intro p,
.join-intro .kicker,
.join-options article,
.join-options h2,
.join-options p,
.join-form-copy,
.join-form-copy h2,
.join-form-copy p,
.join-form-copy a,
.next-form label,
.next-form label span{
  color:#171717!important;
  text-shadow:none!important;
}
.next-form input,
.next-form select,
.next-form textarea{
  color:#171717!important;
  -webkit-text-fill-color:#171717!important;
}
.next-form input::placeholder,
.next-form textarea::placeholder{
  color:rgba(23,23,23,.52)!important;
  opacity:1!important;
}
.next-form select option{
  color:#171717!important;
  background:#fff!important;
}
.next-form button{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
@media(min-width:901px){
  .join-options article{
    overflow:visible!important;
  }
  .join-options article h2{
    min-height:0!important;
    display:block!important;
    align-items:initial!important;
  }
}


/* v47 — homepage brand logo blended into the layout */
.opening-stage-logo{
  position:relative;
  isolation:isolate;
  width:min(100%,640px);
  padding:clamp(8px,1.5vw,20px);
  overflow:visible;
}
.opening-stage-logo::before{
  content:"";
  display:block;
  position:absolute;
  inset:7% 5%;
  z-index:-1;
  border-radius:50%;
  background:
    radial-gradient(circle at 22% 48%,rgba(211,238,0,.17),transparent 38%),
    radial-gradient(circle at 78% 45%,rgba(119,45,235,.14),transparent 42%);
  filter:blur(34px);
}
.opening-stage-logo .opening-logo-image{
  width:100%;
  max-width:620px;
  margin-inline:auto;
  opacity:.98;
  filter:saturate(1.04) contrast(1.02);
  -webkit-mask-image:radial-gradient(ellipse 48% 49% at 50% 50%,#000 68%,rgba(0,0,0,.92) 78%,transparent 100%);
  mask-image:radial-gradient(ellipse 48% 49% at 50% 50%,#000 68%,rgba(0,0,0,.92) 78%,transparent 100%);
}
@media (max-width:980px){
  .opening-stage-logo{justify-self:center;width:min(100%,600px);padding:0}
}
@media (max-width:640px){
  .opening-stage-logo{width:calc(100% + 18px);margin-inline:-9px;padding:0}
  .opening-stage-logo::before{inset:12% 4%;filter:blur(24px)}
  .opening-stage-logo .opening-logo-image{
    max-width:none;
    -webkit-mask-image:radial-gradient(ellipse 49% 49% at 50% 50%,#000 66%,rgba(0,0,0,.9) 79%,transparent 100%);
    mask-image:radial-gradient(ellipse 49% 49% at 50% 50%,#000 66%,rgba(0,0,0,.9) 79%,transparent 100%);
  }
}

/* Gotinoe — calm premium scroll reveal */
.reveal-motion-ready .reveal-motion-item {
  opacity: 0;
  transform: translate3d(0, 30px, 0) scale(.985);
  filter: blur(5px);
  transition:
    opacity .72s cubic-bezier(.22,1,.36,1),
    transform .78s cubic-bezier(.22,1,.36,1),
    filter .62s ease;
  transition-delay: var(--reveal-delay, 0ms);
  will-change: opacity, transform, filter;
}
.reveal-motion-ready .reveal-motion-item.is-revealed {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
  filter: blur(0);
}

@media (hover:hover) and (pointer:fine) {
  .reveal-motion-item.is-revealed:is(
    article,
    .activity-offer-row,
    .detail-box,
    .experience,
    .program-link,
    .join-form-section,
    .next-form
  ) {
    transition:
      opacity .72s cubic-bezier(.22,1,.36,1),
      transform .28s cubic-bezier(.22,1,.36,1),
      filter .62s ease,
      box-shadow .28s ease,
      border-color .28s ease;
  }
  .reveal-motion-item.is-revealed:is(
    article,
    .activity-offer-row,
    .detail-box,
    .experience,
    .program-link
  ):hover {
    transform: translate3d(0, -6px, 0);
  }
}

@media (max-width: 700px) {
  .reveal-motion-ready .reveal-motion-item {
    transform: translate3d(0, 18px, 0) scale(.992);
    filter: blur(3px);
    transition-duration: .56s, .62s, .48s;
  }
}

@media (prefers-reduced-motion: reduce) {
  .reveal-motion-ready .reveal-motion-item,
  .reveal-motion-ready .reveal-motion-item.is-revealed {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    transition: none !important;
  }
}

/* v49 — blended brand logo on every inner-page hero */
.page-brand-watermark{
  position:absolute;
  z-index:0;
  right:clamp(18px,5vw,82px);
  top:50%;
  width:clamp(210px,25vw,390px);
  aspect-ratio:1;
  transform:translateY(-50%);
  pointer-events:none;
  user-select:none;
  opacity:.17;
  filter:saturate(1.08) contrast(.98);
  -webkit-mask-image:radial-gradient(circle at center,#000 43%,rgba(0,0,0,.86) 61%,transparent 78%);
  mask-image:radial-gradient(circle at center,#000 43%,rgba(0,0,0,.86) 61%,transparent 78%);
}
.page-brand-watermark::before{
  content:"";
  position:absolute;
  inset:10%;
  border-radius:50%;
  background:radial-gradient(circle,rgba(137,67,255,.16),rgba(221,255,0,.08) 44%,transparent 72%);
  filter:blur(24px);
}
.page-brand-watermark img{
  position:relative;
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  mix-blend-mode:multiply;
}
.page-brand-host{
  position:relative!important;
  isolation:isolate;
  overflow:hidden;
}
.page-brand-host > :not(.page-brand-watermark){position:relative;z-index:1}

@media (min-width:981px){
  .page-brand-host{padding-right:clamp(260px,29vw,430px)!important}
  .why-hero.page-brand-host,
  .challenge-hero.page-brand-host,
  .hero.page-brand-host,
  .page-hero.page-brand-host{min-height:clamp(360px,44vw,590px)}
}

@media (max-width:980px){
  /* Inner-page brand mark is desktop-only. The homepage keeps its own blended logo. */
  .page-brand-watermark{display:none!important}
  .page-brand-host{padding-right:clamp(18px,5vw,34px)!important}
}

/* v51 — partner logo alignment, contact card visibility, crisp reveal */
@media (min-width:981px){
  /* Volunteers: keep the brand mark beside the copy, never behind the heading. */
  .page-intro-activities.page-brand-host{
    padding-right:clamp(350px,31vw,500px)!important;
  }
  .page-intro-activities .page-brand-watermark{
    right:clamp(42px,7vw,120px)!important;
    top:52%!important;
    width:clamp(250px,24vw,370px)!important;
    opacity:.17!important;
  }
  .page-intro-activities.page-brand-host h1,
  .page-intro-activities.page-brand-host > p{
    max-width:760px!important;
    margin-left:0!important;
    margin-right:0!important;
  }
}

/* Contact cards: the first card must not inherit the dark grid background. */
.join-options article:nth-child(1){
  background:linear-gradient(135deg,#ffffff 0%,#f3efff 100%)!important;
}
.join-options article:nth-child(2){
  background:linear-gradient(135deg,#f4ff6a 0%,#f8ffc0 100%)!important;
}
.join-options article:nth-child(3){
  background:linear-gradient(135deg,#a98cff 0%,#d2c4ff 100%)!important;
}
.join-options article h2{
  color:#2f1b54!important;
  -webkit-text-fill-color:#2f1b54!important;
}
.join-options article p,
.join-options article span{
  color:#2d2940!important;
  -webkit-text-fill-color:#2d2940!important;
}

/* Scroll reveal without the irritating temporary blur. */
.reveal-motion-ready .reveal-motion-item,
.reveal-motion-ready .reveal-motion-item.is-revealed{
  filter:none!important;
  will-change:opacity,transform!important;
}
.reveal-motion-ready .reveal-motion-item{
  transition-property:opacity,transform!important;
}
@media (hover:hover) and (pointer:fine){
  .reveal-motion-item.is-revealed:is(
    article,
    .activity-offer-row,
    .detail-box,
    .experience,
    .program-link,
    .join-form-section,
    .next-form
  ){
    transition-property:opacity,transform,box-shadow,border-color!important;
  }
}

/* v53 — complete, crisp reveal coverage across the homepage and all pages */
.reveal-motion-ready .reveal-motion-item{
  opacity:0;
  transform:translate3d(0,22px,0) scale(.992);
  filter:none!important;
  transition:opacity .62s cubic-bezier(.22,1,.36,1), transform .68s cubic-bezier(.22,1,.36,1)!important;
  transition-delay:var(--reveal-delay,0ms)!important;
  will-change:opacity,transform!important;
}
.reveal-motion-ready .reveal-motion-item.is-revealed{
  opacity:1;
  transform:translate3d(0,0,0) scale(1);
  filter:none!important;
}
@media (max-width:700px){
  .reveal-motion-ready .reveal-motion-item{
    transform:translate3d(0,14px,0) scale(.996);
    transition-duration:.52s,.58s!important;
  }
}


/* v54 — Contact/Join desktop brand matches all inner pages */
.page-contact .brand-reveal{
  display:none!important;
}
@media (min-width:981px){
  .join-intro.page-brand-host{
    min-height:clamp(520px,42vw,620px)!important;
    padding-right:clamp(350px,31vw,500px)!important;
  }
  .join-intro .page-brand-watermark{
    right:clamp(42px,7vw,120px)!important;
    top:52%!important;
    width:clamp(250px,24vw,370px)!important;
    opacity:.17!important;
    transform:translateY(-50%)!important;
  }
  .join-intro.page-brand-host h1,
  .join-intro.page-brand-host > p{
    max-width:760px!important;
    margin-left:0!important;
    margin-right:0!important;
  }
}
@media (max-width:980px){
  .page-contact .page-brand-watermark{display:none!important}
}


/* v55 — stable right-side logo in Contact/Join hero */
@media (min-width:981px){
  .page-contact .join-intro.page-brand-host{
    position:relative!important;
    isolation:isolate!important;
    overflow:hidden!important;
    min-height:clamp(430px,38vw,560px)!important;
    padding-right:clamp(340px,31vw,480px)!important;
  }
  .page-contact .join-intro > .contact-page-brand{
    position:absolute!important;
    display:block!important;
    z-index:0!important;
    right:clamp(36px,6vw,104px)!important;
    left:auto!important;
    top:50%!important;
    bottom:auto!important;
    width:clamp(245px,24vw,365px)!important;
    height:auto!important;
    aspect-ratio:1/1!important;
    margin:0!important;
    padding:0!important;
    transform:translateY(-50%)!important;
    opacity:.17!important;
    pointer-events:none!important;
  }
  .page-contact .join-intro > :not(.contact-page-brand){
    position:relative!important;
    z-index:1!important;
  }
  .page-contact .join-intro > .contact-page-brand img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
  }
}
@media (max-width:980px){
  .page-contact .join-intro > .contact-page-brand{display:none!important}
}
