:root {
  --max: 1180px;
  --pad: clamp(20px, 4vw, 52px);
  --radius: 24px;
  --shadow: 0 20px 60px rgba(0,0,0,.13);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 90px; }
body { margin: 0; min-width: 320px; font-size: 16px; line-height: 1.6; overflow-x: hidden; }
body.dialog-open { overflow: hidden; }
img { display: block; width: 100%; }
a { color: inherit; }
button, input { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
.wrap { width: min(var(--max), calc(100% - (var(--pad) * 2))); margin-inline: auto; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip { position: fixed; z-index: 200; top: 12px; left: 12px; padding: 10px 14px; transform: translateY(-160%); }
.skip:focus { transform: translateY(0); }

.topbar { position: sticky; z-index: 100; top: 0; border-bottom: 1px solid var(--line); background: color-mix(in srgb, var(--surface) 92%, transparent); backdrop-filter: blur(18px); }
.topbar__inner { min-height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.logo { display: inline-flex; align-items: center; gap: 12px; color: var(--text); font-family: var(--display); font-weight: 800; letter-spacing: -.03em; line-height: 1; text-decoration: none; }
.logo__mark { width: 42px; height: 42px; display: grid; place-items: center; flex: 0 0 auto; color: var(--mark-text); background: var(--accent); border: var(--mark-border); border-radius: var(--mark-radius); box-shadow: var(--mark-shadow); font-weight: 900; }
.logo__text span { display: block; color: var(--muted); margin-top: 6px; font-family: var(--body); font-size: .66rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.navlinks { display: flex; align-items: center; gap: clamp(18px, 3vw, 38px); }
.navlinks a { color: var(--text); font-size: .86rem; font-weight: 800; letter-spacing: .02em; text-decoration: none; }
.navlinks .nav-cta { padding: 11px 16px; color: var(--button-text); background: var(--accent); border: 2px solid var(--button-border); border-radius: var(--button-radius); box-shadow: var(--button-shadow-small); }
.menu { display: none; width: 46px; height: 42px; padding: 9px; color: var(--text); background: var(--surface); border: 2px solid var(--text); border-radius: 10px; }
.menu i { display: block; height: 3px; margin: 4px 0; background: currentColor; }

.hero { position: relative; isolation: isolate; overflow: hidden; }
.hero__grid { min-height: 700px; display: grid; grid-template-columns: minmax(0,1.08fr) minmax(380px,.92fr); align-items: center; gap: clamp(44px, 7vw, 100px); padding-block: clamp(72px, 9vw, 125px); }
.hero__copy { position: relative; z-index: 2; }
.eyebrow, .section-label { margin: 0 0 20px; color: var(--accent-strong); font-size: .76rem; font-weight: 900; letter-spacing: .15em; text-transform: uppercase; }
.eyebrow { display: inline-flex; align-items: center; gap: 10px; padding: 7px 12px; color: var(--eyebrow-text); background: var(--eyebrow-bg); border: var(--eyebrow-border); border-radius: var(--eyebrow-radius); box-shadow: var(--eyebrow-shadow); }
h1, h2, h3, p { overflow-wrap: break-word; }
h1, h2, h3 { margin-top: 0; font-family: var(--display); line-height: 1.08; }
h1 { max-width: 780px; margin-bottom: 26px; color: var(--text); font-size: clamp(3.15rem, 6.1vw, 6.25rem); letter-spacing: -.07em; }
h1 em { color: var(--accent-strong); font-style: normal; }
.hero__lead { max-width: 650px; margin: 0 0 34px; color: var(--muted); font-size: clamp(1.08rem, 1.7vw, 1.28rem); line-height: 1.65; }
.hero__lead strong { color: var(--text); }
.actions { display: flex; flex-wrap: wrap; gap: 14px; }
.button { min-height: 54px; display: inline-flex; align-items: center; justify-content: center; padding: 14px 21px; color: var(--button-text); background: var(--accent); border: 2px solid var(--button-border); border-radius: var(--button-radius); box-shadow: var(--button-shadow); font-weight: 900; text-align: center; text-decoration: none; transition: transform .18s ease, box-shadow .18s ease; }
.button:hover, .button:focus-visible { transform: translateY(-3px); box-shadow: var(--button-shadow-hover); }
.button--secondary { color: var(--text); background: var(--surface); }
.fineprint { margin-top: 17px; color: var(--muted); font-size: .82rem; font-weight: 700; }

.hero-media { position: relative; }
.hero-card { position: relative; overflow: hidden; color: white; background: var(--dark); border: var(--media-border); border-radius: var(--media-radius); box-shadow: var(--hero-shadow); transform: var(--hero-card-transform); }
.hero-card::before { content: ""; display: block; padding-top: 75%; }
.hero-card img { position: absolute; inset: 0; height: 100%; object-fit: cover; }
.hero-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(0,0,0,.82), rgba(0,0,0,.05) 68%); }
.play-button { position: absolute; z-index: 3; top: 50%; left: 50%; width: 78px; height: 78px; display: grid; place-items: center; color: var(--play-text); background: var(--play-bg); border: var(--play-border); border-radius: var(--play-radius); box-shadow: var(--play-shadow); transform: translate(-50%,-50%); cursor: pointer; }
.play-button::after { content: ""; margin-left: 5px; border-top: 12px solid transparent; border-bottom: 12px solid transparent; border-left: 19px solid currentColor; }
.hero-card__caption { position: absolute; z-index: 4; right: 24px; bottom: 22px; left: 24px; }
.hero-card__caption small { display: block; margin-bottom: 7px; color: var(--caption-accent); font-size: .72rem; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }
.hero-card__caption strong { display: block; font-family: var(--display); font-size: clamp(1.35rem, 2.5vw, 2.1rem); line-height: 1.15; }
.float-note { position: absolute; z-index: 5; padding: 13px 16px; color: var(--float-text); background: var(--float-bg); border: var(--float-border); border-radius: var(--float-radius); box-shadow: var(--float-shadow); font-size: .82rem; font-weight: 900; line-height: 1.35; }
.float-note--one { top: -24px; right: -20px; }
.float-note--two { bottom: 54px; left: -42px; }

.proofbar { color: var(--proof-text); background: var(--proof-bg); border-block: var(--proof-border); }
.proofbar__inner { min-height: 116px; display: grid; grid-template-columns: repeat(4,1fr); align-items: center; gap: 22px; padding-block: 22px; }
.proof-stat { padding-left: 22px; border-left: 2px solid var(--proof-line); }
.proof-stat strong { display: block; color: var(--proof-strong); font-family: var(--display); font-size: clamp(1.45rem, 2.8vw, 2.25rem); line-height: 1.1; }
.proof-stat span { display: block; margin-top: 6px; font-size: .8rem; font-weight: 800; }

.section { position: relative; padding-block: clamp(78px, 9vw, 130px); }
.section-heading { max-width: 820px; margin-bottom: 46px; }
.section-heading--center { margin-inline: auto; text-align: center; }
.section h2 { margin-bottom: 20px; color: var(--text); font-size: clamp(2.35rem, 5vw, 4.9rem); letter-spacing: -.055em; }
.section-heading p { max-width: 680px; margin: 0; color: var(--muted); font-size: 1.08rem; }
.section-heading--center p { margin-inline: auto; }

.day-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.day-card { position: relative; min-height: 380px; padding: clamp(28px, 4vw, 50px); overflow: hidden; color: var(--day-text); background: var(--day-bg); border: var(--card-border); border-radius: var(--card-radius); box-shadow: var(--card-shadow); }
.day-card:nth-child(2) { color: var(--day2-text); background: var(--day2-bg); }
.day-number { position: absolute; top: 18px; right: 26px; color: var(--day-number); font-family: var(--display); font-size: clamp(5rem, 10vw, 9rem); font-weight: 900; line-height: 1; opacity: .13; }
.day-card small { display: block; margin-bottom: 25px; color: var(--day-accent); font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.day-card h3 { max-width: 560px; margin-bottom: 20px; font-size: clamp(2rem, 4vw, 3.7rem); letter-spacing: -.05em; }
.day-card p { max-width: 580px; margin: 0 0 22px; }
.checklist { display: grid; gap: 11px; margin: 0; padding: 0; list-style: none; }
.checklist li { position: relative; padding-left: 27px; font-weight: 750; }
.checklist li::before { content: var(--check); position: absolute; left: 0; color: var(--day-accent); font-weight: 900; }

.outcome-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.outcome { padding: 27px; background: var(--card-bg); border: var(--card-border); border-radius: var(--card-radius); box-shadow: var(--small-shadow); }
.outcome__icon { width: 44px; height: 44px; display: grid; place-items: center; margin-bottom: 22px; color: var(--icon-text); background: var(--icon-bg); border: var(--icon-border); border-radius: var(--icon-radius); font-weight: 900; }
.outcome h3 { margin-bottom: 12px; color: var(--text); font-size: 1.22rem; letter-spacing: -.03em; }
.outcome p { margin: 0; color: var(--muted); font-size: .94rem; }

.video-section { color: var(--video-text); background: var(--video-bg); }
.video-section h2 { color: var(--video-text); }
.video-section .section-label { color: var(--video-accent); }
.video-section .section-heading p { color: var(--video-muted); }
.video-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.video-card { position: relative; min-height: 260px; padding: 0; overflow: hidden; color: white; background: var(--video-card-bg); border: var(--video-card-border); border-radius: var(--video-card-radius); box-shadow: var(--video-card-shadow); text-align: left; cursor: pointer; }
.video-card--wide { grid-column: span 2; min-height: 410px; }
.video-card img { position: absolute; inset: 0; height: 100%; object-fit: cover; transition: transform .4s ease; }
.video-card:hover img { transform: scale(1.04); }
.video-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(0,0,0,.9), rgba(0,0,0,.08) 75%); }
.video-card__copy { position: absolute; z-index: 2; right: 20px; bottom: 20px; left: 20px; }
.video-card__copy small { display: block; margin-bottom: 7px; color: var(--video-accent); font-size: .7rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.video-card__copy strong { display: block; font-family: var(--display); font-size: 1.16rem; line-height: 1.28; }
.video-card--wide .video-card__copy strong { max-width: 630px; font-size: clamp(1.45rem, 3vw, 2.4rem); }
.mini-play { position: absolute; z-index: 3; top: 18px; right: 18px; width: 48px; height: 48px; display: grid; place-items: center; color: var(--play-text); background: var(--play-bg); border: var(--play-border); border-radius: var(--play-radius); box-shadow: var(--play-shadow); }
.mini-play::after { content: ""; margin-left: 3px; border-top: 7px solid transparent; border-bottom: 7px solid transparent; border-left: 11px solid currentColor; }

.parent-promise { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); align-items: center; gap: clamp(42px, 7vw, 100px); }
.promise-quote { margin: 0; color: var(--text); font-family: var(--display); font-size: clamp(2.2rem, 4.5vw, 4.5rem); line-height: 1.08; letter-spacing: -.055em; }
.promise-quote em { color: var(--accent-strong); font-style: normal; }
.promise-copy { padding: clamp(30px, 4vw, 48px); background: var(--card-bg); border: var(--card-border); border-radius: var(--card-radius); box-shadow: var(--card-shadow); }
.promise-copy p { margin-top: 0; color: var(--muted); }
.promise-copy strong { color: var(--text); }

.cta { text-align: center; }
.cta__inner { padding: clamp(48px, 7vw, 90px); color: var(--cta-text); background: var(--cta-bg); border: var(--cta-border); border-radius: var(--cta-radius); box-shadow: var(--cta-shadow); }
.cta h2 { max-width: 950px; margin: 0 auto 22px; color: var(--cta-text); }
.cta p { max-width: 680px; margin: 0 auto 30px; color: var(--cta-muted); font-size: 1.08rem; }
.cta .button { color: var(--cta-button-text); background: var(--cta-button-bg); }

.footer { color: var(--footer-text); background: var(--footer-bg); border-top: var(--footer-border); }
.footer__inner { min-height: 150px; display: grid; grid-template-columns: 1.2fr auto 1fr; align-items: center; gap: 30px; padding-block: 30px; }
.footer .logo { color: var(--footer-text); }
.footer nav { display: flex; gap: 24px; }
.footer nav a { font-size: .82rem; font-weight: 800; text-decoration: none; }
.footer__contact { margin: 0; text-align: right; }

dialog { width: min(960px, calc(100% - 28px)); padding: 0; overflow: visible; background: black; border: 0; border-radius: 18px; box-shadow: 0 30px 100px rgba(0,0,0,.55); }
dialog::backdrop { background: rgba(0,0,0,.82); backdrop-filter: blur(6px); }
.dialog__frame { position: relative; padding-top: 56.25%; overflow: hidden; border-radius: 18px; }
.dialog__frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.dialog__close { position: absolute; z-index: 2; top: -18px; right: -18px; width: 48px; height: 48px; color: white; background: #111; border: 3px solid white; border-radius: 50%; font-size: 1.35rem; cursor: pointer; }

[data-reveal] { opacity: 0; transform: translateY(18px); transition: opacity .55s ease, transform .55s ease; }
[data-reveal].visible { opacity: 1; transform: none; }

/* Concept 1 — Allowance to Ownership */
.theme-allowance {
  --text:#0b1738; --muted:#45506c; --surface:#fffef8; --line:#d9dce6; --dark:#071537;
  --accent:#ffdd36; --accent-strong:#ef3b2d; --body:"DM Sans",sans-serif; --display:"Archivo Black",sans-serif;
  --mark-text:#0b1738; --mark-border:3px solid #0b1738; --mark-radius:11px; --mark-shadow:4px 4px 0 #ef3b2d;
  --button-text:#0b1738; --button-border:#0b1738; --button-radius:12px; --button-shadow:5px 5px 0 #0b1738; --button-shadow-small:3px 3px 0 #0b1738; --button-shadow-hover:2px 2px 0 #0b1738;
  --eyebrow-text:#fff; --eyebrow-bg:#ef3b2d; --eyebrow-border:2px solid #0b1738; --eyebrow-radius:999px; --eyebrow-shadow:none;
  --media-border:4px solid #0b1738; --media-radius:30px; --hero-shadow:18px 18px 0 #ffdd36; --hero-card-transform:rotate(2deg);
  --play-text:#0b1738; --play-bg:#ffdd36; --play-border:3px solid #0b1738; --play-radius:50%; --play-shadow:4px 4px 0 #ef3b2d; --caption-accent:#ffdd36;
  --float-text:#0b1738; --float-bg:#fffef8; --float-border:3px solid #0b1738; --float-radius:12px; --float-shadow:5px 5px 0 #ef3b2d;
  --proof-text:#dbe4ff; --proof-strong:#ffdd36; --proof-bg:#0b1738; --proof-border:0; --proof-line:#4c5c84;
  --day-text:#fff; --day-bg:#0b1738; --day2-text:#0b1738; --day2-bg:#ffdd36; --day-number:#fff; --day-accent:#ffdd36; --check:"→";
  --card-bg:#fff; --card-border:2px solid #0b1738; --card-radius:18px; --card-shadow:7px 7px 0 #0b1738; --small-shadow:4px 4px 0 #d7dae6;
  --icon-text:#0b1738; --icon-bg:#ffdd36; --icon-border:2px solid #0b1738; --icon-radius:10px;
  --video-text:#fff; --video-muted:#bdc8e6; --video-bg:#0b1738; --video-accent:#ffdd36; --video-card-bg:#17264c; --video-card-border:2px solid #53638e; --video-card-radius:18px; --video-card-shadow:none;
  --cta-text:#0b1738; --cta-muted:#3d465d; --cta-bg:#ffdd36; --cta-border:4px solid #0b1738; --cta-radius:26px; --cta-shadow:12px 12px 0 #ef3b2d; --cta-button-text:#fff; --cta-button-bg:#ef3b2d;
  --footer-text:#fff; --footer-bg:#07112c; --footer-border:6px solid #ffdd36;
  font-family:var(--body); color:var(--text); background:#fffef8;
}
.theme-allowance .hero { background:radial-gradient(circle at 12% 18%,#fff4ae,transparent 27%),linear-gradient(135deg,#fffef8 54%,#d9f7f5 54%); }
.theme-allowance .hero::after { content:"$"; position:absolute; z-index:-1; top:12%; left:44%; color:#ffdd36; font-family:var(--display); font-size:18rem; opacity:.24; transform:rotate(12deg); }
.theme-allowance .day-card:nth-child(2) { --day-accent:#ef3b2d; --day-number:#0b1738; }

/* Concept 2 — Founder Quest */
.theme-quest {
  --text:#151226; --muted:#514b6d; --surface:#fff7d8; --line:#151226; --dark:#111126;
  --accent:#ffd83d; --accent-strong:#ff4159; --body:"Space Grotesk",sans-serif; --display:"Press Start 2P",monospace;
  --mark-text:#151226; --mark-border:4px solid #151226; --mark-radius:0; --mark-shadow:5px 5px 0 #ff4159;
  --button-text:#151226; --button-border:#151226; --button-radius:0; --button-shadow:7px 7px 0 #151226; --button-shadow-small:4px 4px 0 #151226; --button-shadow-hover:3px 3px 0 #151226;
  --eyebrow-text:#151226; --eyebrow-bg:#59e37c; --eyebrow-border:3px solid #151226; --eyebrow-radius:0; --eyebrow-shadow:5px 5px 0 #151226;
  --media-border:6px solid #151226; --media-radius:0; --hero-shadow:14px 14px 0 #ff4159; --hero-card-transform:none;
  --play-text:#151226; --play-bg:#ffd83d; --play-border:4px solid #151226; --play-radius:0; --play-shadow:5px 5px 0 #151226; --caption-accent:#ffd83d;
  --float-text:#151226; --float-bg:#fff7d8; --float-border:4px solid #151226; --float-radius:0; --float-shadow:6px 6px 0 #151226;
  --proof-text:#fff; --proof-strong:#ffd83d; --proof-bg:#151226; --proof-border:6px solid #ffd83d; --proof-line:#ff4159;
  --day-text:#151226; --day-bg:#59e37c; --day2-text:#151226; --day2-bg:#6bdcff; --day-number:#151226; --day-accent:#ff4159; --check:"+";
  --card-bg:#fff7d8; --card-border:4px solid #151226; --card-radius:0; --card-shadow:8px 8px 0 #151226; --small-shadow:5px 5px 0 #151226;
  --icon-text:#151226; --icon-bg:#ffd83d; --icon-border:3px solid #151226; --icon-radius:0;
  --video-text:#151226; --video-muted:#514b6d; --video-bg:#6bdcff; --video-accent:#ff4159; --video-card-bg:#151226; --video-card-border:5px solid #151226; --video-card-radius:0; --video-card-shadow:8px 8px 0 #ff4159;
  --cta-text:#fff; --cta-muted:#f3edff; --cta-bg:#7b4dff; --cta-border:6px solid #151226; --cta-radius:0; --cta-shadow:12px 12px 0 #151226; --cta-button-text:#151226; --cta-button-bg:#ffd83d;
  --footer-text:#fff7d8; --footer-bg:#151226; --footer-border:6px solid #ff4159;
  font-family:var(--body); color:var(--text); background:#fff7d8;
}
.theme-quest .topbar { border-bottom-width:4px; }
.theme-quest .logo { font-size:.9rem; line-height:1.45; }
.theme-quest h1 { font-size:clamp(2.15rem,4.6vw,4.5rem); line-height:1.35; letter-spacing:-.04em; }
.theme-quest .hero { background-color:#6bdcff; background-image:linear-gradient(rgba(255,255,255,.23) 2px,transparent 2px),linear-gradient(90deg,rgba(255,255,255,.23) 2px,transparent 2px); background-size:32px 32px; }
.theme-quest .hero::before,.theme-quest .hero::after { content:""; position:absolute; z-index:-1; bottom:-8px; width:44%; height:150px; background:#59e37c; border-top:6px solid #151226; }
.theme-quest .hero::before { left:0; clip-path:polygon(0 38%,20% 8%,38% 42%,58% 0,74% 44%,100% 16%,100% 100%,0 100%); }
.theme-quest .hero::after { right:0; clip-path:polygon(0 18%,24% 48%,48% 2%,68% 42%,84% 8%,100% 35%,100% 100%,0 100%); }
.theme-quest .section h2 { font-size:clamp(1.65rem,3.6vw,3.1rem); line-height:1.4; letter-spacing:-.035em; }
.theme-quest .day-card h3 { font-size:clamp(1.35rem,2.8vw,2.3rem); line-height:1.5; }
.theme-quest .video-card__copy strong,.theme-quest .outcome h3 { line-height:1.5; }

/* Concept 2 v2 — full side-scroller game world */
.theme-quest-v2 { --max:1240px; }
.theme-quest-v2 .quest-topbar { background:#fff7d8; box-shadow:inset 0 -4px 0 #151226; }
.theme-quest-v2 .quest-topbar .topbar__inner { min-height:82px; }
.theme-quest-v2 .navlinks a:not(.nav-cta) { position:relative; }
.theme-quest-v2 .navlinks a:not(.nav-cta)::after { content:""; position:absolute; right:0; bottom:-9px; left:0; height:4px; background:#ff4159; transform:scaleX(0); transform-origin:left; transition:transform .18s steps(2,end); }
.theme-quest-v2 .navlinks a:hover::after,.theme-quest-v2 .navlinks a:focus-visible::after { transform:scaleX(1); }

.quest-stage { position:relative; min-height:820px; isolation:isolate; overflow:hidden; color:#151226; background:#35bdf2; border-bottom:6px solid #151226; }
.quest-stage__art { position:absolute; z-index:-3; inset:0; width:100%; height:100%; object-fit:cover; object-position:center bottom; image-rendering:pixelated; }
.quest-stage__scrim { position:absolute; z-index:-2; inset:0; background:linear-gradient(90deg,rgba(255,247,216,.98) 0%,rgba(255,247,216,.93) 29%,rgba(255,247,216,.65) 45%,rgba(255,247,216,.08) 68%),linear-gradient(0deg,rgba(21,18,38,.78) 0%,rgba(21,18,38,0) 31%); }
.quest-hud { position:relative; z-index:2; display:grid; grid-template-columns:repeat(4,1fr); margin-top:22px; color:#fff; background:#151226; border:4px solid #fff7d8; box-shadow:7px 7px 0 #151226; }
.quest-hud div { min-width:0; padding:13px 18px 15px; border-right:3px solid #4f4969; }
.quest-hud div:last-child { border-right:0; }
.quest-hud small { display:block; margin-bottom:5px; color:#ffd83d; font:700 .75rem/1.2 var(--body); letter-spacing:.1em; text-transform:uppercase; }
.quest-hud strong { display:block; overflow:hidden; font:400 clamp(.7rem,1.1vw,.9rem)/1.55 var(--display); text-overflow:ellipsis; white-space:nowrap; }
.quest-hud div:last-child strong { color:#ff5c70; letter-spacing:.15em; }

.quest-stage__content { position:relative; z-index:2; min-height:665px; display:flex; align-items:flex-start; flex-direction:column; justify-content:center; padding:45px 0 155px; }
.quest-badge { display:inline-flex; margin:0 0 22px; padding:11px 15px; color:#151226; background:#59e37c; border:4px solid #151226; box-shadow:6px 6px 0 #151226; font:400 .76rem/1.45 var(--display); }
.quest-stage h1 { max-width:760px; margin:0 0 22px; color:#151226; font-size:clamp(2.3rem,4.8vw,4.8rem); line-height:1.24; letter-spacing:-.045em; text-shadow:4px 4px 0 #fff7d8; }
.quest-stage h1 span,.quest-stage h1 em { display:block; }
.quest-stage h1 span { color:#7b4dff; }
.quest-stage h1 em { color:#ff4159; font-style:normal; }
.quest-stage__lead { max-width:675px; margin:0 0 25px; padding:17px 19px; color:#151226; background:rgba(255,247,216,.93); border:4px solid #151226; box-shadow:6px 6px 0 #151226; font-size:1.08rem; font-weight:700; line-height:1.55; }
.quest-actions { display:flex; flex-wrap:wrap; gap:15px; }
.quest-button { min-height:58px; display:inline-flex; align-items:center; justify-content:center; gap:11px; padding:14px 19px; color:#151226; background:#ffd83d; border:4px solid #151226; border-radius:0; box-shadow:6px 6px 0 #151226; font:400 .88rem/1.5 var(--display); text-decoration:none; cursor:pointer; transition:transform .15s steps(2,end),box-shadow .15s steps(2,end); }
.quest-button--light { background:#fff7d8; }
.quest-button:hover,.quest-button:focus-visible { transform:translate(3px,3px); box-shadow:3px 3px 0 #151226; }
.quest-meta { display:flex; flex-wrap:wrap; gap:8px; margin-top:22px; }
.quest-meta span { padding:6px 10px; color:#fff; background:#151226; border:2px solid #fff7d8; font-size:.82rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }

.quest-progress { position:absolute; z-index:3; right:0; bottom:21px; left:0; display:grid; grid-template-columns:repeat(5,1fr); gap:8px; margin-inline:auto; padding:0; list-style:none; }
.quest-progress li { min-width:0; display:flex; align-items:center; gap:10px; padding:12px 13px; color:#fff; background:#151226; border:3px solid #fff7d8; box-shadow:4px 4px 0 #151226; }
.quest-progress li.is-active { color:#151226; background:#ffd83d; }
.quest-progress small { color:#59e37c; font-size:.76rem; font-weight:900; }
.quest-progress .is-active small { color:#ff4159; }
.quest-progress strong { overflow:hidden; font:400 clamp(.62rem,.85vw,.76rem)/1.4 var(--display); text-overflow:ellipsis; text-transform:uppercase; }

.quest-road { padding:24px 0; color:#fff; background:#151226; border-bottom:6px solid #ffd83d; }
.quest-road__inner { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.quest-road__inner strong,.quest-road__inner span { padding:8px 13px; border:3px solid #fff7d8; font:400 .72rem/1.4 var(--display); white-space:nowrap; }
.quest-road__inner span { color:#151226; background:#59e37c; }
.quest-road__inner span:last-child { background:#ffd83d; }
.quest-road__inner i { color:#ff4159; font:900 2rem/1 var(--body); }

.theme-quest-v2 .section h2 { font-size:clamp(2rem,4.2vw,3.75rem); line-height:1.35; }
.quest-map { background-color:#fff7d8; background-image:linear-gradient(rgba(107,220,255,.28) 2px,transparent 2px),linear-gradient(90deg,rgba(107,220,255,.28) 2px,transparent 2px); background-size:32px 32px; }
.quest-levels { gap:32px; }
.quest-level { padding-top:112px; border-width:5px; box-shadow:11px 11px 0 #151226; }
.quest-level__title { position:absolute; top:0; right:0; left:0; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:15px; min-height:72px; padding:13px 20px; color:#fff; background:#151226; border-bottom:5px solid #151226; }
.quest-level__title span,.quest-level__title i { color:#ffd83d; font-size:.76rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.quest-level__title strong { overflow:hidden; font:400 .9rem/1.5 var(--display); text-overflow:ellipsis; text-transform:uppercase; white-space:nowrap; }
.quest-level__title i { color:#fff; font-style:normal; }
.quest-level .day-number { top:89px; }
.quest-level>small { color:#151226; }
.quest-level .checklist { margin-bottom:25px; }
.quest-reward { display:flex; align-items:center; justify-content:space-between; gap:15px; margin:0; padding-top:18px; border-top:4px dashed #151226; font-weight:900; }
.quest-reward span { padding:6px 9px; color:#fff; background:#7b4dff; font-size:.72rem; letter-spacing:.07em; text-transform:uppercase; }
.quest-level:nth-child(2) .quest-reward span { background:#ff4159; }

.quest-inventory { background:#ffd83d; border-block:6px solid #151226; }
.inventory-window { overflow:hidden; background:#fff7d8; border:6px solid #151226; box-shadow:13px 13px 0 #ff4159; }
.inventory-window__bar { min-height:64px; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:15px 20px; color:#fff; background:#151226; border-bottom:6px solid #151226; }
.inventory-window__bar strong { font:400 .9rem/1.5 var(--display); text-transform:uppercase; }
.inventory-window__bar span { color:#ffd83d; font-size:.84rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.inventory-window .outcome-grid { padding:22px; }
.power-up { display:grid; grid-template-columns:52px 1fr; gap:17px; align-items:start; padding:22px; border-width:3px; box-shadow:4px 4px 0 #151226; }
.power-up .outcome__icon { width:52px; height:52px; margin:0; box-shadow:3px 3px 0 #ff4159; }
.power-up small { display:block; margin-bottom:7px; color:#7b4dff; font-size:.8rem; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }
.power-up h3 { margin-bottom:8px; }

.quest-players { color:#fff; background:#151226; background-image:linear-gradient(rgba(107,220,255,.09) 2px,transparent 2px),linear-gradient(90deg,rgba(107,220,255,.09) 2px,transparent 2px); background-size:32px 32px; }
.quest-players h2 { color:#fff; }
.quest-players .section-label { color:#ffd83d; }
.quest-players .section-heading p { color:#dcd7f2; }
.quest-players .video-card { border-color:#ffd83d; box-shadow:8px 8px 0 #ff4159; }
.quest-players .video-card:focus-visible { outline:5px solid #59e37c; outline-offset:5px; }

.quest-powerup { background:#fff7d8; }
.quest-powerup .promise-copy { border-width:5px; box-shadow:10px 10px 0 #151226; }
.quest-stats { display:grid; gap:14px; margin:25px 0; padding:20px; color:#fff; background:#151226; border:4px solid #151226; }
.quest-stats span { display:grid; grid-template-columns:145px 1fr; align-items:center; gap:14px; }
.quest-stats b { font-size:.82rem; letter-spacing:.04em; text-transform:uppercase; }
.quest-stats i { height:17px; background:linear-gradient(90deg,#59e37c var(--score),#4f4969 var(--score)); border:3px solid #fff7d8; }

.quest-finish { background:#6bdcff; background-image:linear-gradient(rgba(255,255,255,.24) 2px,transparent 2px),linear-gradient(90deg,rgba(255,255,255,.24) 2px,transparent 2px); background-size:32px 32px; }
.quest-finish .cta__inner { box-shadow:12px 12px 0 #151226; }
.quest-finish .cta__inner .section-label { color:#ffd83d; }
.quest-finish .button { gap:10px; font-family:var(--display); font-size:.78rem; line-height:1.5; }
.theme-quest-v2 .footer { border-top-color:#ffd83d; }

@media (max-width:980px) {
  .quest-stage { min-height:900px; }
  .quest-stage__art { object-position:60% bottom; }
  .quest-stage__scrim { background:linear-gradient(90deg,rgba(255,247,216,.97) 0%,rgba(255,247,216,.9) 45%,rgba(255,247,216,.35) 78%),linear-gradient(0deg,rgba(21,18,38,.82),transparent 34%); }
  .quest-hud { grid-template-columns:1fr 1fr; }
  .quest-hud div:nth-child(2) { border-right:0; }
  .quest-hud div:nth-child(-n+2) { border-bottom:3px solid #4f4969; }
  .quest-stage__content { min-height:715px; padding-bottom:185px; }
  .quest-stage h1 { max-width:680px; }
  .quest-road__inner { flex-wrap:wrap; justify-content:center; }
  .quest-road__inner i { display:none; }
}

@media (max-width:760px) {
  .theme-quest-v2 .quest-topbar .topbar__inner { min-height:72px; }
  .quest-stage { min-height:940px; }
  .quest-stage__art { object-position:63% bottom; }
  .quest-stage__scrim { background:linear-gradient(180deg,rgba(255,247,216,.98) 0%,rgba(255,247,216,.92) 52%,rgba(255,247,216,.2) 78%),linear-gradient(0deg,rgba(21,18,38,.85),transparent 35%); }
  .quest-hud { margin-top:16px; box-shadow:5px 5px 0 #151226; }
  .quest-hud div { padding:10px 11px 12px; }
  .quest-stage__content { min-height:730px; justify-content:flex-start; padding:45px 0 190px; }
  .quest-stage h1 { max-width:600px; font-size:clamp(1.9rem,8.7vw,3.2rem); line-height:1.35; }
  .quest-stage__lead { max-width:600px; font-size:1rem; }
  .quest-actions { width:100%; flex-direction:column; }
  .quest-button { width:100%; font-size:.76rem; }
  .quest-progress { grid-template-columns:repeat(5,1fr); gap:4px; bottom:14px; }
  .quest-progress li { min-height:70px; align-items:center; justify-content:center; flex-direction:column; gap:4px; padding:8px 3px; text-align:center; }
  .quest-progress strong { font-size:.55rem; }
  .quest-level__title { grid-template-columns:1fr auto; }
  .quest-level__title span { grid-column:1/-1; }
  .quest-level__title strong { font-size:.7rem; }
  .inventory-window__bar { align-items:flex-start; flex-direction:column; }
  .inventory-window .outcome-grid { padding:14px; }
  .power-up { grid-template-columns:45px 1fr; }
  .power-up .outcome__icon { width:45px; height:45px; }
  .quest-stats span { grid-template-columns:1fr; gap:7px; }
}

@media (max-width:520px) {
  .quest-hud strong { font-size:.59rem; }
  .quest-hud small { font-size:.66rem; }
  .quest-badge { font-size:.61rem; }
  .quest-meta span { font-size:.73rem; }
  .quest-road__inner strong,.quest-road__inner span { font-size:.59rem; }
  .quest-stage { min-height:970px; }
  .quest-stage__content { padding-top:34px; }
  .quest-progress strong { display:none; }
  .quest-progress li { min-height:52px; }
  .quest-level { padding-top:126px; }
  .quest-reward { align-items:flex-start; flex-direction:column; }
  .power-up { grid-template-columns:1fr; }
}

/* Concept 3 — The Compounding Gift */
.theme-gift {
  --text:#183b35; --muted:#566e69; --surface:#fffaf1; --line:#d8dfd8; --dark:#173a34;
  --accent:#e8b74b; --accent-strong:#d6523d; --body:"Manrope",sans-serif; --display:"Fraunces",serif;
  --mark-text:#fffaf1; --mark-border:0; --mark-radius:50%; --mark-shadow:none;
  --button-text:#fffaf1; --button-border:#183b35; --button-radius:999px; --button-shadow:none; --button-shadow-small:none; --button-shadow-hover:0 12px 30px rgba(24,59,53,.18);
  --eyebrow-text:#183b35; --eyebrow-bg:#f5dd9e; --eyebrow-border:0; --eyebrow-radius:999px; --eyebrow-shadow:none;
  --media-border:1px solid #ced7d0; --media-radius:160px 160px 28px 28px; --hero-shadow:0 28px 70px rgba(24,59,53,.18); --hero-card-transform:none;
  --play-text:#fffaf1; --play-bg:#d6523d; --play-border:6px solid #fffaf1; --play-radius:50%; --play-shadow:0 12px 30px rgba(24,59,53,.28); --caption-accent:#f5d883;
  --float-text:#183b35; --float-bg:#fffaf1; --float-border:1px solid #d6ddd8; --float-radius:18px; --float-shadow:0 16px 40px rgba(24,59,53,.15);
  --proof-text:#d9e7df; --proof-strong:#f5d883; --proof-bg:#183b35; --proof-border:0; --proof-line:#53726a;
  --day-text:#fffaf1; --day-bg:#183b35; --day2-text:#183b35; --day2-bg:#f3dc9d; --day-number:#fff; --day-accent:#f5d883; --check:"✓";
  --card-bg:#fffdf7; --card-border:1px solid #d5ded7; --card-radius:26px; --card-shadow:0 22px 55px rgba(24,59,53,.11); --small-shadow:0 13px 35px rgba(24,59,53,.08);
  --icon-text:#183b35; --icon-bg:#f3dc9d; --icon-border:0; --icon-radius:50%;
  --video-text:#fffaf1; --video-muted:#ccdad4; --video-bg:#183b35; --video-accent:#f5d883; --video-card-bg:#244942; --video-card-border:1px solid #52736b; --video-card-radius:26px; --video-card-shadow:none;
  --cta-text:#183b35; --cta-muted:#566e69; --cta-bg:#f3dc9d; --cta-border:1px solid #cba84e; --cta-radius:34px; --cta-shadow:0 28px 70px rgba(24,59,53,.13); --cta-button-text:#fffaf1; --cta-button-bg:#d6523d;
  --footer-text:#fffaf1; --footer-bg:#122f2a; --footer-border:0;
  font-family:var(--body); color:var(--text); background:#fffaf1;
}
.theme-gift .hero { background:radial-gradient(circle at 84% 16%,#f5dd9e 0 13%,transparent 13.5%),linear-gradient(115deg,#fffaf1 52%,#edf3ea 52%); }
.theme-gift .hero::before { content:""; position:absolute; top:0; bottom:0; left:50%; width:74px; background:rgba(214,82,61,.12); transform:translateX(-50%); }
.theme-gift h1 { font-weight:700; }
.theme-gift .day-card:nth-child(2) { --day-accent:#d6523d; --day-number:#183b35; }

@media (max-width: 980px) {
  .hero__grid { grid-template-columns:1fr; min-height:auto; }
  .hero__copy { max-width:800px; }
  .hero-media { width:min(680px,100%); }
  .proofbar__inner { grid-template-columns:repeat(2,1fr); }
  .outcome-grid { grid-template-columns:repeat(2,1fr); }
  .video-grid { grid-template-columns:repeat(2,1fr); }
  .video-card--wide { grid-column:span 2; }
  .parent-promise { grid-template-columns:1fr; }
  .footer__inner { grid-template-columns:1fr; }
  .footer__contact { text-align:left; }
}

@media (max-width: 760px) {
  :root { --pad:18px; }
  .topbar__inner { min-height:70px; }
  .logo__text { font-size:.86rem; }
  .menu { display:block; }
  .navlinks { position:absolute; top:calc(100% + 1px); right:0; left:0; display:none; align-items:stretch; flex-direction:column; gap:0; padding:12px var(--pad) 20px; background:var(--surface); border-bottom:2px solid var(--line); }
  .navlinks.open { display:flex; }
  .navlinks a { padding:15px 5px; border-bottom:1px solid var(--line); }
  .navlinks .nav-cta { margin-top:10px; text-align:center; }
  .hero__grid { gap:58px; padding-block:70px 90px; }
  h1 { font-size:clamp(2.6rem,13vw,4.2rem); }
  .actions { align-items:stretch; flex-direction:column; }
  .button { width:100%; }
  .float-note--one { top:-30px; right:-4px; }
  .float-note--two { bottom:25px; left:-4px; }
  .proofbar__inner { grid-template-columns:1fr 1fr; }
  .proof-stat { padding-left:13px; }
  .day-grid,.outcome-grid,.video-grid { grid-template-columns:1fr; }
  .video-card--wide { grid-column:auto; min-height:300px; }
  .footer nav { flex-direction:column; }
  .theme-quest h1 { font-size:clamp(1.8rem,8.7vw,3rem); }
}

@media (max-width: 520px) {
  .logo__text span { display:none; }
  .hero-card::before { padding-top:84%; }
  .play-button { width:64px; height:64px; }
  .proofbar__inner { grid-template-columns:1fr; }
  .proof-stat { padding:12px 0 12px 18px; }
  .day-card { min-height:0; }
  .video-card { min-height:250px; }
  .dialog__close { top:-12px; right:-5px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.01ms !important; transition-duration:.01ms !important; }
  [data-reveal] { opacity:1; transform:none; }
}
