/* =====================================================================
   Case Studies (listing) page — page-unique styles. Prefixed .cs-.
   Loaded AFTER style.css. Tokens come from style.css.
   ===================================================================== */

/* page content width = 1300px (banner + all sections, centered with side padding) */
.container{ max-width: calc(1300px + 2 * var(--pad-x)); }

/* ---------- HERO (gmb-style: full-bleed dashboard image right + scrim + gradient heading) ---------- */
.cs-hero{ position:relative; background:var(--ink); color:var(--ivory); overflow:hidden; }
.cs-hero-bg{ position:absolute; inset:0 -14px 0 0; z-index:1; }
.cs-hero-bg img{ width:100%; height:100%; object-fit:cover; object-position:right center; display:block; }
.cs-hero-bg::after{ content:""; position:absolute; inset:0;
  background:linear-gradient(90deg, var(--ink) 0%, rgba(12,11,12,.72) 32%, rgba(12,11,12,0) 56%); }
.cs-hero-inner{ position:relative; z-index:2; min-height:560px; display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,720px); gap:56px; align-items:center; padding-block:64px; }
.cs-hero-copy{ grid-column:1; max-width:560px; min-width:0; }
.cs-hero .eyebrow{ margin-bottom:22px; }
.cs-hero-title{
  font-family:var(--font-display); font-weight:400; font-size:clamp(40px,4.4vw,56px); line-height:1.05;
  letter-spacing:-1.2px; text-transform:capitalize; overflow-wrap:break-word;
  background:linear-gradient(180deg,var(--ivory) 45%,var(--gold)); -webkit-background-clip:text; background-clip:text; color:transparent;
}
.cs-hero-title .rev{ position:relative; color:var(--gold); -webkit-text-fill-color:var(--gold); font-weight:700; white-space:nowrap; }
.cs-hero-title .rev::after{ content:""; position:absolute; left:0; right:-4px; bottom:-10px; height:14px;
  background:url('../assets/images/home/hero-underline-scribble.svg') no-repeat center/contain; }
.cs-hero-desc{ color:var(--ivory); font-weight:500; font-size:16px; margin-top:22px; max-width:520px; line-height:1.6; }
.cs-hero .hero-actions{ margin-top:30px; }
.cs-hero .hero-proof{ margin-top:34px; }
.cs-hero .proof-stars{ height:44px; width:auto; }

/* ---------- SELECTED CASE STUDIES (dark section) ---------- */
.cs-selected{ background:var(--ink); color:var(--ivory); padding:80px 0 92px; }
.cs-sel-head{ display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:28px; }
.cs-sel-title{ font-family:var(--font-display); font-weight:700; font-size:40px; line-height:1.1; letter-spacing:-1px; color:var(--ivory); }
.cs-sel-viewall{ display:inline-flex; align-items:center; gap:8px; flex-shrink:0; color:var(--gold); font-family:var(--font-body); font-weight:700; font-size:14px; }
.cs-sel-viewall i{ font-size:12px; }
.cs-sel-viewall:hover{ filter:brightness(1.1); }

/* ---- tabs ---- */
.cs-tabs{ display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin-bottom:32px; }
.cs-tab{ border:1px solid rgba(255,255,255,.16); background:transparent; border-radius:999px;
  padding:9px 18px; font-family:var(--font-body); font-size:14px; font-weight:600; color:var(--muted-dark); line-height:1; transition:.18s; cursor:pointer; }
.cs-tab:hover{ border-color:var(--gold); color:var(--ivory); }
.cs-tab.is-active{ background:var(--gold-grad); border-color:transparent; color:var(--ink); }

/* ---- composition: featured (left) + two stacked image cards (right) ---- */
.cs-grid{ display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); gap:24px; align-items:stretch; }

/* featured card — image bg + bottom text overlay */
.cs-featured{ position:relative; display:block; border-radius:22px; overflow:hidden; min-height:560px;
  background:#111; border:1px solid rgba(255,255,255,.08); transition:.2s; }
.cs-featured:hover{ transform:translateY(-3px); box-shadow:0 22px 50px rgba(0,0,0,.4); }
.cs-featured-img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:top center; }
.cs-featured-flag{ position:absolute; top:18px; right:18px; z-index:3; background:var(--gold-grad); color:var(--ink);
  font-family:var(--font-body); font-weight:700; font-size:12px; padding:6px 14px; border-radius:999px; }
.cs-featured-overlay{ position:absolute; left:0; right:0; bottom:0; z-index:2; padding:30px 32px 32px;
  background:linear-gradient(180deg, rgba(10,10,12,0) 0%, rgba(10,10,12,.72) 42%, rgba(10,10,12,.96) 100%); }
.cs-featured-logo{ position:absolute; right:28px; bottom:30px; width:96px; height:auto; opacity:.9; z-index:2; }
.cs-featured-tag{ display:inline-block; background:var(--bd-gold-13); color:var(--gold); border-radius:999px;
  padding:5px 13px; font-family:var(--font-body); font-weight:700; font-size:12px; letter-spacing:.02em; margin-bottom:14px; }
.cs-featured-title{ font-family:var(--font-display); font-weight:700; font-size:34px; line-height:1.1; letter-spacing:-.5px; color:#fff; text-transform:capitalize; }
.cs-featured-desc{ color:rgba(255,255,255,.82); font-size:15px; line-height:1.55; margin-top:12px; max-width:520px; }
.cs-featured-btn{ display:inline-flex; align-items:center; gap:9px; margin-top:22px; background:var(--gold-grad); color:var(--ink);
  font-family:var(--font-body); font-weight:700; font-size:13px; letter-spacing:.05em; padding:13px 22px; border-radius:8px; }
.cs-featured-btn .btn-arrow{ width:16px; height:auto; }

/* right column: two full-composite image cards */
.cs-side{ display:flex; flex-direction:column; gap:24px; }
.cs-side-card{ display:block; border-radius:22px; overflow:hidden; transition:.2s; flex:1; }
.cs-side-card:hover{ transform:translateY(-3px); box-shadow:0 22px 50px rgba(0,0,0,.4); }
.cs-side-card img{ width:100%; height:100%; object-fit:cover; display:block; }

/* ---------- RESPONSIVE ---------- */
@media (max-width:1200px){
  .cs-hero-inner{ grid-template-columns:1fr; min-height:0; padding-block:56px; }
  .cs-hero-bg::after{ background:linear-gradient(180deg, rgba(8,8,8,.55), rgba(8,8,8,.92)); }
}
@media (max-width:1024px){
  .cs-selected{ padding:64px 0; }
  .cs-sel-title{ font-size:32px; }
  .cs-grid{ grid-template-columns:1fr; }
  .cs-featured{ min-height:420px; }
  .cs-side{ flex-direction:row; }
}
@media (max-width:760px){
  .cs-hero-inner{ padding-block:48px 52px; }
  .cs-hero-title{ font-size:34px; }
  .cs-selected{ padding:48px 0; }
  .cs-sel-title{ font-size:26px; }
  .cs-tab{ padding:8px 14px; font-size:13px; }
  .cs-featured{ min-height:320px; }
  .cs-featured-title{ font-size:26px; }
  .cs-side{ flex-direction:column; }
}
