.case-study-page{padding-bottom:var(--section-gap-desktop)}.case-study-hero{padding-bottom:var(--section-gap-desktop);padding-top:28px}.case-study-hero-main{grid-template-columns:minmax(0, 1fr) var(--case-study-logo-width,325px);align-items:center;column-gap:48px;display:grid}.case-study-hero-copy{max-width:980px}.case-study-logo{max-width:100%;height:auto;width:min(100%, var(--case-study-logo-width,325px));display:block}.case-study-hero h1{max-width:900px;margin:0;font-size:54px;font-weight:900;line-height:1.02}.case-study-lead{color:var(--text-secondary);max-width:850px;margin:24px 0 0;font-size:20px;line-height:1.6}.case-study-actions{flex-wrap:wrap;align-items:center;gap:24px;margin-top:28px;display:flex}.case-study-text-link{color:var(--text-primary);text-underline-offset:4px;font-weight:600}.case-study-facts{border-bottom:1px solid var(--border-subtle);border-top:1px solid var(--border-subtle);grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:44px 0 0;padding:20px 0;display:grid}.case-study-fact dt,.case-study-technology .eyebrow{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;margin:0 0 8px;font-size:11px;font-weight:700}.case-study-fact dd{color:var(--text-primary);margin:0;font-size:16px;font-weight:600;line-height:1.4}.case-study-section{padding-bottom:var(--section-gap-desktop);scroll-margin-top:125px}.case-study-section-heading{margin-bottom:28px}.case-study-section-heading .eyebrow{margin-bottom:10px}.case-study-section-heading h2{max-width:850px;margin:0;font-size:36px;font-weight:800;line-height:1.12}.case-study-section-description{color:var(--text-secondary);margin:14px 0 0;font-size:18px;line-height:1.6}.case-study-highlights,.case-study-technology-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:0;padding:0;list-style:none;display:grid}.case-study-highlight,.case-study-technology{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-card);padding:24px}.case-study-highlight .eyebrow{margin-bottom:14px}.case-study-highlight h3,.case-study-mobile-heading h3,.case-study-gallery-caption h3,.case-study-technology h3{margin:0;font-size:24px;font-weight:800;line-height:1.15}.case-study-highlight>p:last-child,.case-study-mobile-heading>p,.case-study-gallery-caption>p:last-child,.case-study-technology>p:last-child{color:var(--text-secondary);margin:12px 0 0;font-size:16px;line-height:1.6}.case-study-gallery-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.case-study-gallery-tabs{background:var(--surface-footer);border:1px solid var(--border-subtle);border-radius:var(--radius-control);flex:0 auto;justify-content:center;align-items:center;gap:4px;min-width:180px;padding:4px;display:inline-flex}.case-study-gallery-tab,.case-study-gallery-arrow{color:var(--text-primary);cursor:pointer;font:inherit;background:0 0;border:0;min-height:48px;padding:10px 18px;font-size:16px;font-weight:700;transition:background-color .16s,color .16s,border-color .16s}.case-study-gallery-tab[aria-selected=true]{background:var(--action-primary);border-radius:calc(var(--radius-control) - 3px);color:var(--text-inverse)}.case-study-gallery-arrow{background:var(--action-primary);border:1px solid var(--action-primary);border-radius:var(--radius-control);color:var(--text-inverse);justify-content:center;align-items:center;gap:8px;min-width:112px;display:inline-flex}.case-study-gallery-arrow:hover{background:var(--action-secondary);border-color:var(--action-secondary)}.case-study-gallery-tab:not([aria-selected=true]):hover{background:var(--surface-card);border-radius:calc(var(--radius-control) - 3px)}.case-study-gallery-arrow[data-gallery-previous]:before,.case-study-gallery-arrow[data-gallery-next]:after{font-size:20px;line-height:1}.case-study-gallery-arrow[data-gallery-previous]:before{content:"←"}.case-study-gallery-arrow[data-gallery-next]:after{content:"→"}.case-study-gallery-status{color:var(--text-muted);text-align:center;margin:12px 0;font-size:13px}.case-study-gallery-panel{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-card);margin:0;overflow:hidden}.case-study-gallery-panel[hidden]{display:none}.case-study-gallery-panel picture,.case-study-mobile-shot picture{display:block}.case-study-gallery-panel img{background:var(--surface-page);width:100%;height:auto;display:block}.case-study-gallery-caption{padding:24px 28px 28px}.case-study-gallery-caption .eyebrow{margin-bottom:10px}.case-study-product-shot{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-card);max-width:880px;margin:0;overflow:hidden}.case-study-product-shot img{background:var(--surface-page);width:100%;height:auto;display:block}.case-study-product-shot figcaption{color:var(--text-secondary);padding:16px 20px;font-size:15px;line-height:1.55}.case-study-mobile-views{margin-top:48px}.case-study-mobile-heading{max-width:650px}.case-study-mobile-gallery{overscroll-behavior-inline:contain;scroll-snap-type:inline mandatory;grid-auto-columns:minmax(200px,250px);grid-auto-flow:column;justify-content:safe center;gap:20px;width:fit-content;max-width:100%;margin:24px auto 0;padding:0 0 12px;display:grid;overflow-x:auto}.case-study-mobile-shot{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-card);scroll-snap-align:center;margin:0;overflow:hidden}.case-study-mobile-shot img{width:100%;height:auto;display:block}.case-study-mobile-shot figcaption{color:var(--text-secondary);padding:12px 16px;font-size:14px;font-weight:600}.case-study-technology-list{grid-template-columns:repeat(2,minmax(0,1fr))}.case-study-technology .eyebrow{margin-bottom:10px}.case-study-technology h3{font-size:20px}.case-study-page :where(a,button,[tabindex="0"]):focus-visible{outline:3px solid var(--action-primary);outline-offset:3px}@media (width<=1024px){.case-study-hero-main{grid-template-columns:minmax(0, 1fr) var(--case-study-logo-tablet-width,260px);column-gap:24px}.case-study-logo{width:min(100%, var(--case-study-logo-tablet-width,260px))}.case-study-highlights{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.case-study-page,.case-study-hero,.case-study-section{padding-bottom:var(--section-gap-mobile)}.case-study-hero{padding-top:12px}.case-study-hero-main{grid-template-columns:minmax(0,1fr)}.case-study-logo{width:min(100%, var(--case-study-logo-mobile-width,234px));grid-row:2;justify-self:end;margin-top:24px}.case-study-hero h1{font-size:36px;line-height:1.08}.case-study-lead{margin-top:18px;font-size:17px}.case-study-actions{flex-direction:column;align-items:flex-start;gap:18px;margin-top:22px}.case-study-facts{grid-template-columns:1fr;gap:18px;margin-top:32px;padding:18px 0}.case-study-section-heading{margin-bottom:22px}.case-study-section-heading h2{font-size:30px}.case-study-section-description{font-size:16px}.case-study-highlights,.case-study-technology-list{grid-template-columns:1fr}.case-study-highlight,.case-study-technology{padding:20px}.case-study-gallery-controls{gap:8px}.case-study-gallery-tabs{flex:0 0 100%;order:1;justify-content:space-around;gap:4px;width:100%}.case-study-gallery-arrow{flex:calc(50% - 4px);order:2;min-width:0}.case-study-gallery-caption{padding:20px}.case-study-mobile-views{margin-top:36px}.case-study-mobile-gallery{grid-auto-columns:min(250px,100vw - 48px);justify-content:start;gap:14px;width:100%}.case-study-mobile-shot{scroll-snap-align:start}}@media (prefers-reduced-motion:reduce){.case-study-mobile-gallery{scroll-behavior:auto}}
