:root{
  --text-xs:clamp(.75rem,.7rem + .25vw,.875rem);
  --text-sm:clamp(.875rem,.8rem + .35vw,1rem);
  --text-base:clamp(1rem,.95rem + .25vw,1.125rem);
  --text-lg:clamp(1.125rem,1rem + .75vw,1.5rem);
  --text-xl:clamp(1.5rem,1.2rem + 1.25vw,2.25rem);
  --text-2xl:clamp(2rem,1.2rem + 2.5vw,3.5rem);
  --text-hero:clamp(3rem,.5rem + 8vw,8.5rem);
  --space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-32:8rem;
  --radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;
  --transition-interactive:180ms cubic-bezier(.16,1,.3,1);
  --content-wide:1200px;
  --font-display:'Anton','Impact',sans-serif;
  --font-body:'Switzer','Helvetica Neue',sans-serif;
}
:root,[data-theme=light]{
  --color-bg:#f3efe6;--color-surface:#faf7f0;--color-surface-offset:#e9e3d6;
  --color-border:#d6cfbf;--color-divider:#e0d9ca;
  --color-text:#24211b;--color-text-muted:#665f52;--color-text-faint:#a39b8b;--color-text-inverse:#f8f5ee;
  --color-primary:#a8481a;--color-primary-hover:#86380f;
  --color-sage:#5f6b55;
  --color-night:#1b1d1c;
  --shadow-md:0 6px 20px oklch(.25 .02 70 / .12);
}
[data-theme=dark]{
  --color-bg:#141412;--color-surface:#1c1b18;--color-surface-offset:#24221e;
  --color-border:#3a3731;--color-divider:#2c2a25;
  --color-text:#e2ddd2;--color-text-muted:#a39c8e;--color-text-faint:#6c665b;--color-text-inverse:#1a1916;
  --color-primary:#e3874a;--color-primary-hover:#f0a06a;
  --color-sage:#9aa88d;
  --color-night:#0d0e0d;
  --shadow-md:0 6px 20px oklch(0 0 0 / .4);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:none;text-size-adjust:none;-webkit-font-smoothing:antialiased;scroll-behavior:smooth;scroll-padding-top:var(--space-20)}
