/* ============================================================
   Shared stylesheet for secondary pages (case studies, 404).
   Reuses the same design tokens as index.html so everything
   still looks like one site.
   ============================================================ */
:root{
  --bg:#0b0b0c; --bg-rgb:11,11,12; --surface:#141416;
  --ink:#f5f3ee; --ink-rgb:245,243,238; --dim:#9a9a95;
  --pink:#f0a6df; --pink-ink:#3a0f34; --yellow:#eeea3c;
  --orange:#e9531c; --green:#3fa179;
  --line: rgba(var(--ink-rgb),0.14); --copy:#d9d7cf;
  --radius-lg: 32px; --radius-md: 18px;
  --ease: cubic-bezier(.16,.84,.44,1);
}
html[data-theme="light"]{
  --bg:#f5f3ee; --bg-rgb:245,243,238; --surface:#ffffff;
  --ink:#0b0b0c; --ink-rgb:11,11,12; --dim:#6b6b66; --copy:#3a3a37;
}
html, body{transition:background-color .4s var(--ease), color .4s var(--ease);}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{background:var(--bg);color:var(--ink);font-family:'Poppins',sans-serif;font-weight:400;overflow-x:hidden;-webkit-font-smoothing:antialiased;}
img{display:block;width:100%;height:100%;object-fit:cover;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;}
.wrap{max-width:1360px;margin:0 auto;padding:0 32px;}
.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:600;color:var(--dim);}
::selection{background:var(--yellow);color:#111;}
:focus-visible{outline:2px solid var(--yellow);outline-offset:3px;}

/* ---------- NAV (shared) ---------- */
header{position:fixed;top:0;left:0;right:0;z-index:100;padding:22px 0;transition:background .4s var(--ease), backdrop-filter .4s var(--ease), padding .3s var(--ease);}
header.scrolled{background:rgba(var(--bg-rgb),0.75);backdrop-filter:blur(14px);padding:14px 0;border-bottom:1px solid var(--line);}
nav{display:flex;align-items:center;justify-content:space-between;}
.logo{font-size:20px;font-weight:800;letter-spacing:-.02em;}
.logo span{color:var(--yellow);}
.nav-links{display:flex;gap:38px;align-items:center;}
.nav-links a{font-size:14px;font-weight:500;color:var(--dim);transition:color .25s var(--ease);}
.nav-links a:hover{color:var(--ink);}
.nav-cta{background:var(--yellow);color:#101010;padding:11px 22px;border-radius:100px;font-weight:600;font-size:14px;transition:transform .3s var(--ease), box-shadow .3s var(--ease);display:inline-flex;align-items:center;gap:8px;}
.nav-cta:hover{transform:translateY(-2px);box-shadow:0 10px 24px -8px rgba(238,234,60,.55);}
.burger{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:6px;}
.burger span{width:24px;height:2px;background:var(--ink);border-radius:2px;transition:all .3s var(--ease);}
.burger.active span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.burger.active span:nth-child(2){opacity:0;transform:scaleX(0);}
.burger.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
#nav-drawer{position:fixed;inset:0;background:var(--bg);z-index:99;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:30px;transform:translateY(-100%);transition:transform .45s var(--ease);}
#nav-drawer.open{transform:translateY(0);}
#nav-drawer a{font-size:26px;font-weight:600;}
#nav-drawer .nav-cta{margin-top:10px;}

.theme-toggle{width:38px;height:38px;border-radius:50%;flex-shrink:0;border:1px solid var(--line);background:transparent;color:var(--ink);display:flex;align-items:center;justify-content:center;position:relative;cursor:pointer;transition:background .3s var(--ease), border-color .3s var(--ease), transform .3s var(--ease);}
.theme-toggle:hover{background:rgba(var(--ink-rgb),.06);transform:translateY(-2px);}
.theme-toggle svg{position:absolute;width:17px;height:17px;transition:opacity .45s var(--ease), transform .55s var(--ease);}
.theme-toggle .icon-sun{opacity:1;transform:rotate(0) scale(1);}
.theme-toggle .icon-moon{opacity:0;transform:rotate(70deg) scale(.4);}
html[data-theme="light"] .theme-toggle .icon-sun{opacity:0;transform:rotate(-70deg) scale(.4);}
html[data-theme="light"] .theme-toggle .icon-moon{opacity:1;transform:rotate(0) scale(1);}
.theme-toggle-mobile{margin-top:6px;}

/* ---------- FOOTER (shared) ---------- */
footer{padding:34px 0 28px;border-top:1px solid var(--line);margin-top:60px;}
.foot-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:18px;}
.foot-row .logo{font-size:16px;}
.foot-links{display:flex;gap:28px;font-size:13px;color:var(--dim);}
.foot-links a:hover{color:var(--ink);}
.foot-bottom{border-top:1px solid var(--line);padding-top:20px;margin-top:20px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;font-size:12px;}
.back-top{width:40px;height:40px;border:1px solid var(--line);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .3s var(--ease), transform .3s var(--ease);}
.back-top:hover{background:var(--ink);color:#101010;transform:translateY(-3px);}

/* ---------- CASE STUDY ---------- */
.cs-hero{padding:150px 0 40px;}
.cs-hero .eyebrow{margin-bottom:14px;}
.cs-hero h1{font-size:clamp(34px,5vw,58px);font-weight:700;letter-spacing:-.03em;line-height:1.05;max-width:760px;margin-bottom:18px;}
.cs-hero p.dek{max-width:560px;color:var(--dim);font-size:16px;line-height:1.6;}
.cs-meta{display:flex;flex-wrap:wrap;gap:34px;margin-top:34px;padding-top:26px;border-top:1px solid var(--line);}
.cs-meta div{display:flex;flex-direction:column;gap:4px;}
.cs-meta span.k{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--dim);font-weight:600;}
.cs-meta span.v{font-size:15px;font-weight:600;}
.cs-meta a.v{text-decoration:underline;text-underline-offset:3px;}

.cs-cover{border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--line);margin:40px 0 10px;aspect-ratio:16/9;}
.cs-cover img{filter:grayscale(.15);}

