.case-story{--cs-ink:#17171a;--cs-text:#515157;--cs-purple:#79478b;--cs-paper:#f6f5f3;color:var(--cs-ink);background:#fff;padding-top:144px;overflow-wrap:break-word}
body:has(.case-story) .nav .menu-button{color:#17171a}
.case-story *{box-sizing:border-box;min-width:0}
.case-story .cs-wrap{width:min(1360px,calc(100% - 96px));margin-inline:auto}
.case-story p,.case-story li,.case-story dd,.case-story td,.case-story th{font-size:19px;line-height:1.65;color:var(--cs-text);margin:0}
.case-story p+p{margin-top:20px}
.case-story a{color:var(--cs-purple);font-size:inherit;line-height:inherit;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
.case-story a:hover{text-decoration-thickness:2px}
.case-story a:focus-visible,.case-story summary:focus-visible,.case-story [tabindex]:focus-visible{outline:3px solid var(--cs-purple);outline-offset:6px}
.case-story h1,.case-story h2,.case-story h3{color:var(--cs-ink);font-weight:800;letter-spacing:-.02em;margin:0;text-transform:none}
.case-story h1{font-size:clamp(42px,4.7vw,72px);line-height:1.08;margin-bottom:25px}
.case-story .cs-client{display:block;font-size:.43em;line-height:1.25;letter-spacing:0;margin-bottom:16px}
.case-story h2{font-size:clamp(34px,3.8vw,56px);line-height:1.12;margin-bottom:24px}
.case-story h3{font-size:27px;line-height:1.2;margin-bottom:16px}
.case-story .cs-eyebrow{font-size:18px;font-weight:800;letter-spacing:.1em;line-height:1.5;text-transform:uppercase;margin:0 0 20px;color:var(--cs-purple)}
.case-story .cs-intro{font-size:21px;line-height:1.65}
.case-story .cs-breadcrumb{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-bottom:42px;font-size:16px;color:var(--cs-text)}
.case-story .cs-split{display:grid;grid-template-columns:1fr 1fr;gap:64px}
.case-story .cs-align-center{align-items:center}
.case-story .cs-hero-art img{width:100%;height:auto}
.case-story .cs-figure{margin:0}
.case-story img{display:block;max-width:100%;height:auto;width:100%}
.case-story figcaption,.case-story .cs-caption{font-size:15px;line-height:1.55;color:var(--cs-text);margin-top:14px}
.case-story .cs-project-facts{display:grid;grid-template-columns:2fr 1fr;gap:48px;margin:48px 0 0;padding:26px 0 0;border-top:1px solid #d9d6d3}
.case-story dt{font-size:16px;line-height:1.4;font-weight:800;margin-bottom:8px}
.case-story dd{margin:0;font-size:17px}
.case-story .cs-hero{padding-bottom:70px}
.case-story .cs-section{padding:88px 0}
.case-story .cs-section-heading{margin-bottom:32px}
.case-story .cs-section-heading h2{margin-bottom:0}
.case-story .cs-prose{max-width:870px}
.case-story .cs-tint{background:var(--cs-paper)}
.case-story .cs-lilac{background:#e4ddec}
.case-story .cs-grid-three,.case-story .cs-grid-two{display:grid;gap:24px;margin-top:36px}
.case-story .cs-grid-three{grid-template-columns:repeat(3,1fr)}
.case-story .cs-grid-two{grid-template-columns:repeat(2,1fr)}
.case-story .cs-card{padding:30px;background:#e4ddec}
.case-story .cs-card:nth-child(3n+2){background:#f0dbdf}
.case-story .cs-card:nth-child(3n){background:#dceaf0}
.case-story .cs-card p{font-size:18px}
.case-story .cs-card h3{font-size:25px}
.case-story .cs-grid-three+.cs-prose,.case-story .cs-grid-two+.cs-note{margin-top:28px}
.case-story .cs-table-wrap{margin-top:32px}
.case-story table{width:100%;border-collapse:collapse;text-align:left;table-layout:fixed}
.case-story caption{text-align:left;font-weight:800;font-size:20px;margin-bottom:16px}
.case-story th,.case-story td{padding:22px 24px;vertical-align:top;border-bottom:1px solid #c9c5c1}
.case-story thead th{background:#e4ddec;color:var(--cs-ink);font-weight:800}
.case-story tbody th{font-weight:700;color:var(--cs-ink);width:42%}
.case-story .cs-architecture{margin:0;padding:30px;background:#dceaf0}
.case-story .cs-architecture-before{border-bottom:1px solid #a7bcc5;padding-bottom:24px;margin-bottom:24px}
.case-story .cs-architecture strong,.case-story .cs-architecture span{display:block}
.case-story .cs-architecture strong{font-size:23px;line-height:1.3}
.case-story .cs-architecture span{font-size:16px;line-height:1.5;margin-top:6px;color:var(--cs-text)}
.case-story .cs-architecture-parent{background:#314858;color:#fff;padding:22px;text-align:center}
.case-story .cs-architecture-parent span{color:#fff}
.case-story .cs-architecture-children{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding-top:28px;position:relative}
.case-story .cs-architecture-children:before{content:'';position:absolute;width:2px;height:28px;background:#314858;left:50%;top:0}
.case-story .cs-architecture-children>div{border-top:3px solid #314858;background:#fff;padding:20px}
.case-story .cs-architecture-children strong{font-size:21px}
.case-story video{width:100%;height:auto;display:block;background:#17171a}
.case-story .cs-disclosure{margin-top:36px;border-top:1px solid #bcb7b2;border-bottom:1px solid #bcb7b2;padding:22px 0}
.case-story summary{cursor:pointer;font-size:20px;font-weight:750;line-height:1.5;color:var(--cs-ink);padding-right:12px}
.case-story details[open]>summary{margin-bottom:28px}
.case-story .cs-image-pair{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:36px}
.case-story .cs-disclosure .cs-image-pair{margin-top:0}
.case-story .cs-result{border-top:1px solid #c8c3cc;margin-top:30px;padding-top:26px;margin-bottom:20px}
.case-story .cs-result strong{display:block;font-size:64px;line-height:1.1;letter-spacing:-.02em;color:var(--cs-purple)}
.case-story .cs-result span{display:block;font-size:19px;font-weight:700;margin-top:8px}
.case-story .cs-note{font-size:16px;line-height:1.6;margin-top:24px}
.case-story .cs-annotated{display:grid;grid-template-columns:1.3fr 1fr;gap:48px;align-items:center;margin-top:56px}
.case-story .cs-reverse{grid-template-columns:1fr 1.3fr}
.case-story .cs-reverse>figure{order:2}
.case-story .cs-annotated h3{font-size:clamp(28px,3vw,40px)}
.case-story .cs-results{margin-top:0}
.case-story .cs-results .cs-card{background:rgba(255,255,255,.55)}
.case-story .cs-results h3{font-size:64px;line-height:1.1;color:var(--cs-purple)}
.case-story .cs-logo-pair{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-bottom:36px}
.case-story .cs-logo img{height:180px;object-fit:contain;background:#fff;padding:30px}
.case-story .cs-reading{margin-top:30px;padding-top:26px;border-top:1px solid #d9d6d3}
.case-story ul{padding:0;margin:0}
.case-story .cs-reading ul{list-style:disc;padding-left:22px}
.case-story .cs-reading li{margin:0 0 16px}
.case-story .cs-site-window{max-height:650px;overflow-y:auto;border:1px solid #d9d6d3;scrollbar-gutter:stable}
.case-story .cs-service-links{list-style:none;display:flex;flex-wrap:wrap;gap:16px 30px;margin-top:28px}
.case-story .cs-service-links li{font-size:19px;font-weight:700}
.case-story .cs-cta{background:#d47684;padding:68px 0}
.case-story .cs-cta-inner{display:flex;align-items:center;gap:48px}
.case-story .cs-cta-inner>div{max-width:580px}
.case-story .cs-cta .cs-eyebrow,.case-story .cs-cta p{color:var(--cs-ink)}
.case-story .cs-button{display:inline-flex;justify-content:center;align-items:center;flex-shrink:0;max-width:100%;padding:22px 32px;border-radius:999px;background:var(--cs-ink);color:#fff;text-transform:uppercase;font-size:16px;font-weight:800;letter-spacing:.06em;text-decoration:none;text-align:center}
.case-story .cs-button:hover{background:#38313c;color:#fff}
.case-story .cs-credit{display:flex;justify-content:space-between;gap:24px;padding-block:30px}
.case-story .cs-credit p,.case-story .cs-credit a{font-size:15px;line-height:1.5}
@media(min-width:1500px){.case-story .cs-wrap{width:min(1360px,calc(100% - 120px))}}
@media(max-width:1100px){.case-story .cs-wrap{width:calc(100% - 64px)}.case-story .cs-split{gap:36px}.case-story .cs-card{padding:25px}.case-story .cs-annotated{gap:32px}.case-story .cs-hero .cs-split{grid-template-columns:1fr 1fr}.case-story .cs-cta-inner>div{max-width:540px}.case-story .cs-architecture-children{gap:10px}.case-story .cs-architecture-children>div{padding:14px}.case-story .cs-grid-three{gap:16px}}
@media(max-width:900px){.case-story .cs-grid-three{grid-template-columns:1fr}.case-story .cs-card h3{font-size:27px}.case-story .cs-cta-inner{align-items:flex-start;flex-direction:column;gap:28px}.case-story .cs-split,.case-story .cs-hero .cs-split,.case-story .cs-annotated,.case-story .cs-reverse{grid-template-columns:1fr}.case-story .cs-reverse>figure{order:0}.case-story .cs-hero-art{max-width:720px}.case-story h1{font-size:60px}.case-story .cs-architecture{max-width:650px}.case-story .cs-hero-art img{max-height:540px;object-fit:contain;object-position:left}.case-story .cs-results{grid-template-columns:repeat(3,1fr)}.case-story .cs-results h3{font-size:48px}.case-story .cs-results .cs-card{padding:22px}.case-story .cs-results p{font-size:16px}}
@media(max-width:600px){.case-story{padding-top:112px}.case-story .cs-wrap{width:calc(100% - 40px)}.case-story .cs-breadcrumb{margin-bottom:30px}.case-story h1{font-size:42px}.case-story h2{font-size:36px}.case-story .cs-eyebrow{font-size:18px;letter-spacing:.07em}.case-story .cs-intro{font-size:19px}.case-story p,.case-story li{font-size:18px}.case-story .cs-section{padding:56px 0}.case-story .cs-hero{padding-bottom:48px}.case-story .cs-project-facts,.case-story .cs-grid-two,.case-story .cs-image-pair,.case-story .cs-logo-pair,.case-story .cs-results{grid-template-columns:1fr}.case-story .cs-project-facts{gap:22px;margin-top:32px}.case-story .cs-card{padding:26px}.case-story .cs-card h3{font-size:25px}.case-story th,.case-story td{font-size:16px;line-height:1.6;padding:18px 12px}.case-story .cs-table-wrap th:first-child{width:43%}.case-story .cs-architecture{padding:22px}.case-story .cs-architecture-children{grid-template-columns:1fr}.case-story .cs-architecture-children strong{font-size:21px}.case-story .cs-annotated{margin-top:40px}.case-story .cs-results h3{font-size:60px}.case-story .cs-results p{font-size:18px}.case-story .cs-logo img{height:140px;padding:22px}.case-story .cs-site-window{max-height:520px}.case-story .cs-cta{padding:52px 0}.case-story .cs-credit{flex-direction:column;gap:12px}.case-story .cs-note{font-size:16px}.case-story .cs-button{padding:21px 28px}.case-story .cs-service-links{gap:16px 24px}}
