@font-face{font-family:Geist;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/geist-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/geist-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist;font-style:normal;font-weight:600;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: #faf6ef;--bg-subtle: #eae6db;--ink-strong: #20211f;--ink-medium: #3c3d38;--ink-soft: #5d5a51;--hairline: rgba(27, 28, 26, .22);--hairline-strong: rgba(27, 28, 26, .34);--ember: #c76d4c;--ember-soft: rgba(217, 119, 87, .16);--ember-text: #9f4a31;--ember-link: var(--ember-text);--surface-dark: #181a17;--surface-dark-2: #21241f;--ink-on-dark: #ecebe4;--ink-on-dark-muted: #b5b3a8;--ember-on-dark: #d97757;--paper: var(--bg, #f4f1ea);--ink: var(--ink-strong, #1f1f1d);--muted: var(--ink-soft, #6d6a63);--line: color-mix(in srgb, var(--hairline-strong, #d8d2c6) 76%, transparent);--rust: var(--ember-link, #9e4e3e);--rust-soft: var(--ember-soft, #ead8d1);--font-sans: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--font-display: var(--font-sans);--font-serif: "Newsreader", "Iowan Old Style", Georgia, serif;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--motion-fast: .15s;--motion-card: .18s;--motion-reveal: .45s;--motion-stagger: 70ms;--motion-page: .22s;--motion-hairline: .8s;--motion-distance: 12px;--container-narrow: 680px;--container-wide: 1200px;--container-hero: 720px}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:86px}html,body,#root{margin:0;padding:0;background:var(--bg);color:var(--ink-strong);font-family:var(--font-sans);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{min-height:100vh;display:flex;flex-direction:column}#root{display:flex;flex-direction:column;flex:1}#root>nav{flex-shrink:0}#root>main{flex:1}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:transparent;border:0;padding:0;cursor:pointer}::selection{background:var(--ember);color:var(--bg)}:focus-visible{outline:2px solid var(--ink-strong);outline-offset:2px;border-radius:1px}a:focus-visible,button:focus-visible{outline:2px solid var(--ember-text);outline-offset:4px}.skip-link{position:fixed;top:8px;left:8px;z-index:9999;display:inline-flex;min-height:44px;align-items:center;padding:.5rem 1rem;background:var(--ink-strong);color:var(--bg);font-family:var(--font-mono);font-size:.85rem;letter-spacing:.06em;text-decoration:none;border-radius:2px;transform:translateY(calc(-100% - 16px));transition:transform .15s ease}.skip-link:focus{transform:translateY(0)}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.nav{position:sticky;top:0;z-index:10;background:#f8f5efd1;-webkit-backdrop-filter:blur(12px) saturate(150%);backdrop-filter:blur(12px) saturate(150%);height:56px;border-bottom:1px solid var(--hairline)}.nav-brand{display:inline-flex;align-items:center;min-height:44px;line-height:1;font-family:var(--font-sans);font-size:16px;font-weight:600;color:var(--ink-strong);letter-spacing:-.01em;transition:opacity var(--motion-fast) var(--ease-out)}.nav-brand:hover,.nav-brand:focus-visible{opacity:.7}.nav-links{display:flex;align-items:center;gap:24px;font-family:var(--font-sans);font-size:13px;font-weight:400}.nav-links a{color:var(--ink-soft);transition:color var(--motion-fast) var(--ease-out)}.nav-links a:hover,.nav-links a:focus-visible,.nav-links a[aria-current=page]{color:var(--ink-medium)}@media(max-width:767px){.nav-brand{max-width:9rem}.nav-links{gap:18px}}.hero{position:relative;padding:120px 0 96px;overflow:hidden;min-height:70vh}@media(max-width:767px){.hero{padding:80px 0 64px;min-height:60vh}}.page{max-width:var(--container-narrow);margin:0 auto;padding:96px 32px 64px}@media(max-width:767px){.page{padding:64px 20px 48px}}.footer{background:var(--bg-subtle);border-top:1px solid var(--hairline);padding:48px 0;margin-top:auto}.footer-brand{display:inline-flex;align-items:center;line-height:1;margin:0;max-width:10rem}@media(max-width:767px){.footer{padding:40px 0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.site-reveal{opacity:0;transform:translateY(var(--motion-distance));transition:opacity var(--motion-reveal) var(--ease-out),transform var(--motion-reveal) var(--ease-out);transition-delay:var(--motion-delay, 0ms)}.site-reveal.is-visible{opacity:1;transform:none}.site-reveal:focus,.site-reveal:focus-within{opacity:1;transform:none;transition:none}@media(prefers-reduced-motion:reduce){.site-reveal{opacity:1!important;transform:none!important;transition:none!important}}html[data-save-data=true] .site-reveal{opacity:1!important;transform:none!important;transition:none!important}html[data-motion-mode=reduced]{scroll-behavior:auto}html[data-motion-mode=reduced] *,html[data-motion-mode=reduced] *:before,html[data-motion-mode=reduced] *:after{animation:none!important;transition:none!important}html[data-motion-mode=reduced]::view-transition-old(root),html[data-motion-mode=reduced]::view-transition-new(root){animation:none!important}html[data-motion-mode=reduced] [data-magnetic-enhanced=true]{transform:none!important}@supports not (selector(::view-transition-old(root))){.page-transition-root{animation:page-fade-in var(--motion-page) var(--ease-out)}}@keyframes page-fade-in{0%{opacity:0}to{opacity:1}}.route-loading-placeholder{min-height:100vh}@media(prefers-reduced-motion:reduce){.page-transition-root{animation:none!important}}::view-transition-old(root),::view-transition-new(root){animation-duration:var(--motion-page);animation-timing-function:var(--ease-out)}::view-transition-old(root){animation-name:vt-fade-out}::view-transition-new(root){animation-name:vt-fade-in}@keyframes vt-fade-out{to{opacity:0}}@keyframes vt-fade-in{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation-duration:.01ms!important;animation-name:none!important}}.not-found-page{min-height:60dvh}.not-found-routes{display:grid;margin-top:40px;border-top:1px solid var(--hairline)}.not-found-routes a{display:grid;gap:4px;align-content:center;min-height:44px;border-bottom:1px solid var(--hairline);padding:18px 0;text-decoration:none;transition:color var(--motion-fast) var(--ease-out)}.not-found-routes strong{color:var(--ink-strong);font-family:var(--font-sans);font-size:clamp(19px,2vw,23px);font-weight:700;letter-spacing:-.025em;line-height:1.15}.not-found-routes span{color:var(--ink-soft);font-family:var(--font-sans);font-size:14px;line-height:1.45}.not-found-routes a:hover strong,.not-found-routes a:focus-visible strong{color:var(--ember-text)}.not-found-routes a:focus-visible{outline:3px solid var(--ink-strong);outline-offset:3px}@media(prefers-reduced-motion:reduce){.not-found-routes a{transition:none}}:root{--page-pad: 20px;--measure-prose: 37rem;--measure-compact: 31rem;--type-prose: 1.0625rem;--type-ui-copy: 1rem;--type-meta: .75rem;--leading-prose: 1.72;--leading-ui: 1.62;--tracking-meta: .08em}html,body,#root{font-size:17px;line-height:var(--leading-ui);text-rendering:optimizeLegibility}p,li{text-wrap:pretty}.page{padding-left:var(--page-pad);padding-right:var(--page-pad)}.nav-links{gap:14px;font-size:.8125rem}.hero{min-height:62vh;padding:84px 0 72px}.page{max-width:var(--measure-prose);padding-top:72px;padding-bottom:56px}.footer{padding:44px 0}@media(min-width:768px){:root{--page-pad: 32px;--measure-prose: 40rem;--measure-compact: 34rem;--type-prose: 1.09375rem}.nav-links{gap:24px;font-size:.875rem}.hero{min-height:68vh;padding:112px 0 92px}.page{max-width:var(--measure-prose)}}@media(min-width:1024px){:root{--measure-prose: 41rem;--type-prose: 1.125rem}}:root{--font-display: var(--font-sans);--page-pad: 20px;--measure-prose: 36rem;--measure-compact: 30rem;--type-prose: 1rem;--type-ui-copy: .96875rem;--type-meta: .71875rem;--leading-prose: 1.68;--leading-ui: 1.58;--tracking-meta: .065em}html,body,#root{font-size:16px;line-height:var(--leading-ui)}em{font-family:inherit;font-style:italic}@media(min-width:768px){:root{--page-pad: 32px;--measure-prose: 38rem;--measure-compact: 33rem;--type-prose: 1.03125rem}}@media(min-width:1024px){:root{--measure-prose: 39.5rem;--measure-compact: 34rem;--type-prose: 1.0625rem}}.nav-menu-toggle{display:none}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.hero-action{min-height:46px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:0 18px;font-size:.92rem;font-weight:500;letter-spacing:-.01em;transition:transform var(--motion-fast) var(--ease-out),background var(--motion-fast) var(--ease-out),color var(--motion-fast) var(--ease-out)}.hero-action:hover,.hero-action:focus-visible{transform:translateY(-1px)}@media(max-width:767px){.nav{height:56px}.nav-brand{font-size:15px}.nav-menu-toggle{min-width:72px;min-height:42px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--hairline-strong);border-radius:999px;color:var(--ink-strong);background:color-mix(in srgb,var(--bg),transparent 8%);position:relative;z-index:31}.nav-links{position:fixed;z-index:30;top:68px;right:12px;left:12px;display:grid;gap:4px;padding:16px;border:1px solid var(--hairline-strong);border-radius:26px;background:color-mix(in srgb,var(--bg),#ffffff 32%);box-shadow:0 24px 70px color-mix(in srgb,var(--ink-strong),transparent 82%);transform:translateY(-8px) scale(.98);opacity:0;pointer-events:none;transition:opacity var(--motion-card) var(--ease-out),transform var(--motion-card) var(--ease-out)}.nav-links.is-open{opacity:1;pointer-events:auto;transform:translateY(0) scale(1)}.nav-links a{min-height:52px;display:flex;align-items:center;border-radius:16px;padding:0 14px;color:var(--ink-strong);font-size:1.05rem;font-weight:500;background:color-mix(in srgb,var(--bg),transparent 45%)}.nav-links a:active{background:var(--bg-subtle)}.hero{min-height:auto;padding:72px 0 56px}.hero-actions{display:grid;grid-template-columns:1fr;margin-top:28px}.hero-action{width:100%;min-height:50px}}@media(min-width:768px){.nav-links{position:static}}.hero{overflow:hidden}:root{--ink-muted: var(--ink-medium);--editorial-max: 1120px;--editorial-measure: 650px;--editorial-pad: 20px}.editorial-hero{max-width:none;padding-block:58px 44px;border-bottom:0}.editorial-title{max-width:20ch;margin:0;font-family:var(--font-sans);font-size:2.25rem;font-weight:600;line-height:1.06;letter-spacing:0;color:var(--ink-strong)}.editorial-lead{max-width:var(--editorial-measure);margin:22px 0 0;font-size:1rem;line-height:1.62;color:var(--ink-medium)}.editorial-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.process-list{display:grid;gap:0;margin:0;padding:0}@media(min-width:768px){:root{--editorial-pad: 32px}.editorial-hero{padding-block:70px 52px}.editorial-title{max-width:16ch;font-size:3.1rem;line-height:1.06}.editorial-lead{font-size:1.08rem}}@media(min-width:1080px){.editorial-title{font-size:3.35rem}}.ticker{border-block:1px solid var(--hairline);overflow:hidden;background:var(--bg);font-family:var(--font-mono);font-size:.7rem;letter-spacing:.04em;color:var(--ink-soft);text-transform:uppercase}.editorial-actions{gap:14px}@media(min-width:768px){.editorial-title{font-size:3.35rem}}.si-root{--si-paper: #faf6ef;--si-card: #fcfaf6;--si-ink: #15151a;--si-body: #20211f;--si-muted: #6b6a64;--si-ink-deep: #0e0e12;--si-hairline: rgba(21, 21, 26, .1);--si-strong: rgba(21, 21, 26, .18);--si-hairfaint: rgba(21, 21, 26, .06);--si-clay: #c76d4c;--si-clay-hover: #b85f40;--si-clay-press: #a4502f;--si-clay-ink: #a8552f;--si-on-accent: #15151a;--si-tech: #95551f;--si-tech-deep: #7a4419;--si-tech-tint: rgba(149, 85, 31, .13);--si-tech-ring: rgba(149, 85, 31, .22);--si-tech-soft: rgba(149, 85, 31, .08);--si-iind-ink: #0c6b3b;--si-iind-fill: #146b41;--si-iind-plate: #eef3f6;--si-font-sans: "Geist", system-ui, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--si-font-mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--si-d1: clamp(38px, 7vw, 102px);--si-d2: clamp(31px, 6.2vw, 90px);--si-d3: clamp(22px, 2.9vw, 34px);--si-stepnum: clamp(46px, 7vw, 108px);--si-lead: 19px;--si-fs-body: 17px;--si-small: 15px;--si-maxw: 1200px;--si-gutter: clamp(20px, 5vw, 56px);--si-sec-y: clamp(68px, 9vw, 136px);--si-r-pill: 999px;--si-r-card: 16px;--si-r-nav: 18px;--si-shadow-card: 0 1px 2px rgba(21, 21, 26, .04), 0 8px 24px rgba(21, 21, 26, .06);--si-shadow-nav: 0 1px 2px rgba(21, 21, 26, .05), 0 12px 32px rgba(21, 21, 26, .1);--si-shadow-pop: 0 12px 40px rgba(21, 21, 26, .14);--si-ease: cubic-bezier(.22, 1, .36, 1);--si-dur: .22s;position:relative;background:var(--si-paper);color:var(--si-body);font-family:var(--si-font-sans);min-height:100vh;overflow-x:clip;-webkit-font-smoothing:antialiased}.si-root h1,.si-root h2,.si-root h3{overflow-wrap:break-word}.si-root img,.si-root svg{max-width:100%}.si-root a{transition:color var(--si-dur) var(--si-ease),border-color var(--si-dur) var(--si-ease)}.si-max15{max-width:15ch}.si-container{max-width:var(--si-maxw);margin:0 auto;padding:0 var(--si-gutter)}.si-eyebrow-row{display:flex;align-items:center;gap:18px}.si-eyebrow{display:inline-flex;align-items:center;gap:11px;font-family:var(--si-font-mono);font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#54514a;white-space:nowrap}.si-eyebrow:before{content:"";width:22px;height:2px;background:var(--si-clay);display:inline-block;flex:0 0 auto}.si-h2{font-family:var(--si-font-sans);font-weight:800;font-size:var(--si-d2);line-height:1.03;letter-spacing:-.026em;color:var(--si-ink);margin:0}.si-doc-title{font-size:clamp(31px,3.6vw,50px);letter-spacing:-.03em;line-height:1.04}.si-alink{display:inline-flex;min-height:44px;align-items:center;gap:7px;font-family:var(--si-font-sans);font-weight:600;font-size:var(--si-fs-body);color:var(--si-ink);text-decoration:none;border-bottom:2px solid var(--si-tech);padding-bottom:2px}.si-alink--ink:hover{color:var(--si-tech)}.si-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--si-font-sans);font-weight:500;line-height:1;border-radius:var(--si-r-pill);border:1px solid transparent;cursor:pointer;text-decoration:none;white-space:nowrap;background:var(--si-clay);color:var(--si-on-accent);transition:background var(--si-dur) var(--si-ease),transform var(--si-dur) var(--si-ease),box-shadow var(--si-dur) var(--si-ease)}.si-btn:hover{background:var(--si-clay-hover)}.si-btn:active{background:var(--si-clay-press)}.si-btn-arrow{display:inline-block;font-size:1.05em;margin-top:-1px;transition:transform var(--si-dur) var(--si-ease)}.si-navwrap{--si-maxw: 1200px;--si-gutter: clamp(20px, 5vw, 56px);--si-font-sans: var(--font-sans);--si-ink: var(--ink-strong);--si-muted: var(--ink-soft);--si-hairline: var(--hairline);--si-clay: var(--ember);--si-clay-hover: var(--ember-text);--si-clay-press: #8d402b;--si-clay-ink: var(--ember-text);--si-nav-cta-bg: #a83b16;--si-nav-cta-hover: #8f3012;--si-nav-cta-press: #74260e;--si-nav-cta-ink: #fffaf5;--si-on-accent: #15151a;--si-r-pill: 999px;--si-shadow-card: none;--si-dur: var(--motion-fast);--si-ease: var(--ease-out);position:sticky;top:0;z-index:100;width:100%;background:color-mix(in srgb,var(--bg) 96%,transparent);border-bottom:1px solid var(--hairline)}.si-navwrap-inner{width:min(100%,var(--si-maxw));margin-inline:auto;padding-inline:var(--si-gutter)}.si-nav{position:relative;min-height:64px;display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:clamp(1rem,2.4vw,2.5rem);border:0;border-radius:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.si-nav-brand{min-height:44px;display:inline-flex;align-items:center;font-family:var(--si-font-sans);font-size:19px;font-weight:600;letter-spacing:-.01em;color:var(--si-ink);text-decoration:none;flex:0 0 auto}.si-slash{color:var(--si-clay-ink)}.si-nav-cta{padding:9px 14px;font-size:13px;min-height:44px;background:var(--si-nav-cta-bg);color:var(--si-nav-cta-ink)}.si-nav-cta:hover{background:var(--si-nav-cta-hover)}.si-nav-cta:active{background:var(--si-nav-cta-press)}.si-nav-cta .si-btn-arrow{display:none}.si-nav-menu-toggle{display:inline-flex;min-width:44px;min-height:44px;flex:0 0 auto;align-items:center;justify-content:center;border:1px solid var(--si-hairline);border-radius:var(--si-r-pill);background:#ffffffa3;color:var(--si-ink);font-family:var(--si-font-sans);font-size:12px;font-weight:650;cursor:pointer}.si-nav-menu-toggle:focus-visible,.si-nav-links a:focus-visible{outline:2px solid var(--si-clay-ink);outline-offset:3px}.si-nav-links{display:none;flex-direction:column;gap:2px;border-top:1px solid var(--si-hairline);padding:6px 0 10px}.si-nav-links.is-open{display:flex}@media(max-width:759px)and (prefers-reduced-motion:no-preference){.si-nav-links.is-open a{animation:si-nav-link-in var(--motion-fast) var(--ease-out) both}.si-nav-links.is-open a:nth-child(2){animation-delay:45ms}}@keyframes si-nav-link-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.si-nav-links a{min-height:44px;display:flex;align-items:center;border-radius:14px;padding:10px 12px;font-family:var(--si-font-sans);font-size:14px;font-weight:500;color:var(--si-muted);text-decoration:none}.si-nav-links a:hover,.si-nav-links a:focus-visible{color:var(--si-ink)}@media(max-width:420px){.si-nav{gap:6px}.si-nav-cta{padding-right:10px;padding-left:10px;font-size:12px}}@media(max-width:359px){.si-nav-cta{display:none}}@media(max-width:759px){.si-nav{grid-template-columns:auto 1fr auto}.si-nav-brand{grid-column:1;grid-row:1}.si-nav-menu-toggle{grid-column:3;grid-row:1;justify-self:end}.si-nav-links{grid-column:1 / -1;grid-row:2}.si-nav-cta{display:none}}@media(min-width:760px){.si-nav-links{grid-column:auto;grid-row:auto;display:flex;flex-direction:row;align-items:center;gap:clamp(16px,2vw,28px);border:0;border-radius:0;background:transparent;box-shadow:none;padding:0}.si-nav-links a{min-height:44px;display:inline-flex;padding:0}.si-nav-menu-toggle{display:none}}@media(min-width:640px){.si-nav-cta{padding:9px 18px;font-size:14px;min-height:44px}.si-nav-cta .si-btn-arrow{display:inline-block}}.si-hero{position:relative;padding:clamp(58px,7vw,104px) 0 clamp(64px,8vw,120px);overflow:hidden}@media(max-height:760px){.si-hero{padding-top:clamp(36px,5vw,64px);padding-bottom:clamp(40px,5vw,64px)}}#como{position:relative;overflow:hidden}#como>.si-container{position:relative;z-index:1}.si-prose-page{display:flex;flex-direction:column;align-items:flex-start;gap:clamp(22px,3vw,34px);padding-top:clamp(48px,7vw,96px);padding-bottom:var(--si-sec-y);min-height:calc(100vh - 260px)}.si-prose{display:flex;flex-direction:column;gap:1.1em;max-width:62ch}.si-prose p{margin:0;font-size:var(--si-fs-body);line-height:1.65;color:var(--si-body)}.si-prose a{color:var(--si-tech);text-decoration:underline;text-underline-offset:3px}.site-footer-band{--si-maxw: 1200px;--si-gutter: clamp(20px, 5vw, 56px);--si-font-sans: var(--font-sans);--si-font-mono: var(--font-mono);--si-fs-body: 17px;--si-small: 15px;--si-clay-ink: var(--ember-on-dark);background:var(--surface-dark);color:var(--ink-on-dark);border-top:1px solid color-mix(in srgb,var(--ink-on-dark) 18%,transparent)}.site-footer-band a:focus-visible,.site-footer-band button:focus-visible{outline-color:var(--ember-on-dark)}.si-footer{padding-block:clamp(2rem,5vw,4rem)}.si-footer-top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2rem;align-items:flex-start;margin-bottom:32px}.si-footer-brand{display:flex;flex-direction:column;gap:8px}.si-footer-mark{font-family:var(--si-font-sans);font-size:20px;font-weight:600;letter-spacing:-.01em;color:var(--ink-on-dark)}.si-footer-tagline{font-size:var(--si-fs-body);color:var(--ink-on-dark-muted)}.si-footer-right{display:flex;flex-direction:column;gap:8px;align-items:flex-end}.si-footer-mail{min-height:44px;display:inline-flex;align-items:center;font-family:var(--si-font-mono);font-size:var(--si-small);color:var(--ember-on-dark);text-decoration:none}.si-footer-nav{display:flex;flex-wrap:wrap;gap:10px 22px;margin-bottom:28px}.si-footer-nav a{min-height:44px;display:inline-flex;align-items:center;font-size:var(--si-small);color:var(--ink-on-dark-muted);text-decoration:none}.si-footer-nav a:hover{color:var(--ink-on-dark)}.si-footer-fine{display:flex;flex-wrap:wrap;gap:14px;align-items:center;font-family:var(--si-font-mono);font-size:12px;color:var(--ink-on-dark-muted)}@media(max-width:559px){.si-footer-top{grid-template-columns:minmax(0,1fr)}.si-footer-right{align-items:flex-start}}@media(prefers-reduced-motion:no-preference){.si-btn:hover .si-btn-arrow{transform:translate(3px)}.si-btn:hover{transform:translateY(-2px);box-shadow:var(--si-shadow-pop)}.si-btn:active{transform:translateY(0)}.si-nav-cta:hover{transform:translateY(-1px);box-shadow:var(--si-shadow-card)}}.ribbon-root{--ribbon-paper: #faf6ef;--ribbon-ink: #161516;--ribbon-muted: #5e5a56;--ribbon-orange: #c44715;--ribbon-line: rgba(39, 30, 22, .12);--ribbon-glass: rgba(255, 255, 255, .42);--ribbon-shadow: 0 20px 54px rgba(65, 39, 18, .12);background:var(--ribbon-paper);color:var(--ribbon-ink)}.ribbon-root .si-btn{border:1px solid rgba(153,52,12,.5);background:var(--ribbon-orange);color:#fffaf5;box-shadow:0 6px 13px #8b2d093d,inset 0 1px #ffffff5c}.ribbon-root .si-btn:hover{background:#ae3810}.ribbon-hero-band{position:relative;overflow:clip;background:var(--ribbon-paper)}.ribbon-hero{padding:clamp(70px,8vw,118px) 0 clamp(58px,8vw,116px)}.ribbon-hero-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(36px,6vw,96px);align-items:center}.ribbon-hero-copy{display:flex;flex-direction:column;align-items:flex-start;gap:clamp(20px,2.6vw,32px)}.ribbon-eyebrow{margin:0;font-family:var(--si-font-mono);font-size:12px;font-weight:650;letter-spacing:.14em;line-height:1.3;text-transform:uppercase}.ribbon-eyebrow{display:inline-flex;align-items:center;gap:12px;color:#49433e}.ribbon-eyebrow:before{width:20px;height:2px;background:var(--ribbon-orange);content:""}.ribbon-display{max-width:10.8ch;margin:0;color:var(--ribbon-ink);font-family:var(--si-font-sans);font-size:clamp(54px,7.3vw,112px);font-weight:760;letter-spacing:-.062em;line-height:.92}.ribbon-display-accent{display:block;margin-top:.07em;color:#bc4119;font-family:var(--si-font-sans);font-size:1.03em;font-weight:400;letter-spacing:-.045em;line-height:.95}.ribbon-lead{max-width:35ch;margin:0;color:var(--ribbon-muted);font-size:clamp(17px,1.7vw,21px);line-height:1.55}.ribbon-hero-actions{display:flex;flex-wrap:wrap;gap:18px 26px;align-items:center}.ribbon-button{display:inline-flex;min-height:54px;align-items:center;justify-content:center;gap:12px;box-sizing:border-box;border:1px solid rgba(153,52,12,.5);border-radius:999px;background:var(--ribbon-orange);box-shadow:0 10px 22px #8b2d093b,inset 0 1px #ffffff57;color:#fffaf5;font-family:var(--si-font-sans);font-size:16px;font-weight:650;line-height:1;padding:17px 24px;text-decoration:none}.ribbon-button span{font-size:1.2em;line-height:0}.ribbon-hero-visual{position:relative;width:min(78vw,420px);aspect-ratio:1122 / 1402;justify-self:center;margin:0 auto;transform-origin:100% 50%}.ribbon-hero-signature img{display:block;width:100%;height:100%;object-fit:contain}.ribbon-project-journey{overflow:clip;border-top:1px solid rgba(39,30,22,.08);padding:clamp(42px,4vw,58px) 0 clamp(54px,6vw,82px)}.ribbon-project-journey-copy{position:relative;z-index:2;max-width:690px}.ribbon-project-journey-copy h2{max-width:16ch;margin:0;color:var(--ribbon-ink);font-family:var(--si-font-sans);font-size:clamp(48px,5.8vw,82px);font-weight:760;letter-spacing:-.065em;line-height:.91}.ribbon-project-journey-copy p{max-width:47ch;margin:clamp(20px,2.5vw,30px) 0 0;color:#3f3b37;font-size:clamp(17px,1.55vw,21px);line-height:1.45}.ribbon-project-journey-steps{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.08fr) minmax(0,1.48fr);gap:clamp(12px,2vw,30px);margin:clamp(28px,3.2vw,42px) 0 0;padding:0;list-style:none}.ribbon-project-journey-steps li{display:flex;align-items:center;gap:7px}.ribbon-project-journey-steps span,.ribbon-project-journey-steps strong{border:1px solid rgba(39,30,22,.42);border-radius:6px;background:#fffdf9c2;font-family:var(--si-font-mono);font-size:clamp(12px,.85vw,13px);letter-spacing:.035em;line-height:1.2;text-transform:uppercase}.ribbon-project-journey-steps span{flex:0 0 auto;border-color:var(--ribbon-orange);color:var(--ribbon-orange);padding:7px 8px}.ribbon-project-journey-steps strong{max-width:28ch;color:var(--ribbon-ink);font-weight:620;padding:7px 10px}.ribbon-project-types{position:relative;z-index:2;margin-top:-80px;border-top:1px solid var(--ribbon-line);border-bottom:1px solid var(--ribbon-line);background:var(--ribbon-paper);padding:clamp(22px,2.8vw,34px) 0}.ribbon-project-types h2{margin:0 0 18px;color:#403b36;font-family:var(--si-font-mono);font-size:12px;font-weight:650;letter-spacing:.2em;line-height:1.2;text-transform:uppercase}.ribbon-project-types-grid{display:grid;grid-template-columns:minmax(0,1fr)}.ribbon-project-type{--project-type-accent: var(--ribbon-orange);display:grid;grid-template-columns:minmax(0,1fr);gap:14px;align-items:start;border-top:1px solid var(--ribbon-line);padding:18px 0}.ribbon-project-type h3{margin:0;color:var(--ribbon-ink);font-family:var(--si-font-sans);font-size:clamp(20px,2vw,27px);font-weight:720;letter-spacing:-.045em;line-height:1}.ribbon-project-type p{margin:7px 0 0;color:var(--ribbon-muted);font-size:14px;line-height:1.4}.ribbon-process{position:relative;display:grid;grid-template-columns:1fr;gap:18px;margin-top:clamp(30px,5vw,54px)}.ribbon-process-card,.ribbon-method-card{border:1px solid rgba(255,255,255,.75);background:var(--ribbon-glass);box-shadow:0 18px 40px #482e1414,inset 0 1px #ffffffe6;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.ribbon-process-card{display:grid;grid-template-columns:92px minmax(0,1fr);grid-template-rows:auto auto;column-gap:18px;border-radius:26px;padding:22px}.ribbon-process-card img{width:92px;height:92px;object-fit:contain;grid-row:2 / span 2}.ribbon-process-card h3,.ribbon-service-card h3,.ribbon-method-card h3{margin:0;color:var(--ribbon-ink);font-family:var(--si-font-sans);font-size:20px;font-weight:720;letter-spacing:-.035em;line-height:1.04}.ribbon-process-card p,.ribbon-service-card p,.ribbon-method-card p{margin:8px 0 0;color:var(--ribbon-muted);font-size:15px;line-height:1.48}.ribbon-service-card{--ribbon-card-accent: var(--ribbon-orange);position:relative;display:flex;min-height:238px;flex-direction:column;justify-content:space-between;overflow:hidden;border:1px solid rgba(255,255,255,.88);border-radius:28px;background:radial-gradient(circle at 88% 12%,color-mix(in srgb,var(--ribbon-card-accent) 14%,transparent) 0%,transparent 42%),linear-gradient(145deg,#ffffffad,#ffffff47);box-shadow:0 20px 48px #482e1417,inset 0 2px color-mix(in srgb,var(--ribbon-card-accent) 48%,transparent),inset 0 1px #fffffff5;-webkit-backdrop-filter:blur(20px) saturate(1.08);backdrop-filter:blur(20px) saturate(1.08);padding:24px}.ribbon-service-card h3{max-width:12ch;-webkit-hyphens:none;hyphens:none;overflow-wrap:normal;word-break:normal;font-size:clamp(25px,3vw,35px)}.ribbon-service-card p{max-width:23ch;color:var(--ribbon-ink);font-size:16px}.ribbon-service-card img{position:absolute;right:12px;bottom:10px;width:min(46%,180px);max-height:72%;object-fit:contain;filter:saturate(.72) contrast(.94);opacity:.74}.ribbon-service-card>div{position:relative;z-index:1}.ribbon-case-section{border-top:1px solid var(--ribbon-line);padding:clamp(70px,9vw,132px) 0}.ribbon-case-frame{--inter-pine: #0c2622;--inter-mint: #7fc6a9;--inter-paper: #f7f6f2;position:relative;display:grid;overflow:hidden;border:1px solid rgba(127,198,169,.3);border-radius:34px;background:var(--inter-pine);box-shadow:0 28px 70px #0c262233;color:#eaf3ec;text-decoration:none}.ribbon-case-brandbar{grid-column:1 / -1;display:flex;min-height:86px;flex-wrap:wrap;gap:14px 24px;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(127,198,169,.2);padding:16px clamp(20px,4vw,40px)}.ribbon-case-wordmark{display:inline-flex;gap:12px;align-items:center}.ribbon-case-wordmark>img{width:46px;height:46px;flex:none}.ribbon-case-wordmark>span{display:flex;flex-direction:column;gap:2px}.ribbon-case-wordmark strong{color:#f7f6f2;font-size:18px;font-weight:720;letter-spacing:-.03em}.ribbon-case-wordmark small,.ribbon-case-sector{color:#eaf3ec9e;font-family:var(--si-font-mono);font-size:12px;font-weight:600;letter-spacing:.1em;line-height:1.2;text-transform:uppercase}.ribbon-case-sector{border:1px solid rgba(127,198,169,.28);border-radius:999px;padding:9px 12px}.ribbon-case-copy{padding:clamp(28px,6vw,72px) clamp(24px,5vw,64px)}.ribbon-case-title{max-width:13ch;margin:18px 0 0;color:#f7f6f2;font-family:var(--si-font-sans);font-size:clamp(36px,4.4vw,60px);font-weight:740;letter-spacing:-.058em;line-height:.98;-webkit-hyphens:none;hyphens:none;overflow-wrap:normal;word-break:normal}.ribbon-case-body{max-width:48ch;margin:24px 0 0;color:#eaf3ecc2;font-size:clamp(16px,1.6vw,19px);line-height:1.58}.ribbon-case-link{display:inline-flex;min-height:48px;align-items:center;gap:12px;margin-top:36px;border-bottom:1px solid rgba(127,198,169,.72);color:#f7f6f2;font-size:16px;font-weight:680;text-decoration:none}.ribbon-case-link span{color:var(--inter-mint);font-size:20px}.ribbon-case-preview{position:relative;display:flex;min-width:0;min-height:390px;align-items:center;overflow:hidden;border-top:1px solid rgba(127,198,169,.22);background:radial-gradient(circle at 82% 14%,rgba(127,198,169,.2),transparent 38%),var(--inter-paper);padding:clamp(18px,4vw,38px)}.ribbon-case-preview:before{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(12,38,34,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(12,38,34,.045) 1px,transparent 1px);background-size:28px 28px;content:"";pointer-events:none}.ribbon-case-preview>img{position:relative;z-index:1;display:block;width:100%;border:1px solid rgba(12,38,34,.16);border-radius:18px;box-shadow:0 24px 48px #0c262233}.ribbon-case-preview-label{position:absolute;top:14px;right:14px;z-index:2;border:1px solid rgba(12,38,34,.12);border-radius:999px;background:#f7f6f2e6;color:var(--inter-pine);font-family:var(--si-font-mono);font-size:12px;font-weight:650;letter-spacing:.08em;padding:8px 10px;text-transform:uppercase}.ribbon-case-frame:focus-visible{outline:3px solid var(--inter-mint);outline-offset:5px}@media(hover:hover)and (prefers-reduced-motion:no-preference){.ribbon-case-frame{transition:transform .24s var(--ease-out),box-shadow .24s var(--ease-out),border-color .24s var(--ease-out)}.ribbon-case-frame:hover{border-color:#7fc6a985;box-shadow:0 34px 82px #0c262242;transform:translateY(-4px)}.ribbon-case-frame:hover .ribbon-case-link{border-color:var(--inter-mint)}}.ribbon-method-card{min-height:205px;border-radius:26px;padding:24px}.ribbon-method-card h3{margin-top:24px}.ribbon-contact{position:relative;overflow:hidden;border-top:1px solid rgba(255,255,255,.16);background:var(--surface-dark-2);color:#fffaf4;padding:clamp(76px,10vw,140px) 0}.ribbon-contact-inner{display:flex;max-width:860px;flex-direction:column;align-items:flex-start}.ribbon-contact-title{max-width:13ch;margin:15px 0 0;color:#fffaf4;font-family:var(--si-font-sans);font-size:clamp(42px,6vw,84px);font-weight:740;letter-spacing:-.058em;line-height:.96}.ribbon-contact p:not(.ribbon-section-kicker){max-width:48ch;margin:28px 0 0;color:#fffaf4c2;font-size:18px;line-height:1.55}.ribbon-contact .ribbon-button{margin-top:28px}@media(min-width:680px){.ribbon-project-types-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.ribbon-project-type{min-height:76px;border-top:0;border-left:1px solid var(--ribbon-line);padding:0 clamp(14px,2vw,28px)}.ribbon-project-type:first-child{border-left:0;padding-left:0}.ribbon-project-type:last-child{padding-right:0}.ribbon-process{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.ribbon-process:before{position:absolute;top:49px;right:18%;left:18%;z-index:0;border-top:2px dotted rgba(194,70,20,.46);content:""}.ribbon-process-card{position:relative;z-index:1;display:flex;min-height:284px;flex-direction:column;align-items:flex-start}.ribbon-process-card img{width:106px;height:106px;margin-top:auto;order:4}.ribbon-process-card h3{margin-top:8px}}@media(min-width:860px){.ribbon-hero-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(28px,3.5vw,56px)}.ribbon-hero-visual{width:min(100%,520px);justify-self:end;margin-right:0}.ribbon-hero-copy .ribbon-eyebrow{font-size:12px;letter-spacing:.12em;white-space:nowrap}.ribbon-display-accent{font-size:.75em}.ribbon-display{max-width:none}.ribbon-service-card{min-height:286px;padding:30px}.ribbon-case-frame{grid-template-columns:repeat(2,minmax(0,1fr))}.ribbon-case-copy{padding-right:clamp(36px,4vw,52px);padding-left:clamp(42px,5vw,68px)}.ribbon-case-preview{min-height:650px;border-top:0;border-left:1px solid rgba(127,198,169,.22);padding:clamp(28px,4vw,46px)}}@media(max-width:679px){.ribbon-hero{padding-top:52px}.ribbon-display{max-width:9.8ch}.ribbon-hero-visual{width:min(78vw,360px)}.ribbon-project-journey-copy h2{max-width:9ch}.ribbon-project-journey-steps{grid-template-columns:minmax(0,1fr);gap:8px;margin-top:30px}.ribbon-project-journey-steps li{align-items:stretch}.ribbon-project-journey-steps strong{max-width:none}.ribbon-project-types{margin-top:18px}.ribbon-button{width:100%}}@media(prefers-reduced-motion:no-preference){.ribbon-button{transition:transform .18s var(--si-ease),box-shadow .18s var(--si-ease)}.ribbon-button:hover{transform:translateY(-2px);box-shadow:0 14px 28px #8b2d094d,inset 0 1px #ffffff57}}.ribbon-root{--ribbon-paper: #faf6ef;--ribbon-ink: #181616;--ribbon-muted: #625c57;--ribbon-orange: #b84318;--ribbon-line: rgba(42, 32, 24, .14);font-family:var(--si-font-sans)}.ribbon-root>main{width:100%;max-width:100%;overflow-x:clip}.ribbon-hero{padding:clamp(52px,6vw,86px) 0 0}.ribbon-hero-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(18rem,5fr);gap:clamp(2rem,6vw,6rem);align-items:center}.ribbon-hero-copy{position:relative;z-index:2;gap:clamp(18px,2.2vw,28px);align-self:center;padding-bottom:clamp(12px,4vw,58px)}.ribbon-display{max-width:19ch;font-family:var(--si-font-sans);font-size:clamp(44px,6.2vw,84px);font-weight:760;letter-spacing:-.064em;line-height:.94}.ribbon-display-accent{display:inline;margin-top:0;color:var(--ribbon-orange);font-family:var(--si-font-sans);font-size:1em;font-weight:inherit;letter-spacing:inherit;line-height:inherit}.ribbon-lead{max-width:36ch;font-size:clamp(17px,1.45vw,20px);line-height:1.52}.ribbon-hero-actions{gap:14px}.ribbon-button{min-height:52px;box-shadow:0 10px 24px #742b0f2e,inset 0 1px #ffffff57}.ribbon-button:focus-visible{outline:3px solid var(--ribbon-focus-ring, var(--ribbon-ink));outline-offset:4px}.ribbon-button:active{transform:translateY(1px) scale(.985)}.ribbon-hero-visual{position:relative;z-index:1;width:min(70vw,360px);align-self:end;margin-bottom:-1px}.ribbon-hero-signature{position:relative;width:100%;height:100%}.ribbon-hero-stages{display:none}.ribbon-eyebrow{font-size:12px}.ribbon-project-journey{border-top:1px solid var(--ribbon-line);padding:clamp(72px,9vw,132px) 0 clamp(66px,8vw,112px)}.ribbon-project-journey>.si-container{display:grid;grid-template-areas:"intro" "rail";gap:clamp(30px,5vw,62px)}.ribbon-project-journey-copy{grid-area:intro;max-width:none}.ribbon-project-journey-copy h2{max-width:10.5ch;font-size:clamp(40px,5.4vw,70px);letter-spacing:-.06em;line-height:.96}.ribbon-project-journey-copy p{display:none}.ribbon-project-journey-steps{grid-area:rail;display:grid;grid-template-columns:minmax(0,1fr);gap:0;align-content:start;margin:0}.ribbon-project-journey-steps li{position:relative;display:grid;grid-template-columns:34px minmax(0,1fr);gap:14px;align-items:start;padding:0 0 28px}.ribbon-project-journey-steps.is-connected li:last-child{padding-bottom:0}.ribbon-project-journey-steps.is-connected li:not(:last-child):after{position:absolute;z-index:0;top:34px;bottom:0;left:16px;width:1px;background:var(--ribbon-line);content:""}.ribbon-project-journey-steps .ribbon-project-step-number{position:relative;z-index:1;display:grid;width:34px;height:34px;place-items:center;border:1px solid var(--ribbon-orange);border-radius:50%;background:var(--ribbon-paper);color:var(--ribbon-orange);font-family:var(--si-font-mono);font-size:12px;font-weight:650;letter-spacing:.08em;line-height:1;padding:0}.ribbon-project-journey-steps li>div{position:relative;z-index:1;display:flex;min-width:0;flex-direction:column;gap:7px}.ribbon-project-journey-steps .ribbon-project-step-phase{border:0;border-radius:0;background:transparent;color:var(--ribbon-muted);font-family:var(--si-font-mono);font-size:12px;font-weight:650;letter-spacing:.14em;line-height:1.3;padding:0;text-transform:uppercase}.ribbon-project-journey-steps strong{max-width:24ch;border:0;border-radius:0;background:transparent;color:var(--ribbon-ink);font-family:var(--si-font-sans);font-size:clamp(18px,1.6vw,23px);font-weight:680;letter-spacing:-.035em;line-height:1.08;padding:0;text-transform:none}.ribbon-project-types{margin:0;border-color:var(--ribbon-line);background:transparent;padding:clamp(24px,3vw,34px) 0 0}.ribbon-project-type-proof{display:inline-flex;min-height:44px;align-items:center;gap:8px;margin-top:10px;color:var(--si-tech);font-family:var(--si-font-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;text-decoration:none}.ribbon-project-type-proof:hover{text-decoration:underline}.ribbon-project-types h2{margin:0 0 22px;color:#4a443f;font-family:var(--si-font-mono);font-size:12px;font-weight:650;letter-spacing:.2em;line-height:1.2;text-transform:uppercase}.ribbon-project-types-grid{display:grid;grid-auto-flow:dense;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:0;list-style:none}.ribbon-project-type{display:block;min-height:0;border-top:1px solid var(--ribbon-line);border-left:0;padding:18px 0}.ribbon-project-type strong{display:block;color:var(--ribbon-ink);font-family:var(--si-font-sans);font-size:clamp(19px,1.8vw,25px);font-weight:710;letter-spacing:-.03em;line-height:1.08}.ribbon-project-type p{max-width:29ch;margin:8px 0 0;color:var(--ribbon-muted);font-size:14px;line-height:1.42}.ribbon-case-section{--inter-pine: #0c2622;--inter-mint: #7fc6a9;--inter-paper: #f7f6f2;overflow:clip;border-top:0;background:var(--inter-pine);padding:clamp(66px,9vw,124px) 0}.ribbon-case-frame{grid-template-columns:minmax(0,1fr);overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none}.ribbon-case-brandbar{min-height:0;padding:0 0 clamp(24px,3vw,34px)}.ribbon-case-copy{padding:clamp(36px,6vw,70px) 0 0}.ribbon-case-title{max-width:10.5ch;margin:0;font-size:clamp(40px,5vw,68px);letter-spacing:-.06em;line-height:.96}.ribbon-case-body{max-width:39ch;margin-top:24px;color:#eaf3ecbd;font-size:clamp(16px,1.45vw,19px)}.ribbon-case-link{margin-top:clamp(28px,4vw,44px)}.ribbon-case-preview{min-height:0;aspect-ratio:2272 / 1480;align-self:center;margin-top:clamp(44px,7vw,76px);border:1px solid rgba(127,198,169,.22);border-radius:24px;background:var(--inter-paper);padding:clamp(14px,2.5vw,26px)}.ribbon-case-preview:before{content:none}.ribbon-case-preview>img{width:100%;height:100%;border-radius:14px;object-fit:cover;object-position:center;box-shadow:0 22px 42px #0c262229}.ribbon-case-preview--flow{aspect-ratio:1 / 1}.ribbon-case-preview>.case-flow-illustration{width:100%;min-height:0;align-self:stretch}.ribbon-case-preview-label{top:12px;right:12px;font-size:12px}.case-flow-illustration--home .case-flow-illustration__header>span{padding-right:clamp(92px,36vw,156px)}.ribbon-case-wordmark small,.ribbon-case-sector{font-size:12px}.ribbon-case-frame:focus-visible{outline-offset:10px}.ribbon-case-frame:active{transform:scale(.995)}.ribbon-case-section--n1{--n1-paper: #fbfaf4;--n1-petrol: #091717;--n1-coral: #e0705a;border-top:1px solid rgba(251,250,244,.1);background:var(--n1-petrol)}.ribbon-case-section--n1 .ribbon-case-frame{--inter-mint: var(--n1-coral)}.ribbon-case-section--n1 .si-container{max-width:min(var(--si-maxw, 1200px),940px)}.ribbon-case-section--n1 .ribbon-case-title{max-width:13ch;font-size:clamp(32px,3.6vw,48px)}.ribbon-case-section--n1 .ribbon-case-body{font-size:clamp(15px,1.3vw,17px)}.ribbon-case-section--n1 .ribbon-case-brandbar{border-bottom-color:#fbfaf429}.ribbon-case-section--n1 .ribbon-case-wordmark small,.ribbon-case-section--n1 .ribbon-case-sector{color:#fbfaf4a8}.ribbon-case-section--n1 .ribbon-case-sector{border-color:#26919e80}.ribbon-case-section--n1 .ribbon-case-title,.ribbon-case-section--n1 .ribbon-case-link,.ribbon-case-section--n1 .ribbon-case-wordmark strong{color:var(--n1-paper)}.ribbon-case-section--n1 .ribbon-case-body{color:#fbfaf4b8}.ribbon-case-section--n1 .ribbon-case-link{border-bottom-color:#e0705ab8}.ribbon-case-section--n1 .ribbon-case-link span{color:var(--n1-coral)}.ribbon-case-preview--n1{display:grid;aspect-ratio:4 / 5;place-items:center;border-color:#26919e57;background:var(--n1-petrol);padding:clamp(24px,5vw,58px)}.ribbon-case-preview--n1>img{width:auto;max-width:100%;height:100%;max-height:100%;border-color:#fbfaf429;border-radius:8px;object-fit:contain;box-shadow:0 28px 60px #00000057}.ribbon-case-preview--n1 .ribbon-case-preview-label{border-color:#fbfaf42e;background:#091717e0;color:var(--n1-paper)}.ribbon-case-section--n1 .ribbon-case-frame:focus-visible{outline-color:var(--n1-coral)}@media(hover:hover)and (prefers-reduced-motion:no-preference){.ribbon-case-frame{transition:none}.ribbon-case-frame:hover{border-color:transparent;box-shadow:none;transform:none}.ribbon-case-frame:hover:active{transform:scale(.995)}}.ribbon-contact{--ribbon-focus-ring: var(--ribbon-paper);border-top:1px solid rgba(255,250,244,.14);background:var(--surface-dark-2);padding:clamp(76px,9vw,120px) 0 clamp(62px,7vw,88px)}.ribbon-contact-inner{display:grid;max-width:var(--si-maxw);gap:clamp(28px,5vw,72px)}.ribbon-contact-title{max-width:10ch;margin:0;font-size:clamp(40px,5vw,66px);letter-spacing:-.058em;line-height:.98}.ribbon-contact-action{display:flex;flex-direction:column;gap:22px;align-items:flex-start}.ribbon-contact p:not(.ribbon-section-kicker){max-width:42ch;margin:0;font-size:clamp(16px,1.5vw,19px)}.ribbon-contact .ribbon-button{justify-self:start;margin-top:0}.ribbon-contact p.ribbon-contact-address{margin:0;color:var(--ink-on-dark-muted);font-size:clamp(14px,1.1vw,15px)}.ribbon-contact-address span{color:var(--ink-on-dark);font-family:var(--si-font-mono);-webkit-user-select:all;user-select:all}@media(min-width:560px){.ribbon-project-types-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ribbon-project-type:nth-child(2n){border-left:1px solid var(--ribbon-line);padding-left:clamp(18px,3vw,32px)}.ribbon-project-type:nth-child(odd){padding-right:clamp(18px,3vw,32px)}}@media(min-width:761px){.ribbon-hero-visual{width:min(100%,460px);justify-self:end}.ribbon-contact-inner{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:start}.ribbon-contact-action{grid-column:2;grid-row:1;align-self:start}}@media(min-width:960px){.ribbon-project-journey>.si-container{grid-template-areas:"intro intro intro intro rail rail rail rail rail rail rail rail";grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(20px,2.4vw,32px);row-gap:clamp(34px,4vw,58px)}.ribbon-project-journey-copy h2{max-width:10.5ch;font-size:clamp(44px,4vw,58px)}.ribbon-project-journey-steps.is-connected{grid-template-columns:repeat(3,minmax(0,1fr))}.ribbon-project-journey-steps.is-connected li{grid-template-columns:minmax(0,1fr);grid-template-rows:34px auto;gap:14px;padding:0}.ribbon-project-journey-steps.is-connected li:not(:last-child):after{top:16px;right:0;bottom:auto;left:34px;width:auto;height:1px}.ribbon-project-journey-steps strong{max-width:20ch;font-size:clamp(21px,1.75vw,25px)}.ribbon-case-title{max-width:20ch}.ribbon-contact-title{max-width:18ch}.ribbon-project-types-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ribbon-project-type,.ribbon-project-type:nth-child(odd),.ribbon-project-type:nth-child(2n){border-top:1px solid var(--ribbon-line);border-left:1px solid var(--ribbon-line);padding:18px clamp(16px,2.2vw,30px)}.ribbon-project-type:nth-child(1),.ribbon-project-type:nth-child(3){border-left:0;padding-left:0}.ribbon-project-type:nth-child(2),.ribbon-project-type:nth-child(4){padding-right:0}.ribbon-case-frame{grid-template-columns:minmax(0,5fr) minmax(0,7fr);column-gap:clamp(46px,6vw,94px)}.ribbon-case-brandbar{grid-column:1 / -1}.ribbon-case-copy{align-self:center;padding:0}.ribbon-case-preview{margin-top:clamp(48px,6vw,74px);border-left:1px solid rgba(127,198,169,.22)}.ribbon-case-preview--n1{aspect-ratio:7 / 6;border-left-color:#26919e57}}@media(min-width:1100px){.ribbon-hero-grid{grid-template-columns:minmax(0,7fr) minmax(24rem,5fr);gap:clamp(32px,4vw,64px)}.ribbon-hero-visual{width:min(42vw,500px);aspect-ratio:1.05 / 1;justify-self:end}.ribbon-hero-signature img{width:76%;object-position:left center}.ribbon-hero-stages{position:absolute;inset:8% 0 8% auto;display:flex;width:21%;flex-direction:column;justify-content:space-between;margin:0;padding:0;list-style:none}.ribbon-hero-stages li{display:grid;gap:8px}.ribbon-hero-stages span{color:var(--ribbon-orange);font-family:var(--si-font-mono);font-size:12px;font-weight:700}.ribbon-hero-stages strong{border-top:1px solid color-mix(in srgb,var(--ribbon-orange) 58%,transparent);color:var(--ribbon-ink);font-family:var(--si-font-sans);font-size:clamp(14px,1.2vw,16px);font-weight:620;letter-spacing:-.025em;padding-top:8px}}@media(max-width:760px){.ribbon-hero-grid,.ribbon-project-journey-steps,.ribbon-project-types-grid{grid-template-columns:1fr}.ribbon-project-type,.ribbon-project-type:nth-child(odd),.ribbon-project-type:nth-child(2n){border-left:0;padding-right:0;padding-left:0}}@media(max-width:559px){.ribbon-eyebrow{max-width:30ch;font-size:12px}.ribbon-display{max-width:100%;font-size:clamp(40px,11.5vw,46px)}.ribbon-hero-visual{width:min(68vw,300px)}.ribbon-project-journey-copy h2,.ribbon-case-title,.ribbon-contact-title{font-size:clamp(38px,11vw,44px)}.ribbon-case-brandbar{align-items:flex-start}.ribbon-case-sector{border-radius:6px}.ribbon-contact .ribbon-button{align-self:stretch;justify-self:stretch}}:root{--type-meta: .75rem}.case-study-root{--case-paper: #faf6ef;--case-surface: #f2efe7;--case-ink: #181616;--case-muted: #536074;--case-line: #cdd4e0;--case-line-strong: #8a94a8;--case-accent: #1e5ad7;--case-accent-hover: #1748ac;--case-accent-soft: #edf3ff;--case-deep: #0e1f38;--case-on-deep: #ffffff;--case-on-deep-muted: #a9b6cc;--case-on-deep-accent: #7fb0ff;--case-deep-panel: rgba(255, 255, 255, .05);--case-deep-line: rgba(255, 255, 255, .22);--case-band-tight: clamp(72px, 7vw, 104px);--case-band-loose: clamp(104px, 11vw, 168px);--case-gutter: clamp(20px, 2.4vw, 34px);--case-label: .75rem;background:var(--case-paper);color:var(--case-ink)}.case-study-root--private{--case-accent: #19785f;--case-accent-hover: #145f4c;--case-accent-soft: #eef6f2;--case-deep: #0b241d;--case-on-deep-muted: #9db8ad;--case-on-deep-accent: #6fd3ad}.case-study{overflow:hidden}.case-study__hero{padding:clamp(34px,5vw,76px) 0 clamp(56px,6vw,88px)}.case-study__hero-inner{display:grid;gap:clamp(28px,4vw,58px)}.case-study__record{position:relative;z-index:1;max-width:520px}.case-study__identity{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 20px;color:var(--case-muted);font-size:14px;line-height:1.35}.case-study__identity p{min-width:0;margin:0;overflow-wrap:anywhere}.case-study__identity span{color:var(--case-accent);font-weight:700}.case-study__label,.case-study__section-label{margin:0;color:var(--case-accent);font-family:var(--font-mono);font-size:var(--case-label);font-weight:500;letter-spacing:.16em;line-height:1.4;text-transform:uppercase}:where(.case-study) :where(h1,h2,h3,p,figure,ol,dl){margin-top:0}.case-study h1{max-width:12ch;margin:14px 0 20px;color:var(--case-ink);font-family:var(--font-sans);font-size:clamp(42px,6.4vw,82px);font-weight:720;letter-spacing:-.04em;line-height:.96;-webkit-hyphens:none;hyphens:none;overflow-wrap:normal;text-wrap:balance;word-break:normal}.case-study__lead{max-width:38ch;margin-bottom:28px;color:var(--case-muted);font-size:clamp(18px,1.8vw,22px);line-height:1.48;overflow-wrap:anywhere}.case-study__metadata{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:440px;margin:0 0 28px;border-top:1px solid var(--case-line);padding-top:16px}.case-study__metadata div{display:grid;gap:4px}.case-study__metadata dt{color:var(--case-muted);font-size:12px;line-height:1.35}.case-study__metadata dd{margin:0;color:var(--case-ink);font-size:14px;font-weight:620;line-height:1.4;overflow-wrap:anywhere}.case-study__action{display:inline-flex;min-height:52px;align-items:center;justify-content:center;gap:11px;border-radius:10px;background:var(--case-accent);box-shadow:0 12px 24px #1e5ad733;color:#fff;font-size:15px;font-weight:700;line-height:1;padding:16px 20px;text-decoration:none;overflow-wrap:anywhere;transition:background-color var(--motion-fast) var(--ease-out),transform var(--motion-fast) var(--ease-out),box-shadow var(--motion-fast) var(--ease-out)}.case-study__action:hover{background:var(--case-accent-hover);box-shadow:0 14px 26px #1e5ad747;transform:translateY(-1px)}.case-study__action:active{box-shadow:0 6px 14px #1e5ad738;transform:translateY(0)}.case-study__action:focus-visible{outline:3px solid var(--case-ink);outline-offset:4px}.case-study__media-reveal{min-width:0}.case-study__media{margin:0;border:1px solid var(--case-deep);background:var(--case-deep);padding:clamp(10px,1.6vw,20px)}.case-study__media .case-study__media-date{color:var(--case-on-deep-muted)}.case-study__media .case-study__media-badge{border-color:var(--case-deep-line);background:transparent;color:var(--case-on-deep-muted)}.case-study__media .case-study__media-action{color:var(--case-on-deep-accent)}.case-study__media .case-study__media-action:hover{color:var(--case-on-deep)}.case-study__media .case-study__media-action:focus-visible{outline-color:var(--case-on-deep)}.case-study__media img{display:block;width:100%;height:auto}.case-flow-illustration{--flow-ink: #102923;--flow-muted: #586b65;--flow-line: #cbd8d2;--flow-accent: var(--case-accent);display:grid;min-height:clamp(500px,58vw,680px);align-content:space-between;gap:clamp(18px,3vw,34px);border:1px solid rgba(16,41,35,.12);background:linear-gradient(rgba(16,41,35,.045) 1px,transparent 1px) 0 0 / 100% 44px,#f7f6f2;color:var(--flow-ink);padding:clamp(20px,4vw,44px)}.case-study--flow .case-flow-illustration{--flow-ink: var(--case-on-deep);--flow-muted: var(--case-on-deep-muted);--flow-line: var(--case-deep-line);--flow-accent: var(--case-on-deep-accent);border-color:#ffffff29;background:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px) 0 0 / 100% 44px,var(--case-deep)}.case-study--flow .case-flow-illustration__steps>li{background:var(--case-deep-panel)}.case-flow-illustration__header{display:grid;gap:7px;max-width:36ch}.case-flow-illustration__header span,.case-flow-illustration__record-heading span,.case-flow-illustration__handoff span,.case-flow-illustration__steps>li>span{color:var(--flow-accent);font-family:var(--font-mono);font-size:12px;font-weight:650;letter-spacing:.07em;line-height:1.4;text-transform:uppercase}.case-flow-illustration__header strong{font-size:clamp(22px,3.4vw,42px);font-weight:700;letter-spacing:-.04em;line-height:1}.case-flow-illustration__record{display:grid;gap:16px;border-top:1px solid var(--flow-line);border-bottom:1px solid var(--flow-line);padding:18px 0}.case-flow-illustration__record-heading{display:grid;gap:5px}.case-flow-illustration__record-heading strong{font-size:clamp(18px,2vw,24px);letter-spacing:-.03em;line-height:1.1}.case-flow-illustration__record dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0;border-top:1px solid var(--flow-line)}.case-flow-illustration__record dl>div{min-width:0;border-bottom:1px solid var(--flow-line);padding:12px 12px 12px 0}.case-flow-illustration__record dl>div:nth-child(odd){border-right:1px solid var(--flow-line)}.case-flow-illustration__record dl>div:nth-child(2n){padding-right:0;padding-left:12px}.case-flow-illustration__record dt{color:var(--flow-muted);font-size:12px;line-height:1.35}.case-flow-illustration__record dd{margin:4px 0 0;font-size:clamp(14px,1.4vw,17px);font-weight:650;line-height:1.3;overflow-wrap:break-word}.case-flow-illustration__steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none}.case-flow-illustration__steps li{position:relative;display:grid;min-width:0;gap:6px;border:1px solid var(--flow-line);background:#ffffffc2;padding:clamp(13px,2vw,20px)}.case-flow-illustration__steps strong{font-size:clamp(16px,1.7vw,21px);letter-spacing:-.025em;line-height:1.1}.case-flow-illustration__steps p{margin:0;color:var(--flow-muted);font-size:clamp(12px,1.2vw,15px);line-height:1.4}.case-flow-illustration__handoff{display:grid;grid-template-columns:minmax(0,auto) minmax(32px,1fr) minmax(0,auto);gap:14px;align-items:center;border-top:1px solid var(--flow-line);padding-top:16px}.case-flow-illustration__handoff p{display:grid;gap:2px;margin:0}.case-flow-illustration__handoff strong{font-size:15px;line-height:1.35}.case-flow-illustration__line{position:relative;display:block;height:1px;background:var(--flow-accent)}.case-flow-illustration__line:after{position:absolute;top:50%;right:0;width:7px;height:7px;border-top:1px solid var(--flow-accent);border-right:1px solid var(--flow-accent);content:"";transform:translateY(-50%) rotate(45deg)}.case-flow-illustration--home{min-height:100%;gap:clamp(12px,2vw,24px);padding:clamp(18px,3vw,32px)}.case-flow-illustration--home .case-flow-illustration__header strong{font-size:clamp(21px,2.6vw,34px)}.case-study__media-badge{display:inline-flex;align-items:center;margin:0 0 10px;border:1px solid var(--case-line);border-radius:999px;background:var(--case-paper);color:var(--case-muted);font-family:var(--font-mono);font-size:12px;font-weight:600;letter-spacing:.08em;line-height:1;padding:7px 11px;text-transform:uppercase}.case-study__media figcaption{display:flex;flex-direction:column;align-items:flex-start;color:var(--case-on-deep-muted);font-size:12px;line-height:1.45;padding-top:10px}.case-study__media-action{display:inline-flex;min-height:44px;align-items:center;gap:7px;color:var(--case-accent);font-size:13px;font-weight:700;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}.case-study__media-action:hover{color:var(--case-accent-hover)}.case-study__media-action:focus-visible{border-radius:4px;outline:3px solid var(--case-ink);outline-offset:4px}.case-study__media--portrait{width:min(100%,340px);margin-right:auto;margin-left:auto}.case-study__section{border-top:1px solid var(--case-line);padding:var(--case-band-tight) 0}.case-study__section h2,.case-study__access-inner h2,.case-study__close-copy h2{max-width:15ch;margin:14px 0 0;color:var(--case-ink);font-family:var(--font-serif);font-size:clamp(28px,3vw,43px);font-weight:400;letter-spacing:-.012em;line-height:1.1;text-wrap:balance}.case-study__section-intro{max-width:48ch;margin:24px 0 0;color:var(--case-muted);font-size:17px;line-height:1.55}.case-study__media-date{display:block;margin-top:6px;color:var(--case-muted);font-family:var(--font-mono);font-size:12px;letter-spacing:.04em}.case-study__process-list{margin-bottom:0;padding:0;list-style:none}.case-study__process-list h3{margin-bottom:6px;color:var(--case-ink);font-size:1.125rem;font-weight:620;letter-spacing:0;line-height:1.3}.case-study__process-list p,.case-study__boundary>p{max-width:48ch;margin-bottom:0;color:var(--case-muted);font-size:17px;line-height:1.55}.case-study__section-heading{max-width:640px}.case-study__process-list{display:grid;gap:0;margin-top:clamp(34px,5vw,62px);border-top:1px solid var(--case-line)}.case-study__process-list li{display:grid;grid-template-columns:46px minmax(0,1fr);gap:16px;border-bottom:1px solid var(--case-line);padding:24px 0}.case-study__process-list>li>span{color:var(--case-accent);font-family:var(--font-mono);font-size:12px;font-weight:650;line-height:1.5}.case-study__states{margin:0;margin-top:clamp(34px,5vw,62px);padding:0;border-top:1px solid var(--case-line);list-style:none}.case-study__states>li{display:grid;gap:4px 32px;align-items:baseline;border-bottom:1px solid var(--case-line);padding:20px 0 22px}.case-study__states-move{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0;color:var(--case-ink);font-size:1.125rem;font-weight:620;line-height:1.3}.case-study__states-arrow{color:var(--case-accent);font-size:13px;line-height:1}.case-study__states-body{max-width:48ch;margin:0;color:var(--case-muted);font-size:17px;line-height:1.55}.case-study__matrix{display:grid;gap:1px;margin-top:clamp(34px,5vw,62px);border:1px solid var(--case-line);background:var(--case-line)}.case-study__matrix-corner,.case-study__matrix-head{display:none;margin:0}.case-study__matrix-cell{background:var(--case-paper);padding:20px clamp(16px,2vw,24px) 22px}.case-study__matrix-label{margin:0 0 8px;color:var(--case-muted);font-family:var(--font-mono);font-size:var(--case-label);font-weight:600;letter-spacing:.06em;line-height:1.3;text-transform:uppercase}.case-study__matrix-body{max-width:36ch;margin:0;color:var(--case-ink);font-size:17px;line-height:1.5}.case-study__matrix-cell.is-marked{background:var(--case-accent-soft)}.case-study__matrix-cell.is-marked .case-study__matrix-label,.case-study__matrix-cell.is-marked .case-study__matrix-body{color:var(--case-accent-hover)}.case-study__ledger{margin:0;margin-top:clamp(34px,5vw,62px);border-top:1px solid var(--case-line)}.case-study__ledger>div{border-bottom:1px solid var(--case-line);padding:20px 0 22px}.case-study__ledger dt{margin-bottom:8px;color:var(--case-muted);font-family:var(--font-mono);font-size:var(--case-label);font-weight:600;letter-spacing:.08em;line-height:1.3;text-transform:uppercase}.case-study__ledger dd{max-width:48ch;margin:0;color:var(--case-ink);font-size:17px;line-height:1.55}.case-study__section--boundary{background:var(--case-paper);padding:var(--case-band-loose) 0}.case-study__boundary{max-width:780px}.case-study__boundary h2{margin-bottom:20px}.case-study__next-link{display:inline-flex;min-height:44px;align-items:center;gap:9px;margin-top:28px;color:var(--case-accent);font-size:15px;font-weight:700;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}.case-study__next-link:hover{color:var(--case-accent-hover)}.case-study__next-link:focus-visible{border-radius:4px;outline:3px solid var(--case-ink);outline-offset:4px}.case-study__access-section{border-top:0;background:var(--case-deep);padding:var(--case-band-tight) 0}.case-study__access-section h2{color:var(--case-on-deep)}.case-study__access-section .case-study__section-label{color:var(--case-on-deep-accent)}.case-study__access-section .case-study__action{background:var(--case-paper);color:var(--case-deep);box-shadow:none}.case-study__access-section .case-study__action:hover{background:var(--case-on-deep-muted);color:var(--case-deep)}.case-study__access-section .case-study__action:focus-visible{outline-color:var(--case-on-deep)}.case-study__access-inner{display:grid;gap:28px;align-items:end}.case-study__access-inner .case-study__action{justify-self:start}.case-study__close{border-top:0;background:var(--case-surface);padding:var(--case-band-tight) 0}.case-study__close-inner{display:grid;gap:clamp(28px,4vw,56px);align-items:end}.case-study__close-copy h2{max-width:17ch;margin:14px 0 16px}.case-study__close-copy p{max-width:52ch;margin:0;color:var(--case-muted);font-size:clamp(16px,1.4vw,18px);line-height:1.55}.case-study__close-copy p.case-study__close-address{margin-top:14px;font-size:clamp(14px,1.1vw,15px)}.case-study__close-address span{color:var(--case-ink);font-family:var(--font-mono);-webkit-user-select:all;user-select:all}.case-study__close-actions{display:flex;flex-wrap:wrap;gap:10px 24px;align-items:center}.case-study__close-action{display:inline-flex;min-height:52px;align-items:center;justify-content:center;gap:10px;border-radius:999px;background:var(--si-nav-cta-bg, #a83b16);color:#fffaf5;font-size:15px;font-weight:700;line-height:1;padding:16px 22px;text-decoration:none;transition:background-color var(--motion-fast) var(--ease-out),transform var(--motion-fast) var(--ease-out)}.case-study__close-action:hover{background:#8f3012;transform:translateY(-1px)}.case-study__close-action:active{background:#74260e;transform:translateY(0)}.case-study__close-action:focus-visible{outline:3px solid var(--case-ink);outline-offset:4px}.case-study__close-actions .case-study__next-link{margin-top:0}@media(min-width:760px){.case-flow-illustration__steps{grid-template-columns:repeat(4,minmax(0,1fr))}.case-study__states>li{grid-template-columns:minmax(210px,22%) 1fr}.case-study__matrix{grid-template-columns:minmax(120px,.6fr) 1fr 1fr}.case-study__matrix-corner,.case-study__matrix-head{display:flex;align-items:center;background:var(--case-surface);padding:14px clamp(16px,2vw,24px);color:var(--case-muted);font-family:var(--font-mono);font-size:var(--case-label);font-weight:600;letter-spacing:.06em;line-height:1.3;text-transform:uppercase}.case-study__matrix-label{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.case-study h1{max-width:17ch;font-size:clamp(46px,3.7vw,58px);text-wrap:balance}.case-study__hero-inner{grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);align-items:end}.case-study__record{grid-column:1;grid-row:1;margin-right:calc(clamp(28px,4vw,58px)*-1);border:1px solid var(--case-line);background:var(--case-paper);box-shadow:0 20px 44px #1720331f;padding:clamp(28px,4vw,52px)}.case-study--portrait .case-study__hero-inner{grid-template-columns:minmax(0,1fr) minmax(280px,.72fr);align-items:start}.case-study--portrait .case-study__record{display:flex;flex-direction:column;grid-column:1;grid-row:1;align-self:stretch;margin-right:0}.case-study--portrait .case-study__metadata{margin-top:clamp(28px,3.4vw,48px);padding-top:clamp(24px,3vw,44px)}.case-study--portrait .case-study__media-reveal{grid-column:2;grid-row:1}.case-study--flow .case-study__hero-inner{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}.case-study__close-inner{grid-template-columns:minmax(0,1fr) auto}.case-study__close-actions{flex-direction:row-reverse;justify-content:flex-start}.case-study--flow .case-study__record{display:flex;flex-direction:column;align-self:stretch;margin-right:0}.case-study--flow .case-study__metadata{margin-top:clamp(28px,3.4vw,48px);padding-top:clamp(24px,3vw,44px)}.case-study--flow .case-study__media-reveal{grid-column:2;grid-row:1}.case-study--flow .case-flow-illustration__steps{grid-template-columns:repeat(2,minmax(0,1fr))}.case-study__media-reveal{grid-column:1 / -1;grid-row:1}.case-study__media--portrait{width:min(100%,360px);margin-left:auto}.case-study__process-list{grid-template-columns:repeat(3,minmax(0,1fr))}.case-study__process-list li{grid-template-columns:1fr;align-content:start;gap:20px;border-bottom:0;border-left:1px solid var(--case-line);padding:0 clamp(18px,2vw,26px)}.case-study__process-list li:first-child{border-left:0;padding-left:0}.case-study__process-list li:last-child{padding-right:0}.case-study__access-inner{grid-template-columns:minmax(0,1fr) auto}.case-study__access-inner .case-study__action{justify-self:end}}@media(min-width:900px){.case-study__section>.si-container,.case-study__close-inner,.case-study__access-inner,.case-study__hero-inner,.case-study--flow .case-study__hero-inner,.case-study--portrait .case-study__hero-inner{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--case-gutter);align-items:start}.case-study__section-heading{grid-column:1 / span 5;max-width:none;position:sticky;top:97px}.case-study__section h2,.case-study__section-intro{max-width:none}.case-study__access-inner h2{max-width:20ch}.case-study__process-list,.case-study__states,.case-study__matrix,.case-study__ledger{grid-column:6 / -1;margin-top:0}.case-study__boundary{display:contents}.case-study__boundary .case-study__section-label{grid-column:1 / span 3}.case-study__boundary h2,.case-study__boundary>p:not(.case-study__section-label){grid-column:4 / span 7;max-width:none;border-left:3px solid var(--case-accent);padding-left:clamp(20px,2vw,34px)}.case-study__boundary>p:not(.case-study__section-label){max-width:62ch}.case-study__close-inner,.case-study__access-inner{align-items:end}.case-study__close-copy{grid-column:1 / span 7}.case-study__close-copy h2{max-width:22ch}.case-study__close-actions{grid-column:9 / -1;flex-direction:row}.case-study__access-inner>div{grid-column:1 / span 7}.case-study__access-inner .case-study__action{grid-column:9 / -1;justify-self:start}.case-study__process-list{grid-template-columns:1fr;border-top:1px solid var(--case-line-strong)}.case-study__process-list li{grid-template-columns:56px minmax(0,1fr);align-content:start;gap:0 24px;border-bottom:1px solid var(--case-line);border-left:0;padding:22px 0}.case-study__process-list li:first-child,.case-study__process-list li:last-child{padding-inline:0}.case-study__process-list p{max-width:58ch}.case-study--flow .case-study__record{display:block;grid-column:1 / span 5;align-self:start;margin-right:0}.case-study--flow .case-study__media-reveal{grid-column:6 / -1;grid-row:1}.case-study--flow .case-flow-illustration{min-height:0}.case-study--flow .case-flow-illustration__steps{grid-template-columns:repeat(4,minmax(0,1fr))}.case-study--flow .case-flow-illustration__steps strong{font-size:clamp(15px,1.3vw,18px)}.case-study--flow .case-flow-illustration__steps p{font-size:13px}.case-study--portrait .case-study__hero-inner{align-items:stretch}.case-study--portrait .case-study__record{display:block;grid-column:1 / span 7;align-self:start;margin-right:0}.case-study--portrait .case-study__media-reveal{display:flex;grid-column:9 / -1;grid-row:1}.case-study--portrait .case-study__media{flex:1}.case-study--portrait .case-study__media--portrait{width:min(100%,340px);margin-inline:auto}.case-study__record{padding:clamp(24px,2.6vw,38px);border-bottom:3px solid var(--case-accent)}}@media(max-width:759px){.case-study h1{max-width:16ch}.case-study__section h2{max-width:20ch}.case-study__record{border-top:1px solid var(--case-line-strong);border-bottom:3px solid var(--case-accent);padding:24px 0 28px}.case-study__hero{padding-top:30px}.case-study__hero-inner{display:flex;flex-direction:column}.case-study__record{order:1}.case-study__media-reveal{order:2}.case-study__action{width:100%}.case-flow-illustration__handoff{grid-template-columns:minmax(0,1fr) 26px minmax(0,1fr)}.case-flow-illustration__handoff p:last-child{text-align:right}}@media(min-width:960px){.ribbon-case-preview--flow{aspect-ratio:7 / 5}}@media(prefers-reduced-motion:reduce){.case-study__action{transition:none}}@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/geist-latin-ext-400-normal-CND6cjiG.woff2) format("woff2"),url(/assets/geist-latin-ext-400-normal-Bz1pQMyt.woff) format("woff")}@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/geist-latin-ext-500-normal-BovoTgeE.woff2) format("woff2"),url(/assets/geist-latin-ext-500-normal-C9fx-R30.woff) format("woff")}@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/geist-latin-600-normal-CSETrqM2.woff2) format("woff2"),url(/assets/geist-latin-600-normal-DsPlZH-9.woff) format("woff")}@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/geist-latin-ext-600-normal-CVFbg5dS.woff2) format("woff2"),url(/assets/geist-latin-ext-600-normal-TmIUreF9.woff) format("woff")}@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/geist-latin-700-normal-CFi8mLqe.woff2) format("woff2"),url(/assets/geist-latin-700-normal-Bod5GerT.woff) format("woff")}@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/geist-latin-ext-700-normal-BnofTsEi.woff2) format("woff2"),url(/assets/geist-latin-ext-700-normal-DKAtFBEc.woff) format("woff")}@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/geist-latin-800-normal-BiOIUYzx.woff2) format("woff2"),url(/assets/geist-latin-800-normal-GCBa5Xwv.woff) format("woff")}@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/geist-latin-ext-800-normal-cdfvoxU9.woff2) format("woff2"),url(/assets/geist-latin-ext-800-normal-DhLCXSnY.woff) format("woff")}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/geist-mono-latin-400-normal-DTRLJnHl.woff2) format("woff2"),url(/assets/geist-mono-latin-400-normal-B2yvC1Cq.woff) format("woff")}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/geist-mono-latin-ext-400-normal-DI-rJ0UV.woff2) format("woff2"),url(/assets/geist-mono-latin-ext-400-normal-CfzLURNc.woff) format("woff")}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/geist-mono-latin-500-normal-YINYabwD.woff2) format("woff2"),url(/assets/geist-mono-latin-500-normal-D-GG86Jb.woff) format("woff")}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/geist-mono-latin-ext-500-normal-Buglb9-a.woff2) format("woff2"),url(/assets/geist-mono-latin-ext-500-normal-CrWEgvU_.woff) format("woff")}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/geist-mono-latin-600-normal-V-KvD_pi.woff2) format("woff2"),url(/assets/geist-mono-latin-600-normal-bZn07FKM.woff) format("woff")}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/geist-mono-latin-ext-600-normal-TphwrhF8.woff2) format("woff2"),url(/assets/geist-mono-latin-ext-600-normal-B7ybHiTt.woff) format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-400-normal-6-qcROiO.woff) format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-ext-400-normal-Bc8Ftmh3.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-ext-400-normal-fXTG6kC5.woff) format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-latin-500-normal-BWZEU5yA.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-500-normal-CJOVTJB7.woff) format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-latin-ext-500-normal-Cut-4mMH.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-ext-500-normal-ckzbgY84.woff) format("woff")}@font-face{font-family:Geist;font-style:italic;font-display:swap;font-weight:500;src:url(/assets/geist-latin-500-italic-U3jG8IXN.woff2) format("woff2"),url(/assets/geist-latin-500-italic-Q8gL3fVn.woff) format("woff")}@font-face{font-family:Geist;font-style:italic;font-display:swap;font-weight:500;src:url(/assets/geist-latin-ext-500-italic-Cdj4kB5o.woff2) format("woff2"),url(/assets/geist-latin-ext-500-italic-BzgJnKC8.woff) format("woff")}@font-face{font-family:Geist;font-style:italic;font-display:swap;font-weight:800;src:url(/assets/geist-latin-800-italic-DxFLxbDm.woff2) format("woff2"),url(/assets/geist-latin-800-italic-D3tuBaaw.woff) format("woff")}@font-face{font-family:Geist;font-style:italic;font-display:swap;font-weight:800;src:url(/assets/geist-latin-ext-800-italic-Cf0HUALe.woff2) format("woff2"),url(/assets/geist-latin-ext-800-italic-DIP9xaif.woff) format("woff")}
