/* One shared text grid inside both white sections and tinted panels. */
.case-study{max-width:1280px;--case-inset:clamp(28px,6vw,88px);--case-gap:48px}
.case-intro{padding:40px 0 64px;background:#fff}
.case-back{display:inline-block;font-size:14px;color:var(--muted);margin-bottom:56px}
.case-hero-main{text-align:center;max-width:950px;margin:auto}
.case-client{font-size:17px;font-weight:600;margin-bottom:18px}
.case-tags{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;list-style:none;padding:0;margin:0 0 26px}
.case-tags li{font-size:12px;border-radius:30px;padding:7px 13px;background:#f2f3f1}
.case-intro h1{font-family:var(--display);font-size:clamp(44px,5.2vw,76px);font-weight:750;letter-spacing:-.05em;line-height:1.06;margin:0 auto 28px}
.case-lead{max-width:730px;margin:auto;font-size:20px;line-height:1.65;color:#454541}
.case-meta{display:grid;grid-template-columns:.55fr .85fr 1.35fr 1.25fr;gap:32px;margin:52px var(--case-inset) 0;padding-top:28px;border-top:1px solid #e3e4e2}
.case-meta dt{font-size:13px;color:var(--muted);margin-bottom:8px}
.case-meta dd{font-size:15px;line-height:1.55;margin:0}
.case-numbers{background:#edf3f8;border-radius:22px;padding:36px;display:grid;grid-template-columns:1.5fr 1fr 1fr 1.15fr;gap:28px;align-items:start;margin:0}
.case-number{font-family:var(--display);font-weight:650;letter-spacing:-.05em;line-height:1.05;font-size:clamp(36px,4.2vw,58px)}
.case-numbers p{font-size:14px;line-height:1.5;margin:10px 0 0}
.case-note{display:block;font-size:11px;color:var(--muted);margin-top:8px}
.case-figure{margin:48px 0 0}
.case-figure>a{display:block;position:relative;border-radius:18px;overflow:hidden;background:#f8f8f8}
.case-figure img{display:block;width:100%;height:auto}
.case-zoom{position:absolute;bottom:12px;right:12px;padding:7px 11px;background:#ffffffed;border-radius:20px;font-size:12px}
.case-section{margin-top:104px;scroll-margin-top:32px}
.case-copy{display:block;margin-inline:var(--case-inset)}
.case-copy h2{font-family:var(--display);font-weight:650;font-size:clamp(30px,3.1vw,42px);line-height:1.15;letter-spacing:-.04em;margin:0 0 30px;max-width:800px;text-wrap:balance}
.case-copy>div{max-width:800px}
.case-copy p{font-size:17px;line-height:1.75;margin:0 0 18px;color:#454541}
.case-copy p:last-child{margin-bottom:0}
.case-copy strong{color:var(--ink);font-weight:600}
.case-context,.case-outcome{background:#edf3f8;border-radius:22px;padding:52px 0}
.case-pair,.case-findings{display:grid;grid-template-columns:1fr 1fr;gap:var(--case-gap);margin:40px var(--case-inset) 0}
.case-pair>div{padding-top:24px;border-top:1px solid #cbd7df}
.case-study h3{font-family:var(--display);font-size:23px;letter-spacing:-.025em;line-height:1.25;margin:0 0 12px;font-weight:600}
.case-pair p,.case-findings p{font-size:16px;line-height:1.65;margin:0}
.case-copy-secondary{margin-top:64px}
.case-copy-secondary h3{margin-bottom:22px}
.case-findings{background:#edf3f8;margin-inline:0;padding:40px var(--case-inset);border-radius:22px}
.case-findings blockquote{margin:22px 0 0;font-size:18px;line-height:1.5}
.case-findings cite{display:block;font-size:12px;color:var(--muted);font-style:normal;margin-top:10px}
.case-end{display:flex;justify-content:space-between;gap:24px;padding:44px 0 80px;font-size:15px}
.case-page a:focus-visible{outline:3px solid #285cb2;outline-offset:5px}
.image-lightbox[hidden]{display:none}
.image-lightbox{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:clamp(20px,5vw,72px);background:rgba(20,20,20,.86);cursor:zoom-out}
.image-lightbox img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:12px;box-shadow:0 18px 70px rgba(0,0,0,.32);cursor:default}
.image-lightbox-close{position:fixed;top:22px;right:26px;z-index:1001;border:0;border-radius:999px;background:#fff;color:#191919;padding:12px 17px;font:600 15px var(--body);cursor:pointer;box-shadow:0 4px 18px rgba(0,0,0,.22)}
.image-lightbox-close span{font-size:24px;line-height:0;margin-left:8px;vertical-align:-2px}
.image-lightbox-close:focus-visible{outline:3px solid #b9d8ff;outline-offset:4px}
.lightbox-open{overflow:hidden}
@media(min-width:1700px){.case-intro{padding-top:64px}}
@media(max-width:950px){.case-study{--case-inset:32px;--case-gap:32px}.case-meta{gap:22px;grid-template-columns:1fr 1fr}.case-section{margin-top:80px}.case-numbers{padding:28px;gap:20px}.case-numbers p{font-size:13px}}
@media(max-width:680px){.case-study{--case-inset:24px;--case-gap:26px}.case-intro{padding:28px 0 36px}.case-back{margin-bottom:36px}.case-client{font-size:15px}.case-tags{gap:6px;margin-bottom:22px}.case-tags li{font-size:11px;padding:6px 10px}.case-intro h1{font-size:clamp(40px,10vw,60px)}.case-title-break{display:none}.case-lead{font-size:17px;line-height:1.65}.case-meta{margin:32px 0 0;gap:22px 18px}.case-meta dd{font-size:14px}.case-numbers{grid-template-columns:1fr 1fr;padding:24px;gap:28px 18px;border-radius:18px}.case-number{font-size:38px}.case-numbers p{font-size:12px}.case-note{font-size:10px}.case-figure{margin-top:30px}.case-figure>a{border-radius:12px}.case-zoom{position:static;display:block;width:max-content;margin:8px 10px 10px auto;background:#fff;font-size:11px}.case-section{margin-top:64px}.case-copy h2{font-size:30px;margin-bottom:24px}.case-copy p{font-size:16px;line-height:1.65}.case-pair,.case-findings{grid-template-columns:1fr}.case-pair{margin-top:28px}.case-context,.case-outcome{padding:32px 0}.case-findings{padding-block:32px;margin-top:28px}.case-copy-secondary{margin-top:40px}.case-end{font-size:13px;padding:34px 0 54px}.case-study h3{font-size:22px}}
.case-meta{grid-template-columns:.55fr 1.35fr 1.25fr}
.case-chapter>.case-copy{margin-inline:0;padding:48px var(--case-inset);background:#edf3f8;border-radius:22px}
.case-chapter>.case-copy>div{max-width:none;columns:2;column-gap:var(--case-gap)}
.case-chapter>.case-copy p{break-inside:avoid}
.case-chapter>.case-copy p:last-child{margin-bottom:0}
.case-chapter>.case-figure{margin-top:28px}
.case-findings{background:transparent;padding:0;gap:24px;margin-top:24px}
.case-findings>div{padding:32px;background:#eef5e9;border-radius:20px}
.case-findings>div:last-child{background:#fff0e6}
@media(max-width:680px){.case-meta{grid-template-columns:1fr}.case-chapter>.case-copy{padding:32px var(--case-inset)}.case-chapter>.case-copy>div{columns:auto}.case-chapter>.case-figure{margin-top:22px}.case-findings>div{padding:26px 24px}}
.case-chapter>.case-copy>div{columns:auto;display:grid;grid-template-columns:1fr 1fr;gap:var(--case-gap)}
.case-chapter>.case-copy p{margin-bottom:0}
.case-chapter>.case-copy p:only-child{grid-column:1/-1;max-width:800px}
@media(max-width:680px){.case-chapter>.case-copy>div{grid-template-columns:1fr;gap:18px}}
.case-context>.case-copy>div{max-width:none;width:100%}
.case-meta{grid-template-columns:.5fr 1.25fr 1.15fr 1.2fr}
@media(max-width:950px){.case-meta{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.case-meta{grid-template-columns:1fr}}
.case-chapter>.case-copy>div{width:100%;max-width:none}
.case-chapter>.case-copy p:only-child{max-width:none;grid-column:1/-1}
.case-outcome .case-copy>div{max-width:none;width:100%}

@media (hover:hover) and (pointer:fine){.case-figure>a,.case-figure>a *{cursor:url("assets/cursor-zoom.svg") 20 20,zoom-in}}

@media (hover:hover) and (pointer:fine){.case-figure>a,.case-figure>a *{cursor:url("assets/cursor-zoom.svg") 16 16,zoom-in}.image-lightbox-close{cursor:url("assets/cursor-arrow.svg") 5 4,pointer}}

@media (hover:hover) and (pointer:fine){.image-lightbox,.image-lightbox img,.image-lightbox-close,.image-lightbox-close *{cursor:url("assets/cursor-close.svg") 16 16,pointer}}