.cs-body{padding:50px 0;}
.cs-grid{display:grid;grid-template-columns:1fr 1.6fr;gap:60px;}
.cs-nav-inpage{position:sticky;top:120px;display:flex;flex-direction:column;gap:14px;align-self:start;}
.cs-nav-inpage a{font-size:13px;font-weight:600;color:var(--dim);padding-left:14px;border-left:2px solid var(--line);transition:color .25s var(--ease), border-color .25s var(--ease);}
.cs-nav-inpage a:hover, .cs-nav-inpage a.active{color:var(--ink);border-color:var(--yellow);}

.cs-section{margin-bottom:52px;}
.cs-section h2{font-size:26px;font-weight:700;letter-spacing:-.015em;margin-bottom:16px;}
.cs-section p{font-size:16px;line-height:1.75;color:var(--copy);font-weight:300;margin-bottom:16px;}
.cs-section ul{margin:16px 0;display:flex;flex-direction:column;gap:10px;}
.cs-section ul li{font-size:15px;line-height:1.6;color:var(--copy);display:flex;gap:10px;}
.cs-section ul li::before{content:"→";color:var(--yellow);flex-shrink:0;font-weight:700;}

.cs-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius-md);overflow:hidden;margin:14px 0 4px;}
.cs-stat{background:var(--surface);padding:22px;}
.cs-stat .num{font-size:clamp(26px,3vw,34px);font-weight:800;letter-spacing:-.02em;}
.cs-stat .label{font-size:12px;color:var(--dim);margin-top:6px;}