body{min-height:100dvh;line-height:1.6;font-family:var(--font-body);font-size:var(--text-base);color:var(--color-text);background:var(--color-bg)}
img,svg{display:block;max-width:100%;height:auto}
button{cursor:pointer;background:none;border:none;font:inherit;color:inherit}
h1,h2,h3{text-wrap:balance;line-height:1.1}
p,li{text-wrap:pretty;max-width:68ch}
a{color:inherit}
a,button{transition:color var(--transition-interactive),background var(--transition-interactive),border-color var(--transition-interactive),opacity var(--transition-interactive)}
:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px;border-radius:var(--radius-sm)}
::selection{background:color-mix(in oklab,var(--color-primary) 30%,transparent)}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.skip{position:absolute;left:-9999px;top:var(--space-2);background:var(--color-primary);color:#fff;padding:var(--space-2) var(--space-4);z-index:100}
.skip:focus{left:var(--space-2)}

.wrap{width:min(100% - 2*clamp(var(--space-5),4vw,var(--space-12)),var(--content-wide));margin-inline:auto}

/* header */
.header{position:fixed;inset:0 0 auto;z-index:50;color:#fff;transition:background var(--transition-interactive),color var(--transition-interactive),box-shadow var(--transition-interactive)}
.header--solid{background:color-mix(in oklab,var(--color-bg) 92%,transparent);backdrop-filter:blur(12px);color:var(--color-text);box-shadow:0 1px 0 var(--color-divider)}
.header__inner{display:flex;align-items:center;gap:var(--space-6);padding:var(--space-3) clamp(var(--space-5),4vw,var(--space-12))}
.brand{display:flex;align-items:center;gap:var(--space-3);text-decoration:none;margin-right:auto}
.brand__mark{width:38px;height:38px}
.brand__word{font-family:var(--font-display);font-size:1.25rem;letter-spacing:.04em;text-transform:uppercase}
.nav{display:flex;gap:var(--space-6)}
.nav a{font-size:var(--text-sm);font-weight:500;text-decoration:none;opacity:.85}
.nav a:hover{opacity:1;color:var(--color-primary)}
.header:not(.header--solid) .nav a:hover{color:#fff;text-decoration:underline;text-underline-offset:6px}
.header__actions{display:flex;align-items:center;gap:var(--space-2)}
.icon-btn{width:40px;height:40px;display:grid;place-items:center;border-radius:var(--radius-md)}
.icon-btn:hover{background:color-mix(in oklab,currentColor 12%,transparent)}
.menu-btn{display:none}
.mobile-nav{display:flex;flex-direction:column;padding:var(--space-2) clamp(var(--space-5),4vw,var(--space-12)) var(--space-5);background:var(--color-bg);color:var(--color-text)}
.mobile-nav[hidden]{display:none}
.mobile-nav a{padding:var(--space-3) 0;text-decoration:none;font-weight:500;border-bottom:1px solid var(--color-divider)}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);background:var(--color-primary);color:#fff;font-size:var(--text-sm);font-weight:600;letter-spacing:.02em;text-decoration:none;border-radius:var(--radius-md);border:1.5px solid var(--color-primary)}
[data-theme=dark] .btn{color:#1a1410}
.btn:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover)}
.btn--sm{padding:var(--space-2) var(--space-4)}
.btn--ghost{background:transparent;color:inherit;border-color:currentColor}
[data-theme=dark] .btn--ghost{color:inherit}
.btn--ghost:hover{background:color-mix(in oklab,currentColor 10%,transparent);border-color:currentColor}

/* hero */
.hero{position:relative;min-height:100svh;display:grid;align-items:end;color:#fff;overflow:hidden;isolation:isolate}
.hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 60%;z-index:-2}
.hero__shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,rgb(12 10 8 / .82) 0%,rgb(12 10 8 / .35) 45%,rgb(12 10 8 / .15) 70%,rgb(12 10 8 / .45) 100%)}
.hero__content{padding:var(--space-32) clamp(var(--space-5),4vw,var(--space-12)) clamp(var(--space-12),8vh,var(--space-24));max-width:1400px;margin-inline:auto;width:100%}
.eyebrow{font-size:var(--text-xs);font-weight:600;letter-spacing:.16em;text-transform:uppercase;opacity:.9}
.eyebrow--accent{color:var(--color-primary);opacity:1}
.hero__title{font-family:var(--font-display);font-weight:400;font-size:var(--text-hero);text-transform:uppercase;line-height:.92;letter-spacing:.01em;margin-block:var(--space-4) var(--space-5);text-shadow:0 2px 30px rgb(0 0 0 / .35)}
.hero__tag{font-size:var(--text-lg);font-weight:500;letter-spacing:.06em;text-transform:uppercase;line-height:1.45}
.hero__tag span{display:block}
.hero__cta{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-8)}
.hero .btn{color:#fff}

/* intro */
.intro{display:grid;grid-template-columns:1.6fr 1fr;gap:clamp(var(--space-8),6vw,var(--space-20));padding-block:clamp(var(--space-16),9vw,var(--space-32));align-items:end}
.intro__lead{font-family:var(--font-body);font-weight:500;font-size:var(--text-xl);line-height:1.3;letter-spacing:-.01em}
.facts{display:grid;gap:var(--space-4);border-top:2px solid var(--color-text);padding-top:var(--space-5)}
.facts div{display:flex;justify-content:space-between;gap:var(--space-4);border-bottom:1px solid var(--color-divider);padding-bottom:var(--space-3)}
.facts dt{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.12em;color:var(--color-text-muted);font-weight:600}
.facts dd{font-size:var(--text-sm);font-weight:600;text-align:right}

/* sections */
.section{padding-block:clamp(var(--space-12),7vw,var(--space-24))}
.section__head{margin-bottom:var(--space-10)}
.section__title{font-family:var(--font-display);font-weight:400;font-size:var(--text-2xl);text-transform:uppercase;letter-spacing:.01em;margin-top:var(--space-2)}

.regions{display:grid;grid-template-columns:1.35fr 1fr;grid-template-rows:auto auto;gap:var(--space-5)}
.region{position:relative;overflow:hidden;border-radius:var(--radius-lg);background:var(--color-night);color:#fff;min-height:300px;display:flex;align-items:flex-end}
.region--lg{grid-row:span 2;min-height:620px}
.region img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 900ms cubic-bezier(.16,1,.3,1)}
.region::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgb(10 9 7 / .85),rgb(10 9 7 / .1) 60%)}
.region__body{position:relative;z-index:1;padding:var(--space-6)}
.region h3{font-family:var(--font-display);font-weight:400;font-size:var(--text-xl);text-transform:uppercase;letter-spacing:.02em;margin-bottom:var(--space-2)}
.region p{font-size:var(--text-sm);opacity:.9;max-width:42ch}

