.case-studies-page{font-size:19px;background:#f4f3f1}
.case-studies-page main{overflow:hidden}
.case-hero{position:relative;min-height:610px;color:#fff;background:#202325;overflow:hidden}
.case-hero__media,.case-hero__media::after{position:absolute;inset:0}
.case-hero__media::after{background:linear-gradient(90deg,rgba(24,26,27,.97),rgba(24,26,27,.78) 52%,rgba(24,26,27,.34)),linear-gradient(0deg,rgba(24,26,27,.66),transparent 55%);content:""}
.case-hero__media img{width:100%;height:100%;object-fit:cover;object-position:center;opacity:.82}
.case-hero__inner{position:relative;z-index:2;display:flex;min-height:610px;align-items:center;padding-block:88px}
.case-hero__copy{max-width:880px}
.case-kicker{display:flex;align-items:center;gap:12px;margin:0 0 21px;color:#d8a3a5;font:600 10px/1.2 var(--utility);letter-spacing:.13em;text-transform:uppercase}
.case-kicker::before{width:28px;height:1px;background:currentColor;content:""}
.case-kicker--dark{color:#963a3d}
.case-hero h1{max-width:900px;margin:0;color:#fff;font:600 clamp(53px,5.8vw,82px)/.92 var(--display);letter-spacing:-.05em;text-transform:uppercase}
.case-hero h1 em{display:block;color:#d8abad;font-style:normal}
.case-hero__lead{max-width:740px;margin:27px 0 32px;color:#e0e2e3;font-size:20px;line-height:1.58}
.case-hero__meta{display:flex;flex-wrap:wrap;gap:9px;padding:0;margin:0;list-style:none}
.case-hero__meta li{padding:10px 13px;color:#f0f1f1;border:1px solid rgba(255,255,255,.25);font:600 10px/1 var(--utility);letter-spacing:.07em;text-transform:uppercase}
.case-section{padding-block:96px}
.case-section--dark{color:#c8cbcc;background:#272a2c}
.case-section--muted{background:#e7e5e2}
.case-heading{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr);align-items:end;gap:80px;margin-bottom:48px}
.case-heading h2{max-width:780px;margin:0;color:#232527;font:600 clamp(42px,4.8vw,64px)/.98 var(--display);letter-spacing:-.05em}
.case-heading h2 em{display:block;color:#963a3d;font-style:normal}
.case-heading>p{margin:0;color:#696d6f;font-size:18px;line-height:1.65}
.case-section--dark .case-heading h2{color:#fff}
.case-section--dark .case-heading h2 em{color:#d8abad}
.case-section--dark .case-heading>p{color:#bdc1c2}
.case-brief{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #cacdcd;border-left:1px solid #cacdcd}
.case-brief article{min-height:170px;padding:26px;border-right:1px solid #cacdcd;border-bottom:1px solid #cacdcd;background:#fff}
.case-brief span,.case-path__step>span,.case-result span{color:#963a3d;font:600 9px/1 var(--utility);letter-spacing:.1em;text-transform:uppercase}
.case-brief h3{margin:38px 0 0;color:#232527;font:600 24px/1.08 var(--display)}
.case-challenges{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.case-challenges article{min-height:220px;padding:29px;border:1px solid rgba(255,255,255,.16);background:#303335}
.case-challenges h3{margin:45px 0 12px;color:#fff;font:600 27px/1.08 var(--display)}
.case-challenges p{margin:0;color:#bdc1c2;font-size:17px;line-height:1.55}
.case-path{position:relative;max-width:980px;padding-left:78px;margin-left:auto}
.case-path::before{position:absolute;top:0;bottom:0;left:23px;width:2px;background:#c9cbcc;content:""}
.case-path__step{position:relative;display:grid;grid-template-columns:120px 1fr;gap:30px;padding:31px 35px;margin-bottom:17px;background:#fff;border:1px solid #d3d5d5}
.case-path__step::before{position:absolute;top:50%;left:-63px;width:14px;height:14px;background:#963a3d;border:6px solid #e7e5e2;border-radius:50%;content:"";transform:translateY(-50%)}
.case-path__step h3{margin:0 0 9px;color:#232527;font:600 26px/1.05 var(--display)}
.case-path__step p{margin:0;color:#696d6f;font-size:17px;line-height:1.55}
.case-results{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.case-result{padding:28px 29px;background:#fff;border-top:4px solid #963a3d}
.case-result h3{margin:39px 0 12px;color:#232527;font:600 26px/1.05 var(--display)}
.case-result p{margin:0;color:#696d6f;font-size:17px;line-height:1.55}
.case-boundary{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:20px}
.case-boundary>div{padding:36px 39px;background:#fff;border:1px solid #d1d4d4}
.case-boundary h2,.case-boundary h3{margin:0;color:#232527;font:600 34px/1.02 var(--display);letter-spacing:-.035em}
.case-boundary p{margin:18px 0 0;color:#696d6f;font-size:17px;line-height:1.6}
.case-related{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.case-related a{display:flex;min-height:190px;flex-direction:column;padding:27px;color:#fff;background:#303335;border-top:3px solid #963a3d;transition:transform .25s ease}
.case-related a:hover{transform:translateY(-5px)}
.case-related span{color:#d8a3a5;font:600 9px/1 var(--utility);letter-spacing:.1em;text-transform:uppercase}
.case-related h3{margin:auto 0 17px;color:#fff;font:600 26px/1.05 var(--display)}
.case-related b{font:600 10px/1.2 var(--utility);letter-spacing:.06em;text-transform:uppercase}
.case-feature{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(330px,.9fr);background:#fff;border:1px solid #d2d5d5}
.case-feature__media{min-height:430px;background:#242729}
.case-feature__media img{width:100%;height:100%;object-fit:cover}
.case-feature__body{display:flex;flex-direction:column;padding:42px}
.case-feature__body h2{margin:26px 0 16px;color:#232527;font:600 clamp(39px,4vw,57px)/.98 var(--display);letter-spacing:-.045em}
.case-feature__body p{margin:0;color:#696d6f;font-size:17px;line-height:1.6}
.case-feature__body .text-link{width:max-content;margin-top:auto}
.case-note{padding:24px 27px;margin-top:20px;color:#696d6f;background:#fff;border-left:4px solid #963a3d;font-size:16px}
@media(max-width:980px){.case-heading,.case-boundary,.case-feature{grid-template-columns:1fr;gap:28px}.case-brief,.case-results{grid-template-columns:repeat(2,1fr)}.case-feature__media{min-height:360px}}
@media(max-width:640px){.case-studies-page{font-size:18px}.case-hero,.case-hero__inner{min-height:650px}.case-section{padding-block:72px}.case-brief,.case-challenges,.case-results,.case-related{grid-template-columns:1fr}.case-path{padding-left:46px}.case-path::before{left:13px}.case-path__step{grid-template-columns:1fr;padding:27px 24px}.case-path__step::before{left:-41px}.case-feature__media{min-height:290px}.case-feature__body{padding:30px 25px}}
@media(prefers-reduced-motion:reduce){.case-related a,.case-feature,.case-path__step{transition:none}}