.cs-cta-band{background:var(--yellow);color:#151400;border-radius:var(--radius-lg);padding:44px;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin-top:20px;}
.cs-cta-band h3{font-size:24px;font-weight:700;letter-spacing:-.015em;}
.cs-cta-band .btn-dark{background:#151400;color:var(--yellow);padding:14px 24px;border-radius:100px;font-weight:600;font-size:14px;display:inline-flex;align-items:center;gap:8px;transition:transform .3s var(--ease);}
.cs-cta-band .btn-dark:hover{transform:translateY(-2px);}

.cs-more{padding:20px 0 60px;}
.cs-more h4{font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--dim);margin-bottom:18px;}
.cs-more-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;}
.cs-more-card{border:1px solid var(--line);border-radius:var(--radius-md);padding:22px;display:flex;justify-content:space-between;align-items:center;transition:border-color .3s var(--ease), transform .3s var(--ease);}
.cs-more-card:hover{border-color:rgba(var(--ink-rgb),.35);transform:translateY(-3px);}
.cs-more-card h5{font-size:16px;font-weight:600;}
.cs-more-card span{font-size:12px;color:var(--dim);}

@media (max-width:900px){
  .nav-links{display:none;}
  .burger{display:flex;}
  .cs-grid{grid-template-columns:1fr;}
  .cs-nav-inpage{position:static;flex-direction:row;flex-wrap:wrap;gap:16px;}
}
@media (max-width:600px){
  .wrap{padding:0 20px;}
  .cs-hero{padding-top:110px;}
  .cs-stats{grid-template-columns:1fr;}
  .cs-more-grid{grid-template-columns:1fr;}
  .cs-cta-band{padding:30px 22px;}
}

/* ---------- COOKIE CONSENT (shared) ---------- */
#cookie-banner{position:fixed;left:20px;right:20px;bottom:20px;z-index:300;max-width:520px;margin:0 auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);padding:22px 24px;box-shadow:0 20px 50px -20px rgba(0,0,0,.35);transform:translateY(140%);opacity:0;transition:transform .5s var(--ease), opacity .5s var(--ease);}
#cookie-banner.show{transform:translateY(0);opacity:1;}
#cookie-banner p{font-size:13.5px;line-height:1.6;color:var(--copy);margin-bottom:16px;}
#cookie-banner a{text-decoration:underline;color:var(--ink);}
.cookie-actions{display:flex;gap:10px;flex-wrap:wrap;}
.cookie-btn{flex:1;min-width:110px;text-align:center;padding:11px 16px;border-radius:100px;font-size:13px;font-weight:600;cursor:pointer;border:1px solid var(--line);background:transparent;color:var(--ink);font-family:'Poppins',sans-serif;transition:transform .3s var(--ease), background .3s var(--ease);}
.cookie-btn:hover{transform:translateY(-2px);}
.cookie-btn.accept{background:var(--yellow);color:#151400;border-color:transparent;}
@media (max-width:600px){ #cookie-banner{left:14px;right:14px;bottom:14px;padding:18px 20px;} }

/* ---------- 404 ---------- */
.error-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:140px 24px 60px;}
.error-code{font-size:clamp(90px,16vw,180px);font-weight:800;letter-spacing:-.04em;line-height:.9;color:var(--yellow);-webkit-text-stroke:2px var(--ink);}
html[data-theme="light"] .error-code{-webkit-text-stroke:2px var(--ink);}
.error-page h1{font-size:clamp(22px,3vw,32px);font-weight:700;margin-top:18px;letter-spacing:-.02em;}
.error-page p{max-width:420px;color:var(--dim);font-size:15px;line-height:1.6;margin:14px 0 30px;}
.error-actions{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;}
.btn-yellow{background:var(--yellow);color:#151400;padding:13px 24px;border-radius:100px;font-weight:600;font-size:14px;display:inline-flex;align-items:center;gap:8px;transition:transform .3s var(--ease);}
.btn-yellow:hover{transform:translateY(-2px);}
.btn-outline{border:1px solid var(--line);padding:13px 24px;border-radius:100px;font-weight:600;font-size:14px;display:inline-flex;align-items:center;gap:8px;transition:transform .3s var(--ease), background .3s var(--ease);}
.btn-outline:hover{transform:translateY(-2px);background:rgba(var(--ink-rgb),.06);}

@media (prefers-reduced-motion: reduce){ *{animation:none !important;transition:none !important;} }
