/* ═══════════════════════════════════════════════════
   CASE STUDIES PAGE — Full Design
   Figma node: 23:396
   Layout: Hero → Filter bar → Case cards grid → CTA
═══════════════════════════════════════════════════ */

.cs-page{background:#fff;min-height:100vh; padding-top:64px;}
.cs-hero-wrap{
  position:relative;overflow:hidden;
  margin:0 -20px;
}
.cs-hero-img{
  width:calc(100% + 40px);margin-left:-20px;
  display:block;border-radius:0;
}
.cs-content{padding:0 100px 80px;position:relative;z-index:2}
.cs-ey{
  padding-top:120px;
  font-family:'Poppins',sans-serif;font-weight:500;font-size:12px;
  letter-spacing:.2em;color:var(--red);text-transform:uppercase;
  margin-bottom:8px;line-height:25px;
}
.cs-h1{
  font-family:'Poppins',sans-serif;font-weight:700;font-size:32px;
  line-height:35px;color:#000;text-transform:uppercase;margin-bottom:60px;
}
.cs-main-img{width:100%;border-radius:8px;display:block;margin-bottom:12px}


/* ── HERO BANNER ── */
.cs-hero{
  position:relative;
  width:100%;
  height:420px;
  overflow:hidden;
  background:#0d0d0d;
}
.cs-hero-img{
  position:absolute;inset:0;
  width:100%;height:100%;
  object-fit:cover;
  object-position:center 30%;
  opacity:0.55;
}
.cs-hero-content{
  position:absolute;
  bottom:0;left:0;right:0;
  padding:0 100px 56px;
}
.cs-hero-eyebrow{
  font-family:'Poppins',sans-serif;font-weight:500;font-size:12px;
  letter-spacing:4.8px;text-transform:uppercase;
  color:var(--red);margin-bottom:12px;
}
.cs-hero-title{
  font-family:'Poppins',sans-serif;font-weight:700;font-size:56px;
  line-height:1.05;text-transform:uppercase;
  color:#fff;margin-bottom:16px;
  letter-spacing:-0.5px;
}
.cs-hero-sub{
  font-family:'Poppins',sans-serif;font-weight:300;font-size:14px;
  color:rgba(255,255,255,0.55);letter-spacing:.04em;
}
/* Grey line at bottom of hero */
.cs-hero-rule{
  position:absolute;bottom:0;left:100px;right:100px;
  height:1px;background:rgba(255,255,255,0.12);
}

/* ── FILTER / STATS BAR ── */
.cs-meta-bar{
  display:flex;align-items:center;justify-content:space-between;
  padding:28px 100px;
  border-bottom:1px solid #e8e6e3;
}
.cs-stats{display:flex;gap:48px}
.cs-stat{display:flex;flex-direction:column}
.cs-stat-val{
  font-family:'Poppins',sans-serif;font-weight:700;font-size:24px;
  color:var(--black);line-height:1;margin-bottom:4px;
}
.cs-stat-lbl{
  font-family:'Poppins',sans-serif;font-size:10px;
  letter-spacing:.15em;text-transform:uppercase;color:#828282;
}
.cs-filter-row{display:flex;gap:8px;align-items:center}
.cs-filter-btn{
  font-family:'Poppins',sans-serif;font-size:10px;
  font-weight:600;letter-spacing:.1em;text-transform:uppercase;
  padding:8px 20px;border-radius:30px;cursor:pointer;
  border:1px solid #e8e6e3;background:transparent;color:#828282;
  transition:all .2s;
}
.cs-filter-btn:hover,.cs-filter-btn.active{
  background:var(--black);color:#fff;border-color:var(--black);
}
.cs-filter-btn.active-red{
  background:var(--red);color:#fff;border-color:var(--red);
}

/* ── MAIN CONTENT AREA ── */
.cs-main{padding:60px 100px 100px}

/* Section heading row */
.cs-section-hdr{
  display:flex;align-items:flex-end;justify-content:space-between;
  margin-bottom:48px;
}
.cs-section-eyebrow{
  font-family:'Poppins',sans-serif;font-weight:500;font-size:12px;
  letter-spacing:4.8px;text-transform:uppercase;color:var(--red);
  margin-bottom:8px;
}
.cs-section-title{
  font-family:'Poppins',sans-serif;font-weight:700;font-size:32px;
  line-height:35px;color:#000;
}
.cs-view-all{
  font-family:'Poppins',sans-serif;font-weight:700;font-size:10px;
  letter-spacing:2px;text-transform:uppercase;color:var(--black);
  transition:color .2s;
}
.cs-view-all:hover{color:var(--red)}

/* ── CASE CARDS GRID ──
   Figma layout: top row 700px+350px (2:1), bottom row 350px+700px (1:2)
── */
.cs-grid{display:flex;flex-direction:column;gap:20px;margin-bottom:60px}
.cs-row{display:grid;gap:20px}
.cs-row-a{grid-template-columns:2fr 1fr}   /* row 1: big left */
.cs-row-b{grid-template-columns:1fr 2fr}   /* row 2: big right */
.cs-row-c{grid-template-columns:1fr 1fr 1fr} /* row 3: three equal */

/* BASE CARD */
.cs-card{
  border-radius:16px;
  overflow:hidden;
  position:relative;
  cursor:pointer;
  transition:transform .3s ease,box-shadow .3s ease;
  display:flex;flex-direction:column;justify-content:flex-end;
}
.cs-card:hover{transform:translateY(-4px);box-shadow:0 24px 56px rgba(0,0,0,0.18)}

/* Card height variants */
.cs-card-tall{min-height:420px}
.cs-card-short{min-height:340px}
.cs-card-mid{min-height:380px}

/* ── CARD COLOUR THEMES ── */
.cs-card-brown{background:linear-gradient(145deg,#400007 10%,#780000 40%,#810100 100%)}
.cs-card-cream{background:#f0e8d8}
.cs-card-dark{background:linear-gradient(145deg,#111008 0%,#201c10 100%)}
.cs-card-darkwarm{background:linear-gradient(145deg,#1a0e08 0%,#2d1a10 100%)}
.cs-card-navy{background:linear-gradient(145deg,#0a0f1a 10%,#121d2e 100%)}
.cs-card-forest{background:linear-gradient(145deg,#2d3703 20%,#576c04 100%)}
.cs-card-slate{background:linear-gradient(145deg,#0f0f14 10%,#1c1c28 100%)}

/* Subtle grid texture overlay on dark cards */
.cs-card-dark::before,
.cs-card-darkwarm::before,
.cs-card-navy::before,
.cs-card-forest::before,
.cs-card-slate::before{
  content:'';
  position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
  background-size:48px 48px;
  z-index:0;pointer-events:none;
}

/* ── CARD BODY ── */
.cs-card-body{
  position:relative;z-index:1;
  padding:20px 20px 20px;
  flex:1;display:flex;flex-direction:column;justify-content:flex-end;
}

.cs-card-eyebrow{
  font-family:'Poppins',sans-serif;font-size:9px;font-weight:500;
  letter-spacing:.2em;text-transform:uppercase;
  margin-bottom:14px;
}
/* Light on dark */
.cs-card-brown .cs-card-eyebrow,
.cs-card-dark .cs-card-eyebrow,
.cs-card-darkwarm .cs-card-eyebrow,
.cs-card-navy .cs-card-eyebrow,
.cs-card-forest .cs-card-eyebrow,
.cs-card-slate .cs-card-eyebrow{color:rgba(255,255,255,.5)}
/* Dark on cream */
.cs-card-cream .cs-card-eyebrow{color:#7a6248}
/* Red variant for accent */
.cs-card-eyebrow-red{color:#fff !important}

.cs-card-title{
  font-family:'Poppins',sans-serif;font-weight:700;
  font-size:20px;line-height:1.25;margin-bottom:12px;
}
.cs-card-tall .cs-card-title{font-size:24px}
.cs-card-brown .cs-card-title,
.cs-card-dark .cs-card-title,
.cs-card-darkwarm .cs-card-title,
.cs-card-navy .cs-card-title,
.cs-card-forest .cs-card-title,
.cs-card-slate .cs-card-title{color:#fff}
.cs-card-cream .cs-card-title{color:#1c1917}

.cs-card-desc{
  font-family:'Poppins',sans-serif;font-size:12px;line-height:1.7;
  margin-bottom:24px;
}
.cs-card-brown .cs-card-desc,
.cs-card-dark .cs-card-desc,
.cs-card-darkwarm .cs-card-desc,
.cs-card-navy .cs-card-desc,
.cs-card-forest .cs-card-desc,
.cs-card-slate .cs-card-desc{color:rgba(255,255,255,.55)}
.cs-card-cream .cs-card-desc{color:#7a6248}

/* Horizontal rule */
.cs-card-rule{
  border:none;border-top:1px solid rgba(255,255,255,.18);
  margin:0 0 18px;
}
.cs-card-cream .cs-card-rule{border-color:rgba(0,0,0,.12)}
.cs-card-rule-red{border-color:#fff !important}

/* CTA link */
.cs-card-cta{
  font-family:'Poppins',sans-serif;font-weight:700;font-size:9px;
  letter-spacing:2px;text-transform:uppercase;
  display:inline-flex;align-items:center;gap:6px;
}
.cs-card-brown .cs-card-cta,
.cs-card-dark .cs-card-cta,
.cs-card-darkwarm .cs-card-cta,
.cs-card-navy .cs-card-cta,
.cs-card-forest .cs-card-cta,
.cs-card-slate .cs-card-cta{color:rgba(255,255,255,.7)}
.cs-card-cream .cs-card-cta{color:#7a6248}
.cs-card:hover .cs-card-cta{opacity:1}

/* Impact stats row inside card */
.cs-card-impacts{
  display:flex;gap:24px;flex-wrap:wrap;margin-bottom:20px;
}
.cs-impact{display:flex;flex-direction:column}
.cs-impact-val{
  font-family:'Poppins',sans-serif;font-weight:700;font-size:22px;
  color:#fff;line-height:1;margin-bottom:3px;
}
.cs-impact-lbl{
  font-family:'Poppins',sans-serif;font-size:9px;
  letter-spacing:.12em;text-transform:uppercase;
  color:rgba(255,255,255,.35);
}
.cs-card-cream .cs-impact-lbl{color:rgba(0,0,0,.35)}

/* Tag chips */
.cs-card-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}
.cs-tag{
  font-family:'Poppins',sans-serif;font-size:8px;
  letter-spacing:.15em;text-transform:uppercase;
  padding:3px 10px;border-radius:20px;
  border:1px solid rgba(255,255,255,.2);
  color:rgba(255,255,255,.55);
}
.cs-card-cream .cs-tag{border-color:rgba(0,0,0,.15);color:#7a6248}

/* ── DIVIDER ── */
.cs-divider{height:1px;background:#e8e6e3;margin:0 0 60px}

/* ── COMING SOON CARD ── */
.cs-card-soon{
  border:1px dashed #e8e6e3;
  background:transparent;
  display:flex;align-items:center;justify-content:center;
  flex-direction:column;gap:12px;
  cursor:default;
}
.cs-card-soon:hover{transform:none;box-shadow:none}
.cs-soon-label{
  font-family:'Poppins',sans-serif;font-size:10px;
  letter-spacing:.2em;text-transform:uppercase;color:#c8c2bb;
}
