.cases-page,.case-page{background:var(--page);min-height:100vh;color:var(--ink)}.cases-page :is(h1,h2),.case-page :is(h1,h2){text-wrap:balance}.cases-hero{width:min(100%,1272px);min-height:clamp(410px,54svh,590px);padding:clamp(92px, 11vw, 148px) var(--wrap-pad) clamp(62px, 8vw, 96px);border-bottom:1px solid var(--ink);grid-template-columns:minmax(0,1.45fr) minmax(220px,.55fr);align-items:end;gap:clamp(48px,9vw,132px);margin:0 auto;display:grid}.cases-hero-copy{min-width:0}.cases-hero h1{max-width:10ch;font:400 var(--fs-display)/.92 "Libre Bodoni", serif;letter-spacing:var(--ls-display);margin:0 0 clamp(26px,3.5vw,42px)}.cases-intro{max-width:67ch;color:color-mix(in srgb, var(--ink) 76%, var(--page));font-size:var(--fs-detail);text-wrap:pretty;margin:0;line-height:1.75}.cases-count{border-top:1px solid var(--line);color:color-mix(in srgb, var(--ink) 68%, var(--page));font-size:var(--fs-micro);gap:13px;margin:0;padding:18px 0 0;line-height:1.5;display:grid}.cases-count strong{color:var(--blue-text);font-size:var(--fs-small);font-weight:600}.cases-empty{width:min(100%,1272px);padding:var(--section-pad) var(--wrap-pad);margin:0 auto;line-height:1.7}.cases-list{width:min(100%,1272px);padding:clamp(54px, 7vw, 96px) var(--wrap-pad) var(--section-pad);margin:0 auto;list-style:none}.cases-list>li{border-top:1px solid var(--line)}.cases-list>li:last-child{border-bottom:1px solid var(--line)}.cases-list>li>a{color:inherit;grid-template-columns:minmax(300px,1.08fr) minmax(300px,.92fr);align-items:center;gap:clamp(36px,7vw,100px);padding:clamp(34px,4vw,62px) 0;text-decoration:none;display:grid}.cases-list>li:nth-child(2n) figure{order:2}.cases-list figure{background:var(--surface);margin:0;position:relative;overflow:hidden}.cases-list figure:after{content:"";border:1px solid color-mix(in srgb, var(--ink) 10%, transparent);pointer-events:none;position:absolute;inset:0}.cases-list figure img{aspect-ratio:3/2;object-fit:cover;width:100%;height:auto;transition:transform .65s cubic-bezier(.22,1,.36,1);display:block}.cases-list figcaption{background:color-mix(in srgb, var(--ink) 88%, var(--blue));color:var(--page);font-variant-numeric:tabular-nums;padding:8px 10px;font-size:.6875rem;position:absolute;bottom:16px;left:16px}.cases-record{min-width:0}.cases-meta,.case-meta{color:color-mix(in srgb, var(--ink) 70%, var(--page));font-size:var(--fs-micro);flex-wrap:wrap;gap:10px 24px;margin:0 0 24px;display:flex}.cases-meta span+span,.case-meta span+span{position:relative}.cases-meta span+span:before,.case-meta span+span:before{content:"/";opacity:.45;position:absolute;left:-15px}.cases-record h2{max-width:16ch;font:400 var(--fs-title-sm)/1.05 "Libre Bodoni", serif;letter-spacing:var(--ls-display);margin:0 0 22px}.cases-summary{max-width:58ch;font-size:var(--fs-detail);text-wrap:pretty;margin:0 0 30px;line-height:1.72}.cases-record dl{border-top:1px solid var(--line);border-bottom:1px solid var(--line);gap:clamp(28px,4vw,56px);margin:0 0 32px;padding:22px 0;display:flex}.cases-record dl div{gap:6px;display:grid}.cases-record dt{color:var(--blue-text);font:400 var(--fs-subtitle)/1 "Libre Bodoni", serif;letter-spacing:-.02em}.cases-record dd{max-width:20ch;color:color-mix(in srgb, var(--ink) 72%, var(--page));margin:0;font-size:.6875rem;line-height:1.45}.cases-more,.case-live,.case-back{font-size:var(--fs-small);align-items:center;gap:12px;font-weight:600;display:inline-flex}.cases-more,.case-live{color:var(--blue-text)}.cases-more svg,.case-live svg,.case-back svg{width:17px;height:17px;transition:transform .25s cubic-bezier(.22,1,.36,1)}.cases-list a:hover img{transform:scale(1.025)}.cases-list a:hover .cases-more svg{transform:translate(5px)}.case-hero{width:min(100%,1272px);padding:clamp(54px, 7vw, 92px) var(--wrap-pad) clamp(56px, 7vw, 94px);margin:0 auto}.case-back{color:color-mix(in srgb, var(--ink) 70%, var(--page));margin-bottom:clamp(64px,9vw,118px);text-decoration:none}.case-back:hover svg{transform:translate(-4px)}.case-hero-grid{grid-template-columns:minmax(0,920px);display:grid}.case-meta{color:var(--blue-text)}.case-hero h1{max-width:15ch;font:400 var(--fs-display)/.95 "Libre Bodoni", serif;letter-spacing:var(--ls-display);margin:0 0 30px}.case-deck{max-width:70ch;color:color-mix(in srgb, var(--ink) 78%, var(--page));font-size:var(--fs-body);text-wrap:pretty;margin:0;line-height:1.72}.case-live{text-underline-offset:6px;margin-top:34px;text-decoration:underline 1px}.case-live:hover svg{transform:translate(4px,-2px)}.case-cover{width:min(100%,1440px);padding:0 var(--wrap-pad);margin:0 auto;position:relative}.case-cover img{aspect-ratio:16/9;object-fit:cover;background:var(--surface);border:1px solid var(--line);width:100%;height:auto;display:block}.case-facts{width:min(100%,1272px);margin:clamp(36px, 5vw, 68px) auto var(--section-pad);padding:0 var(--wrap-pad) clamp(34px, 5vw, 58px);border-bottom:1px solid var(--line);grid-template-columns:.72fr 1fr .45fr 1.25fr 1fr;gap:clamp(22px,3vw,42px);display:grid}.case-facts>div{min-width:0}.case-facts p{color:color-mix(in srgb, var(--ink) 58%, var(--page));margin:0 0 12px;font-size:.6875rem}.case-facts span,.case-facts li{color:var(--ink);font-size:var(--fs-small);line-height:1.55}.case-facts ul{flex-wrap:wrap;gap:3px 12px;margin:0;padding:0;list-style:none;display:flex}.case-metrics{width:min(100%,1100px);margin:0 auto var(--section-pad);padding:0 var(--wrap-pad);flex-wrap:wrap;gap:34px clamp(70px,12vw,170px);display:flex}.case-metrics div{min-width:min(100%,210px)}.case-metrics dt{color:var(--blue-text);letter-spacing:-.03em;margin:0 0 9px;font:400 clamp(2.8rem,5vw,4.75rem)/.92 Libre Bodoni,serif}.case-metrics dd{max-width:26ch;color:color-mix(in srgb, var(--ink) 72%, var(--page));font-size:var(--fs-small);margin:0;line-height:1.5}.case-story{width:min(100%,1100px);margin:0 auto var(--section-pad);padding:0 var(--wrap-pad)}.case-story article{border-top:1px solid var(--line);grid-template-columns:minmax(140px,.35fr) minmax(0,1fr);gap:clamp(40px,8vw,120px);padding:clamp(34px,5vw,64px) 0;display:grid}.case-story article:last-child{border-bottom:1px solid var(--line)}.case-story h2{color:var(--blue-text);font:600 var(--fs-small)/1.4 "JetBrains Mono", monospace;letter-spacing:0;margin:0}.case-story p{max-width:68ch;font-size:var(--fs-body);text-wrap:pretty;margin:0;line-height:1.86}.case-gallery{width:min(100%,1272px);margin:0 auto var(--section-pad);padding:0 var(--wrap-pad);gap:clamp(18px,3vw,36px);display:grid}.case-gallery-2{grid-template-columns:1.15fr .85fr;align-items:start}.case-gallery-2 figure:nth-child(2){margin-top:clamp(50px,8vw,110px)}.case-gallery figure{background:var(--surface);margin:0;overflow:hidden}.case-gallery img{aspect-ratio:8/5;object-fit:cover;width:100%;height:auto;display:block}.case-results{width:min(100%,1100px);margin:0 auto var(--section-pad);padding:0 var(--wrap-pad);grid-template-columns:minmax(180px,.45fr) minmax(0,1fr);gap:clamp(45px,9vw,130px);display:grid}.case-results h2{font:400 var(--fs-title-sm)/1 "Libre Bodoni", serif;letter-spacing:var(--ls-display);margin:0}.case-results ul{border-top:1px solid var(--ink);margin:0;padding:0;list-style:none}.case-results li{border-bottom:1px solid var(--line);font-size:var(--fs-detail);grid-template-columns:20px 1fr;gap:16px;padding:22px 0;line-height:1.65;display:grid}.case-results svg{width:18px;color:var(--blue-text)}.case-quote{width:min(calc(100% - 2 * var(--wrap-pad)), 990px);margin:0 auto var(--section-pad);color:var(--ink);border-block:1px solid var(--line);background:0 0;padding:clamp(42px,7vw,86px)}.case-quote>span{height:.55em;color:color-mix(in srgb, var(--ink) 22%, var(--page));font:400 clamp(5rem,10vw,9rem)/.8 Libre Bodoni,serif;display:block}.case-quote p{letter-spacing:-.02em;text-wrap:balance;max-width:30ch;margin:0 0 34px;font:400 clamp(1.75rem,3.2vw,3rem)/1.24 Libre Bodoni,serif}.case-quote cite{font-style:normal;font-size:var(--fs-small);flex-direction:column;gap:6px;display:flex}.case-quote cite small{color:color-mix(in srgb, var(--ink) 65%, var(--page));font-size:var(--fs-micro)}.case-cta{width:min(100%,1272px);margin:0 auto var(--section-pad);background:var(--gold);color:color-mix(in srgb, var(--ink) 92%, black);justify-content:space-between;align-items:center;gap:40px;padding:clamp(40px,6vw,76px);display:flex}.case-cta h2{font:400 var(--fs-title-sm)/1 "Libre Bodoni", serif;letter-spacing:var(--ls-display);margin:0 0 12px}.case-cta p{max-width:54ch;font-size:var(--fs-small);margin:0;line-height:1.65}.case-cta a{background:color-mix(in srgb, var(--ink) 88%, var(--blue));min-height:56px;color:var(--page);font-size:var(--fs-small);flex:none;align-items:center;gap:18px;padding:16px 22px;text-decoration:none;display:inline-flex}.case-cta a svg{width:18px;transition:transform .25s cubic-bezier(.22,1,.36,1)}.case-cta a:hover svg{transform:translate(5px)}.cases-page a:focus-visible,.case-page a:focus-visible{outline:2px solid var(--blue);outline-offset:5px}@media (width<=980px){.cases-hero{grid-template-columns:1fr;min-height:auto}.cases-count{max-width:320px}.cases-list>li>a{grid-template-columns:1fr}.cases-list>li:nth-child(2n) figure{order:0}.cases-record h2{max-width:20ch}.case-facts{grid-template-columns:repeat(3,minmax(0,1fr))}.case-results{grid-template-columns:1fr}.case-cta{flex-direction:column;align-items:flex-start}}@media (width<=620px){.cases-hero{gap:44px;padding-top:70px}.cases-list{padding-inline:24px}.cases-list>li>a{gap:30px;padding-block:32px 42px}.cases-record dl{gap:24px}.case-hero{padding-top:42px}.case-back{margin-bottom:56px}.case-cover{padding-inline:24px}.case-cover img{aspect-ratio:4/3}.case-facts{grid-template-columns:repeat(2,minmax(0,1fr));padding-inline:24px}.case-facts>div:nth-last-child(-n+2){grid-column:1/-1}.case-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 20px;display:grid}.case-metrics dt{font-size:2.8rem}.case-story article{grid-template-columns:1fr;gap:18px}.case-gallery-2{grid-template-columns:1fr}.case-gallery-2 figure:nth-child(2){margin-top:0}.case-quote{width:calc(100% - 48px);padding:38px 28px}.case-cta{width:calc(100% - 48px);margin-inline:24px;padding:34px 26px}.case-cta a{justify-content:space-between;width:100%}}@media (prefers-reduced-motion:reduce){.cases-list figure img,.cases-more svg,.case-live svg,.case-back svg,.case-cta a svg{transition:none}}
