.case-study{--case-accent:var(--signal);position:relative;scroll-margin-top:7rem;border:1px solid var(--line-strong);background:var(--surface)}.case-study:before{position:absolute;z-index:1;top:-1px;left:clamp(1.5rem,3vw,3rem);width:clamp(3.5rem,7vw,6rem);height:3px;background:var(--case-accent);content:""}.case-study__header{display:grid;padding:clamp(2rem,3.5vw,3.5rem);border-bottom:1px solid var(--line);grid-template-columns:minmax(8rem,.35fr) minmax(0,1.15fr) minmax(15rem,.65fr);gap:clamp(1.5rem,4vw,4rem)}.case-study__header>div{display:flex;flex-direction:column;gap:.75rem}.case-study__image{width:100%;margin-top:1.25rem;border-radius:var(--radius-lg);object-fit:cover;box-shadow:var(--shadow-sm)}.case-study__category{color:var(--ink-muted);font-family:var(--font-mono);font-size:.62rem;letter-spacing:.09em}.case-study__header h2{margin:0;font-size:clamp(1.85rem,3vw,3rem);font-weight:650;letter-spacing:-.055em;line-height:1.25}.case-study__header>p{align-self:end;margin:0;color:var(--ink-muted);font-size:.98rem}.case-study__body{display:grid;gap:clamp(1.75rem,3vw,2.5rem);padding:clamp(1.5rem,2.5vw,2.25rem);grid-template-columns:repeat(2,1fr)}.case-study__step{min-height:13.5rem;padding:0}.case-study__step>span{color:var(--ink-muted);font-family:var(--font-mono);font-size:.62rem;letter-spacing:.08em}.case-study__step h3{margin:2.75rem 0 .8rem;font-size:1.18rem}.case-study__step p{margin:0;color:var(--ink-muted);font-size:.92rem}.case-study__footer{display:grid;align-items:center;padding:1.25rem clamp(1.5rem,2.5vw,2.25rem);border-top:1px solid var(--line);background:var(--canvas);grid-template-columns:8rem 1fr auto;gap:1rem}.case-study__footer--technologies{grid-template-columns:8rem minmax(0,1fr)}.case-study__footer>span{color:var(--ink-muted);font-family:var(--font-mono);font-size:.58rem}.case-study__footer ul{display:flex;flex-wrap:wrap;gap:.4rem}.case-study__footer li{padding:.3rem .5rem;border:1px solid var(--line);color:var(--ink-soft);font-family:var(--font-mono);font-size:.58rem}.case-study--editorial{display:grid;border:0;border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);background:transparent;grid-template-columns:minmax(18rem,.72fr) minmax(0,1.28fr)}.case-study--editorial:before{left:0}.case-study--editorial .case-study__header{display:block;padding:clamp(2rem,4vw,3.5rem);border-right:1px solid var(--line);border-bottom:0;background:color-mix(in srgb,var(--surface) 70%,transparent)}.case-study--editorial .case-study__header>div{flex-direction:column;align-items:flex-start;gap:1rem}.case-study--editorial .case-study__header h2{margin:clamp(3rem,6vw,6rem) 0 1.25rem}.case-study--editorial .case-study__header>p{align-self:auto}.case-study--editorial .case-study__body{grid-template-columns:minmax(0,1fr)}.case-study--editorial .case-study__step,.case-study--editorial .case-study__step:nth-child(-n+2),.case-study--editorial .case-study__step:nth-child(2),.case-study--editorial .case-study__step:nth-child(3){display:grid;min-height:0;align-items:start;padding:1.5rem clamp(1.5rem,3vw,2.5rem);border-right:0;border-bottom:1px solid var(--line);background:transparent;grid-template-columns:minmax(7rem,.4fr) minmax(7rem,.42fr) minmax(0,1fr);gap:1rem}.case-study--editorial .case-study__step:last-child{border-bottom:0}.case-study--editorial .case-study__step>span{display:flex;align-items:center;color:var(--case-accent);gap:.75rem}.case-study--editorial .case-study__step>span:after{height:1px;flex:1;background:color-mix(in srgb,var(--case-accent) 42%,transparent);content:""}.case-study--editorial .case-study__step h3{margin:0}.case-study--editorial .case-study__footer{padding-inline:0;background:transparent;grid-column:1/-1}@media (max-width:900px){.case-study__header{grid-template-columns:.4fr 1fr}.case-study__header>p{grid-column:2}.case-study__body{grid-template-columns:repeat(2,1fr)}.case-study--editorial{grid-template-columns:minmax(0,1fr)}.case-study--editorial .case-study__header{border-right:0;border-bottom:1px solid var(--line)}}@media (max-width:640px){.case-study__header{padding:1.5rem;grid-template-columns:1fr;gap:2rem}.case-study__header>p{grid-column:auto}.case-study__body{grid-template-columns:1fr}.case-study__step{min-height:auto}.case-study__step h3{margin-top:2.5rem}.case-study__footer,.case-study__footer--technologies{grid-template-columns:1fr}.case-study--editorial .case-study__header{padding:1.5rem}.case-study--editorial .case-study__header h2{margin-top:2.5rem}.case-study--editorial .case-study__step,.case-study--editorial .case-study__step:nth-child(-n+2),.case-study--editorial .case-study__step:nth-child(2),.case-study--editorial .case-study__step:nth-child(3){display:grid;padding:1.35rem 0;grid-template-columns:minmax(0,1fr);gap:.75rem}.case-study--editorial .case-study__step h3{margin:0}.case-study--editorial .case-study__footer{padding-inline:0}}