.case-study-page{background:#f7f4ed;color:#111820}
.case-study{overflow:hidden}
.cs-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:clamp(2rem,6vw,7rem);padding:clamp(7rem,12vw,11rem) clamp(1.25rem,5vw,6rem) clamp(4rem,7vw,7rem);background:radial-gradient(circle at 82% 15%,rgba(85,235,212,.18),transparent 31%),radial-gradient(circle at 18% 90%,rgba(55,83,230,.13),transparent 34%),#f7f4ed;border-bottom:1px solid rgba(17,24,32,.14)}
.cs-hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(17,24,32,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(17,24,32,.045) 1px,transparent 1px);background-size:64px 64px;pointer-events:none}
.cs-hero>*{position:relative;z-index:1}
.cs-kicker,.cs-label{font:600 .74rem/1.4 "IBM Plex Mono",monospace;letter-spacing:.15em;text-transform:uppercase;color:#3656e5}
.cs-hero h1{max-width:920px;margin:1rem 0 1.4rem;font:500 clamp(3.5rem,8vw,8.2rem)/.88 Manrope,Arial,sans-serif;letter-spacing:-.07em}
.cs-hero h1 em{display:block;font-family:"DM Serif Display",Georgia,serif;font-weight:400;color:#3656e5}
.cs-hero p{max-width:720px;margin:0;color:#5b646d;font-size:clamp(1rem,1.5vw,1.25rem);line-height:1.65}
.cs-actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2.25rem}.cs-actions a{display:inline-flex;align-items:center;gap:.75rem;padding:.9rem 1.25rem;border:1px solid #111820;border-radius:999px;color:#111820;font-weight:700;text-decoration:none}.cs-actions a:first-child{background:#3656e5;border-color:#3656e5;color:#fff}.cs-actions a:hover{transform:translateY(-2px)}
.cs-facts{align-self:end;display:grid;border-top:1px solid rgba(17,24,32,.18)}.cs-facts div{display:grid;grid-template-columns:92px 1fr;gap:1rem;padding:1rem 0;border-bottom:1px solid rgba(17,24,32,.18)}.cs-facts span{font:600 .68rem/1.5 "IBM Plex Mono",monospace;letter-spacing:.12em;color:#76808a}.cs-facts strong{font-size:.95rem}
.cs-cover{padding:0 clamp(1.25rem,5vw,6rem);background:#f7f4ed}.cs-cover-frame{overflow:hidden;border:1px solid rgba(17,24,32,.16);border-radius:1.4rem;background:#fff;box-shadow:0 28px 70px rgba(17,24,32,.12)}.cs-cover img{display:block;width:100%;height:auto}
.cs-body{display:grid;grid-template-columns:minmax(220px,.32fr) minmax(0,.68fr);gap:clamp(2rem,8vw,10rem);padding:clamp(5rem,10vw,10rem) clamp(1.25rem,8vw,10rem)}
.cs-body aside{position:sticky;top:8rem;align-self:start}.cs-body aside a{display:block;padding:.8rem 0;border-bottom:1px solid rgba(17,24,32,.15);color:#59636c;text-decoration:none}.cs-body aside a:hover{color:#3656e5}
.cs-content section+section{margin-top:clamp(4rem,8vw,7rem)}.cs-content h2{max-width:850px;margin:.85rem 0 1.25rem;font:500 clamp(2.4rem,5vw,5.3rem)/.98 Manrope,Arial,sans-serif;letter-spacing:-.055em}.cs-content h2 em{font-family:"DM Serif Display",Georgia,serif;font-weight:400;color:#3656e5}.cs-content p{max-width:820px;color:#59636c;font-size:1.05rem;line-height:1.8}.cs-content p+p{margin-top:1.2rem}
.cs-principles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:2rem}.cs-principles article{padding:1.5rem;border:1px solid rgba(17,24,32,.16);border-radius:1rem;background:rgba(255,255,255,.54)}.cs-principles span{font:600 .68rem/1.5 "IBM Plex Mono",monospace;color:#3656e5}.cs-principles h3{margin:2.2rem 0 .65rem;font-size:1.25rem;letter-spacing:-.03em}.cs-principles p{font-size:.95rem;line-height:1.65}
.cs-services{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1.6rem}.cs-services a{padding:.65rem .85rem;border:1px solid rgba(17,24,32,.18);border-radius:999px;color:#111820;text-decoration:none;font-weight:700}.cs-services a:hover{border-color:#3656e5;color:#3656e5}
.cs-next{display:grid;grid-template-columns:1fr 1fr;background:#e9e5ff;border-top:1px solid rgba(17,24,32,.14)}.cs-next a{min-height:220px;padding:clamp(2rem,5vw,5rem);color:#111820;text-decoration:none}.cs-next a+a{border-left:1px solid rgba(17,24,32,.14)}.cs-next span{font:600 .7rem/1.4 "IBM Plex Mono",monospace;letter-spacing:.12em;color:#3656e5}.cs-next strong{display:block;margin-top:2.5rem;font-size:clamp(1.5rem,3vw,3rem);letter-spacing:-.045em}.cs-next a:hover strong{color:#3656e5}
.cs-cta{padding:clamp(5rem,10vw,9rem) clamp(1.25rem,8vw,10rem);background:#0f292e;color:#fff}.cs-cta h2{max-width:900px;margin:1rem 0;font:500 clamp(2.7rem,6vw,6.2rem)/.95 Manrope,Arial,sans-serif;letter-spacing:-.06em}.cs-cta h2 em{font-family:"DM Serif Display",Georgia,serif;font-weight:400;color:#4f6dff}.cs-cta p{max-width:650px;color:rgba(255,255,255,.68);font-size:1.05rem;line-height:1.7}.cs-cta a{display:inline-block;margin-top:2rem;padding:.9rem 1.2rem;border-radius:999px;background:#caff31;color:#0f292e;font-weight:800;text-decoration:none}
@media(max-width:900px){.cs-hero,.cs-body{grid-template-columns:1fr}.cs-body aside{position:static}.cs-principles{grid-template-columns:1fr}}
@media(max-width:640px){.cs-hero{padding-top:6rem}.cs-next{grid-template-columns:1fr}.cs-next a+a{border-left:0;border-top:1px solid rgba(17,24,32,.14)}.cs-next a{min-height:170px}.cs-cover{padding:0}.cs-cover-frame{border-radius:0;border-left:0;border-right:0}}
@media(prefers-reduced-motion:no-preference){.cs-cover-frame{transition:transform .45s ease,box-shadow .45s ease}.cs-cover-frame:hover{transform:translateY(-6px);box-shadow:0 36px 90px rgba(17,24,32,.16)}}
