@layer tokens{:root{--color-bg:#fff;--color-text:#1a1a1a;--color-text-muted:#666;--color-border:#ddd;--color-surface:#f4f4f4;--color-link:#1a1a1a;--color-focus:#1a1a1a;--font-body:system-ui, sans-serif;--font-heading:var(--font-body);--line-height-body:1.6;--line-height-heading:1.2;--font-size-small:.875rem;--font-size-base:1rem;--font-size-h4:1.125rem;--font-size-h3:1.25rem;--font-size-h2:1.5rem;--font-size-h1:2.25rem;--space-2xs:.25rem;--space-xs:.5rem;--space-s:1rem;--space-m:1.5rem;--space-l:2rem;--space-xl:3rem;--space-2xl:5rem;--width-prose:42rem;--width-content:72rem;--gutter:var(--space-m)}}@layer base{*,:before,:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:none;text-size-adjust:none}@media (prefers-reduced-motion:no-preference){html{interpolate-size:allow-keywords;scroll-behavior:smooth}}body{-webkit-font-smoothing:antialiased;min-height:100vh}img,picture,video,svg{max-width:100%;height:auto;display:block}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4{overflow-wrap:break-word}h1,h2,h3,h4{text-wrap:balance}p{text-wrap:pretty}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:var(--font-size-base);line-height:var(--line-height-body)}h1,h2,h3,h4{font-family:var(--font-heading);line-height:var(--line-height-heading)}h1{font-size:var(--font-size-h1)}h2{font-size:var(--font-size-h2)}h3{font-size:var(--font-size-h3)}h4{font-size:var(--font-size-h4)}a{color:var(--color-link)}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}}@layer layouts{.base-layout{flex-direction:column;display:flex;overflow-x:clip}.base-layout__main{width:min(100% - 2 * var(--gutter), var(--width-content));padding-block:var(--space-xl);flex:1;margin-inline:auto}.base-layout__main:focus{outline:none}.base-layout__skip-link{position:absolute;inset-block-start:var(--space-s);inset-inline-start:var(--space-s);transform:translateY(-200%)}.base-layout__skip-link:focus{transform:none}.case-study-layout{gap:var(--space-xl);display:grid}.case-study-layout__header{gap:var(--space-m);max-width:var(--width-prose);display:grid}.case-study-layout__meta{gap:var(--space-s);grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));display:grid}.case-study-layout__meta dd{margin:0}.case-study-layout__cover{width:100%}}@layer components{.header{justify-content:space-between;align-items:center;gap:var(--space-s);width:min(100% - 2 * var(--gutter), var(--width-content));padding-block:var(--space-m);flex-wrap:wrap;margin-inline:auto;display:flex}.header__list{gap:var(--space-m);padding:0;list-style:none;display:flex}.header__link[aria-current=page]{text-decoration-thickness:2px}.footer{justify-content:space-between;gap:var(--space-s);width:min(100% - 2 * var(--gutter), var(--width-content));padding-block:var(--space-l);border-top:1px solid var(--color-border);flex-wrap:wrap;margin-inline:auto;display:flex}.case-card{gap:var(--space-xs);display:grid;position:relative}.case-card__cover{order:-1;width:100%}.case-card__link:after{content:"";position:absolute;inset:0}.case-card__meta{color:var(--color-text-muted);font-size:var(--font-size-small)}.contact-cta{gap:var(--space-xs);max-width:var(--width-prose);border-top:1px solid var(--color-border);padding-block-start:var(--space-l);display:grid}.case-study-body{grid-template-columns:[full-start] minmax(0, 1fr) [content-start] min(100%, var(--width-prose)) [content-end] minmax(0, 1fr) [full-end];row-gap:var(--space-m);display:grid}.case-study-body>*{grid-column:content}.case-study-body h2{margin-block-start:var(--space-l)}.case-study-body h3{margin-block-start:var(--space-m)}.case-study-body ul,.case-study-body ol{padding-inline-start:var(--space-m)}.case-study-body blockquote{border-inline-start:2px solid var(--color-border);padding-inline-start:var(--space-m)}.figure{gap:var(--space-xs);display:grid}.figure__image{width:100%}.case-study-body>.figure--full-bleed{grid-column:full;justify-self:center;width:100vw}.figure__caption{color:var(--color-text-muted);font-size:var(--font-size-small)}.compare{gap:var(--space-xs);display:grid}.compare__items{gap:var(--space-s);grid-template-columns:1fr 1fr;display:grid}.compare__image{width:100%}.compare__label,.compare__caption{color:var(--color-text-muted);font-size:var(--font-size-small)}.callout{gap:var(--space-xs);padding:var(--space-m);background:var(--color-surface);display:grid}.callout__title{font-weight:600}}@layer utilities;
