:root{--site-display-font-size:clamp(2.75rem,7.4vw,6.75rem);--site-display-line-height:.92;--site-display-tracking:-.015em;--site-h2-font-size:clamp(2rem,4.6vw,4rem);--site-h2-line-height:.98;--site-h2-tracking:-.01em;--site-h3-font-size:clamp(1.5rem,2.6vw,2.25rem);--site-lead-font-size:clamp(1.0625rem,1.5vw,1.3125rem);--site-paper:#f4f3f1;--site-maxw:1440px;--site-gutter:clamp(20px,4vw,64px);--site-rule:1px solid var(--ui-border-subtle);--site-ease:cubic-bezier(.22,1,.36,1)}@layer base{*,:after,:before{box-sizing:border-box}*{margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{font-family:var(--ui-font-family,var(--ui-font-primary),var(--ui-font-fallback));font-weight:var(--ui-type-body-font-weight);background:var(--site-paper);color:var(--ui-text-default);font-size:var(--ui-type-body-lg-font-size);line-height:var(--ui-type-body-lg-line-height);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}img,svg{display:block;max-width:100%}a{color:inherit;text-decoration:none}ul{list-style:none}::selection{background:var(--ui-action);color:var(--ui-text-on-action)}}@layer site{.wrap{max-width:var(--site-maxw);margin-inline:auto;padding-inline:var(--site-gutter)}.section{padding-block:clamp(64px,9vw,128px)}.eyebrow{font-size:var(--ui-type-label-sm-font-size);line-height:var(--ui-type-label-sm-line-height);font-weight:var(--ui-type-label-font-weight);letter-spacing:.14em;text-transform:uppercase}.display{font-size:var(--site-display-font-size);line-height:var(--site-display-line-height);letter-spacing:var(--site-display-tracking)}.display,.h2{font-weight:700}.h2{font-size:var(--site-h2-font-size);line-height:var(--site-h2-line-height);letter-spacing:var(--site-h2-tracking)}.lead{font-size:var(--site-lead-font-size);line-height:1.45;letter-spacing:-.012em;color:var(--ui-text-muted);max-width:34ch}.site-header{position:fixed;inset:0 0 auto 0;z-index:100;transition:background var(--ui-motion-base) var(--site-ease),box-shadow var(--ui-motion-base) var(--site-ease)}.site-header[data-stuck=true]{background:color-mix(in srgb,var(--site-paper) 88%,transparent);-webkit-backdrop-filter:saturate(180%) blur(14px);backdrop-filter:saturate(180%) blur(14px);box-shadow:0 1px 0 var(--ui-border-subtle)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;height:78px}.logo-link{display:inline-flex;align-items:center;color:var(--ui-text-default);transition:opacity var(--ui-motion-fast) var(--site-ease)}.site-footer .logo-link:hover{opacity:.68}.logo-link:focus-visible{outline:2px solid var(--ui-action);outline-offset:4px}.menu-btn{display:none;width:40px;height:40px;position:relative;margin-right:-8px;background:none;border:0;cursor:pointer}.menu-btn span{position:absolute;left:9px;right:9px;height:2px;background:var(--ui-text-default);transition:translate var(--ui-motion-base) var(--site-ease),rotate var(--ui-motion-base) var(--site-ease)}.menu-btn span:first-child{top:15px}.menu-btn span:nth-child(2){bottom:15px}.menu-btn[aria-expanded=true] span:first-child{translate:0 5px;rotate:45deg}.menu-btn[aria-expanded=true] span:nth-child(2){translate:0 -5px;rotate:-45deg}.hero{padding-top:118px}.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.02fr);grid-gap:clamp(28px,4vw,64px);gap:clamp(28px,4vw,64px);align-items:center;padding-bottom:clamp(44px,6vw,76px)}.hero-copy .display{margin-bottom:clamp(20px,2.4vw,30px)}.hero-copy .lead{margin-bottom:clamp(26px,3.2vw,38px)}.hero-visual{position:relative;aspect-ratio:16/11;overflow:hidden}.hero-visual img{width:100%;height:100%;object-fit:cover}.capabilities{border-top:var(--site-rule);border-bottom:var(--site-rule);padding-block:clamp(28px,3.4vw,40px);display:grid;grid-template-columns:150px repeat(4,minmax(0,1fr));grid-gap:clamp(20px,2.4vw,36px);gap:clamp(20px,2.4vw,36px)}.capabilities>.eyebrow{padding-top:4px}.cap{padding-left:clamp(20px,2.4vw,36px);border-left:var(--site-rule)}.capabilities>.eyebrow+.cap{border-left:0;padding-left:0}.cap-icon{height:26px;margin-bottom:18px;color:var(--ui-text-default)}.cap-icon svg{height:100%;width:auto}.cap h3{font-size:var(--ui-type-label-xl-font-size);line-height:var(--ui-type-label-xl-line-height);letter-spacing:-.02em;font-weight:700;margin-bottom:8px}.cap p{font-size:var(--ui-type-body-sm-font-size);line-height:var(--ui-type-body-sm-line-height);color:var(--ui-text-muted)}.section-head{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:clamp(24px,3vw,40px)}.work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:clamp(20px,2.6vw,40px);gap:clamp(20px,2.6vw,40px)}.work-card{display:block}.work-card:focus-visible{outline:2px solid var(--ui-action);outline-offset:6px}.work-media{position:relative;aspect-ratio:4/3;overflow:hidden}.work-media img{width:100%;height:100%;object-fit:cover;transition:scale var(--ui-motion-base) var(--site-ease)}.work-card:hover .work-media img{scale:1.045}.work-meta{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-top:18px;margin-top:18px;border-top:2px solid var(--ui-text-default)}.work-meta h3{font-size:var(--ui-type-label-xl-font-size);line-height:var(--ui-type-label-xl-line-height);font-weight:700;letter-spacing:-.02em}.work-meta p{font-size:var(--ui-type-body-sm-font-size);color:var(--ui-text-muted);margin-top:4px}.work-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.work-arrow{flex:none;margin-top:2px;transition:translate var(--ui-motion-base) var(--site-ease)}.work-card:hover .work-arrow{translate:5px -5px}.approach-grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1fr) minmax(0,1.05fr);grid-gap:clamp(28px,4vw,56px);gap:clamp(28px,4vw,56px);align-items:start}.approach-intro .h2{margin-bottom:22px}.approach-intro .rule{width:56px;height:4px;background:var(--ui-brand);margin-bottom:22px}.approach-intro p{font-size:var(--ui-type-body-lg-font-size);line-height:1.5;color:var(--ui-text-muted);max-width:30ch}.approach-visual{aspect-ratio:1/1;overflow:hidden}.approach-visual img{width:100%;height:100%;object-fit:cover}.step{display:grid;grid-template-columns:54px 1fr;grid-gap:12px;gap:12px;padding-block:20px;border-bottom:var(--site-rule)}.step:first-child{padding-top:0}.step:last-child{border-bottom:0}.step .num{font-size:var(--ui-type-label-md-font-size);font-weight:var(--ui-type-label-font-weight);color:var(--ui-text-faint);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.step h3{font-size:var(--ui-type-label-lg-font-size);line-height:var(--ui-type-label-lg-line-height);font-weight:700;letter-spacing:-.015em;margin-bottom:4px}.step p{font-size:var(--ui-type-body-md-font-size);line-height:var(--ui-type-body-md-line-height);color:var(--ui-text-muted)}.cta{background:var(--ui-action);color:var(--ui-text-on-action)}.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:clamp(24px,4vw,64px);padding-block:clamp(48px,6.4vw,92px);flex-wrap:wrap}.cta .h2{max-width:14ch}.cta-button{--ui-button-primary-bg:var(--ui-text-on-action);--ui-button-primary-text:var(--ui-action);--ui-button-primary-bg-hover:color-mix(in srgb,var(--ui-text-on-action) 88%,#000);--ui-button-primary-bg-active:color-mix(in srgb,var(--ui-text-on-action) 76%,#000);--ui-button-focus-ring:var(--ui-text-on-action)}.site-footer{background:var(--ui-surface-inverse);color:var(--ui-text-on-inverse);padding-block:clamp(48px,6vw,80px) 32px}.footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,minmax(0,.7fr));grid-gap:clamp(28px,4vw,56px);gap:clamp(28px,4vw,56px);padding-bottom:clamp(36px,5vw,64px)}.site-footer .logo-link{color:var(--ui-text-on-inverse);margin-bottom:20px}.footer-brand p{font-size:var(--ui-type-body-md-font-size);color:color-mix(in srgb,var(--ui-text-on-inverse) 60%,transparent);max-width:30ch}.footer-col h4{font-size:var(--ui-type-label-sm-font-size);font-weight:var(--ui-type-label-font-weight);letter-spacing:.14em;text-transform:uppercase;color:color-mix(in srgb,var(--ui-text-on-inverse) 45%,transparent);margin-bottom:16px}.footer-col li+li{margin-top:9px}.footer-col a{font-size:var(--ui-type-body-md-font-size);color:color-mix(in srgb,var(--ui-text-on-inverse) 88%,transparent);transition:color var(--ui-motion-fast) var(--site-ease)}.footer-col a:hover{color:var(--ui-action)}.footer-col a:focus-visible{outline:2px solid var(--ui-action);outline-offset:3px}.footer-bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:26px;border-top:1px solid color-mix(in srgb,var(--ui-text-on-inverse) 14%,transparent);font-size:var(--ui-type-body-sm-font-size);color:color-mix(in srgb,var(--ui-text-on-inverse) 45%,transparent)}.page-head{padding-top:142px;padding-bottom:clamp(40px,5vw,72px)}.page-head-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);grid-gap:clamp(28px,4vw,72px);gap:clamp(28px,4vw,72px);align-items:center}.page-head-eyebrow{color:var(--ui-text-muted);margin-bottom:clamp(16px,2vw,24px)}.page-head-title{font-size:clamp(2.5rem,5.6vw,5rem);margin-bottom:clamp(18px,2.2vw,26px)}.page-head-lead{max-width:48ch}.page-head-visual{aspect-ratio:11/7;overflow:hidden}.page-head-visual img{width:100%;height:100%;object-fit:cover}.services-section{padding-top:0}.services{border-top:var(--site-rule)}.service-row{display:grid;grid-template-columns:136px minmax(0,1fr) minmax(0,1.15fr) 40px;grid-gap:clamp(20px,3vw,48px);gap:clamp(20px,3vw,48px);align-items:center;padding-block:clamp(26px,3.4vw,42px);border-bottom:var(--site-rule);transition:background var(--ui-motion-fast) var(--site-ease)}.service-row:hover{background:color-mix(in srgb,var(--ui-text-default) 3%,transparent)}.service-row:focus-visible{outline:2px solid var(--ui-action);outline-offset:-2px}.service-mark{display:block}.service-mark svg{width:100%;height:auto;max-width:112px}.service-name{display:block;font-size:clamp(2rem,4vw,3.5rem);line-height:.98;letter-spacing:var(--site-h2-tracking);font-weight:700}.service-body{display:block}.service-blurb{display:block;font-size:var(--ui-type-body-md-font-size);line-height:var(--ui-type-body-md-line-height);color:var(--ui-text-muted);max-width:40ch}.service-detail{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:2px 20px;gap:2px 20px;margin-top:14px}.service-detail span{font-size:var(--ui-type-body-sm-font-size);line-height:1.65;color:var(--ui-text-faint)}.service-detail span:before{content:"";display:inline-block;width:5px;height:5px;margin-right:9px;vertical-align:middle;background:var(--site-mark-accent,var(--ui-brand));transform:skewX(-20deg)}.service-arrow{justify-self:end;color:var(--ui-text-default);transition:translate var(--ui-motion-base) var(--site-ease)}.service-row:hover .service-arrow{translate:8px 0;color:var(--ui-action)}.split-cta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.split-cta-media{overflow:hidden;min-height:clamp(220px,26vw,340px)}.split-cta-media img{width:100%;height:100%;object-fit:cover}.split-cta-panel{background:var(--ui-action);color:var(--ui-text-on-action);display:grid;align-content:center;grid-gap:14px;gap:14px;padding:clamp(32px,5vw,72px);position:relative;transition:background var(--ui-motion-fast) var(--site-ease)}.split-cta-panel:hover{background:color-mix(in srgb,var(--ui-action),#000 12%)}.split-cta-panel:focus-visible{outline:2px solid var(--ui-text-on-action);outline-offset:-6px}.split-cta-eyebrow{opacity:.8}.split-cta-title{display:block;max-width:13ch}.split-cta-arrow{justify-self:end;margin-top:6px;transition:translate var(--ui-motion-base) var(--site-ease)}.split-cta-panel:hover .split-cta-arrow{translate:10px 0}.contact{padding-top:142px;padding-bottom:clamp(64px,8vw,112px)}.contact-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);grid-gap:clamp(32px,6vw,96px);gap:clamp(32px,6vw,96px);align-items:start}.contact-intro .page-head-lead{max-width:38ch}.contact-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:clamp(20px,2.4vw,30px);gap:clamp(20px,2.4vw,30px)}.field--full,.form-foot{grid-column:1/-1}.field[data-invalid=true]{--ui-input-text-border:var(--ui-danger);--ui-input-textarea-border:var(--ui-danger);--ui-input-select-border:var(--ui-danger)}.field-error{margin-top:8px;font-size:var(--ui-type-body-sm-font-size);line-height:var(--ui-type-body-sm-line-height);color:var(--ui-danger)}.field-error a{text-decoration:underline}.form-foot{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:4px}.form-loading{min-height:420px;display:grid;place-items:center}.form-done{display:grid;justify-items:start;grid-gap:18px;gap:18px;padding-block:clamp(20px,4vw,48px)}.form-done p{color:var(--ui-text-muted);max-width:40ch}.atomic-mark{display:inline-block;line-height:0;color:var(--ui-text-default)}.atomic-mark svg{height:var(--atomic-size,40px);width:auto;overflow:visible}.atomic-tip{fill:var(--site-mark-accent,#e51a38);animation-duration:var(--atomic-duration,.88s);animation-iteration-count:infinite;animation-timing-function:linear}.atomic-tip--up{animation-name:atomic-tip-up}.atomic-tip--down{animation-name:atomic-tip-down}.atomic-tip[data-phase=b]{animation-delay:calc(var(--atomic-duration, .88s) / 2);animation-fill-mode:backwards}@keyframes atomic-tip-up{0%{opacity:1;transform:translate(var(--atomic-sx,-10.26px),var(--atomic-sy,28.19px))}10%{opacity:1;transform:translate(var(--atomic-sx,-10.26px),var(--atomic-sy,28.19px));animation-timing-function:cubic-bezier(.22,.55,.3,1)}34%{opacity:1;transform:translate(0)}38%{opacity:1;transform:translate(0);animation-timing-function:cubic-bezier(.4,0,.75,.55)}to{opacity:0;transform:translate(var(--atomic-tx,15.05px),var(--atomic-ty,-41.35px))}}@keyframes atomic-tip-down{0%{opacity:1;transform:translate(calc(var(--atomic-sx, -10.26px) * -1),calc(var(--atomic-sy, 28.19px) * -1))}10%{opacity:1;transform:translate(calc(var(--atomic-sx, -10.26px) * -1),calc(var(--atomic-sy, 28.19px) * -1));animation-timing-function:cubic-bezier(.22,.55,.3,1)}34%{opacity:1;transform:translate(0)}38%{opacity:1;transform:translate(0);animation-timing-function:cubic-bezier(.4,0,.75,.55)}to{opacity:0;transform:translate(calc(var(--atomic-tx, 15.05px) * -1),calc(var(--atomic-ty, -41.35px) * -1))}}@media (prefers-reduced-motion:reduce){.atomic-mark .atomic-tip{animation:none!important;opacity:1;transform:none}.atomic-mark .atomic-tip[data-phase=b]{display:none}}.reveal{opacity:0;translate:0 22px;transition:opacity .9s var(--site-ease),translate .9s var(--site-ease)}.reveal[data-in=true]{opacity:1;translate:none}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}html{scroll-behavior:auto}.reveal{opacity:1;translate:none}}@media (max-width:1080px){.capabilities{grid-template-columns:repeat(4,minmax(0,1fr))}.capabilities>.eyebrow{grid-column:1/-1;margin-bottom:4px}.approach-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-row{grid-template-columns:110px minmax(0,1fr) 40px;row-gap:16px}.service-body{grid-column:2/4}.approach-visual{grid-row:2;aspect-ratio:4/3}.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:860px){.hero{padding-top:104px}.hero-grid{grid-template-columns:1fr;gap:34px}.hero-visual{aspect-ratio:16/10}.hero-copy .lead{max-width:none}.capabilities{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:30px}.cap:nth-child(2n){border-left:0;padding-left:0}.work-grid{grid-template-columns:1fr;gap:40px}.page-head{padding-top:116px}.page-head-grid{grid-template-columns:1fr}.contact{padding-top:116px}.contact-grid{grid-template-columns:1fr}.contact-intro .page-head-lead,.page-head-lead{max-width:none}.service-row{grid-template-columns:84px minmax(0,1fr) 32px}.service-detail,.split-cta{grid-template-columns:1fr}.split-cta-media{min-height:200px}.approach-grid{grid-template-columns:1fr}.approach-intro p{max-width:none}.menu-btn{display:block}.site-nav-wrap{position:fixed;inset:78px 0 auto 0;background:var(--site-paper);border-top:var(--site-rule);padding:12px var(--site-gutter) 28px;translate:0 calc(-100% - 78px);visibility:hidden;transition:translate var(--ui-motion-base) var(--site-ease),visibility 0s linear var(--ui-motion-base);box-shadow:0 20px 40px color-mix(in srgb,#000 7%,transparent)}.site-nav-wrap[data-open=true]{translate:none;visibility:visible;transition:translate var(--ui-motion-base) var(--site-ease),visibility 0s}.site-header:has(.site-nav-wrap[data-open=true]){background:var(--site-paper)}.site-nav-wrap nav{flex-direction:column;align-items:flex-start;gap:6px}.site-nav-wrap nav>*{width:100%}}@media (max-width:520px){.capabilities{grid-template-columns:1fr}.cap{border-left:0;padding-left:0;padding-bottom:22px;border-bottom:var(--site-rule)}.cap:last-child{border-bottom:0;padding-bottom:0}.section-head{flex-direction:column;align-items:flex-start;gap:12px}.contact-form,.footer-grid{grid-template-columns:1fr}.cta-inner{flex-direction:column;align-items:flex-start}}}@layer site{.lab{padding-top:142px;padding-bottom:120px}.lab-title{margin-block:12px 10px}.lab-note{color:var(--ui-text-muted);font-size:var(--ui-type-body-sm-font-size);margin-bottom:56px}.lab-note code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.95em}.lab-heading{font-size:var(--ui-type-label-sm-font-size);font-weight:var(--ui-type-label-font-weight);letter-spacing:.14em;text-transform:uppercase;color:var(--ui-text-muted);padding-bottom:10px;margin-bottom:36px;border-bottom:var(--site-rule)}.lab-hero{display:grid;place-items:center;padding-block:90px}.lab-hero,.lab-row{margin-bottom:72px;background:var(--ui-surface-raised)}.lab-row{display:flex;flex-wrap:wrap;gap:clamp(28px,6vw,80px);align-items:flex-end;padding:70px 40px}.lab-row--ink{background:var(--ui-surface-inverse);color:var(--ui-text-on-inverse)}.lab-cell{display:grid;justify-items:center;grid-gap:28px;gap:28px}.lab-cell span{font-size:var(--ui-type-body-sm-font-size);color:var(--ui-text-muted);white-space:nowrap}.lab-row--ink .lab-cell span{color:color-mix(in srgb,var(--ui-text-on-inverse) 60%,transparent)}.logo-tip{--logo-tx:15.05px;--logo-ty:-41.35px;--logo-sx:-10.26px;--logo-sy:28.19px}.logo-tip--up{--dir:1}.logo-tip--down{--dir:-1}.logo-link svg{overflow:visible}.logo-link[data-firing=true] .logo-tip{animation:logo-tip-fire .88s linear infinite}.logo-link[data-firing=true] .logo-tip[data-phase=b]{animation-delay:.44s;animation-fill-mode:backwards}}@layer site{@keyframes logo-tip-fire{0%{opacity:1;transform:translate(0);animation-timing-function:cubic-bezier(.4,0,.75,.55)}40%{opacity:0;transform:translate(calc(var(--logo-tx) * var(--dir)),calc(var(--logo-ty) * var(--dir)))}41%{opacity:1;transform:translate(calc(var(--logo-sx) * var(--dir)),calc(var(--logo-sy) * var(--dir)));animation-timing-function:cubic-bezier(.22,.55,.3,1)}to{opacity:1;transform:translate(0)}}@media (prefers-reduced-motion:reduce){.logo-link[data-firing=true] .logo-tip{animation:none!important;opacity:1;transform:none}}}@layer site{.mark{display:inline-block;width:var(--mark-size,.15em);height:var(--mark-size,.15em);background:var(--site-mark-accent,var(--ui-brand));transform:skewX(-20deg);vertical-align:baseline}.mark--period{margin-left:.09em}.cta .mark,.split-cta-panel .mark{background:var(--ui-text-on-action)}}