.page-case-study{background:#090a0b;color:#fff}
.page-case-study main{overflow:hidden}
.case-archive-hero{min-height:720px;padding-top:190px;padding-bottom:100px}
.case-archive-hero h1{margin:80px 0 46px;font-size:clamp(76px,11.5vw,176px);font-weight:500;line-height:.75;letter-spacing:-.085em}
.case-archive-hero h1 em{display:block;padding-left:10vw;font-family:"Instrument Serif",serif;font-weight:400;color:var(--signal)}
.case-archive-hero>p:last-child{max-width:620px;margin:0 0 0 auto;color:rgba(255,255,255,.72);font-size:21px;line-height:1.5}
.case-archive{padding-bottom:150px;border-top:1px solid rgba(255,255,255,.16)}
.case-card{display:grid;grid-template-columns:minmax(320px,.8fr) minmax(0,1.2fr);gap:clamp(34px,6vw,90px);padding:68px 0;border-bottom:1px solid rgba(255,255,255,.16)}
.case-card-visual{position:relative;min-height:360px;overflow:hidden;border:1px solid rgba(255,255,255,.18);background:radial-gradient(circle at 50% 50%,rgba(239,23,70,.17),transparent 34%),linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),#070708;background-size:auto,40px 40px,40px 40px,auto}
.case-card-visual::before,.case-detail-stage::before{content:attr(data-visual);position:absolute;left:50%;top:50%;z-index:2;color:#fff;font-size:clamp(44px,7vw,92px);font-weight:500;letter-spacing:-.07em;text-transform:uppercase;transform:translate(-50%,-50%)}
.case-card-visual::after,.case-detail-stage::after{content:"";position:absolute;left:8%;right:8%;top:50%;height:1px;background:linear-gradient(90deg,transparent,var(--signal),transparent);box-shadow:0 0 24px rgba(239,23,70,.7)}
.case-card-visual img,.case-detail-stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.62}
.case-card-visual b{position:absolute;z-index:3;left:18px;top:16px;font:700 10px/1 monospace}.case-card-visual i{position:absolute;z-index:3;right:18px;bottom:18px;width:11px;height:11px;border-radius:50%;background:var(--signal);box-shadow:0 0 18px var(--signal)}
.case-card-copy{align-self:center}.case-card-copy>span{color:var(--signal);font-size:11px;font-weight:700;letter-spacing:.11em;text-transform:uppercase}.case-card-copy h2{margin:22px 0;font-size:clamp(40px,5vw,72px);font-weight:500;line-height:.9;letter-spacing:-.06em}.case-card-copy p{max-width:650px;margin:0 0 34px;color:rgba(255,255,255,.66);font-size:18px;line-height:1.55}.case-card-copy strong{font-size:12px;letter-spacing:.08em;text-transform:uppercase}.case-card:hover .case-card-copy strong{color:var(--signal)}
.case-detail{padding-top:175px}.case-back{display:inline-block;margin-bottom:60px;color:rgba(255,255,255,.65);font-size:12px;text-transform:uppercase;letter-spacing:.1em}.case-detail-hero h1{max-width:1120px;margin:60px 0 70px;font-size:clamp(66px,9.5vw,145px);font-weight:500;line-height:.82;letter-spacing:-.075em}.case-detail-intro{display:grid;grid-template-columns:.7fr 1.3fr;gap:60px;padding:28px 0 70px;border-top:1px solid rgba(255,255,255,.16)}.case-detail-intro strong{color:var(--signal);font-size:13px;text-transform:uppercase;letter-spacing:.1em}.case-detail-intro p{max-width:760px;margin:0;color:rgba(255,255,255,.75);font-size:clamp(20px,2vw,28px);line-height:1.45}
.case-detail-stage{position:relative;width:min(1500px,calc(100% - 40px));height:min(58vw,760px);min-height:480px;margin:0 auto;overflow:hidden;border:1px solid rgba(255,255,255,.16);background:radial-gradient(circle at 50% 50%,rgba(239,23,70,.16),transparent 28%),linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px),#060607;background-size:auto,64px 64px,64px 64px,auto}.case-detail-stage>span{position:absolute;z-index:3;left:24px;top:22px;color:var(--signal);font:700 10px/1 monospace;letter-spacing:.12em;text-transform:uppercase}.case-detail-stage>strong{position:absolute;z-index:3;right:24px;bottom:22px;font-size:13px;text-transform:uppercase;letter-spacing:.1em}.case-detail-stage>i{position:absolute;z-index:3;left:50%;top:50%;width:180px;height:180px;border:1px solid rgba(239,23,70,.5);border-radius:50%;transform:translate(-50%,-50%);animation:casePulse 3s ease-in-out infinite}@keyframes casePulse{50%{width:320px;height:320px;opacity:.1}}
.case-detail-body{display:grid;grid-template-columns:.42fr 1fr;gap:80px;padding-top:120px;padding-bottom:130px}.case-detail-body aside{display:flex;flex-direction:column;gap:12px;color:var(--signal);font-size:10px;letter-spacing:.12em}.case-detail-body aside b{color:#fff;font-size:44px;font-weight:500;letter-spacing:-.05em}.case-detail-body>div{max-width:780px}.case-detail-body p{margin:0 0 38px;color:rgba(255,255,255,.78);font-size:clamp(20px,1.8vw,26px);line-height:1.65}.case-detail-body p:first-child::first-letter{float:left;margin:8px 12px 0 0;color:var(--signal);font-family:"Instrument Serif",serif;font-size:92px;line-height:.65}.case-detail-next{padding:80px 0 120px;border-top:1px solid rgba(255,255,255,.17)}.case-detail-next p{color:rgba(255,255,255,.6)}.case-detail-next a{display:flex;justify-content:space-between;align-items:center;margin-top:22px;font-size:clamp(42px,7vw,100px);font-weight:500;line-height:.9;letter-spacing:-.07em}.case-detail-next a span{color:var(--signal)}
.case-not-found{min-height:80vh;padding-top:220px}.case-not-found p{color:var(--signal)}.case-not-found h1{font-size:clamp(58px,9vw,130px);line-height:.82;letter-spacing:-.07em}.case-footer{padding-top:70px}
@media(max-width:760px){.case-archive-hero{min-height:620px;padding-top:145px}.case-archive-hero h1{margin-top:70px;font-size:19vw}.case-archive-hero h1 em{padding-left:0}.case-archive-hero>p:last-child{font-size:18px}.case-card{grid-template-columns:1fr;gap:28px;padding:42px 0}.case-card-visual{min-height:250px}.case-card-copy h2{font-size:42px}.case-card-copy p{font-size:17px}.case-detail{padding-top:130px}.case-back{margin-bottom:40px}.case-detail-hero h1{margin:45px 0 55px;font-size:16vw}.case-detail-intro{grid-template-columns:1fr;gap:20px;padding-bottom:55px}.case-detail-intro p{font-size:19px}.case-detail-stage{width:calc(100% - 28px);height:430px;min-height:0}.case-detail-body{grid-template-columns:1fr;gap:48px;padding-top:80px;padding-bottom:90px}.case-detail-body p{font-size:19px}.case-detail-next a{font-size:13vw}.case-footer{padding-top:30px}}
@media(prefers-reduced-motion:reduce){.case-detail-stage>i{animation:none}}
