/* ==========================================================================
   Case Studies — list page, sector band, cards & single layout.
   Uses the shared :root design tokens (--bc-*) only.
   ========================================================================== */

/* --- Intro --- */
.bc-cs-intro {padding:clamp(40px, 6vw, 80px) 0 20px;}
.bc-cs-intro__inner {display:grid; grid-template-columns:1.1fr 1fr; gap:60px; align-items:flex-start;}
.bc-cs-intro__eyebrow {display:inline-flex; align-items:center; gap:8px; font-size:12px; letter-spacing:4px; text-transform:uppercase; color:var(--bc-secondary); font-weight:600; margin-bottom:18px;}
.bc-cs-intro__eyebrow-dot {width:8px; height:8px; border-radius:50%; background:var(--bc-secondary);}
.bc-cs-intro__title {font-size:clamp(34px, 5vw, 64px); letter-spacing:-0.03em;}
.bc-cs-intro__right {color:var(--bc-muted); font-size:18px; line-height:1.8;}
.bc-cs-intro__right p + p {margin-top:1em;}

@media (max-width: 900px) {
.bc-cs-intro__inner {grid-template-columns:1fr; gap:28px;}
}

/* --- Sector experience band --- */
.bc-cs-sectors {padding:var(--bc-section-y) 0; background:var(--bc-bg-soft);}
.bc-cs-sectors__head {max-width:760px; margin:0 auto clamp(40px, 5vw, 64px); text-align:center;}
.bc-cs-sectors__eyebrow {display:inline-flex; align-items:center; gap:8px; font-size:12px; letter-spacing:4px; text-transform:uppercase; color:var(--bc-secondary); font-weight:600; margin-bottom:18px;}
.bc-cs-sectors__eyebrow-dot {width:8px; height:8px; border-radius:50%; background:var(--bc-secondary);}
.bc-cs-sectors__title {font-size:clamp(30px, 4vw, 52px); letter-spacing:-0.03em;}
.bc-cs-sectors__lead {margin-top:16px; color:var(--bc-muted); font-size:17px;}
.bc-cs-sectors__grid {display:grid; grid-template-columns:repeat(auto-fit, minmax(260px, 1fr)); gap:24px;}

