:root{--bg-canvas:#1e1612;--bg-surface:#30231b;--bg-surface-hover:#493326;--text-primary:#f5ecdf;--text-muted:#c4b3a0;--accent-primary:#f59e0b;--accent-secondary:#ffd17a;--border-subtle:rgba(245,236,223,.12);--ease-kinetic:cubic-bezier(.16,1,.3,1);--shadow-elevation:0 12px 32px -4px rgba(0,0,0,.38);--glow-accent:0 0 24px -4px rgba(245,158,11,.42);--glass-backdrop:blur(16px) saturate(180%);--page-width:1200px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg-canvas);color:var(--text-primary);font:16px/1.75 system-ui,"Segoe UI",Roboto,sans-serif;overflow-wrap:anywhere;hyphens:auto}
img{display:block;max-width:100%;object-fit:cover;border-radius:4px}
a{color:var(--accent-secondary);text-underline-offset:.2em}
a:hover{color:var(--accent-primary)}
button,input,textarea{font:inherit}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--accent-secondary);outline-offset:3px}
h1,h2,h3{font-family:system-ui,"Segoe UI",Roboto,sans-serif;font-weight:800;line-height:1.08;letter-spacing:-.045em;overflow-wrap:anywhere;margin:0 0 1rem}
h1{font-size:clamp(2.7rem,6vw,5.7rem);max-width:15ch}
h2{font-size:clamp(1.8rem,3vw,3rem)}
h3{font-size:1.25rem;letter-spacing:-.025em}
p{margin:.2rem 0 1rem}
.container{width:min(calc(100% - 40px),var(--page-width));margin-inline:auto}
.reading{max-width:70ch;margin-inline:auto}
.site-header{position:relative;z-index:5;padding:1rem 0;border-bottom:1px solid transparent;transition:background .25s,border-color .25s}
.site-header.scrolled{background:rgba(30,22,18,.95);border-color:var(--border-subtle)}
.header-row{display:flex;align-items:center;justify-content:space-between;gap:2rem}
.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;color:var(--text-primary);font-weight:800;letter-spacing:-.03em;white-space:nowrap}
.brand-mark{display:grid;place-items:center;width:34px;height:34px;background:var(--accent-primary);color:#26170b;border-radius:4px;font-weight:900}
.nav-links{display:flex;align-items:center;gap:clamp(.8rem,2vw,1.8rem)}
.nav-links a{color:var(--text-primary);text-decoration:none;font-size:.92rem;font-weight:700}
.nav-links a:hover,.nav-links a[aria-current=page]{color:var(--accent-primary)}
.menu-toggle{display:none;border:0;background:transparent;color:var(--accent-primary);font-size:2rem;line-height:1;cursor:pointer;padding:.2rem .5rem}
.hero{position:relative;padding:clamp(3rem,8vw,7rem) 0 5rem;isolation:isolate}
.hero:before{content:"";position:absolute;z-index:-1;inset:0;background:radial-gradient(ellipse at 79% 23%,rgba(245,158,11,.15),transparent 39%),linear-gradient(130deg,transparent 42%,rgba(89,50,26,.25));background-size:200% 200%;animation:gradientShift 12s ease infinite}
@keyframes gradientShift{0%,100%{background-position:0 30%}50%{background-position:100% 70%}}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:3rem}
.eyebrow{display:inline-block;color:var(--accent-primary);font-weight:800;letter-spacing:.13em;text-transform:uppercase;font-size:.76rem;margin-bottom:1rem}
.hero-copy>p{max-width:60ch;color:var(--text-muted);font-size:1.1rem}
.hero-images{min-height:380px;position:relative}
.hero-images img{position:absolute;width:66%;height:68%;box-shadow:var(--shadow-elevation);border:1px solid rgba(245,236,223,.16)}
.hero-images img:nth-child(1){right:0;top:0}
.hero-images img:nth-child(2){left:0;top:19%;z-index:1}
.hero-images img:nth-child(3){right:7%;bottom:0;z-index:2;width:55%;height:49%}
.button{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;padding:.78rem 1.15rem;border:0;border-radius:999px;background:var(--accent-primary);color:#2a1908;text-decoration:none;font-weight:800;cursor:pointer;transition:transform .3s var(--ease-kinetic),box-shadow .3s,background .3s}
.button:hover{transform:translateY(-3px) scale(1.02);box-shadow:var(--shadow-elevation),var(--glow-accent);background:var(--accent-secondary);color:#2a1908}
.button.secondary{background:transparent;color:var(--text-primary);border:1px solid var(--border-subtle)}
section{padding:4rem 0}
.section-intro{max-width:70ch;color:var(--text-muted);margin-bottom:2rem}
.chapter-break{background:var(--accent-primary);color:#2a1908;padding:2rem 0}
.chapter-break p{max-width:70ch;margin:0;font-weight:700}
.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.1rem}
.panel{background:var(--bg-surface);border-radius:4px;padding:1.5rem;box-shadow:0 8px 22px rgba(0,0,0,.15);transition:transform .4s var(--ease-kinetic),box-shadow .4s,background .3s}
.panel:hover{transform:translateY(-5px) scale(1.015);box-shadow:var(--shadow-elevation),var(--glow-accent);background:var(--bg-surface-hover)}
.panel p:last-child{margin-bottom:0}
.card-image{width:100%;aspect-ratio:4/3;margin-bottom:1rem}
.thumb{width:76px;height:76px;aspect-ratio:1;margin:0}
.horizontal-card{display:grid;grid-template-columns:180px 1fr;align-items:center;gap:1.5rem}
.image-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;margin:1.8rem 0}
.image-strip img{width:100%;aspect-ratio:16/9}
.caption{color:var(--text-muted);font-size:.85rem;margin-top:.6rem}
.pathway{position:relative;max-width:900px;margin:2rem auto}
.pathway:before{content:"";position:absolute;top:18px;bottom:18px;left:25px;width:2px;background:var(--accent-primary);opacity:.75}
.stage{position:relative;padding:0 0 1.5rem 4.5rem}
.stage-number{position:absolute;left:0;top:.2rem;width:52px;height:52px;display:grid;place-items:center;border:2px solid var(--accent-primary);border-radius:50%;background:var(--bg-canvas);color:var(--accent-primary);font-weight:900}
.stage .panel{padding:1.4rem}
.stage p{max-width:70ch;color:var(--text-muted)}
.table-wrap{overflow-x:auto;margin:1.5rem 0}
table{border-collapse:collapse;width:100%;min-width:650px;background:var(--bg-surface);border-radius:4px;overflow:hidden}
th,td{text-align:left;padding:.9rem;border-bottom:1px solid var(--border-subtle);vertical-align:top}
th{color:var(--accent-secondary);background:#39291f}
.source-list{columns:2;column-gap:3rem;padding-left:1.2rem}
.source-list li{break-inside:avoid;margin:0 0 .6rem;color:var(--text-muted)}
.source-list a{color:var(--accent-secondary)}
details{background:var(--bg-surface);border-radius:4px;margin:.75rem 0;padding:1rem 1.2rem}
summary{cursor:pointer;font-weight:800;color:var(--text-primary)}
details p{margin:.8rem 0 0;color:var(--text-muted);max-width:72ch}
.page-hero{padding:4.5rem 0 2rem}
.page-hero p{max-width:70ch;color:var(--text-muted);font-size:1.1rem}
.article-copy{max-width:72ch;margin:0 auto}
.article-copy h2{font-size:clamp(1.5rem,2.5vw,2.2rem);margin-top:2.5rem}
.article-copy h3{margin-top:1.7rem}
.article-copy li{margin:.45rem 0}
.contact-form label{display:block;font-weight:700;margin:.8rem 0 .3rem}
.contact-form input,.contact-form textarea{width:100%;padding:.8rem;background:#211812;color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:4px}
.contact-form textarea{min-height:120px;resize:vertical}
.form-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1rem}
#worksheet-status{min-height:1.5em;color:var(--accent-secondary)}
.site-footer{margin-top:4rem;background:#17100d;border-top:1px solid var(--border-subtle);padding:3rem 0 1.5rem}
.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1.3fr;gap:2rem}
.site-footer h2{font-size:1rem;letter-spacing:0;margin-bottom:.7rem;color:var(--accent-secondary)}
.site-footer p,.site-footer li{color:var(--text-muted);font-size:.92rem}
.site-footer ul{list-style:none;padding:0;margin:0}
.site-footer li{margin:.3rem 0}
.site-footer a{color:var(--text-primary)}
.footer-bottom{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid var(--border-subtle);margin-top:2rem;padding-top:1rem;color:var(--text-muted);font-size:.84rem}
.reveal{opacity:0;transform:translateY(22px);transition:all .7s var(--ease-kinetic)}
.reveal.reveal-visible{opacity:1;transform:translateY(0)}
.small-note{font-size:.9rem;color:var(--text-muted)}
.callout{border-left:3px solid var(--accent-primary);padding:1rem 1.2rem;background:rgba(245,158,11,.08);margin:1.5rem 0}
@media(max-width:1024px){.hero-grid{gap:2rem}.hero-images{min-height:330px}}
@media(max-width:768px){.header-row{gap:1rem}.menu-toggle{display:block;order:-1}.brand{margin-right:auto}.nav-links{display:none;position:absolute;top:100%;left:20px;right:20px;padding:1rem;background:#30231b;box-shadow:var(--shadow-elevation);border-radius:4px;flex-direction:column;align-items:stretch;gap:0}.nav-links.open{display:flex}.nav-links a{padding:.8rem;border-bottom:1px solid var(--border-subtle)}.hero-grid{grid-template-columns:1fr}.hero-images{min-height:340px}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>section:first-child{grid-column:1/-1}}
@media(max-width:480px){.container{width:min(calc(100% - 28px),var(--page-width))}.hero{padding-top:3rem}.hero-images{min-height:270px}.image-strip{grid-template-columns:1fr}.image-strip img{aspect-ratio:16/9}.horizontal-card{grid-template-columns:1fr}.horizontal-card img{width:100%;aspect-ratio:16/9}.source-list{columns:1}.footer-grid{grid-template-columns:1fr}.footer-grid>section:first-child{grid-column:auto}.footer-bottom{flex-direction:column}.stage{padding-left:3.8rem}.stage-number{width:44px;height:44px}.pathway:before{left:21px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}