/* Case study layer: restyles the AT&T, Cortina and GW pages to the site design.
   Loaded after each page's own <style>, so these rules win. */
body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6}

/* Content width: keep full-bleed bands, constrain the text inside them */
.grid-2,.full{max-width:var(--wrap);margin-left:auto;margin-right:auto}
.cell{padding:clamp(36px,5vw,56px) var(--gut)}
.full{padding:clamp(36px,5vw,56px) var(--gut)}
.section{border-bottom:1px solid var(--rule)}

/* Hero: dark band like the home page hero */
.hero{overflow:hidden;background:var(--dark);color:#fff;padding:clamp(56px,8vw,96px) max(var(--gut),calc((100vw - var(--wrap))/2 + var(--gut))) clamp(48px,6vw,72px);border-bottom:0}
.hero::before{background:radial-gradient(ellipse at 75% 40%, #16307a 0%, rgba(10,19,48,.75) 40%, transparent 75%)}
.hero > *{position:relative}
.hero-bg-text{position:absolute;color:rgba(255,255,255,.035)}
.hero h1{font-family:var(--display);font-weight:400;font-size:clamp(3rem,7vw,5.6rem);line-height:.9;letter-spacing:.005em;color:#fff}
.hero h1 span{color:var(--neon);-webkit-text-stroke:0;text-shadow:none}
.hero-sub{font-family:var(--serif);font-style:normal;font-size:clamp(1.2rem,1.8vw,1.45rem);line-height:1.3;color:rgba(255,255,255,.88);text-shadow:none}
.hero-eyebrow,.hero-client{font-family:var(--mono);font-size:.78rem;letter-spacing:.02em;text-transform:none;color:rgba(255,255,255,.7)}
.hero-eyebrow::before{background:var(--neon)}
.stat{border-right-color:rgba(255,255,255,.16)}
.stat-num{font-family:var(--display);color:#fff;text-shadow:none}
.stat-label{font-family:var(--mono);font-size:.74rem;letter-spacing:.02em;text-transform:none;color:rgba(255,255,255,.65)}

/* Labels, tags and small type: mono, readable size, no all-caps */
.cell-label,.flow-title,.carousel-label,.inst-tag,.img-caption,.kiosk-label,.venue-label,.result-label,
.evo-label,.evo-badge,.step-title,.quote-attr,.role-tag{font-family:var(--mono);font-size:.74rem;letter-spacing:.02em;text-transform:none}
.cell-label{color:var(--muted);font-weight:500}
.cell-label::after{background:var(--rule)}

/* Headings */
h2{font-family:var(--display);font-weight:400;font-size:clamp(2.2rem,4vw,3.2rem);letter-spacing:.005em;line-height:.95;color:var(--ink)}
h2 em{font-family:var(--serif);font-style:italic;color:var(--ink);letter-spacing:0}
.inst-name{font-family:var(--display);font-size:1.5rem;color:var(--ink)}

/* Body copy */
.body-text,.challenge-body,.flow-desc,.inst-project,.step-desc{font-family:var(--sans);color:var(--muted)}
.body-text{font-size:1rem;line-height:1.65}
.challenge-body{font-size:.95rem;line-height:1.6}
.flow-desc,.inst-project,.step-desc{font-size:.88rem;line-height:1.5;text-transform:none;letter-spacing:0}
.body-text strong,.challenge-body strong{color:var(--ink);font-weight:600}
.challenge-num,.step-num,.flow-num{font-family:var(--display);color:var(--ink)}
.flow-num{color:rgba(18,18,18,.18)}
.flow-step::after{color:var(--muted)}

.role-tag{border:1px solid var(--rule);color:var(--ink);background:transparent;padding:7px 12px}
.inst-tag,.evo-badge{border:1px solid var(--rule);color:var(--ink);background:transparent}

/* Images */
.img-wrap{background:var(--paper-2)}
.img-caption{color:rgba(255,255,255,.85)}
.carousel-card{background:var(--paper);border-color:var(--rule)}
.carousel-card:hover{border-color:var(--ink)}
.carousel-label{color:var(--ink)}
.dot{background:var(--rule)}
.dot.active{background:var(--ink)}

/* Dark feature bands keep white type */
.kiosk-label,.venue-label{color:var(--neon)}
.kiosk-quote,.venue-quote{font-family:var(--serif);color:#fff}

/* Quote block */
.quote-block{background:var(--paper-2);border-left:3px solid var(--neon)}
.quote-text{font-family:var(--serif);color:var(--ink)}
.quote-attr{color:var(--muted)}

/* Result band: light pull-quote, so it doesn't run into the dark contact band */
.result-bar{background:var(--paper-2);color:var(--ink);border-top:1px solid var(--rule);padding:clamp(48px,7vw,80px) max(var(--gut),calc((100vw - var(--wrap))/2 + var(--gut)))}
.result-bar::before{color:rgba(18,18,18,.04)}
.result-label{color:var(--muted)}
.result-text{font-family:var(--serif);font-style:normal;font-size:clamp(1.3rem,2.2vw,1.7rem);line-height:1.4;color:var(--ink);max-width:44ch;padding-left:20px;border-left:3px solid var(--neon)}

@media (max-width:640px){
  .section [style*="repeat(5,1fr)"],.section [style*="repeat(4,1fr)"],.section [style*="1fr 1fr 1fr 1fr"]{grid-template-columns:1fr 1fr!important}
  .cell,.full{padding-left:var(--gut);padding-right:var(--gut)}
  .hero,.result-bar{padding-left:var(--gut);padding-right:var(--gut)}
}