.bc-cs-brand {display:flex; flex-direction:column; background:#fff; border:1px solid var(--bc-line); border-radius:var(--bc-radius-lg); padding:28px; transition:transform .35s var(--bc-ease), box-shadow .35s var(--bc-ease), border-color .35s var(--bc-ease);}
.bc-cs-brand:hover {transform:translateY(-6px); box-shadow:var(--bc-shadow-md); border-color:transparent;}
.bc-cs-brand__logo {height:88px; display:flex; align-items:center; justify-content:center; margin-bottom:22px; padding-bottom:22px; border-bottom:1px solid var(--bc-line);}
.bc-cs-brand__logo img {max-height:64px; max-width:80%; width:auto; object-fit:contain; filter:grayscale(1); opacity:.85; transition:filter .35s var(--bc-ease), opacity .35s var(--bc-ease);}
.bc-cs-brand:hover .bc-cs-brand__logo img {filter:grayscale(0); opacity:1;}
.bc-cs-brand__name {font-size:24px; font-weight:800; color:var(--bc-primary); letter-spacing:-0.02em;}
.bc-cs-brand__title {font-size:20px; letter-spacing:-0.02em; margin-bottom:8px;}
.bc-cs-brand__period {font-size:13px; font-weight:600; color:var(--bc-secondary); margin-bottom:8px;}
.bc-cs-brand__sow {font-size:14.5px; line-height:1.6; color:var(--bc-muted);}

/* --- Case study list (feature rows) --- */
.bc-cs-list {padding:var(--bc-section-y) 0;}
.bc-cs-list__head {max-width:760px; margin:0 auto clamp(40px, 5vw, 64px); text-align:center;}
.bc-cs-list__eyebrow {display:inline-flex; align-items:center; gap:8px; font-size:12px; letter-spacing:4px; text-transform:uppercase; color:var(--bc-secondary); font-weight:600; margin-bottom:18px;}
.bc-cs-list__eyebrow-dot {width:8px; height:8px; border-radius:50%; background:var(--bc-secondary);}
.bc-cs-list__title {font-size:clamp(30px, 4vw, 52px); letter-spacing:-0.03em;}
.bc-cs-list__rows {display:flex; flex-direction:column; gap:clamp(48px, 7vw, 96px);}

.bc-cs-card {display:grid; grid-template-columns:1fr 1fr; gap:clamp(32px, 5vw, 72px); align-items:center;}
.bc-cs-card--flip .bc-cs-card__media {order:2;}
.bc-cs-card__frame {position:relative; aspect-ratio:4 / 3; border-radius:var(--bc-radius-lg); overflow:hidden; background:var(--bc-bg-soft); box-shadow:var(--bc-shadow-sm);}
.bc-cs-card__frame img {width:100%; height:100%; object-fit:cover;}
.bc-cs-card__logo-wrap {width:100%; height:100%; display:flex; align-items:center; justify-content:center; padding:14%;}
.bc-cs-card__logo {max-width:100%; max-height:60%; width:auto; object-fit:contain;}
.bc-cs-card__gradient {position:absolute; inset:0; background:linear-gradient(135deg, var(--bc-primary), var(--bc-secondary));}
.bc-cs-card__period {position:absolute; top:18px; left:18px; background:rgba(255,255,255,0.92); color:var(--bc-primary); font-size:12px; font-weight:700; letter-spacing:1px; text-transform:uppercase; padding:8px 14px; border-radius:var(--bc-radius-pill); backdrop-filter:blur(4px);}
.bc-cs-card__thumbs {display:grid; grid-template-columns:repeat(4, 1fr); gap:10px; margin-top:14px;}
.bc-cs-card__thumb {aspect-ratio:1; border-radius:var(--bc-radius-sm); overflow:hidden; background:var(--bc-bg-soft);}
.bc-cs-card__thumb img {width:100%; height:100%; object-fit:cover;}
.bc-cs-card__eyebrow {display:inline-flex; align-items:center; gap:8px; font-size:12px; letter-spacing:3px; text-transform:uppercase; color:var(--bc-secondary); font-weight:700; margin-bottom:16px;}
.bc-cs-card__eyebrow-dot {width:7px; height:7px; border-radius:50%; background:var(--bc-secondary);}
.bc-cs-card__title {font-size:clamp(26px, 3.2vw, 40px); letter-spacing:-0.025em; margin-bottom:16px;}
.bc-cs-card__title a {transition:color .25s var(--bc-ease);}
.bc-cs-card__title a:hover {color:var(--bc-secondary);}
.bc-cs-card__synopsis {color:var(--bc-muted); font-size:16.5px; line-height:1.75; max-width:620px; margin-bottom:24px;}
.bc-cs-card__stats {display:flex; flex-wrap:wrap; gap:36px; margin-bottom:28px;}
.bc-cs-card__stat {display:flex; flex-direction:column;}
.bc-cs-card__stat-value {font-size:clamp(28px, 3vw, 40px); font-weight:800; color:var(--bc-primary); letter-spacing:-0.03em; line-height:1;}
.bc-cs-card__stat-label {margin-top:8px; font-size:13px; color:var(--bc-muted); max-width:160px;}

@media (max-width: 860px) {
.bc-cs-card {grid-template-columns:1fr; gap:28px;}
.bc-cs-card--flip .bc-cs-card__media {order:0;}
}

/* --- Single case study --- */
.bc-cs-hero {position:relative; min-height:62vh; display:flex; align-items:flex-end; padding:clamp(120px, 16vw, 220px) 0 clamp(48px, 6vw, 80px); overflow:hidden;}
.bc-cs-hero__media {position:absolute; inset:0; z-index:0;}
.bc-cs-hero__media img {width:100%; height:100%; object-fit:cover;}
.bc-cs-hero__overlay {position:absolute; inset:0; background:linear-gradient(180deg, rgba(10,26,51,0.45), rgba(10,26,51,0.85));}
.bc-cs-hero__inner {position:relative; z-index:1; color:#fff;}
.bc-cs-hero__logo {background:#fff; border-radius:var(--bc-radius-md); padding:14px 20px; display:inline-flex; margin-bottom:22px;}
.bc-cs-hero__logo img {max-height:44px; width:auto;}
.bc-cs-hero__crumbs {display:flex; align-items:center; gap:8px; font-size:13px; color:rgba(255,255,255,0.8); margin-bottom:18px;}
.bc-cs-hero__crumbs a:hover {color:#fff;}
.bc-cs-hero__crumbs .bc-icon {font-size:16px;}
.bc-cs-hero__title {font-size:var(--bc-h1); font-weight:800; letter-spacing:-0.04em; max-width:14ch;}
.bc-cs-hero__meta {margin-top:18px; font-size:16px; color:rgba(255,255,255,0.85);}

.bc-cs-statband {background:var(--bc-primary); color:#fff;}
.bc-cs-statband__grid {display:grid; grid-template-columns:repeat(auto-fit, minmax(180px, 1fr)); gap:30px; padding:clamp(40px, 5vw, 64px) var(--bc-gutter);}
.bc-cs-statband__item {text-align:center;}
.bc-cs-statband__value {display:block; font-size:clamp(34px, 4.4vw, 56px); font-weight:800; letter-spacing:-0.03em; line-height:1;}
.bc-cs-statband__label {display:block; margin-top:10px; font-size:14px; color:rgba(255,255,255,0.75);}

.bc-cs-single {padding:var(--bc-section-y) 0;}
.bc-cs-single__inner {display:grid; grid-template-columns:minmax(0, 1fr) 340px; gap:clamp(40px, 5vw, 72px); align-items:flex-start;}
.bc-cs-single__block + .bc-cs-single__block {margin-top:clamp(40px, 5vw, 64px);}
.bc-cs-single__heading {font-size:clamp(24px, 2.6vw, 34px); letter-spacing:-0.02em; margin-bottom:20px; padding-bottom:14px; border-bottom:1px solid var(--bc-line);}
.bc-cs-single__checklist {display:flex; flex-direction:column; gap:16px;}
.bc-cs-single__checklist li {display:flex; gap:14px; align-items:flex-start; font-size:16.5px; line-height:1.7; color:var(--bc-text);}
.bc-cs-single__checklist .bc-icon {color:var(--bc-secondary); font-size:24px; margin-top:2px;}
.bc-cs-single__gallery {display:grid; grid-template-columns:repeat(auto-fill, minmax(160px, 1fr)); gap:14px;}
.bc-cs-single__gallery-item {aspect-ratio:3 / 4; border-radius:var(--bc-radius-md); overflow:hidden; background:var(--bc-bg-soft); box-shadow:var(--bc-shadow-sm); transition:transform .3s var(--bc-ease);}
.bc-cs-single__gallery-item:hover {transform:translateY(-4px);}
.bc-cs-single__gallery-item img {width:100%; height:100%; object-fit:cover;}

.bc-cs-single__aside {position:sticky; top:110px; display:flex; flex-direction:column; gap:20px;}
.bc-cs-single__card {background:#fff; border:1px solid var(--bc-line); border-radius:var(--bc-radius-lg); padding:28px;}
.bc-cs-single__card--cta {background:var(--bc-bg-soft); border-color:transparent;}
.bc-cs-single__card-title {font-size:18px; margin-bottom:16px;}
.bc-cs-single__card--cta p {color:var(--bc-muted); font-size:14.5px; line-height:1.6; margin-bottom:20px;}
.bc-cs-single__scope {display:flex; flex-direction:column; gap:12px;}
.bc-cs-single__scope li {position:relative; padding-left:22px; font-size:15px; line-height:1.55; color:var(--bc-text);}
.bc-cs-single__scope li::before {content:""; position:absolute; left:0; top:8px; width:8px; height:8px; border-radius:50%; background:var(--bc-secondary);}
.bc-cs-single__tags {display:flex; flex-wrap:wrap; gap:8px;}
.bc-cs-single__tag {font-size:13px; font-weight:600; color:var(--bc-primary); background:rgba(var(--bc-primary-rgb), 0.08); padding:7px 14px; border-radius:var(--bc-radius-pill);}

@media (max-width: 900px) {
.bc-cs-single__inner {grid-template-columns:1fr;}
.bc-cs-single__aside {position:static;}
}
