/* Case-study pages. Tokens mirror index.html (orange palette, locked).
   The homepage keeps its own inline copy; keep these in sync if the palette
   ever changes. */
:root{
  --ground:#0C0A09; --panel:#16120E; --panel-2:#1E1913;
  --line:#2A231C; --line-2:#3A3128;
  --paper:#EFEAE2; --paper-dim:#C9C1B6; --muted:#928879; --faint:#5E564B;
  --accent:#FF5C1A; --accent-dim:#C7420E; --accent-wash:rgba(255,92,26,.10);
  --ground-rgb:12,10,9; --paper-rgb:239,234,226; --hatch-a:#241D16; --hatch-b:#1B1610;
  --display:"Helvetica Neue",Helvetica,Arial,ui-sans-serif,system-ui,sans-serif;
  --body:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;
  --mono:ui-monospace,"SF Mono","JetBrains Mono","Cascadia Code",Menlo,monospace;
  --gut:clamp(20px,5vw,64px); --maxw:1000px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--ground);color:var(--paper);font-family:var(--body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}
img,video{max-width:100%;display:block}
.shell{max-width:var(--maxw);margin:0 auto;padding-left:var(--gut);padding-right:var(--gut)}

/* nav — a slimmer version of the homepage bar */
header.nav{position:sticky;top:0;z-index:60;background:rgba(var(--ground-rgb),.86);backdrop-filter:saturate(140%) blur(12px);border-bottom:1px solid var(--line)}
.nav-in{max-width:var(--maxw);margin:0 auto;padding:0 var(--gut);height:62px;display:flex;align-items:center;gap:20px}
.mark{display:flex;align-items:center;gap:10px;text-decoration:none;margin-right:auto;font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--paper);padding:8px 0}
.mark .reg{width:16px;height:16px;flex:none;border-radius:50%;border:1.5px solid var(--accent);position:relative}
.mark .reg::before,.mark .reg::after{content:"";position:absolute;background:var(--accent)}
.mark .reg::before{left:50%;top:-4px;bottom:-4px;width:1.5px;transform:translateX(-50%)}
.mark .reg::after{top:50%;left:-4px;right:-4px;height:1.5px;transform:translateY(-50%)}
.mark .sub{color:var(--faint)}
@media (max-width:560px){.mark .sub{display:none}}
.nav-back{font-family:var(--mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--paper-dim);text-decoration:none;padding:6px 0;border-bottom:1px solid transparent;transition:.2s}
.nav-back:hover{color:var(--paper);border-bottom-color:var(--accent)}
.nav-cta{font-family:var(--mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;color:var(--ground);background:var(--accent);padding:9px 14px;font-weight:700;transition:.2s}
.nav-cta:hover{background:var(--paper)}

/* hero */
.cs-hero{padding:clamp(34px,6vw,72px) 0 clamp(24px,3vw,36px)}
.cs-eyebrow{display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin:0 0 18px}
.cs-eyebrow .sep{width:16px;height:1px;background:var(--line-2)}
.cs-eyebrow .plain{color:var(--muted)}
.cs-hero h1{font-family:var(--display);font-size:clamp(38px,7vw,78px);line-height:.94;letter-spacing:-.035em;font-weight:800;margin:0;text-transform:uppercase;text-wrap:balance}
.cs-hero .sub{font-family:var(--serif);font-size:clamp(17px,2.2vw,22px);color:var(--paper-dim);margin:18px 0 0;max-width:60ch;line-height:1.5}

/* stage video */
.cs-stage{position:relative;margin:clamp(24px,3.4vw,40px) 0;border:1px solid var(--line);background:var(--panel-2);display:grid;place-items:center;overflow:hidden;background-image:repeating-linear-gradient(115deg,var(--hatch-a) 0 22px,var(--hatch-b) 22px 44px)}
.cs-stage video{width:auto;max-width:100%;max-height:min(74vh,680px);height:auto;background:#000;box-shadow:0 18px 60px -20px rgba(0,0,0,.9)}
.cs-stage .frame{position:absolute;inset:10px;pointer-events:none;border:1px solid rgba(var(--paper-rgb),.10)}
.cs-stage .frame::before,.cs-stage .frame::after{content:"";position:absolute;width:14px;height:14px;border:1px solid var(--accent)}
.cs-stage .frame::before{top:-1px;left:-1px;border-right:none;border-bottom:none}
.cs-stage .frame::after{bottom:-1px;right:-1px;border-left:none;border-top:none}
.cs-sound{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);z-index:3;pointer-events:none;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--ground);background:var(--accent);padding:8px 14px;transition:opacity .3s ease}
.cs-stage[data-sound="on"] .cs-sound{opacity:0}

/* highlight pull */
.cs-pull{border-left:3px solid var(--accent);background:linear-gradient(135deg,var(--accent-wash),var(--panel) 60%);padding:clamp(20px,2.8vw,30px) clamp(22px,3vw,34px);margin:clamp(28px,3.6vw,44px) 0}
.cs-pull p{margin:0;font-family:var(--serif);font-size:clamp(18px,2.6vw,26px);line-height:1.4;color:var(--paper);font-style:italic}
.cs-pull .metric{font-family:var(--display);font-weight:800;font-style:normal;color:var(--accent)}

/* body: challenge / solution / outcome */
.cs-body{padding-bottom:clamp(40px,6vw,80px)}
.cs-block{display:grid;grid-template-columns:200px minmax(0,1fr);gap:clamp(16px,3vw,44px);padding:clamp(26px,3.4vw,40px) 0;border-top:1px solid var(--line)}
@media (max-width:760px){.cs-block{grid-template-columns:1fr;gap:12px}}
.cs-block .k{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);padding-top:5px}
.cs-block .k .num{color:var(--faint);margin-right:8px}
.cs-block p{margin:0;font-size:16.5px;line-height:1.7;color:var(--paper-dim);max-width:68ch}
.cs-block p + p{margin-top:14px}
.cs-block b{color:var(--paper);font-weight:600}
.cs-block em{color:var(--paper);font-style:italic}

/* meta rail */
.cs-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:clamp(28px,3.6vw,44px)}
@media (max-width:640px){.cs-meta{grid-template-columns:1fr}}
.cs-meta div{background:var(--panel);padding:18px 20px}
.cs-meta .k{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:0 0 7px}
.cs-meta .v{margin:0;font-size:14px;color:var(--paper-dim);line-height:1.5}

/* footer nav */
.cs-foot{border-top:1px solid var(--line);padding:clamp(30px,4vw,48px) 0}
.cs-foot-in{display:flex;gap:16px 24px;justify-content:space-between;align-items:center;flex-wrap:wrap}
.cs-foot a.back{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--paper-dim);text-decoration:none;border-bottom:1px solid var(--line-2);padding-bottom:3px}
.cs-foot a.back:hover{color:var(--accent);border-bottom-color:var(--accent)}
.cs-foot a.mail{font-family:var(--mono);font-size:clamp(13px,2vw,16px);color:var(--paper);text-decoration:none;border-bottom:1px solid var(--accent);padding-bottom:3px}
.cs-foot a.mail:hover{color:var(--accent)}

@media (prefers-reduced-motion:no-preference){
  .rv{opacity:0;transform:translateY(12px);transition:opacity .6s cubic-bezier(.2,.7,.2,1),transform .6s cubic-bezier(.2,.7,.2,1)}
  .rv.in{opacity:1;transform:none}
}
