:root{--navy950:#000d22;--navy900:#011233;--navy800:#0f2850;--gold:#d89929;--gold-light:#ebb44c;--paper:#f2f1e9;--white:#f6f7f8;--ink:#15191f;--muted:#657080;--max:1180px;--read:760px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:var(--white);font-family:Inter,Arial,sans-serif;line-height:1.55}
a{color:inherit;text-underline-offset:.2em}
img{display:block;max-width:100%;height:auto}
h1,h2,h3,p{margin-top:0}
h1,h2,.prose h2,.prose h3{font-family:Georgia,serif;color:inherit}
h1{font-size:clamp(2.5rem,6vw,5.2rem);line-height:1.02;letter-spacing:-.035em}
h2{font-size:clamp(2rem,4vw,3rem);line-height:1.12}
h3{font-size:1.25rem;line-height:1.25}
.wrap{width:min(calc(100% - 2rem),var(--max));margin-inline:auto}
.narrow{max-width:var(--read)}
.skip-link{position:absolute;left:-999px;top:1rem;background:white;padding:.75rem;z-index:20}
.skip-link:focus{left:1rem}
header{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 max(1rem,calc((100vw - var(--max))/2));background:var(--navy950);color:var(--white);border-bottom:1px solid var(--navy800);position:relative;z-index:10}
.wordmark{text-decoration:none;font-size:1.15rem}
.wordmark b{color:var(--gold);font-weight:700}
header nav{display:flex;gap:1.75rem}
header nav a{text-decoration:none;font-size:.95rem}
header nav a:hover,header nav a:focus{text-decoration:underline;text-decoration-color:var(--gold)}
.menu-button{display:none;background:transparent;border:1px solid #52617a;color:white;padding:.55rem .8rem;border-radius:.35rem}
.hero,.page-hero,.episode-hero{background:var(--navy900);color:var(--white);border-bottom:3px solid var(--gold)}
.hero{padding:clamp(5rem,10vw,9rem) 0}
.hero .wrap{max-width:1000px}
.hero h1{font-family:Inter,Arial,sans-serif;font-weight:800}
.lede{font-size:clamp(1.1rem,2vw,1.35rem);max-width:760px;color:#d6dbe3}
.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--gold);font-weight:800;font-size:.78rem}
.eyebrow.ink{color:#775210}
.actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:2rem}
.button{display:inline-flex;justify-content:center;align-items:center;min-height:46px;padding:.75rem 1rem;border-radius:.45rem;border:1px solid transparent;text-decoration:none;font-weight:700;cursor:pointer}
.button.primary{background:var(--gold-light);color:var(--navy950)}
.button.secondary{border-color:#8090a7;color:white}
.button.secondary.dark{border-color:#aeb5bf;color:var(--navy900);background:white}
.button.navy{background:var(--navy900);color:white}
.section{padding:clamp(4rem,8vw,7rem) 0}
.paper{background:var(--paper)}
.section-heading{display:flex;justify-content:space-between;gap:2rem;align-items:end}
.resource-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,390px),1fr));gap:1.4rem;margin-top:2rem}
.resource-card{display:block;border:1px solid #d5d8dd;border-radius:.8rem;overflow:hidden;text-decoration:none;background:white;box-shadow:0 10px 28px #00102210}
.resource-card:focus,.resource-card:hover{outline:3px solid var(--gold);outline-offset:3px}
.resource-card img{aspect-ratio:16/9;object-fit:cover}
.card-copy{padding:1.2rem}
.card-copy h3{font-size:1.6rem;color:var(--navy900)}
.card-copy span{font-weight:700;color:var(--navy800)}
.choice-grid,.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:2rem}
.choice-grid article{background:white;border:1px solid #d7d9dc;border-radius:.65rem;padding:1.35rem}
.choice-grid article>b{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--navy900);color:var(--gold)}
.trust{background:var(--navy900);color:white}
.trust-grid{grid-template-columns:repeat(3,1fr);border:1px solid var(--navy800);border-radius:.7rem;overflow:hidden}
.trust-grid article{padding:1.4rem;border-right:1px solid var(--navy800)}
.trust-grid article:last-child{border:0}
.purpose-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:4rem;align-items:center}
.youtube-connection{background:var(--paper)}
.youtube-grid{display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:center}
.purpose blockquote{font:clamp(2rem,4vw,3.5rem)/1.2 Georgia,serif;color:var(--navy900);margin:0}
.page-hero{padding:5rem 0}
.page-hero h1{font-family:Inter,Arial,sans-serif}
.episode-hero{padding:4rem 0}
.episode-grid{display:grid;grid-template-columns:1.4fr .8fr;gap:4rem;align-items:center}
.episode-hero h1{font-size:clamp(2.7rem,5vw,4.5rem)}
.subtitle{font:clamp(1.35rem,3vw,2rem)/1.25 Georgia,serif;color:#dce2ec}
.objective{border-left:3px solid var(--gold);padding-left:1rem;margin:2rem 0}
.objective p{margin:.4rem 0}
.episode-poster{border-radius:.8rem;box-shadow:0 14px 30px #0006}
.status{display:flex;flex-wrap:wrap;gap:1.5rem;margin:0}
.status div{display:flex;gap:.35rem}
.status dt{font-weight:700}
.status dd{margin:0}
.on-page{position:sticky;top:0;z-index:6;background:white;border-bottom:1px solid #ddd;display:flex;gap:1.2rem;padding:1rem max(1rem,calc((100vw - var(--max))/2));overflow-x:auto;white-space:nowrap}
.on-page a{text-decoration:none}
.learning-surface{padding-block:3rem}
.module{padding:3.5rem 0;border-bottom:1px solid #d7d8da}
.module-head{display:flex;justify-content:space-between;gap:2rem;align-items:end}
.watch-module{background:var(--navy900);color:var(--white);margin-inline:calc((100vw - min(100vw,var(--max)))/-2);padding-inline:max(1rem,calc((100vw - var(--max))/2));border-bottom-color:var(--navy800)}
.watch-module h2{color:var(--white)}
.video-frame{position:relative;width:100%;aspect-ratio:16/9;margin:1.5rem 0 1rem;background:#000;border:1px solid var(--navy800);border-radius:.7rem;overflow:hidden}
.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.reading{background:var(--paper);margin-inline:calc((100vw - min(100vw,var(--max)))/-2);padding-inline:max(1rem,calc((100vw - var(--max))/2))}
.prose{font:1.15rem/1.8 Georgia,serif;max-width:var(--read)}
.prose h2{font-size:2.1rem;margin-top:3rem;color:var(--navy900)}
.prose h3{font-size:1.5rem;margin-top:2.2rem;color:var(--navy900)}
.prose a{text-decoration-thickness:2px}
.prose blockquote{border-left:3px solid var(--gold);padding-left:1rem}
.table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain}
.table-wrap:focus{outline:3px solid var(--gold);outline-offset:3px}
.prose table{border-collapse:collapse;width:100%;font-family:Inter,Arial,sans-serif;font-size:.95rem}
.cp-prose .table-wrap table{min-width:680px}
.cp-prose{overflow-wrap:anywhere}
.prose th,.prose td{border:1px solid #ccd0d5;padding:.65rem;text-align:left;vertical-align:top}
.companion-card{display:grid;grid-template-columns:1fr auto;gap:2rem;border:1px solid #d5d8dd;border-radius:.7rem;padding:1.5rem;background:white}
.references{list-style:none;padding:0;border:1px solid #d5d8dd;border-radius:.7rem;overflow:hidden}
.references li{border-bottom:1px solid #d5d8dd}
.references li:last-child{border:0}
.references a{display:block;padding:1rem;text-decoration:none}
.references a:hover,.references a:focus{text-decoration:underline;background:#f4f5f6}
.visual-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:1.25rem;align-items:start}
.visual-grid figure,.asset-card{margin:0;border:1px solid #d5d8dd;border-radius:.7rem;padding:.8rem;background:white}
.visual-grid figure img{width:100%}
.visual-grid figcaption{font-weight:700;padding:.7rem .2rem}
.asset-card{padding:1.5rem}
.quiz-shell{border:1px solid #d5d8dd;border-radius:.7rem;padding:1.5rem;background:#fffaf0}
.quiz-area fieldset{border:0;padding:0;margin:1.5rem 0}
.quiz-area legend{font:700 1.3rem/1.4 Georgia,serif;margin-bottom:1rem}
.quiz-area label{display:flex;gap:.8rem;align-items:start;border:1px solid #cbd0d6;border-radius:.5rem;padding:.85rem;margin:.65rem 0;background:white}
.quiz-area input{width:20px;height:20px}
.feedback{margin-top:1rem}
.credits{padding:3rem 0}
.status.light div{display:block;border-left:2px solid var(--gold);padding-left:1rem}
.cp-prose{padding:4rem 0;max-width:var(--read)}
footer{background:var(--navy950);color:#bfc7d4;padding:4rem max(1rem,calc((100vw - var(--max))/2))}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1.2fr 1fr;gap:2rem}
.footer-grid h2{font:700 .8rem Inter,Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em;color:white}
.footer-grid a{display:block;margin:.5rem 0;text-decoration:none}
.footer-grid .wordmark{color:white}
.footer-grid .wordmark span,.footer-grid .wordmark b{display:inline}
button:focus,a:focus,input:focus{outline:3px solid var(--gold-light);outline-offset:3px}
@media(max-width:800px){header{height:auto;min-height:64px}
.menu-button{display:block}
#primary-nav{display:none;position:absolute;left:0;right:0;top:64px;background:var(--navy950);padding:1rem}
#primary-nav.open{display:block}
header nav{display:grid;gap:.25rem}
header nav a{padding:.8rem}
.hero{padding:4rem 0}
.hero h1{font-size:2.8rem}
.section-heading,.module-head{display:block}
.section-heading>a{display:inline-block;margin-top:1rem}
.choice-grid,.trust-grid,.purpose-grid,.episode-grid,.visual-grid,.footer-grid{grid-template-columns:1fr}
.trust-grid article{border-right:0;border-bottom:1px solid var(--navy800)}
.purpose-grid{gap:2rem}
.episode-grid{gap:2rem}
.episode-poster{order:-1}
.on-page{font-size:.9rem}
.companion-card{grid-template-columns:1fr}
.module{padding:2.5rem 0}
.reading{margin-inline:-1rem;padding-inline:1rem}
.prose{font-size:1.05rem}
.footer-grid{gap:1rem}
.status{display:grid;grid-template-columns:1fr 1fr}
.button{width:100%}
.actions .button{width:auto}
.page-hero{padding:3.5rem 0}
.youtube-grid{grid-template-columns:1fr;align-items:start}
}