/* episodes */
.episodes{background:var(--color-night);color:#ece7dc;padding-block:clamp(var(--space-16),9vw,var(--space-32))}
.episodes__inner{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(var(--space-8),6vw,var(--space-20));align-items:center}
.episodes__media img{border-radius:var(--radius-lg);aspect-ratio:4/5;object-fit:cover;width:100%}
.episodes__copy p{color:#c8c1b3;margin-top:var(--space-4)}
.episodes__copy .eyebrow--accent{color:#e3874a}
.episodes__copy .btn{margin-top:var(--space-8);background:#e3874a;border-color:#e3874a;color:#1a1410}
.episodes__copy .btn:hover{background:#f0a06a;border-color:#f0a06a}

/* ethics */
.ethics{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-6);list-style:none}
.ethics li{border-top:2px solid var(--color-text);padding-top:var(--space-5)}
.ethics__n{font-family:var(--font-display);font-size:var(--text-xl);color:var(--color-primary);display:block;margin-bottom:var(--space-3)}
.ethics h3{font-size:var(--text-lg);font-weight:700;margin-bottom:var(--space-2)}
.ethics p{font-size:var(--text-sm);color:var(--color-text-muted)}

/* about */
.about{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(var(--space-8),6vw,var(--space-20));align-items:center;padding-block:clamp(var(--space-12),7vw,var(--space-24));border-top:1px solid var(--color-divider)}
.about__copy p{margin-top:var(--space-4);color:var(--color-text-muted)}
.about__copy .eyebrow + h2 + p{color:var(--color-text)}
.pull{font-family:var(--font-display);font-size:var(--text-xl);text-transform:uppercase;line-height:1.2;color:var(--color-sage);border-left:4px solid var(--color-primary);padding-left:var(--space-6)}

/* contact */
.contact{background:var(--color-surface-offset);padding-block:clamp(var(--space-16),8vw,var(--space-24))}
.contact__inner{text-align:center;display:grid;justify-items:center;gap:var(--space-4)}
.contact__inner p{color:var(--color-text-muted)}
.contact__links{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-3);margin-top:var(--space-4)}

.footer{padding-block:var(--space-8);font-size:var(--text-xs);color:var(--color-text-muted)}
.footer__inner{display:flex;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}
.footer a{text-decoration:none}
.footer a:hover{color:var(--color-primary)}

@media (hover:hover){.region:hover img{transform:scale(1.04)}}

@media (max-width:960px){
  .nav{display:none}
  .menu-btn{display:grid}
  .intro,.episodes__inner,.about{grid-template-columns:1fr}
  .regions{grid-template-columns:1fr}
  .region--lg{grid-row:auto;min-height:420px}
  .ethics{grid-template-columns:repeat(2,1fr)}
  .episodes__media img{aspect-ratio:16/11}
}
@media (max-width:560px){
  .hero__tag{font-size:var(--text-sm);letter-spacing:.04em}
  .brand__word{display:none}
  .ethics{grid-template-columns:1fr}
  .header__actions .btn--sm{padding:var(--space-2) var(--space-3)}
}
