:root {
  --asphalt: #111820;
  --night-road: #17324d;
  --dv-yellow: #f4b820;
  --warm-white: #f7f3e8;
  --silver: #aeb8c2;
  --highway-green: #2f7d4a;
  --panel: #202b35;
  --true-black: #080b0e;
  --heading-font: Orbitron, "Arial Narrow", sans-serif;
  --body-font: Inter, Aptos, "Segoe UI", system-ui, sans-serif;
  --max: 76rem;
}

* { box-sizing: border-box; }
html { color-scheme: dark; scroll-behavior: smooth; }
body { margin: 0; color: var(--warm-white); background: var(--asphalt); font: 1rem/1.65 var(--body-font); }
a { color: var(--dv-yellow); text-underline-offset: .2em; }
a:hover { color: var(--warm-white); }
.skip-link { position: absolute; left: -9999px; top: .5rem; z-index: 20; padding: .7rem 1rem; color: var(--true-black); background: var(--dv-yellow); }
.skip-link:focus { left: .5rem; }
.racing-stripe { height: .65rem; background: repeating-linear-gradient(135deg, var(--dv-yellow) 0 1.4rem, var(--true-black) 1.4rem 2.8rem); }
header { position: relative; z-index: 5; border-bottom: 1px solid rgba(174,184,194,.16); background: rgba(8,11,14,.96); }
.nav { max-width: var(--max); margin: auto; padding: 1rem 1.25rem; display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; }
.brand, .footer-brand { display: flex; align-items: center; text-decoration: none; }
.brand img { display: block; width: clamp(10.5rem, 18vw, 14.5rem); height: 3.8rem; object-fit: cover; object-position: center; filter: saturate(1.15) contrast(1.08); }
.footer-brand img { width: 11rem; height: 3.2rem; object-fit: cover; object-position: center; }
nav ul, .footer-links { margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem 1.3rem; list-style: none; }
nav a { color: var(--warm-white); font-size: .88rem; font-weight: 600; text-decoration: none; }
nav a:hover, nav a[aria-current="page"] { color: var(--dv-yellow); }\nnav .nav-cta { display: inline-block; padding: .45rem .7rem; border: 1px solid var(--dv-yellow); color: var(--true-black); background: var(--dv-yellow); font-family: var(--heading-font); font-size: .68rem; font-weight: 800; letter-spacing: .04em; }\nnav .nav-cta:hover { color: var(--true-black); background: var(--warm-white); }
main { min-height: 65vh; }
.hero { position: relative; min-height: clamp(39rem, 73vw, 51rem); display: grid; align-items: center; overflow: hidden; background: var(--asphalt); }
.hero-art { position: absolute; inset: 0; display: block; margin: 0; }
.hero-art img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; image-rendering: pixelated; }
.hero-inner { position: relative; z-index: 1; width: 100%; max-width: var(--max); margin: auto; padding: 5rem 1.25rem 6rem; }
.hero-copy { position: relative; max-width: 39rem; padding: clamp(1.4rem, 3vw, 2.4rem); border: 4px solid var(--true-black); background: rgba(8,11,14,.88); box-shadow: .65rem .65rem 0 var(--dv-yellow); }
.eyebrow { margin: 0 0 .8rem; color: var(--dv-yellow); font-family: var(--heading-font); font-size: .76rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
h1, h2, h3 { margin-top: 0; color: var(--warm-white); font-family: var(--heading-font); line-height: 1.12; }
.hero h1 { max-width: 12ch; margin-bottom: 1.15rem; font-size: clamp(2.55rem, 6.5vw, 5.35rem); letter-spacing: -.035em; }
.hero-lede { max-width: 37rem; color: #e0e5e9; font-size: clamp(1.05rem, 2vw, 1.25rem); }
.hero-lede strong { color: var(--warm-white); font-weight: 700; }
.hero-support { max-width: 35rem; margin: .75rem 0 0; color: var(--silver); }
.hero-actions { margin-top: 1.6rem; display: grid; gap: .8rem; }.education-actions,.pilot-actions { display: flex; align-items: center; flex-wrap: wrap; gap: .8rem; }.pilot-actions { justify-content: flex-end; }
.button { display: inline-block; padding: .85rem 1.15rem; border: 2px solid var(--dv-yellow); color: var(--true-black); background: var(--dv-yellow); font-family: var(--heading-font); font-size: .78rem; font-weight: 800; letter-spacing: .04em; text-decoration: none; box-shadow: .3rem .3rem 0 var(--warm-white); transition: transform .15s ease, box-shadow .15s ease; }
.button:hover { color: var(--true-black); transform: translate(.1rem,.1rem); box-shadow: .2rem .2rem 0 var(--warm-white); }
.text-link { font-weight: 700; text-decoration: none; }
.journey { position: relative; padding: clamp(4rem, 8vw, 7rem) 1.25rem; background-color: var(--asphalt); background-image: radial-gradient(circle at 1px 1px, rgba(244,184,32,.15) 1px, transparent 0); background-size: 24px 24px; }
.section-heading, .cards { max-width: var(--max); margin: auto; }
.section-heading { display: grid; grid-template-columns: .8fr 1.1fr 1.1fr; gap: 2rem; align-items: end; }
.section-heading .eyebrow { align-self: start; }
.section-heading h2 { margin: 0; font-size: clamp(2rem, 4vw, 3.6rem); }
.section-heading > p:last-child { margin: 0; color: var(--silver); }
.cards { padding-top: 3rem; display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; }
.card { position: relative; min-height: 18rem; padding: 1.6rem; border: 4px solid var(--true-black); border-top-color: var(--dv-yellow); background: var(--panel); box-shadow: .5rem .5rem 0 var(--true-black); transform: rotate(-.35deg); }
.card:nth-child(2) { transform: rotate(.45deg) translateY(.6rem); }
.card:nth-child(3) { transform: rotate(-.2deg); }
.quest-icon { float: right; display: grid; width: 3.2rem; aspect-ratio: 1; place-items: center; border: 3px solid var(--true-black); background: var(--dv-yellow); font-size: 1.5rem; box-shadow: .22rem .22rem 0 var(--true-black); }
.card-number { color: var(--dv-yellow); font-family: var(--heading-font); font-size: .8rem; font-weight: 800; }
.card h3 { margin: 2.8rem 0 .8rem; font-size: 1.35rem; }
.card p { color: var(--silver); }
.xp { position: absolute; left: 1.6rem; bottom: 1.3rem; padding: .3rem .55rem; color: var(--true-black); background: var(--dv-yellow); font: 800 .65rem/1.2 var(--heading-font); letter-spacing: .08em; }
.pilot-band { padding: clamp(4rem, 8vw, 6rem) 1.25rem; border-block: 1px solid rgba(174,184,194,.16); background: var(--night-road); }
.pilot-inner { max-width: var(--max); margin: auto; display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(2rem, 7vw, 7rem); }
.pilot-inner h2, .parker-inner h2 { font-size: clamp(2rem, 4vw, 3.25rem); }
.pilot-inner p { margin-top: 0; }
.fine-print { color: var(--silver); font-size: .9rem; }
.parker-band { padding: clamp(3.5rem, 7vw, 5.5rem) 1.25rem; background: var(--panel); }
.parker-inner { max-width: var(--max); margin: auto; display: grid; grid-template-columns: minmax(12rem,18rem) 1fr; gap: clamp(2rem,6vw,5rem); align-items: end; }.parker-portrait { margin: 0; align-self: stretch; display: flex; align-items: flex-end; justify-content: center; }.parker-portrait img { display: block; width: min(100%,17rem); height: auto; max-height: 30rem; object-fit: contain; object-position: center bottom; filter: drop-shadow(.45rem .55rem 0 rgba(0,0,0,.35)); }.parker-copy > p:not(.eyebrow) { max-width: 50rem; color: var(--silver); }
.parker-mark { width: 6.5rem; aspect-ratio: 1; display: grid; place-items: center; border: .3rem solid var(--true-black); color: var(--true-black); background: var(--dv-yellow); font: 800 2.8rem/1 var(--heading-font); box-shadow: .4rem .4rem 0 var(--true-black); }
.access-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .8rem; margin: 1.5rem 0; }.access-card { min-height: 10.5rem; padding: 1rem; border: 2px solid rgba(174,184,194,.26); background: #121b23; }.access-card span { display: inline-block; margin-bottom: .75rem; color: var(--dv-yellow); font: 800 .68rem/1 var(--heading-font); letter-spacing: .08em; text-transform: uppercase; }.access-card h3 { margin-bottom: .55rem; color: var(--warm-white); font-size: 1rem; }.access-card p { margin: 0; color: var(--silver); font-size: .9rem; }.access-card.is-current { border-color: var(--dv-yellow); }.access-card.is-future { opacity: .72; }
.button-secondary { color: var(--warm-white); background: transparent; box-shadow: .3rem .3rem 0 var(--true-black); }
.button-secondary:hover { color: var(--warm-white); box-shadow: .2rem .2rem 0 var(--true-black); }

/* Mission homepage review */
.education-first { width: 100%; gap: .7rem; }
.button-muted { padding: .72rem .85rem; border-color: #6f7880; color: var(--warm-white); background: #303942; box-shadow: none; font-size: .68rem; }
.button-muted:hover { color: var(--warm-white); background: #3b4650; box-shadow: none; }
.button-primary { margin-left: auto; }
.game-intro, .when-band, .final-cta { padding: clamp(4rem, 8vw, 7rem) 1.25rem; }
.game-intro { border-block: 1px solid rgba(174,184,194,.16); background: var(--night-road); }
.game-intro-inner { max-width: var(--max); margin: auto; display: grid; grid-template-columns: 1.05fr 1fr; gap: clamp(2rem, 6vw, 6rem); align-items: center; }
.game-copy h2, .when-inner h2, .final-cta h2 { margin-bottom: 1.25rem; font-size: clamp(2rem, 4vw, 3.45rem); }
.game-copy > p:last-child { max-width: 46rem; color: #dce2e6; font-size: 1.08rem; }
.game-panel { display: grid; gap: .8rem; padding: 1rem; border: 4px solid var(--true-black); border-top-color: var(--dv-yellow); background: var(--asphalt); box-shadow: .65rem .65rem 0 var(--true-black); }
.game-stat { display: grid; grid-template-columns: 4rem 1fr; column-gap: 1rem; align-items: center; padding: 1rem; border: 2px solid rgba(174,184,194,.24); background: var(--panel); }
.game-stat > .retro-icon { grid-row: 1 / 3; display: grid; width: 3.5rem; aspect-ratio: 1; place-items: center; border: 2px solid rgba(244,184,32,.5); color: var(--dv-yellow); background: #111920; box-shadow: .2rem .2rem 0 var(--true-black); }.retro-icon svg { width: 2rem; height: 2rem; fill: currentColor; shape-rendering: crispEdges; }
.game-stat strong { color: var(--warm-white); font-family: var(--heading-font); font-size: .88rem; }
.game-stat small { color: var(--silver); }
.safety-rule { max-width: var(--max); margin: 2.5rem auto 0; padding: 1rem 1.2rem; border-left: .42rem solid var(--highway-green); color: #dfe9e2; background: #193328; }
.safety-rule strong { color: var(--warm-white); }
.when-band { background-color: #121b23; background-image: linear-gradient(90deg,transparent 49.75%,rgba(244,184,32,.08) 50%,transparent 50.25%); }
.when-inner { max-width: var(--max); margin: auto; display: grid; grid-template-columns: 1.15fr .85fr; gap: clamp(2rem, 7vw, 7rem); align-items: center; }
.when-inner > div > p:not(.eyebrow,.michigan-note) { max-width: 50rem; color: var(--silver); font-size: 1.08rem; }
.route-timeline { margin: 0; padding: 1rem; list-style: none; border: 4px solid var(--true-black); border-top-color: var(--dv-yellow); background: var(--panel); box-shadow: .55rem .55rem 0 var(--true-black); }
.route-timeline li { position: relative; display: grid; grid-template-columns: 4.6rem 1fr; gap: 1rem; align-items: center; min-height: 4.5rem; padding: .65rem; color: var(--warm-white); }
.route-timeline li + li { border-top: 1px solid rgba(174,184,194,.2); }
.route-timeline span { display: grid; width: 4.15rem; aspect-ratio: 1; place-items: center; border: 2px solid var(--true-black); color: var(--true-black); background: var(--dv-yellow); font: 800 2rem/.9 var(--heading-font); letter-spacing: -.08em; }
.route-timeline strong { font-family: var(--heading-font); font-size: .82rem; }
.final-cta { border-top: .55rem solid var(--dv-yellow); background-color: var(--asphalt); background-image: radial-gradient(circle at 1px 1px,rgba(244,184,32,.15) 1px,transparent 0); background-size: 24px 24px; }
.final-cta-inner { max-width: var(--max); margin: auto; display: grid; grid-template-columns: 1.25fr auto; gap: 3rem; align-items: center; }
.final-cta h2 { max-width: 19ch; margin-bottom: .8rem; }
.final-cta p:not(.eyebrow) { color: var(--silver); }
.final-actions { display: flex; flex-direction: column; gap: 1.2rem; align-items: flex-start; }
.final-actions .button-primary { margin-left: 0; }
.mission-band, .requirements, .why-practice { padding: clamp(4rem, 8vw, 7rem) 1.25rem; }
.mission-band { border-block: 1px solid rgba(174,184,194,.16); background: var(--night-road); }
.mission-inner, .requirements-inner, .why-inner { max-width: var(--max); margin: auto; }
.mission-inner { display: grid; grid-template-columns: .7fr 2fr; gap: clamp(2rem, 6vw, 6rem); }
.mission-story { grid-template-columns: minmax(14rem, 1fr) minmax(0, 2fr); align-items: center; gap: clamp(2rem, 5vw, 4.5rem); }
.mission-inner h2, .section-intro h2, .why-heading h2 { margin-bottom: 1.25rem; font-size: clamp(2rem, 4vw, 3.45rem); }.mission-art { max-width: var(--max); margin: clamp(2rem,5vw,4rem) auto 0; overflow: hidden; border: 4px solid var(--true-black); border-top-color: var(--dv-yellow); box-shadow: .65rem .65rem 0 var(--true-black); }.mission-story .mission-art { width: 100%; margin: 0; }.mission-story .mission-art img { aspect-ratio: 4 / 3; object-fit: cover; object-position: center; }.mission-art img { display: block; width: 100%; height: auto; }
.mission-lede { max-width: 52rem; color: #e0e5e9; font-size: clamp(1.08rem, 2vw, 1.28rem); }
.michigan-note { max-width: 52rem; margin-top: 2rem; padding: 1rem 1.2rem; border-left: .42rem solid var(--dv-yellow); background: rgba(8,11,14,.42); }
.requirements { background-color: var(--asphalt); background-image: radial-gradient(circle at 1px 1px, rgba(244,184,32,.12) 1px, transparent 0); background-size: 24px 24px; }
.section-intro { max-width: 52rem; margin-bottom: 2.5rem; }
.section-intro > p:last-child, .why-heading > p:last-child { color: var(--silver); font-size: 1.08rem; }
.map-card { display: grid; grid-template-columns: 1.3fr 1fr; border: 4px solid var(--true-black); border-top-color: var(--dv-yellow); background: var(--panel); box-shadow: .65rem .65rem 0 var(--true-black); }
.map-placeholder { position: relative; min-height: 29rem; display: grid; place-items: center; overflow: hidden; border-right: 1px solid rgba(174,184,194,.2); background: linear-gradient(145deg,#17222c,#0c1117); }
.map-placeholder::before { content: ""; position: absolute; width: 72%; height: 48%; border: 3px dashed #66717a; transform: skew(-12deg) rotate(-3deg); clip-path: polygon(4% 14%,20% 6%,32% 16%,48% 7%,66% 18%,86% 12%,100% 35%,91% 56%,80% 60%,71% 86%,50% 72%,31% 88%,17% 68%,2% 60%); background: repeating-linear-gradient(45deg,rgba(174,184,194,.05) 0 10px,rgba(174,184,194,.1) 10px 12px); }
.map-placeholder p { position: relative; z-index: 2; margin-top: 10rem; color: var(--warm-white); font: 800 clamp(1.1rem,2.5vw,1.55rem)/1.35 var(--heading-font); text-align: center; text-transform: uppercase; }
.map-badge { position: absolute; z-index: 3; top: 2rem; left: 2rem; width: 7rem; aspect-ratio: 1; display: grid; align-content: center; border: .35rem solid var(--true-black); color: var(--true-black); background: var(--dv-yellow); box-shadow: .4rem .4rem 0 var(--true-black); text-align: center; transform: rotate(-3deg); }
.map-badge span { font: 800 2.4rem/1 var(--heading-font); }
.map-badge small { font: 800 .52rem/1.4 var(--heading-font); letter-spacing: .08em; }
.map-route { position: absolute; z-index: 1; height: .42rem; background: var(--dv-yellow); opacity: .55; transform-origin: left; }
.route-one { width: 48%; left: 12%; top: 65%; transform: rotate(-12deg); }.route-two { width: 40%; right: 8%; top: 35%; transform: rotate(31deg); }
.map-status { padding: clamp(1.5rem,4vw,2.5rem); }
.map-status h3 { margin: 1rem 0 .7rem; font-size: clamp(1.35rem,2.5vw,1.8rem); }
.map-status > p { color: var(--silver); }
.status-chip { display: inline-block; padding: .35rem .6rem; color: var(--true-black); background: var(--dv-yellow); font: 800 .62rem/1.2 var(--heading-font); letter-spacing: .08em; text-transform: uppercase; }
.map-legend { margin: 1.5rem 0 0; padding: 0; list-style: none; }
.map-legend li { display: grid; grid-template-columns: 2rem 1fr; gap: .8rem; align-items: center; padding: .65rem 0; border-top: 1px solid rgba(174,184,194,.18); }
.map-legend strong, .map-legend small { display: block; }.map-legend small { color: var(--silver); }
.swatch { width: 1.8rem; height: 1.4rem; border: 2px solid var(--true-black); background: #2b343d; }.swatch.supported { background: var(--dv-yellow); }.swatch.exact-fifty { background: #dfcc7a; }.swatch.other-requirements { background: repeating-linear-gradient(135deg,#2b343d 0 5px,rgba(223,204,122,.65) 5px 8px); }.swatch.no-minimum { background: #3f4851; }
.state-map-figure { margin: 0; padding: clamp(.6rem, 2vw, 1.2rem); border: 4px solid var(--true-black); border-top-color: var(--dv-yellow); background: var(--panel); box-shadow: .65rem .65rem 0 var(--true-black); }
.state-map-figure img { display: block; width: 100%; height: auto; }
.state-map-figure figcaption { padding: 1rem .5rem .2rem; color: var(--silver); font-size: .92rem; }
.requirements .map-status { margin-top: 2rem; padding: 0; }
.requirements .map-status h3 { font-size: clamp(1.35rem, 2.5vw, 1.8rem); }
.requirements .map-legend { display: grid; grid-template-columns: repeat(4, 1fr); gap: .8rem; }
.requirements .map-legend li { border: 1px solid rgba(174,184,194,.2); padding: .85rem; background: rgba(8,11,14,.38); }
.state-table { margin-top: 2rem; border: 2px solid rgba(174,184,194,.35); background: var(--panel); }
.state-table summary { padding: 1rem 1.2rem; color: var(--warm-white); cursor: pointer; font-family: var(--heading-font); font-size: .78rem; font-weight: 800; letter-spacing: .04em; }
.state-table[open] summary { border-bottom: 1px solid rgba(174,184,194,.25); }
.table-scroll { overflow-x: auto; }
.state-table table { width: 100%; border-collapse: collapse; font-size: .88rem; }
.state-table caption { padding: 1rem; color: var(--silver); text-align: left; }
.state-table th, .state-table td { padding: .65rem .8rem; border-bottom: 1px solid rgba(174,184,194,.18); text-align: left; vertical-align: top; }
.state-table thead th { color: var(--true-black); background: var(--dv-yellow); font-family: var(--heading-font); font-size: .68rem; }
.state-table tbody th { color: var(--warm-white); }
.data-download { margin: 0; padding: 1rem; }
.why-practice { background: #ede7d8; color: #17202a; }
.why-practice .eyebrow { color: #8b6508; }.why-heading h2, .learning-cards h3 { color: var(--true-black); }.why-heading { max-width: 55rem; }.why-heading > p:last-child { color: #46515a; }
.learning-cards { margin-top: 2.5rem; display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; }
.learning-cards article { position: relative; padding: 1.5rem; border: 3px solid var(--true-black); background: #fffaf0; box-shadow: .4rem .4rem 0 #b9aa8e; }
.learning-cards article > span { color: #8b6508; font: 800 .75rem/1 var(--heading-font); }.learning-cards h3 { margin: .8rem 0; }.learning-cards p { color: #46515a; }
.research-note { margin: 2.2rem 0 0; padding: 1rem 1.2rem; border-left: .42rem solid #a58e49; background: #ded4c1; color: #303a42; }
.research-note p { margin: 0 0 .55rem; }
.research-brief-link { color: #604604; font-weight: 800; }
.research-brief-link:hover { color: var(--true-black); }

.content { max-width: var(--max); margin: auto; padding: 3rem 1.25rem 4rem; }
.content.narrow { max-width: 54rem; }
.content h1 { font-size: clamp(2.25rem, 6vw, 4rem); }
.content h2 { margin-top: 2.7rem; padding-top: .6rem; border-top: .22rem solid var(--dv-yellow); }
.content li + li { margin-top: .45rem; }
.lede { max-width: 46rem; color: #d8dee3; font-size: 1.2rem; }
.meta { color: var(--silver); font-size: .95rem; }
.notice { margin: 1.5rem 0; padding: 1rem 1.1rem; border-left: .45rem solid var(--dv-yellow); color: var(--warm-white); background: var(--panel); }
.safety { border-left-color: var(--highway-green); background: #193328; }
.command-list { margin: 2rem 0; padding: 0; list-style: none; }
.command-list li { display: grid; grid-template-columns: 7rem 1fr; gap: 1rem; padding: .8rem 0; border-bottom: 1px solid rgba(174,184,194,.25); }
.command-list code { color: var(--dv-yellow); font-size: 1rem; font-weight: 900; }
.consent-example { margin: 1.5rem 0; padding: 1.25rem; border: 2px solid var(--dv-yellow); background: var(--panel); }
.checkbox-row { display: flex; align-items: flex-start; gap: .75rem; }
.fake-checkbox { flex: 0 0 1.25rem; height: 1.25rem; margin-top: .2rem; border: 2px solid var(--warm-white); background: var(--asphalt); }
footer { padding: 3rem 1.25rem; color: var(--silver); background: var(--true-black); }
.footer-inner { max-width: var(--max); margin: auto; }
.footer-brand { margin-bottom: 1.2rem; }
.footer-links { margin-bottom: 1.3rem; }
footer a { color: var(--dv-yellow); }

@media (max-width: 800px) {
  .nav { align-items: center; flex-direction: column; }
  nav ul { justify-content: center; }
  .hero { min-height: 0; display: block; overflow: visible; }
  .hero-art { position: relative; inset: auto; width: 100%; }
  .hero-art img { width: 100%; height: auto; object-fit: contain; object-position: center; }
  .hero-inner { margin-top: -1rem; padding: 0 .8rem 4.5rem; }
  .hero-copy { max-width: 100%; box-shadow: .45rem .45rem 0 var(--dv-yellow); }
  .section-heading, .pilot-inner { grid-template-columns: 1fr; gap: 1rem; }
  .cards { grid-template-columns: 1fr; }
  .card { min-height: 15.5rem; transform: rotate(-.35deg); }
  .card:nth-child(2) { transform: rotate(.35deg); }
  .card h3 { margin-top: 1.5rem; }
  .parker-inner { grid-template-columns: 5rem 1fr; }
  .parker-mark { width: 4.5rem; }
  .parker-inner .button { grid-column: 1 / -1; justify-self: start; }
  .button-primary { margin-left: 0; }
  .mission-inner, .map-card, .game-intro-inner, .when-inner, .final-cta-inner { grid-template-columns: 1fr; }
  .game-panel { max-width: 42rem; }
  .final-actions { flex-direction: row; flex-wrap: wrap; align-items: center; }
  .map-placeholder { min-height: 22rem; border-right: 0; border-bottom: 1px solid rgba(174,184,194,.2); }
  .learning-cards { grid-template-columns: 1fr; }
  .requirements .map-legend { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 500px) {
  .racing-stripe { height: .5rem; }
  .nav { padding-block: .75rem; }
  .brand img { width: 13rem; height: 3.2rem; }
  nav ul { gap: .35rem 1rem; }
  nav a { font-size: .78rem; }
  .hero-art img { width: 100%; height: auto; }
  .hero-copy { padding: 1.2rem; }
  .hero h1 { font-size: clamp(2.35rem, 12vw, 3.25rem); }
  .hero-actions { align-items: flex-start; flex-direction: column; }
  .hero-actions .button { width: 100%; text-align: center; }
  .map-badge { top: 1rem; left: 1rem; width: 5.5rem; }
  .map-placeholder { min-height: 19rem; }
  .requirements .map-legend { grid-template-columns: 1fr; }
  .game-stat { grid-template-columns: 3.4rem 1fr; padding: .8rem; }
  .game-stat > .retro-icon { width: 3rem; }
  .final-actions { align-items: flex-start; flex-direction: column; }
  .command-list li { grid-template-columns: 5rem 1fr; }
}

@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } * { transition: none !important; } }
@media print { header, footer, .racing-stripe, .button { display: none; } body { color: #000; background: #fff; font-size: 11pt; } .content, .content.narrow { max-width: none; padding: 0; } a { color: #000; } }

.product-preview{padding:clamp(4rem,8vw,7rem) 1.25rem;background:#0d151c;border-block:1px solid rgba(174,184,194,.15)}
.product-preview-inner{max-width:var(--max);margin:auto}
.product-preview .section-heading{max-width:55rem;margin-bottom:2rem}
.preview-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(14rem,.72fr);gap:1rem;align-items:stretch}
.preview-grid figure{margin:0;border:3px solid var(--true-black);border-top-color:var(--dv-yellow);background:#090d11;box-shadow:.45rem .45rem 0 var(--true-black);overflow:hidden}
.preview-grid img{display:block;width:100%;height:100%;object-fit:cover}
.preview-main img{aspect-ratio:1400/800}
.preview-detail img{aspect-ratio:640/1000;object-position:center top}
.preview-grid figcaption{padding:.75rem 1rem;color:var(--silver);font-size:.85rem;border-top:1px solid rgba(174,184,194,.2)}
@media(max-width:900px){.mission-story{grid-template-columns:1fr}.mission-story .mission-art{max-width:42rem;margin:0}.mission-story .mission-art img{aspect-ratio:auto;object-fit:contain}.hero-actions{grid-template-columns:1fr}.pilot-actions{justify-content:flex-start}.preview-grid{grid-template-columns:1fr}.preview-detail{display:none}.access-grid{grid-template-columns:1fr}.access-card{min-height:0}.parker-inner{grid-template-columns:minmax(9rem,13rem) 1fr}}
@media(max-width:679px){.mission-story .mission-art{max-width:none}.education-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.pilot-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.education-actions .button,.pilot-actions .button{width:100%;padding-inline:.65rem;text-align:center;font-size:.67rem}.mission-art{margin-top:2rem}.parker-inner{grid-template-columns:1fr;align-items:start}.parker-portrait img{width:min(62vw,14rem);max-height:22rem}.access-grid{grid-template-columns:1fr}.route-timeline li{grid-template-columns:4.2rem 1fr}.route-timeline span{width:3.8rem;font-size:1.8rem}}
\n.feedback-intro{max-width:48rem;margin-bottom:2rem}.feedback-form textarea{width:100%;resize:vertical;min-height:10rem}\n

/* Shared navigation and feedback identity */
.nav-dropdown { position: relative; }
.nav-dropdown > a::after { content: "▾"; margin-left: .32rem; font-size: .7em; }
.nav-submenu { position: absolute; z-index: 10; top: calc(100% + .55rem); left: -.75rem; min-width: 8rem; display: none; margin: 0; padding: .45rem; list-style: none; border: 2px solid var(--dv-yellow); background: var(--panel); box-shadow: .3rem .3rem 0 var(--true-black); }
.nav-dropdown:hover .nav-submenu, .nav-dropdown:focus-within .nav-submenu { display: block; }
.nav-submenu a { display: block; padding: .55rem .65rem; white-space: nowrap; }
.hero-actions .education-actions { order: 1; }
.hero-actions .pilot-actions { order: 2; }
.access-link { display: inline-block; margin-top: .65rem; color: var(--dv-yellow); font-family: var(--heading-font); font-size: .74rem; font-weight: 800; letter-spacing: .04em; text-decoration: none; }
.feedback-identity { margin: 0 0 1.25rem; padding: 1rem 1.1rem; border-left: .35rem solid var(--dv-yellow); background: rgba(244,184,32,.1); }
.feedback-identity strong,.feedback-identity span { display: block; }
.feedback-identity span { margin-top: .25rem; color: var(--silver); }
@media (max-width: 760px) { .nav-dropdown > a::after { display: none; } .nav-submenu { position: static; display: block; min-width: 0; margin: .25rem 0 0; padding: 0; border: 0; background: transparent; box-shadow: none; } .nav-submenu a { padding: .25rem 0 .25rem 1rem; } .hero-actions .pilot-actions { justify-content: flex-start; } }

/* Header cleanup: one flat menu and a clear logged-in route. */
.nav-cta { border: 2px solid #2F7D4A; background: #2F7D4A; color: #fff !important; box-shadow: none; border-radius: 0; }
.nav-cta:hover, .nav-cta:focus-visible { border-color: #24633a; background: #24633a; color: #fff !important; }
