:root{--case-yellow:#ffd400;--case-blue:#103a78;--case-ink:#080808;--case-white:#fff;--case-muted:#666}
.case-feature{position:relative;min-height:clamp(560px,72vw,820px);display:grid;align-items:end;overflow:hidden;background:#111;color:#fff;isolation:isolate}
.case-feature__media,.case-feature__overlay{position:absolute;inset:0}
.case-carousel__slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.045);transition:opacity 1s ease,transform 6s ease}
.case-carousel__slide.is-active{opacity:1;transform:scale(1)}
.case-feature__overlay{z-index:1;background:linear-gradient(90deg,rgba(0,0,0,.88) 0%,rgba(0,0,0,.62) 48%,rgba(0,0,0,.12) 100%)}
.case-feature__content{position:relative;z-index:2;width:min(760px,82vw);padding:clamp(54px,8vw,110px) 8vw}
.case-feature__logo{display:block;width:min(210px,45vw);max-height:92px;object-fit:contain;object-position:left center;margin-bottom:28px;filter:drop-shadow(0 4px 14px rgba(0,0,0,.18))}
.case-feature__logo--thx{width:min(175px,40vw)}
.case-eyebrow{margin:0 0 12px;text-transform:uppercase;letter-spacing:.14em;font-weight:800;font-size:.78rem;color:var(--case-yellow)}
.case-feature h2{max-width:800px;margin:0 0 18px;font-size:clamp(2.35rem,6vw,5.4rem);line-height:.98;letter-spacing:-.045em;color:#fff}
.case-feature__content>p:not(.case-eyebrow){max-width:650px;margin:0 0 30px;font-size:clamp(1rem,1.7vw,1.22rem);line-height:1.65}
.case-carousel__dots{position:absolute;z-index:3;right:5vw;bottom:40px;display:flex;gap:9px}
.case-carousel__dots span{width:28px;height:3px;background:rgba(255,255,255,.45);transition:background .3s,width .3s}
.case-carousel__dots span.is-active{width:52px;background:var(--case-yellow)}
.case-study-main{background:#fff;color:var(--case-ink)}
.case-hero{position:relative;min-height:76vh;display:flex;align-items:flex-end;overflow:hidden;background:#111;color:#fff}
.case-hero__image,.case-hero__shade{position:absolute;inset:0;width:100%;height:100%}
.case-hero__image{object-fit:cover}.case-hero__shade{background:linear-gradient(0deg,rgba(0,0,0,.92),rgba(0,0,0,.08) 78%)}
.case-hero__copy{position:relative;z-index:1;width:min(1050px,84vw);padding:140px 0 70px;margin:auto}
.case-hero__logo{width:min(210px,48vw);max-height:100px;object-fit:contain;object-position:left;margin-bottom:26px}
.case-hero h1{max-width:970px;margin:0 0 20px;font-size:clamp(2.8rem,7vw,6.5rem);line-height:.94;letter-spacing:-.05em;color:#fff}
.case-hero p{max-width:720px;font-size:clamp(1.05rem,2vw,1.35rem);line-height:1.55}
.case-wrap{width:min(1120px,84vw);margin:auto}.case-intro{padding:90px 0 60px}.case-intro .lead{font-size:clamp(1.45rem,2.7vw,2.4rem);line-height:1.35;font-weight:600;max-width:980px}
.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#ddd;margin:0 0 90px;border:1px solid #ddd}
.metric{background:#fff;padding:38px 28px}.metric strong{display:block;font-size:clamp(2rem,4vw,3.7rem);line-height:1;color:var(--case-blue)}.metric span{display:block;margin-top:10px;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,8vw,110px);align-items:start;padding-bottom:90px}.story-grid h2,.insight-band h2,.gallery-head h2{font-size:clamp(2.15rem,4.2vw,4.2rem);line-height:1.02;letter-spacing:-.04em;margin:0 0 24px}.story-copy p{font-size:1.08rem;line-height:1.82;color:#343434}.story-copy h3{font-size:1.35rem;margin:34px 0 10px}.story-copy ul{padding-left:20px;line-height:1.8}
.story-aside{position:sticky;top:110px;background:var(--case-yellow);padding:40px}.story-aside blockquote{font-size:clamp(1.45rem,2.4vw,2.1rem);line-height:1.35;font-weight:800;margin:0}.story-aside p{margin:22px 0 0;font-weight:700}
.insight-band{background:var(--case-blue);color:#fff;padding:90px 0}.insight-band h2{color:#fff;max-width:900px}.insight-band p{max-width:820px;font-size:1.15rem;line-height:1.75}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:46px}.principle{border-top:3px solid var(--case-yellow);padding-top:22px}.principle strong{display:block;font-size:1.25rem;margin-bottom:9px}.principle p{font-size:.98rem;margin:0;color:rgba(255,255,255,.78)}
.case-gallery{padding:90px 0}.gallery-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:34px}.gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:260px;gap:14px}.gallery-grid img{width:100%;height:100%;object-fit:cover}.gallery-grid img:nth-child(1){grid-column:span 7;grid-row:span 2}.gallery-grid img:nth-child(2){grid-column:span 5}.gallery-grid img:nth-child(3){grid-column:span 5}.gallery-grid img:nth-child(4){grid-column:span 12}
.case-next{display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:50px;padding:80px 8vw;background:var(--case-yellow)}.case-next h2{font-size:clamp(2.1rem,4vw,4.4rem);line-height:1;margin:0 0 18px}.case-next p{font-size:1.08rem;line-height:1.65;max-width:720px}.case-next__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px}
.case-index-hero{padding:180px 8vw 90px;background:var(--case-blue);color:#fff}.case-index-hero h1{font-size:clamp(3rem,7vw,7rem);line-height:.92;letter-spacing:-.05em;margin:0 0 22px;color:#fff}.case-index-hero p{max-width:740px;font-size:1.25rem;line-height:1.6}.case-index{padding:90px 8vw}.case-card{display:grid;grid-template-columns:1.1fr .9fr;min-height:520px;margin-bottom:28px;background:#0a0a0a;color:#fff;overflow:hidden}.case-card__image{position:relative;min-height:420px}.case-card__image img{position:absolute;width:100%;height:100%;object-fit:cover}.case-card__body{display:flex;flex-direction:column;justify-content:center;padding:clamp(38px,6vw,78px)}.case-card__logo{width:170px;max-height:85px;object-fit:contain;object-position:left;margin-bottom:28px}.case-card h2{font-size:clamp(2rem,3.7vw,4rem);line-height:1.02;margin:0 0 18px;color:#fff}.case-card p{line-height:1.7;color:#ddd}.case-card--light{background:var(--case-yellow);color:#080808}.case-card--light h2{color:#080808}.case-card--light p{color:#292929}
@media(max-width:850px){.case-feature__overlay{background:linear-gradient(0deg,rgba(0,0,0,.9),rgba(0,0,0,.1) 85%)}.metric-grid{grid-template-columns:1fr 1fr}.story-grid,.case-next,.case-card{grid-template-columns:1fr}.story-aside{position:static}.principles{grid-template-columns:1fr}.case-next__actions{justify-content:flex-start}.case-card__image{order:-1}.gallery-grid{display:block}.gallery-grid img{height:320px;margin-bottom:12px}}
@media(prefers-reduced-motion:reduce){.case-carousel__slide{transition:none;transform:none}}
