/* Creation Theory case-study system, v2.
   Rule: every case study shares one typographic system (serif display, Inter body, mono kickers)
   and wears the client's palette. SuperFeast: charcoal + gold. */

:root{
  --bg:#1c1b19; --bg-2:#232220; --line:rgba(255,255,255,.09); --line-2:rgba(255,255,255,.16);
  --text:#ece7dc; --text-mid:#c9c3b6; --muted:#9a948a; --faint:#6f6a62;
  --gold:#e0a000; --gold-soft:rgba(224,160,0,.16); --gold-border:rgba(224,160,0,.38);
  --max:1160px; --radius:14px;
  --f-serif:'EB Garamond',Georgia,serif;
  --f-sans:'Inter',system-ui,sans-serif;
  --f-mono:'JetBrains Mono',ui-monospace,monospace;
  --f-graf:'Lacquer',system-ui;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{height:100%}
body{margin:0;font-family:var(--f-sans);font-weight:300;color:var(--text-mid);background:var(--bg);line-height:1.7;-webkit-font-smoothing:antialiased}
::selection{background:var(--gold);color:var(--bg)}
a{color:inherit;text-decoration:none}
img,video,iframe{display:block;max-width:100%}

.skip-link{position:absolute;left:-999px;top:10px;background:#fff;color:#000;padding:10px 12px;border-radius:10px;z-index:9999}
.skip-link:focus{left:12px}
.container{width:min(var(--max),calc(100% - 48px));margin:0 auto}

/* FIXED HEADER (unchanged behaviour: position fixed over the hero video) */
header{position:fixed;top:0;left:0;width:100%;height:72px;z-index:99;background:rgba(28,27,25,.55);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
nav.headerNav{display:flex;justify-content:space-between;align-items:center;height:100%;padding:0 20px}
#logoType{width:44px;height:44px}
#logoType img{max-width:100%;display:block}
#BurgerIcon{display:none}
nav ul{display:flex;align-items:center;gap:18px;margin:0;padding:0;list-style:none}
nav ul li{list-style:none}
.nav-back li{font-family:var(--f-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);transition:.2s}
.nav-back:hover li{color:var(--text)}
.CTA_btn{font-family:var(--f-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--bg);background:var(--gold);padding:10px 18px;border-radius:999px;transition:.25s}
.CTA_btn:hover{background:#f0b418}
@media(max-width:560px){.nav-back{display:none}}

/* HERO VIDEO */
.headerHero{padding-top:72px;background:#000}
.headerVideo video{width:100%;height:auto;display:block}

/* LAYOUT: sticky rail + content (rail margin set by case-study.js) */
.layout{display:grid;grid-template-columns:260px 1fr;gap:48px;padding:70px 0 100px}
.rail{position:relative;transition:margin-top .5s ease}
.rail-inner{position:sticky;top:96px;padding:22px 20px;border:1px solid var(--line-2);border-radius:var(--radius);background:rgba(28,27,25,.85);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.rail-kicker{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.rail-title{font-family:var(--f-serif);font-size:30px;line-height:1;color:var(--text);margin-top:10px}
.rail-sub{font-size:12px;color:var(--muted);margin-top:8px;line-height:1.5}
.rail-nav{margin-top:18px;display:flex;flex-direction:column;gap:2px;border-top:1px solid var(--line);padding-top:12px}
.rail-nav a{padding:7px 10px;border-radius:8px;color:var(--muted);font-size:13.5px;border-left:2px solid transparent;transition:.2s}
.rail-nav a:hover{color:var(--text)}
.rail-nav a.is-active{color:var(--text);border-left-color:var(--gold);background:rgba(255,255,255,.03)}
.rail-cta{margin-top:18px;display:block;text-align:center;padding:11px 12px;border-radius:999px;border:1px solid var(--gold-border);color:var(--text);font-size:13px;font-weight:500;background:var(--gold-soft);transition:.25s}
.rail-cta:hover{background:var(--gold);color:var(--bg)}
@media(max-width:979px){
  .layout{grid-template-columns:1fr;gap:28px;padding-top:40px}
  .rail{margin-top:0!important}
  .rail-inner{position:relative;top:auto}
  .rail-nav{display:none}
}
.content{min-width:0}

/* HERO TEXT */
.hero{padding:6px 0 36px;border-bottom:1px solid var(--line);margin-bottom:10px}
.kicker,.kick{font-family:var(--f-mono);font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin:0 0 18px}
h1{font-family:var(--f-serif);font-weight:400;font-size:clamp(38px,5vw,66px);line-height:1.05;letter-spacing:.005em;color:var(--text);margin:0 0 26px;max-width:16ch}
.lede{font-size:clamp(16px,1.7vw,18.5px);color:var(--text-mid);margin:0 0 16px;max-width:64ch;line-height:1.7}
.lede-intro{margin-bottom:22px;padding-bottom:22px;border-bottom:1px solid var(--line);color:var(--text)}
.lede-note{margin:30px 0 0;padding:18px 24px;border-left:2px solid var(--gold);font-family:var(--f-serif);font-style:italic;font-size:clamp(21px,2.4vw,26px);color:var(--text);max-width:56ch;line-height:1.4}

/* TL;DR */
.tldr{display:grid;grid-template-columns:1fr;gap:26px 36px}
@media(min-width:720px){.tldr{grid-template-columns:repeat(2,1fr)}}
.tldr h4{font-family:var(--f-sans);font-weight:500;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin:0 0 8px}
.tldr p{font-size:14.5px;color:var(--text-mid);line-height:1.6;margin:0}

/* SECTIONS */
.section{padding:64px 0;border-bottom:1px solid var(--line)}
.section:last-of-type{border-bottom:none}
h2{font-family:var(--f-serif);font-weight:400;font-size:clamp(30px,3.6vw,44px);line-height:1.1;letter-spacing:.005em;color:var(--text);margin:0 0 22px;max-width:20ch}
h3{font-family:var(--f-sans);font-weight:500;font-size:15.5px;color:var(--text);margin:14px 0 8px}
p{margin:0 0 14px;max-width:64ch;font-size:clamp(15px,1.55vw,16.5px);line-height:1.75}
strong{color:var(--text);font-weight:500}
em{color:var(--text)}
.bullets{margin:14px 0 18px;padding:0;max-width:64ch}
.bullets li{list-style:none;padding:10px 0;border-top:1px solid var(--line);font-size:15px;color:var(--text-mid);display:grid;grid-template-columns:18px 1fr;gap:10px}
.bullets li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--gold);margin-top:10px}
.bullets li:last-child{border-bottom:1px solid var(--line)}
.punch{margin:26px 0 34px;padding-left:22px;border-left:2px solid var(--gold-border);font-family:var(--f-serif);font-style:italic;font-size:clamp(20px,2.4vw,26px);line-height:1.35;color:var(--text);max-width:34ch}
.pull{margin:10px 0 0;padding-left:24px;border-left:2px solid var(--gold-border);font-family:var(--f-serif);font-style:italic;font-size:clamp(21px,2.6vw,28px);line-height:1.35;color:var(--text);max-width:30ch}
.pull cite{display:block;margin-top:14px;font-family:var(--f-sans);font-style:normal;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}

/* MEDIA */
.mediaContainer{margin:26px 0 0;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--bg-2)}
.mediaContainer + .mediaContainer{margin-top:16px}
.mediaContainer img,.mediaContainer video{width:100%;height:auto}
.mediaContainer iframe{width:100%;border:0;aspect-ratio:16/9;height:auto;min-height:320px}

/* END CTA */
.end-cta{margin-top:54px;padding:34px 32px;border-radius:var(--radius);border:1px solid var(--gold-border);background:linear-gradient(180deg,rgba(224,160,0,.08),rgba(224,160,0,.02))}
.end-cta h3{font-family:var(--f-serif);font-weight:400;font-size:clamp(26px,3vw,36px);line-height:1.1;margin:0 0 12px;color:var(--text)}
.end-cta p{margin:0 0 22px;color:var(--text-mid)}
.end-cta .kick{margin-bottom:14px}
.button{display:inline-block;font-family:var(--f-mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--bg);background:var(--gold);padding:13px 22px;border-radius:999px;transition:.25s;margin:0 8px 8px 0}
.button:hover{background:#f0b418}
.button.ghost{background:transparent;color:var(--text);border:1px solid var(--line-2)}
.button.ghost:hover{border-color:var(--text)}

.article-footer{margin-top:40px}
.fineprint{font-size:12px;color:var(--faint);max-width:70ch}
