/* ===== Case Study template — builds on home.css (vars, header, nav, button, footer, kicker) ===== */
.swrap{width:min(var(--max),calc(100% - 64px));margin:auto}
.cs h1,.cs h2,.cs h3{font-family:Oswald,Impact,sans-serif;text-transform:uppercase;letter-spacing:-.012em;margin:0}
.cs .sq{display:inline-block;width:.2em;height:.2em;background:var(--teal);border-radius:3px;margin-left:.08em;vertical-align:baseline}
.cs .pd{color:var(--teal)}
.cs a.tlink{color:var(--teal)}
.cs section{position:relative}

/* ---------- HERO ---------- */
.cs-hero{padding:130px 0 50px;background:radial-gradient(120% 90% at 100% 0,rgba(20,78,99,.3),transparent 55%),linear-gradient(180deg,#03111e,#061827)}
.cs-back{display:inline-flex;align-items:center;gap:8px;color:var(--teal);font-weight:800;font-size:12px;letter-spacing:.05em;margin-bottom:34px}
.cs-back .ico-arrow{transform:scaleX(-1);width:1.5em}
.cs-hero-grid{display:grid;grid-template-columns:1.1fr 1fr .85fr;gap:48px;align-items:center}
.cs-hero h1{font-size:clamp(44px,5vw,80px);line-height:.98;font-weight:700}
.cs-tag{font-size:16px;line-height:1.55;color:#cdd6db;margin:22px 0 0;max-width:34ch}
.cs-logo-card{background:#fff;border-radius:16px;aspect-ratio:1/.86;display:grid;place-items:center;padding:44px;box-shadow:0 20px 50px rgba(0,0,0,.35)}
.cs-logo-card img{max-width:78%;max-height:64%;object-fit:contain}
.cs-meta{display:flex;flex-direction:column}
.cs-meta li{display:grid;grid-template-columns:42px 1fr;gap:14px;align-items:start;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.09);list-style:none}
.cs-meta li:last-child{border-bottom:0}
.cs-meta-ic{width:36px;height:36px;display:grid;place-items:center;color:var(--teal)}
.cs-meta-ic svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.cs-meta h4{color:var(--teal);font-size:11px;letter-spacing:.06em;margin:2px 0 5px;font-family:Inter,sans-serif;font-weight:700;text-transform:uppercase}
.cs-meta p{font-size:13.5px;line-height:1.4;color:#dbe2e6;margin:0}

/* ---------- INTRO BAND ---------- */
.cs-intro{background:#0a1d2c;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:30px 0}
.cs-intro p{font-size:19px;line-height:1.55;color:#dbe2e6;margin:0;font-weight:400;max-width:90ch}
.cs-intro .pd{color:var(--teal)}

/* ---------- CHALLENGE / BUILT / GROWTH / RESULTS ---------- */
.cs-blocks{background:linear-gradient(180deg,#061827,#04131f);padding:54px 0}
.cs-block{display:grid;grid-template-columns:120px 1.1fr 1.5fr;gap:30px;align-items:center;padding:30px 0;border-bottom:1px solid rgba(255,255,255,.08)}
.cs-block:last-child{border-bottom:0}
.cs-block-ic{width:80px;height:80px;border:1px solid rgba(19,209,207,.3);border-radius:50%;display:grid;place-items:center;color:var(--teal);box-shadow:0 0 22px rgba(19,209,207,.1) inset}
.cs-block-ic svg{width:38px;height:38px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.cs-block h2{font-size:30px}
.cs-block p{font-size:14.5px;line-height:1.65;color:#aab4bb;margin:0;max-width:50ch}

/* ---------- STATS (white) ---------- */
.cs-stats{background:#f4f3ef;color:var(--ink);padding:42px 0}
.cs-stats-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:0}
.cs-stat{text-align:center;padding:0 22px;border-left:1px solid #d8d6d0}
.cs-stat:first-child{border-left:0}
.cs-stat-ic{width:30px;height:30px;display:inline-flex;margin-bottom:12px}
.cs-stat-ic svg{width:100%;height:100%;fill:none;stroke:#0c9aa1;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.cs-stat-n{display:block;font-family:Oswald,sans-serif;font-weight:700;font-size:34px;color:#0a1824;line-height:1.05}
.cs-stat-l{display:block;font-family:Inter,sans-serif;font-weight:700;font-size:12px;letter-spacing:.03em;color:#0a1824;text-transform:uppercase;margin:8px 0 6px}
.cs-stat p{font-size:12px;line-height:1.45;color:#5a6670;margin:0}

/* ---------- QUOTE + PHOTO ---------- */
.cs-quote{overflow:hidden;background:#04131f;min-height:360px;display:flex;align-items:center}
.cs-quote-photo{position:absolute;top:0;left:0;bottom:0;width:46%;z-index:0;background:url('assets/images/hero-jd.jpg?v=p1') center 30%/cover}
.cs-quote::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(270deg,#04131f 0%,#04131f 48%,rgba(4,19,31,.45) 60%,transparent 80%)}
.cs-quote-inner{position:relative;z-index:2;display:flex;justify-content:flex-end;padding:54px 0}
.cs-quote-copy{max-width:560px;position:relative;padding-left:36px}
.cs-quote-copy::before{content:"\201C";position:absolute;left:-4px;top:30px;font-family:Oswald,serif;font-size:64px;color:var(--teal);line-height:0}
.cs-quote-copy blockquote{font-family:Oswald,sans-serif;text-transform:uppercase;font-size:30px;line-height:1.12;color:#fff;margin:0;letter-spacing:-.01em}
.cs-quote-copy cite{display:block;margin-top:22px;color:var(--teal);font-style:normal;font-weight:800;font-size:13px;letter-spacing:.05em}

/* ---------- PREV / NEXT ---------- */
.cs-nav{background:#061827;border-top:1px solid var(--line);padding:34px 0}
.cs-nav-grid{display:grid;grid-template-columns:1fr 2px 1fr;gap:40px;align-items:center}
.cs-nav-sep{position:relative;align-self:stretch;min-height:54px;background:linear-gradient(180deg,transparent,rgba(19,209,207,.55) 50%,transparent);box-shadow:0 0 7px rgba(19,209,207,.4)}
.cs-nav-sep::after{content:"";position:absolute;left:50%;top:50%;width:7px;height:7px;margin:-3.5px 0 0 -3.5px;border-radius:50%;background:rgba(19,209,207,.95);box-shadow:0 0 12px 3px rgba(19,209,207,.6)}
.cs-nav-item{display:flex;align-items:center;gap:18px}
.cs-nav-item.next{justify-content:flex-end;text-align:right}
.cs-nav-item .ico-arrow{flex:0 0 auto}
.cs-nav-item.prev .ico-arrow{transform:scaleX(-1)}
.cs-nav-label{display:block;color:var(--teal);font-size:11px;letter-spacing:.06em;font-weight:700;margin-bottom:5px}
.cs-nav-name{font-family:Oswald,sans-serif;font-size:18px;color:#fff;text-transform:uppercase;letter-spacing:-.01em}
.cs-nav-item a{display:flex;flex-direction:row;align-items:center;gap:18px}
.cs-nav-item.next a{justify-content:flex-end}
.cs-nav-item a>span{display:flex;flex-direction:column}
.cs-nav-item a:hover .cs-nav-name{color:var(--teal)}

/* ---------- responsive ---------- */
@media(max-width:1080px){
  .cs-hero-grid{grid-template-columns:1fr;gap:34px}
  .cs-logo-card{aspect-ratio:2/1;max-width:420px}
  .cs-block{grid-template-columns:70px 1fr;gap:20px}
  .cs-block-ic{width:60px;height:60px}
  .cs-block-ic svg{width:30px;height:30px}
  .cs-block p{grid-column:2/3;max-width:none}
  .cs-stats-grid{grid-template-columns:1fr 1fr 1fr;gap:30px 0;row-gap:34px}
  .cs-stat:nth-child(3n+1){border-left:0}
  .cs-quote-photo{width:100%;opacity:.3}
  .cs-quote-inner{justify-content:flex-start}
}
@media(max-width:680px){
  .swrap{width:min(var(--max),calc(100% - 34px))}
  .cs-block{grid-template-columns:1fr}
  .cs-block-ic{margin-bottom:6px}
  .cs-stats-grid{grid-template-columns:1fr 1fr}
  .cs-stat{border-left:0}
  .cs-nav-grid{grid-template-columns:1fr}
  .cs-nav-sep{display:none}
  .cs-nav-item.next{justify-content:flex-start;text-align:left}
}

/* text-led stat (no number) + text logo fallback */
.cs-stat-big{font-size:15px;line-height:1.2;color:#0a1824;margin-bottom:8px}
.cs-logo-text{font-family:Georgia,'Times New Roman',serif;font-size:34px;font-weight:700;color:#111;text-align:center;line-height:1.1}
.cs-logo-text small{display:block;font-size:.42em;letter-spacing:.22em;font-weight:400;margin-top:6px;color:#444}
