@font-face{font-family:geist;src:url(/fonts/geist-latin-wght-normal.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:geist;src:url(/fonts/geist-latin-ext-wght-normal.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:geist mono;src:url(/fonts/geist-mono-latin-wght-normal.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:geist mono;src:url(/fonts/geist-mono-latin-ext-wght-normal.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{--paper:#f4f1ea;--paper-2:#ebe6db;--field-bg:#fffdf8;--ink:#0f1a21;--ink-2:#3b4852;--rule:#d3cbbd;--field-border:#6f6a62;--night:#0e1b23;--night-2:#172730;--on-night:#f2efe8;--on-night-2:#b9c3c8;--night-rule:#2c3d47;--signal:#b83f17;--signal-night:#ff8a5c;--font:"Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"Geist Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--text:clamp(1rem, 0.97rem + 0.12vw, 1.0625rem);--lead:clamp(1.15rem, 1.06rem + 0.4vw, 1.375rem);--h1:clamp(2rem, 1.45rem + 2.8vw, 3.75rem);--h2:clamp(1.6rem, 1.32rem + 1.2vw, 2.4rem);--h3:clamp(1.2rem, 1.12rem + 0.33vw, 1.4rem);--small:0.875rem;--wrap:76rem;--gutter:clamp(1.25rem, 4vw, 3rem);--band:clamp(3.5rem, 2.4rem + 4.6vw, 6.5rem)}*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:var(--text);line-height:1.6;font-feature-settings:"ss01" 0;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}img,svg{display:block;max-width:100%}img{height:auto}h1,h2,h3{margin:0;font-weight:520;text-wrap:balance}h1{font-size:var(--h1);line-height:1.05;letter-spacing:-.022em}h2{font-size:var(--h2);line-height:1.15;letter-spacing:-.015em}h3{font-size:var(--h3);line-height:1.3;letter-spacing:-.005em;font-weight:560}p{margin:0 0 1em;max-width:40em;text-wrap:pretty}p:last-child{margin-bottom:0}h2+p,h3+p{margin-top:1rem}a{color:inherit;text-decoration-line:underline;text-decoration-color:var(--signal);text-decoration-thickness:.09em;text-underline-offset:.22em}a:hover{color:var(--signal)}:focus{outline:none}:focus-visible{outline:3px solid var(--signal);outline-offset:3px;border-radius:1px}main:focus-visible{outline:none}.wrap{width:100%;max-width:calc(var(--wrap) + 2 * var(--gutter));margin-inline:auto;padding-inline:var(--gutter)}.prose{max-width:46rem}.skip{position:absolute;left:var(--gutter);top:-100px;z-index:10;padding:.75rem 1rem;background:var(--ink);color:var(--paper);text-decoration:none}.skip:focus{top:.75rem}.kicker{margin:0 0 1.25rem;font-size:.8125rem;font-weight:520;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}.lead{font-size:var(--lead);line-height:1.5;color:var(--ink-2);max-width:36em}.button{display:inline-block;padding:.85rem 1.35rem;background:var(--ink);color:var(--paper);border:2px solid var(--ink);border-radius:2px;font:inherit;font-weight:560;line-height:1.2;text-decoration:none;cursor:pointer}.button:hover{background:var(--signal);border-color:var(--signal);color:#fff}.text-link{font-weight:560}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.75rem;margin-top:2rem}.mark{flex:none}.mark .q{fill:currentColor}.mark .q-lit{fill:var(--signal)}.night .mark .q-lit,.site-footer .mark .q-lit{fill:var(--signal-night)}.site-header{border-bottom:1px solid var(--rule)}.header-inner{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 2rem;padding-block:1.1rem}.brand{display:inline-flex;align-items:center;gap:.6rem;margin:0 auto 0 0;color:var(--ink);text-decoration:none}.brand-name{font-size:1.375rem;font-weight:580;letter-spacing:-.01em}.nav ul,.langs ul,.footer-nav ul,.case-list,.cap-links,.link-list,.quadrants,.toc ul{margin:0;padding:0;list-style:none}.nav ul{display:flex;flex-wrap:wrap;gap:.25rem 1.75rem}.nav a,.langs a{display:inline-block;padding-block:.4rem;text-decoration:none;font-weight:500}.nav a[aria-current=page]{text-decoration-line:underline;text-decoration-thickness:2px}.langs ul{display:flex;gap:.25rem 1rem}.langs a{font-size:.9375rem;color:var(--ink-2)}.langs a[aria-current=true]{color:var(--ink);text-decoration-line:underline;text-decoration-thickness:2px}@media(max-width:47.99em){.header-inner{gap:.5rem 1rem}.brand-name{font-size:1.25rem}.langs ul{gap:.25rem .75rem}.langs a{font-size:.875rem}.nav{order:3;flex-basis:100%}.nav ul{gap:.1rem 1.25rem}}.band{padding-block:var(--band);border-top:1px solid var(--rule)}.night{background:var(--night);color:var(--on-night);border-top-color:var(--night)}.night .lead,.night dt{color:var(--on-night-2)}.night a:hover{color:var(--signal-night)}.night a{text-decoration-color:var(--signal-night)}.night :focus-visible{outline-color:var(--signal-night)}.section-head{margin-bottom:clamp(2rem,4vw,3rem)}.section-head h2+p{margin-top:1rem}.split{display:grid;gap:1.25rem}@media(min-width:64em){.split{grid-template-columns:5fr 7fr;gap:4rem;align-items:start}}.intro{padding-block:clamp(3rem,2.2rem + 3.5vw,5.5rem)clamp(2.5rem,2rem + 2.5vw,4rem)}.intro h1{max-width:20ch}.intro h1+.lead{margin-top:1.5rem}.hero{padding-top:clamp(3rem,2.2rem + 3.5vw,5.5rem)}.hero h1{max-width:17ch}.hero h1+.lead{margin-top:1.5rem}.hero-image{display:block;margin-top:clamp(2.5rem,2rem + 2.5vw,4rem)}.hero-image img{width:100%}.hero{padding-bottom:clamp(3rem,2rem + 3vw,4.5rem)}.quadrants{border-top:1px solid var(--rule)}.quadrant{padding:clamp(1.75rem,3vw,2.75rem)0;border-bottom:1px solid var(--rule)}.quadrant h3{margin:1.25rem 0 .6rem}.quadrant h3 a{text-decoration-thickness:2px}@media(min-width:48em){.quadrants{display:grid;grid-template-columns:1fr 1fr}.quadrant{padding-inline:clamp(1.75rem,3vw,2.75rem)}.quadrant:nth-child(odd){padding-left:0;border-right:1px solid var(--rule)}.quadrant:nth-child(even){padding-right:0}.quadrant:nth-child(n+3){border-bottom:0}}.specs{margin:0;font-family:var(--mono);font-size:.9375rem;line-height:1.5;border-top:1px solid var(--night-rule)}.specs>div{display:grid;grid-template-columns:minmax(8.5rem,1fr)2fr;gap:.25rem 1.5rem;padding-block:.9rem;border-bottom:1px solid var(--night-rule)}.specs dt{color:var(--on-night-2)}.specs dd{margin:0}@media(max-width:30em){.specs>div{grid-template-columns:1fr}}@media(min-width:64em){.specs-full{display:grid;grid-template-columns:1fr 1fr;column-gap:4rem;border-top:0}.specs-full>div:nth-child(-n+2){border-top:1px solid var(--night-rule)}}.case-list{border-top:1px solid var(--rule)}.case-list li{border-bottom:1px solid var(--rule)}.case-list a{display:block;padding-block:1.05rem;font-size:var(--h3);line-height:1.3;font-weight:520;text-decoration-thickness:2px}.toc{padding-bottom:clamp(2.5rem,2rem + 2vw,3.5rem)}.toc-label{margin-bottom:.75rem;font-size:.8125rem;font-weight:520;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}.toc ul{display:flex;flex-wrap:wrap;gap:.5rem 1.75rem}.toc a{display:inline-block;padding-block:.3rem;font-weight:520}.quality-grid{display:grid;gap:2.5rem}@media(min-width:64em){.quality-grid{grid-template-columns:5fr 7fr;gap:4.5rem;align-items:start}}.quality-head h2{margin-top:1.25rem}.quality-head .lead{margin-top:1rem}.quality-image{display:block;margin-top:2rem}.quality-image img{width:100%}.capability+.capability{margin-top:2.5rem;padding-top:2.5rem;border-top:1px solid var(--rule)}.capability h3{margin-bottom:.9rem}.capability p{max-width:38em}.cases{padding-bottom:var(--band)}.case{display:grid;gap:1.5rem;padding-block:clamp(2.5rem,2rem + 2.5vw,4rem);border-top:1px solid var(--rule)}@media(min-width:64em){.case{grid-template-columns:5fr 7fr;gap:4rem}}.case-facts{margin:0}.case-facts>div+div{margin-top:1.5rem}.case-facts dt{margin-bottom:.35rem;font-size:.8125rem;font-weight:520;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}.case-facts dd{margin:0;max-width:40em}.cap-links{display:flex;flex-wrap:wrap;gap:.35rem 1.5rem}.cap-links a{font-weight:520}.wide-image{display:block;margin-bottom:var(--band)}.wide-image img{width:100%}.about-section{padding-block:clamp(2.5rem,2rem + 2.2vw,4.25rem)}.about-section p{max-width:38em}.closing{padding-block:var(--band);background:var(--paper-2);border-top:1px solid var(--rule)}.closing h2{max-width:20ch}.closing .lead{margin-top:1rem}.closing .button{margin-top:1.25rem}.contact-grid{display:grid;gap:3rem;padding-bottom:var(--band)}@media(min-width:64em){.contact-grid{grid-template-columns:8fr 4fr;gap:4.5rem;align-items:start}}.contact-form{display:grid;gap:1.5rem 1.75rem;padding-top:2.5rem;border-top:1px solid var(--rule)}.contact-form h2{font-size:var(--h3);font-weight:560;letter-spacing:0}@media(min-width:40em){.contact-form{grid-template-columns:1fr 1fr}.contact-form h2,.field-wide{grid-column:1/-1}}.field label{display:block;margin-bottom:.45rem;font-weight:540}.optional{font-weight:400;color:var(--ink-2)}input[type=text],input[type=email],input[type=tel],textarea{display:block;width:100%;padding:.75rem .875rem;background:var(--field-bg);color:var(--ink);border:1px solid var(--field-border);border-radius:2px;font:inherit;font-size:1rem;line-height:1.45}textarea{resize:vertical;min-height:10rem}input:focus-visible,textarea:focus-visible{outline-offset:1px;border-color:var(--ink)}.hint{margin:.45rem 0 0;font-size:var(--small);color:var(--ink-2)}.notes p{font-size:var(--small);color:var(--ink-2);max-width:46em}.notes p+p{margin-top:.5rem}.hp{position:absolute;left:-1e4px;width:1px;height:1px;overflow:hidden}.status{display:none;margin-bottom:2rem;padding:1.25rem 1.5rem;background:var(--field-bg);border-left:4px solid var(--ink)}.status:target{display:block}.status-error{border-left-color:var(--signal)}.status h2{font-size:var(--h3);font-weight:560;letter-spacing:0;margin-bottom:.4rem}.contact-aside{padding-top:2.5rem;border-top:1px solid var(--rule)}.contact-aside h2{font-size:var(--h3);font-weight:560;letter-spacing:0;margin-bottom:.6rem}.phone{font-weight:560;white-space:nowrap}.legal{padding-block:clamp(3rem,2.2rem + 3.5vw,5.5rem)var(--band)}.legal h1{margin-bottom:2rem}.legal h2{font-size:var(--h3);font-weight:560;letter-spacing:0;margin:2.25rem 0 .75rem}.legal p,.legal li{max-width:42em}.updated{margin-top:2.5rem;font-size:var(--small);color:var(--ink-2)}.link-list{margin-top:2rem;display:grid;gap:.5rem}.link-list a{font-weight:520}.not-found{padding-bottom:var(--band)}.site-footer{background:var(--night);color:var(--on-night);padding-block:clamp(3rem,2.4rem + 2.5vw,4.5rem)2rem}.site-footer a{text-decoration-color:var(--signal-night)}.site-footer a:hover{color:var(--signal-night)}.site-footer :focus-visible{outline-color:var(--signal-night)}.footer-grid{display:grid;gap:2rem}@media(min-width:48em){.footer-grid{grid-template-columns:2fr 1fr 1fr 1.4fr;gap:2.5rem}}.brand-footer{color:var(--on-night);margin:0}.descriptor{margin-top:.6rem;color:var(--on-night-2);font-size:var(--small)}.footer-nav li+li{margin-top:.35rem}.footer-nav a{text-decoration:none}.footer-nav a:hover{text-decoration:underline}.footer-contact p{color:var(--on-night-2)}.footer-contact a{color:var(--on-night);font-weight:520;white-space:nowrap}.footer-base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 2rem;margin-top:clamp(2.5rem,2rem + 2vw,3.5rem);padding-top:1.5rem;border-top:1px solid var(--night-rule);font-size:var(--small);color:var(--on-night-2)}.footer-base p{margin:0}@media(forced-colors:active){.mark .q,.mark .q-lit{fill:CanvasText}.button{border-color:ButtonText}.status{border:1px solid CanvasText}}@media print{.site-header nav,.site-footer,.closing,.skip{display:none}body{background:#fff}.night{background:#fff;color:#000}}