.case-page{min-height:100vh}
.case-header{min-height:82px;padding:1rem var(--pad);display:flex;align-items:center;justify-content:space-between;gap:2rem}
.case-back{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid var(--purple);padding:.45rem 0}
.cases-hero,.detail-hero{min-height:72vh;padding:clamp(5rem,10vw,9rem) var(--pad) 5rem;position:relative;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden}
.cases-hero::before,.detail-hero::before{content:"";position:absolute;width:min(55vw,750px);aspect-ratio:1;border:1px solid rgba(139,92,246,.35);border-radius:50%;right:-10%;top:-18%;box-shadow:0 0 100px rgba(139,92,246,.13),inset 0 0 90px rgba(139,92,246,.08);pointer-events:none}
.cases-hero h1,.detail-hero h1,.case-overview h2,.detail-gallery h2,.detail-story h2{font-family:var(--display);font-weight:700;letter-spacing:-.045em;line-height:.79;text-transform:uppercase;margin:1.5rem 0}
.cases-hero h1,.detail-hero h1{font-size:clamp(5.5rem,12vw,12rem);max-width:1050px}
.cases-hero h1 em,.detail-hero h1 em,.case-overview h2 em,.detail-gallery h2 em,.detail-story h2 em{font-style:italic;color:transparent;-webkit-text-stroke:1px var(--purple)}
.cases-index,.detail-number{position:absolute;right:var(--pad);top:30%;font-size:.62rem;letter-spacing:.22em;color:var(--muted);writing-mode:vertical-rl}
.cases-intro,.detail-lead{max-width:660px;color:var(--muted);font-size:clamp(1rem,1.5vw,1.22rem);line-height:1.75}
.discipline-tabs{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:2.5rem}
.discipline-tabs a{border:1px solid var(--line);padding:.75rem 1rem;font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;transition:.25s}
.discipline-tabs a:hover,.discipline-tabs a:focus-visible,.discipline-tabs a.active{background:var(--purple);border-color:var(--purple)}
.case-overview,.detail-gallery,.detail-story{padding:clamp(6rem,10vw,10rem) var(--pad)}
.case-overview-head,.detail-section-head{display:grid;grid-template-columns:1fr minmax(280px,34%);gap:1rem 4rem;align-items:end;margin-bottom:4rem}
.case-overview-head .kicker,.detail-section-head .kicker{grid-column:1/-1}
.case-overview h2,.detail-gallery h2,.detail-story h2{font-size:clamp(4rem,8vw,8rem);margin:0}
.case-overview-head>p:last-child,.detail-section-head>p:last-child{color:var(--muted);line-height:1.75;margin:0 0 .5rem}
.case-card-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:1.25rem}
.case-card{grid-column:span 4;min-height:480px;position:relative;display:grid;grid-template-rows:1fr auto;overflow:hidden;background:#1a1024;border:1px solid var(--line);transition:transform .35s cubic-bezier(.2,.8,.2,1),border-color .35s}
.case-card:nth-child(1){grid-column:span 7}.case-card:nth-child(2){grid-column:span 5}.case-card:nth-child(3){grid-column:4/span 6}
.case-card:hover,.case-card:focus-visible{transform:translateY(-7px);border-color:var(--purple)}
.case-card-visual,.gallery-placeholder,.lightbox-visual{position:relative;overflow:hidden;background-color:#3d1d72;background-image:linear-gradient(135deg,rgba(17,140,255,.7),transparent 50%),radial-gradient(circle at 72% 30%,rgba(255,255,255,.35),transparent 18%),repeating-linear-gradient(90deg,transparent 0 45px,rgba(255,255,255,.1) 46px)}
.case-card[data-tone="orange"] .case-card-visual,.gallery-placeholder[data-tone="orange"],.lightbox-visual[data-tone="orange"]{background-color:#7f3500;background-image:linear-gradient(135deg,rgba(255,138,0,.8),transparent 52%),radial-gradient(circle at 25% 35%,rgba(255,255,255,.3),transparent 16%),repeating-linear-gradient(-45deg,transparent 0 38px,rgba(255,255,255,.1) 39px)}
.case-card[data-tone="blue"] .case-card-visual,.gallery-placeholder[data-tone="blue"],.lightbox-visual[data-tone="blue"]{background-color:#064c91;background-image:linear-gradient(145deg,rgba(139,92,246,.75),transparent 50%),radial-gradient(circle at 65% 38%,rgba(255,255,255,.3),transparent 17%),repeating-linear-gradient(0deg,transparent 0 42px,rgba(255,255,255,.1) 43px)}
.visual-label{position:absolute;left:1.2rem;top:1.2rem;font-size:.58rem;letter-spacing:.18em;text-transform:uppercase}
.visual-mark{position:absolute;right:1rem;bottom:.5rem;font:800 clamp(5rem,10vw,10rem)/.75 var(--display);color:rgba(255,255,255,.18)}
.case-card-copy{padding:1.4rem;display:grid;grid-template-columns:1fr auto;gap:1rem;background:rgba(13,6,20,.92)}
.case-card-copy p{grid-column:1/-1;margin:0;color:var(--muted);font-size:.75rem}.case-card-copy h3{font:700 2rem var(--display);text-transform:uppercase;margin:0}.case-card-copy span{color:var(--blue);font-size:1.5rem}
.detail-meta{display:grid;grid-template-columns:repeat(3,minmax(130px,1fr));gap:1rem;max-width:800px;margin:3rem 0 0}
.detail-meta div{border-top:1px solid var(--line);padding-top:1rem}.detail-meta dt{font-size:.58rem;text-transform:uppercase;letter-spacing:.16em;color:var(--purple)}.detail-meta dd{margin:.55rem 0 0;font-size:.8rem;color:var(--muted)}
.gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:180px;gap:1rem}
.gallery-item{grid-column:span 5;grid-row:span 2;border:0;padding:0;color:#fff;text-align:left;cursor:zoom-in;overflow:hidden;background:transparent}
.gallery-item:nth-child(1),.gallery-item:nth-child(4){grid-column:span 7;grid-row:span 3}.gallery-item:nth-child(3),.gallery-item:nth-child(6){grid-column:span 7}
.gallery-placeholder{display:block;width:100%;height:100%;transition:transform .5s cubic-bezier(.2,.8,.2,1),filter .4s}.gallery-item:hover .gallery-placeholder,.gallery-item:focus-visible .gallery-placeholder{transform:scale(1.025);filter:brightness(1.12)}
.gallery-caption{position:absolute;left:1rem;bottom:1rem;background:rgba(13,6,20,.85);padding:.65rem .8rem;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase}
.detail-story{display:grid;grid-template-columns:1fr minmax(320px,44%);gap:clamp(3rem,9vw,10rem);align-items:start}
.story-copy{padding-top:2rem}.story-copy h3{font:700 1.8rem var(--display);text-transform:uppercase;margin:0 0 .7rem}.story-copy p{color:var(--muted);line-height:1.85;margin:0 0 2.5rem}
.case-next{margin:0 var(--pad) clamp(5rem,9vw,9rem);padding:2rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:2rem}.case-next>span{font-size:.62rem;text-transform:uppercase;letter-spacing:.18em;color:var(--muted)}.case-next a{font:700 clamp(2.3rem,5vw,5rem) var(--display);text-transform:uppercase}.case-next b{color:var(--purple);font-weight:500;margin-left:1rem}
.case-lightbox{width:min(1100px,92vw);padding:0;border:1px solid var(--purple);background:var(--bg);color:#fff;box-shadow:0 25px 100px #000}.case-lightbox::backdrop{background:rgba(5,2,8,.88);backdrop-filter:blur(8px)}.lightbox-visual{height:min(72vh,720px)}.case-lightbox p{margin:0;padding:1rem 1.25rem;color:var(--muted);font-size:.75rem}.lightbox-close{position:absolute;z-index:2;right:1rem;top:1rem;width:44px;height:44px;border:1px solid rgba(255,255,255,.45);background:rgba(13,6,20,.9);font-size:1.6rem;cursor:pointer}
@media(max-width:920px){.case-card,.case-card:nth-child(1),.case-card:nth-child(2),.case-card:nth-child(3){grid-column:span 6}.case-card{min-height:420px}.case-overview-head,.detail-section-head,.detail-story{grid-template-columns:1fr}.gallery-grid{grid-auto-rows:150px}}
@media(max-width:600px){.case-header{min-height:68px}.case-back{font-size:.6rem}.cases-hero,.detail-hero{min-height:70vh;padding-top:5rem}.cases-hero h1,.detail-hero h1{font-size:clamp(4.2rem,20vw,7rem)}.cases-index,.detail-number{display:none}.discipline-tabs{display:grid;grid-template-columns:1fr}.discipline-tabs a{text-align:center}.case-overview,.detail-gallery,.detail-story{padding-top:5.5rem;padding-bottom:5.5rem}.case-overview-head,.detail-section-head{margin-bottom:2.5rem}.case-card,.case-card:nth-child(1),.case-card:nth-child(2),.case-card:nth-child(3){grid-column:1/-1;min-height:390px}.detail-meta{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr;grid-auto-rows:260px}.gallery-item,.gallery-item:nth-child(1),.gallery-item:nth-child(3),.gallery-item:nth-child(4),.gallery-item:nth-child(6){grid-column:1;grid-row:span 1}.case-next{align-items:flex-start;flex-direction:column}.case-next a{font-size:2.5rem}.lightbox-visual{height:65vh}}
