@font-face{font-family:Archivo;font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url(../media/af21ab248943f479-s.3gj6ciom31zjc.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo;font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url(../media/4ae66b896b591e96-s.0_kz_z3o_slvt.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo;font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url(../media/21ca8f3f56c22ca2-s.p.1cp9-4nby68jc.woff2)format("woff2");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:Archivo Fallback;src:local(Arial);ascent-override:88.96%;descent-override:21.28%;line-gap-override:0.0%;size-adjust:98.7%}.archivo_db9691e5-module__y_R7fW__className{font-family:Archivo,Archivo Fallback;font-style:normal}.archivo_db9691e5-module__y_R7fW__variable{--font-archivo:"Archivo", "Archivo Fallback"}
:root{--paper:#f1f2f4;--paper-2:#e5e8eb;--steel:#c3c8ce;--ink:#1d2226;--ink-2:#4a535a;--crimson:#d0161e;--crimson-deep:#a30f15;--graphite:#23282c;--graphite-2:#353c42;--highlight:#e8eaed;--on-dark:#f1f2f4;--on-dark-2:#aeb5bb;--font:var(--font-archivo), "Helvetica Neue", Arial, sans-serif;--wide:125%;--semi-wide:112%;--radius:4px;--header-h:72px;--ease-out:cubic-bezier(.16, 1, .3, 1);--section-y:clamp(72px, 10vw, 128px)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:1.0625rem;line-height:1.6}img{max-width:100%;display:block}h1,h2,h3{font-stretch:var(--wide);letter-spacing:-.015em;line-height:1.05}h2{font-size:clamp(2rem,4vw,2.75rem);font-weight:800}h3{font-stretch:var(--semi-wide);letter-spacing:-.005em;font-size:1.1875rem;font-weight:700;line-height:1.25}:focus-visible{outline:2px solid var(--crimson);outline-offset:3px}.container{max-width:1200px;margin:0 auto;padding:0 32px}section[id]{scroll-margin-top:var(--header-h)}.navbar{z-index:1000;-webkit-backdrop-filter:saturate(1.4)blur(14px);border-bottom:1px solid var(--steel);background:#f1f2f4e0;width:100%;position:fixed;top:0}.nav-container{max-width:1200px;height:var(--header-h);justify-content:space-between;align-items:center;margin:0 auto;padding:0 32px;display:flex}.nav-logo{align-items:center;gap:10px;text-decoration:none;display:flex}.nav-logo .logo{width:auto;height:38px}.company-name{font-family:var(--font);font-stretch:var(--wide);letter-spacing:-.01em;color:var(--ink);font-size:1.125rem;font-weight:800}.nav-menu{gap:2rem;list-style:none;display:flex}.nav-menu a,.nav-menu span{color:var(--ink-2);padding:6px 0;font-size:.9375rem;font-weight:500;text-decoration:none;transition:color .2s;display:inline-block;position:relative}.nav-menu a:hover{color:var(--ink)}.nav-menu a.active,.nav-menu span.active{color:var(--ink);font-weight:600}.nav-menu a.active:after,.nav-menu span.active:after{content:"";background:var(--crimson);height:2px;position:absolute;bottom:-2px;left:0;right:0}.hamburger{cursor:pointer;background:0 0;border:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:0 10px;display:none}.hamburger span{background:var(--ink);height:2px;transition:transform .25s var(--ease-out), opacity .2s ease;display:block}.hamburger.active span:first-child{transform:translateY(7px)rotate(45deg)}.hamburger.active span:nth-child(2){opacity:0}.hamburger.active span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.btn{border-radius:var(--radius);font-family:var(--font);cursor:pointer;border:1.5px solid #0000;padding:14px 24px;font-size:.9375rem;font-weight:600;text-decoration:none;transition:background-color .2s,border-color .2s,color .2s;display:inline-block}.btn-primary{background:var(--crimson);color:#fff}.btn-primary:hover{background:var(--crimson-deep)}.btn-secondary{color:var(--ink);border-color:var(--ink);background:0 0}.btn-secondary:hover{background:var(--ink);color:var(--paper)}.cta-buttons{flex-wrap:wrap;gap:12px;display:flex}.hero{padding:calc(var(--header-h) + clamp(48px, 7vw, 96px)) 0 clamp(64px, 9vw, 112px);background:var(--paper)}.hero-grid{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:start;column-gap:clamp(40px,6vw,88px);display:grid}.hero h1{letter-spacing:-.03em;grid-column:1/-1;max-width:19ch;margin-bottom:clamp(32px,4vw,56px);font-size:clamp(2.5rem,5.6vw,5.25rem);font-weight:800;line-height:.98}.hero-lede{color:var(--ink-2);max-width:34em;margin-bottom:2.25rem;font-size:1.1875rem;line-height:1.55}.hero-record{background:var(--graphite);color:var(--on-dark);border-radius:var(--radius);border-top:4px solid var(--crimson);padding:4px 28px}.record-row{grid-template-columns:6rem 1fr;align-items:baseline;gap:16px;padding:14px 0;display:grid}.record-row+.record-row{border-top:1px solid #aeb5bb40}.record-row dt{font-stretch:var(--wide);color:var(--highlight);white-space:nowrap;font-size:1.5rem;font-weight:800;line-height:1.1}.record-row dd{color:var(--on-dark-2);font-size:.9375rem;line-height:1.45}@keyframes rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}.hero h1,.hero-lede,.hero .cta-buttons,.hero-record{animation:rise .8s var(--ease-out) both}.hero-lede{animation-delay:80ms}.hero .cta-buttons{animation-delay:.16s}.hero-record{animation-delay:.3s}.services{padding:var(--section-y) 0;background:var(--paper);border-top:1px solid var(--steel)}.services-layout{grid-template-columns:minmax(0,1fr) minmax(0,2fr);align-items:start;gap:clamp(40px,6vw,96px);display:grid}.services-intro{top:calc(var(--header-h) + 32px);position:sticky}.services-intro h2{margin-bottom:1rem}.services-intro p{color:var(--ink-2);max-width:26em}.services-list{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:48px;list-style:none;display:grid}.service-row{border-top:1px solid var(--steel);padding:28px 0 32px}.service-icon{width:28px;height:28px;color:var(--crimson);margin-bottom:16px}.service-row h3{margin-bottom:8px}.service-row p{color:var(--ink-2);font-size:1rem}.how-we-work{background:var(--graphite);color:var(--on-dark);padding:calc(var(--section-y) + 32px) 0 var(--section-y);clip-path:polygon(0 40px,50% 0,100% 40px,100% 100%,0 100%);margin-top:-1px;position:relative}.how-we-work h2{margin-bottom:clamp(40px,5vw,64px)}.how-we-work :focus-visible{outline-color:var(--highlight)}.process-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;list-style:none;display:grid}.process-step{border-top:2px solid var(--graphite-2);padding-top:20px;position:relative}.process-step:before{content:"";background:var(--crimson);width:40px;height:2px;position:absolute;top:-2px;left:0}.step-number{font-stretch:var(--wide);color:var(--highlight);margin-bottom:20px;font-size:2.75rem;font-weight:800;line-height:1;display:block}.process-step h3{margin-bottom:8px}.process-step p{color:var(--on-dark-2);font-size:1rem}.featured{padding:var(--section-y) 0;background:var(--paper-2)}.featured-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(40px,6vw,88px);display:grid}.featured-kicker{color:var(--crimson-deep);margin-bottom:8px;font-size:.9375rem;font-weight:600}.featured-copy h2{margin-bottom:12px;font-size:clamp(2.75rem,5.5vw,4rem)}.featured-tagline{color:var(--ink);margin-bottom:1rem;font-size:1.1875rem;font-weight:500}.featured-copy>p:not(.featured-kicker):not(.featured-tagline){color:var(--ink-2);max-width:34em}.featured-metrics{border-top:1px solid var(--steel);grid-template-columns:repeat(4,auto);justify-content:start;gap:8px 36px;margin:32px 0 36px;padding-top:24px;display:grid}.featured-metrics dt{font-stretch:var(--wide);font-size:1.75rem;font-weight:800;line-height:1.1}.featured-metrics dd{color:var(--ink-2);font-size:.875rem}.featured-visual{background:var(--graphite);border-radius:var(--radius);aspect-ratio:5/4;justify-content:center;align-items:center;gap:20px;padding:40px;display:flex;position:relative;overflow:hidden}.shot{object-fit:contain;border-radius:10px;height:auto;box-shadow:0 24px 48px -12px #00000073}.shot-main{width:52%;max-height:100%}.shot-side{width:34%;max-height:88%;transform:translateY(24px)}.about{padding:var(--section-y) 0;background:var(--paper-2)}.about-grid{grid-template-columns:minmax(0,1fr) minmax(0,2fr);align-items:start;gap:clamp(40px,6vw,96px);display:grid}.about-visual{justify-content:center;display:flex}.about-logo{width:min(100%,200px);height:auto}.about-photo{aspect-ratio:1;object-fit:cover;border-radius:var(--radius);border-bottom:4px solid var(--crimson);width:min(100%,200px);height:auto}.about h2{margin-bottom:1rem}.about-lead{max-width:30em;margin-bottom:1.25rem;font-size:1.3125rem;font-weight:500;line-height:1.45}.about-text>p:not(.about-lead):not(.about-links){color:var(--ink-2);max-width:36em;margin-bottom:1rem}.stack-heading{margin-top:2rem;margin-bottom:12px;font-size:1rem}.stack-list{flex-wrap:wrap;gap:8px;list-style:none;display:flex}.stack-list li{border:1px solid var(--steel);border-radius:var(--radius);background:#fff;padding:6px 12px;font-size:.875rem;font-weight:500}.about-links{flex-wrap:wrap;gap:8px 24px;margin-top:1.75rem;display:flex}.about-links a{color:var(--crimson-deep);text-underline-offset:3px;font-weight:600;text-decoration:underline}.about-links a:hover{color:var(--ink)}.work{padding:var(--section-y) 0;background:var(--paper)}.work-intro{max-width:40em;margin-bottom:clamp(32px,4vw,48px)}.work-intro h2{margin-bottom:1rem}.work-intro p{color:var(--ink-2)}.work-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 40px;list-style:none;display:grid}.work-item{border-top:2px solid var(--ink);padding-top:24px}.work-item h3{margin-bottom:16px}.work-figure{flex-direction:column;margin-bottom:16px;display:flex}.work-figure strong{font-stretch:var(--wide);color:var(--crimson);font-size:2rem;font-weight:800;line-height:1.1}.work-figure span{color:var(--ink-2);font-size:.875rem}.work-item>p:last-child{color:var(--ink-2);font-size:1rem}.contact{padding:var(--section-y) 0;background:var(--crimson);color:#fff}.contact h2{max-width:16ch;margin-bottom:1.25rem;font-size:clamp(2.25rem,5vw,3.75rem)}.contact-lede{color:#ffffffe0;max-width:34em;margin-bottom:2.5rem;font-size:1.1875rem}.btn-light{color:var(--crimson-deep);background:#fff;padding:16px 28px;font-size:1rem}.btn-light:hover{background:var(--paper-2)}.contact-alt{color:#ffffffe0;flex-wrap:wrap;gap:8px 28px;margin-top:1.75rem;display:flex}.contact-alt a{color:#fff;text-underline-offset:3px;font-weight:600;text-decoration:underline}.contact :focus-visible{outline-color:#fff}footer{background:var(--ink);color:var(--on-dark-2);padding:28px 0}.footer-content{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.footer-logo{align-items:center;gap:10px;display:flex}.footer-logo .logo{width:auto;height:28px}.footer-logo span{font-stretch:var(--wide);color:var(--on-dark);font-weight:700}footer p{font-size:.875rem}.footer-brand{align-items:center;gap:18px;display:flex}.footer-social{color:var(--on-dark-2);border-radius:var(--radius);padding:4px;transition:color .2s;display:inline-flex}.footer-social:hover{color:var(--on-dark)}footer :focus-visible{outline-color:var(--highlight)}.case-study-hero{background:var(--graphite);color:var(--on-dark);padding:calc(var(--header-h) + clamp(56px, 8vw, 104px)) 0 clamp(56px, 8vw, 96px)}.case-study-kicker{color:var(--highlight);margin-bottom:8px;font-size:.9375rem;font-weight:600}.case-study-hero h1{letter-spacing:-.035em;animation:rise .8s var(--ease-out) both;margin-bottom:1.5rem;font-size:clamp(3.5rem,11vw,8.5rem);font-weight:800;line-height:.92}.case-study-lede{color:var(--on-dark-2);max-width:30em;animation:rise .8s var(--ease-out) 80ms both;margin-bottom:clamp(40px,5vw,64px);font-size:clamp(1.1875rem,2vw,1.4375rem);line-height:1.45}.impact-cards{animation:rise .8s var(--ease-out) .18s both;border-top:1px solid #aeb5bb4d;grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.impact-cards>div{padding:40px 24px 0 0;position:relative}.impact-cards>div:before{content:"";background:var(--crimson);width:40px;height:2px;position:absolute;top:24px;left:0}.impact-cards dt{font-stretch:var(--semi-wide);color:var(--highlight);margin-bottom:8px;font-size:1.125rem;font-weight:800;line-height:1.2}.impact-cards dd{color:var(--on-dark-2);font-size:.9375rem;line-height:1.5}.platform-scale{background:var(--paper-2);padding:clamp(56px,7vw,88px) 0}.platform-scale h2{margin-bottom:1rem;font-size:clamp(1.75rem,3.4vw,2.25rem)}.platform-scale-copy{color:var(--ink-2);max-width:30em}.platform-scale-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px;display:grid}.platform-scale-list>div{border-top:1px solid var(--steel);padding:18px 0}.platform-scale-list dt{font-stretch:var(--wide);color:var(--ink-2);font-size:clamp(1.5rem,2.6vw,2rem);font-weight:700;line-height:1.1}.platform-scale-list dd{color:var(--ink-2);font-size:.9375rem}.outcomes-intro{color:var(--ink-2);max-width:40em;margin:-1rem 0 2.5rem}.outcomes-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 56px;list-style:none;display:grid}.outcomes-list .work-item p{color:var(--ink-2);max-width:36em}.key-achievements .work-item h3{color:var(--crimson-deep);margin-bottom:16px;font-size:1.1875rem;line-height:1.25}.case-study-overview{padding:var(--section-y) 0;background:var(--paper)}.overview-content{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:start;gap:clamp(40px,6vw,88px);display:grid}.overview-text h2{margin-bottom:1.5rem}.overview-text p{color:var(--ink-2);max-width:36em;margin-bottom:1.25rem}.timeline{border-left:2px solid var(--steel);margin-top:8px;list-style:none}.timeline-phase{padding:0 0 36px 32px;position:relative}.timeline-phase:last-child{padding-bottom:0}.timeline-phase:before{content:"";background:var(--crimson);width:12px;height:12px;position:absolute;top:4px;left:-7px}.timeline-when{color:var(--crimson-deep);margin-bottom:4px;font-size:.9375rem;font-weight:600}.timeline-phase h3{margin-bottom:8px}.overview-text .timeline-phase p:last-child{margin-bottom:0}.overview-visual{top:calc(var(--header-h) + 32px);position:sticky}.overview-screenshot{border-radius:10px;width:100%;height:auto;box-shadow:0 24px 48px -16px #0000004d}.technical-architecture{padding:var(--section-y) 0;background:var(--paper-2)}.technical-architecture h2{margin-bottom:clamp(32px,4vw,48px)}.architecture-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 48px;display:grid}.tech-category{border-top:1px solid var(--steel);padding:28px 0 36px}.tech-category h3{margin-bottom:12px}.tech-items{flex-wrap:wrap;gap:6px;margin-bottom:16px;display:flex}.tech-item{background:var(--graphite);color:var(--on-dark);border-radius:var(--radius);padding:4px 10px;font-size:.8125rem;font-weight:500}.tech-category p{color:var(--ink-2);max-width:34em;font-size:1rem}.app-showcase{padding:var(--section-y) 0;background:var(--graphite);color:var(--on-dark)}.app-showcase h2{margin-bottom:clamp(32px,4vw,56px)}.screenshot-gallery{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:24px;display:grid}.screenshot-item{flex-direction:column;gap:14px;display:flex}.gallery-screenshot{aspect-ratio:9/16;object-fit:cover;border-radius:10px;width:100%;height:auto;box-shadow:0 20px 40px -12px #00000080}.screenshot-item figcaption{color:var(--on-dark-2);font-size:.9375rem}.key-achievements{padding:var(--section-y) 0;background:var(--paper)}.key-achievements h2{margin-bottom:clamp(32px,4vw,48px)}.results-list{row-gap:40px}.project-cta{padding:var(--section-y) 0;background:var(--crimson);color:#fff}.cta-content h2{max-width:18ch;margin-bottom:1rem;font-size:clamp(2.25rem,5vw,3.5rem)}.cta-content p{color:#ffffffe0;max-width:34em;margin-bottom:2rem;font-size:1.1875rem}.project-cta .btn-primary{color:var(--crimson-deep);background:#fff}.project-cta .btn-primary:hover{background:var(--paper-2)}.project-cta :focus-visible{outline-color:#fff}.text-link{color:var(--crimson-deep);text-underline-offset:3px;margin-top:1rem;font-weight:600;text-decoration:underline;display:inline-block}.text-link:hover{color:var(--ink)}.service-row h3 a,.services-index-item h2 a{color:inherit;text-decoration:none}.service-row h3 a:hover,.services-index-item h2 a:hover{color:var(--crimson-deep);text-underline-offset:4px;text-decoration:underline}.page-hero{padding:calc(var(--header-h) + clamp(48px, 7vw, 96px)) 0 clamp(56px, 7vw, 88px);background:var(--paper);border-bottom:1px solid var(--steel)}.page-kicker{margin-bottom:12px;font-size:.9375rem;font-weight:600}.page-kicker a{color:var(--crimson-deep);text-decoration:none}.page-kicker a:hover{text-underline-offset:3px;text-decoration:underline}.page-hero h1{letter-spacing:-.03em;max-width:18ch;animation:rise .8s var(--ease-out) both;margin-bottom:1.5rem;font-size:clamp(2.5rem,5.6vw,4.75rem);font-weight:800;line-height:.98}.page-lede{color:var(--ink-2);max-width:34em;animation:rise .8s var(--ease-out) 80ms both;margin-bottom:2.25rem;font-size:1.1875rem;line-height:1.55}.page-price{border-left:3px solid var(--crimson);animation:rise .8s var(--ease-out) .12s both;margin:-1rem 0 2rem;padding-left:14px;font-weight:600}.price-panel{background:var(--graphite);color:var(--on-dark);border-top:4px solid var(--crimson);border-radius:var(--radius);max-width:36em;margin-bottom:2rem;padding:24px 28px}.price-headline{font-stretch:var(--wide);margin-bottom:8px;font-size:clamp(1.5rem,3vw,2rem);font-weight:800;line-height:1.1}.price-panel p:last-child{color:var(--on-dark-2);font-size:1rem}.services-index-item .services-index-price{color:var(--ink);margin-top:12px;font-weight:600}.page-hero .cta-buttons{animation:rise .8s var(--ease-out) .16s both}.split{grid-template-columns:minmax(0,1fr) minmax(0,2fr);align-items:start;gap:clamp(32px,6vw,96px);display:grid}.service-signs,.service-scope,.service-deliverables,.service-details{padding:var(--section-y) 0;background:var(--paper)}.service-scope,.service-deliverables{border-top:1px solid var(--steel)}.service-scope .services-list .service-row h3{margin-bottom:8px}.check-list{list-style:none}.check-list li{border-top:1px solid var(--steel);padding:14px 0 14px 32px;font-size:1.0625rem;position:relative}.check-list li:last-child{border-bottom:1px solid var(--steel)}.check-list li:before{content:"";border-left:2px solid var(--crimson);border-bottom:2px solid var(--crimson);width:12px;height:7px;position:absolute;top:1.25em;left:2px;transform:rotate(-45deg)}.service-proof{padding:var(--section-y) 0;background:var(--paper-2)}.service-proof h2{margin-bottom:clamp(32px,4vw,48px)}.service-proof .work-item h3{color:var(--crimson-deep);margin-bottom:16px;font-size:1.1875rem;line-height:1.25}.details-lede{max-width:36em;margin-bottom:2.5rem;font-size:1.125rem;line-height:1.6}.faq-heading{margin-bottom:8px}.faq{border-top:1px solid var(--steel)}.faq:last-child{border-bottom:1px solid var(--steel)}.faq summary{cursor:pointer;padding:16px 40px 16px 0;font-weight:600;list-style:none;position:relative}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"";border-right:2px solid var(--ink);border-bottom:2px solid var(--ink);width:9px;height:9px;transition:transform .2s var(--ease-out);position:absolute;top:50%;right:8px;transform:translateY(-70%)rotate(45deg)}.faq[open] summary:after{transform:translateY(-30%)rotate(-135deg)}.faq p{color:var(--ink-2);max-width:36em;padding-bottom:18px}.other-services{background:var(--paper);border-top:1px solid var(--steel);padding:clamp(56px,7vw,88px) 0}.other-services h2{margin-bottom:24px;font-size:clamp(1.5rem,3vw,2rem)}.other-services-list{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:28px 40px;list-style:none;display:grid}.other-services-list li{border-top:2px solid var(--ink);padding-top:20px}.other-services-list a{font-stretch:var(--semi-wide);color:var(--ink);font-size:1.1875rem;font-weight:700;text-decoration:none}.other-services-list a:hover{color:var(--crimson-deep);text-underline-offset:4px;text-decoration:underline}.other-services-list p{color:var(--ink-2);margin-top:8px;font-size:.9375rem}.services-index{padding:var(--section-y) 0 calc(var(--section-y) / 2);background:var(--paper)}.services-other{padding:calc(var(--section-y) / 2) 0 var(--section-y);background:var(--paper)}.services-other .details-lede{margin-bottom:0}.services-additional{padding-top:var(--section-y);border-top:1px solid var(--steel)}.services-additional h3{margin-bottom:8px}.services-index-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 56px;list-style:none;display:grid}.services-index-item{border-top:2px solid var(--ink);padding:32px 0 40px}.services-index-item h2{margin-bottom:12px;font-size:clamp(1.5rem,2.6vw,2rem);line-height:1.1}.services-index-item p{color:var(--ink-2);max-width:34em}@media (max-width:1024px){.hero-grid,.featured-grid{grid-template-columns:minmax(0,1fr);align-items:start}.hero-copy{margin-bottom:48px}.hero-record{max-width:560px}.process-list{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:48px}.screenshot-gallery{grid-template-columns:repeat(2,minmax(0,1fr));max-width:560px}.work-list{grid-template-columns:minmax(0,1fr);row-gap:40px;max-width:40em}.impact-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:768px){.container,.nav-container{padding:0 20px}.hamburger{display:flex}.nav-menu{top:var(--header-h);background:var(--paper);border-bottom:1px solid var(--steel);opacity:0;visibility:hidden;transition:transform .25s var(--ease-out), opacity .2s ease, visibility 0s linear .25s;flex-direction:column;gap:0;padding:8px 20px 16px;position:fixed;left:0;right:0;transform:translateY(-8px)}.nav-menu.active{opacity:1;visibility:visible;transition:transform .25s var(--ease-out), opacity .2s ease;transform:none}.nav-menu li+li{border-top:1px solid var(--paper-2)}.nav-menu a,.nav-menu span{padding:14px 0;font-size:1.0625rem;display:block}.nav-menu a.active:after,.nav-menu span.active:after{width:3px;height:auto;inset:12px auto 12px -20px}.services-layout,.about-grid,.overview-content{grid-template-columns:minmax(0,1fr)}.services-intro,.overview-visual{position:static}.split,.services-index-list,.other-services-list{grid-template-columns:minmax(0,1fr)}.other-services-list{row-gap:28px}.services-list,.architecture-grid{grid-template-columns:minmax(0,1fr)}.how-we-work{clip-path:polygon(0 20px,50% 0,100% 20px,100% 100%,0 100%)}.about-visual{justify-content:flex-start}.about-photo,.about-logo{width:120px}.featured-metrics{grid-template-columns:repeat(2,auto);gap:16px 40px}.featured-visual{aspect-ratio:auto;padding:32px 24px}}@media (max-width:480px){.hero .cta-buttons{flex-direction:column;align-items:stretch}.btn{text-align:center}.hero-record{padding:4px 20px}.record-row{grid-template-columns:minmax(0,1fr);gap:2px;padding:16px 0}.process-list{grid-template-columns:minmax(0,1fr);row-gap:36px}.impact-cards,.outcomes-list{grid-template-columns:minmax(0,1fr)}.footer-content{flex-direction:column;align-items:flex-start}}.card-hero{padding:calc(var(--header-h) + clamp(40px, 6vw, 88px)) 0 clamp(56px, 8vw, 104px);background:var(--paper)}.card-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:center;gap:clamp(32px,6vw,88px);display:grid}.card-hero h1{letter-spacing:-.035em;animation:rise .8s var(--ease-out) both;margin-bottom:1.5rem;font-size:clamp(2.75rem,7vw,5.5rem);font-weight:800;line-height:.95}.card-lede{color:var(--ink-2);max-width:32em;animation:rise .8s var(--ease-out) 80ms both;font-size:1.1875rem;line-height:1.55}.card-back{background:var(--graphite);color:var(--on-dark);border-radius:var(--radius);border-top:4px solid var(--crimson);box-shadow:0 1px 0 var(--steel), 0 24px 48px -24px #1d222673;animation:rise .8s var(--ease-out) .2s both;padding:clamp(24px,3vw,32px)}.card-id{border-bottom:1px solid #aeb5bb40;align-items:center;gap:16px;margin-bottom:24px;padding-bottom:24px;display:flex}.card-logo{flex:none;width:52px;height:auto}.card-name{font-stretch:var(--wide);letter-spacing:-.01em;font-size:1.5rem;font-weight:800;line-height:1.1}.card-org{color:var(--highlight);font-weight:600}.card-role{color:var(--on-dark-2);margin-top:2px;font-size:.9375rem}.card-book{text-align:center;padding:16px 24px;font-size:1rem;display:block}.card-back :focus-visible{outline-color:var(--highlight)}.card-actions{margin-top:12px;list-style:none}.card-actions li+li{border-top:1px solid #aeb5bb40}.card-actions a{color:var(--on-dark);justify-content:space-between;align-items:baseline;gap:16px;padding:16px 0;text-decoration:none;display:flex}.card-action-label{white-space:nowrap;font-weight:600}.card-action-detail{color:var(--on-dark-2);text-align:right;overflow-wrap:anywhere;font-size:.9375rem}.card-actions a:hover .card-action-label{text-underline-offset:3px;text-decoration:underline}.card-actions a:hover .card-action-detail{color:var(--on-dark)}.card-services,.card-proof{border-top:1px solid var(--steel);padding:clamp(56px,8vw,104px) 0}.card-services{background:var(--paper-2)}.card-proof{background:var(--paper)}.card-services h2,.card-proof h2{margin-bottom:1rem}.card-services-intro,.card-proof p{color:var(--ink-2);max-width:30em}.card-service-list{border-bottom:1px solid var(--steel);list-style:none}.card-service-list a{border-top:1px solid var(--steel);color:var(--ink);justify-content:space-between;align-items:baseline;gap:24px;padding:18px 0;text-decoration:none;display:flex}.card-service-name{font-stretch:var(--semi-wide);font-size:1.125rem;font-weight:700}.card-service-price{color:var(--ink-2);text-align:right;white-space:nowrap;font-size:.9375rem}.card-service-list a:hover .card-service-name{color:var(--crimson-deep)}@media (max-width:768px){.card-grid{grid-template-columns:minmax(0,1fr);gap:28px}.card-hero{padding-top:calc(var(--header-h) + 32px)}.card-hero h1{margin-bottom:1rem;font-size:clamp(2.5rem,12vw,3.25rem)}.card-lede{font-size:1.0625rem}.card-service-list a{flex-direction:column;gap:2px}.card-service-price{text-align:left;white-space:normal}}@media (max-width:480px){.card-actions a{flex-direction:column;gap:2px}.card-action-detail{text-align:left}}.car-hero{background:var(--graphite);color:var(--on-dark);padding:calc(var(--header-h) + clamp(56px, 9vw, 120px)) 0 calc(clamp(64px, 9vw, 120px) + 40px);clip-path:polygon(0 0,100% 0,100% calc(100% - 40px),50% 100%,0 calc(100% - 40px))}.car-hero h1{letter-spacing:-.04em;max-width:13ch;animation:rise .8s var(--ease-out) both;margin-bottom:clamp(24px,3vw,40px);font-size:clamp(2.75rem,8.5vw,7rem);font-weight:800;line-height:.92}.car-lede{color:var(--highlight);max-width:32em;animation:rise .8s var(--ease-out) .1s both;font-size:clamp(1.125rem,2vw,1.375rem);line-height:1.5}.car-aside{color:var(--on-dark-2);animation:rise .8s var(--ease-out) .2s both;margin-top:1rem;font-size:.9375rem}.car-problems{padding:var(--section-y) 0;background:var(--paper)}.car-problems h2{margin-bottom:1rem}.car-problems-intro{color:var(--ink-2);max-width:24em}.car-problem-list{border-bottom:1px solid var(--steel);list-style:none}.car-problem-list a{border-top:1px solid var(--steel);color:var(--ink);padding:22px 0;text-decoration:none;display:block}.car-problem-line{font-stretch:var(--semi-wide);margin-bottom:6px;font-size:clamp(1.125rem,2vw,1.375rem);font-weight:700;line-height:1.3;display:block}.car-problem-service{color:var(--crimson-deep);font-size:.9375rem;font-weight:600}.car-problem-list a:hover .car-problem-service{text-underline-offset:3px;text-decoration:underline}.car-proof{padding:var(--section-y) 0;background:var(--paper-2);border-top:1px solid var(--steel)}.car-proof-grid{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:center;gap:clamp(40px,6vw,96px);display:grid}.car-proof h2{margin-bottom:1rem}.car-proof-copy{color:var(--ink-2);max-width:34em;margin-bottom:2rem}.car-record{max-width:34em}.car-proof-link{margin-top:1.25rem}.car-proof-shot{border:8px solid var(--graphite);border-radius:20px;justify-self:center;width:min(100%,300px);height:auto;box-shadow:0 32px 64px -32px #1d222699}.car-cta{padding:var(--section-y) 0;background:var(--crimson);color:#fff}.car-cta h2{max-width:16ch;margin-bottom:1rem}.car-cta-lede{color:#ffffffe6;max-width:32em;margin-bottom:2rem;font-size:1.125rem}.car-cta-buttons{flex-wrap:wrap;gap:12px;margin-bottom:1.5rem;display:flex}.btn-outline-light{color:#fff;background:0 0;border-color:#fff;padding:16px 28px;font-size:1rem}.btn-outline-light:hover{color:var(--crimson-deep);background:#fff}.car-cta-alt a{color:#fff;text-underline-offset:3px;font-weight:600}.car-footnote{color:#ffffffd9;border-top:1px solid #ffffff59;margin-top:2.5rem;padding-top:1.25rem;font-size:.9375rem}.car-cta :focus-visible{outline-color:#fff}@media (max-width:768px){.car-proof-grid{grid-template-columns:minmax(0,1fr)}.car-proof-shot{width:min(70%,260px)}}@media (max-width:480px){.car-cta-buttons{flex-direction:column;align-items:stretch}}.print-hero{padding:calc(var(--header-h) + clamp(48px, 7vw, 96px)) 0 clamp(56px, 8vw, 104px);background-color:var(--paper);border-bottom:1px solid var(--steel);background-image:repeating-linear-gradient(#0000 0 7px,#c3c8ce52 7px 8px)}.print-hero-grid{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:end;gap:clamp(32px,6vw,88px);display:grid}.print-hero h1{letter-spacing:-.035em;max-width:11ch;animation:rise .8s var(--ease-out) both;margin-bottom:1.5rem;font-size:clamp(2.75rem,7vw,5.75rem);font-weight:800;line-height:.95}.print-lede{color:var(--ink-2);max-width:32em;animation:rise .8s var(--ease-out) 80ms both;margin-bottom:2rem;font-size:1.1875rem;line-height:1.55}.print-facts{background:var(--graphite);color:var(--on-dark);border-radius:var(--radius);border-top:4px solid var(--crimson);animation:rise .8s var(--ease-out) .2s both;padding:4px 24px}.print-facts>div{padding:16px 0}.print-facts>div+div{border-top:1px solid #aeb5bb40}.print-facts dt{font-stretch:var(--wide);color:var(--highlight);font-size:1.375rem;font-weight:800;line-height:1.15}.print-facts dd{color:var(--on-dark-2);font-size:.9375rem;line-height:1.45}.print-ways{padding:var(--section-y) 0;background:var(--paper)}.print-ways h2{margin-bottom:clamp(28px,4vw,48px)}.print-ways-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;list-style:none;display:grid}.print-ways-list li{border-top:2px solid var(--ink);padding-top:18px}.print-ways-list h3{margin-bottom:8px}.print-ways-list p{color:var(--ink-2)}.print-details{padding:var(--section-y) 0;background:var(--paper-2);border-top:1px solid var(--steel)}.print-details-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:clamp(40px,6vw,96px);display:grid}.print-details h2{margin-bottom:1.25rem}.print-materials{border-top:1px solid var(--steel)}.print-materials>div{border-bottom:1px solid var(--steel);grid-template-columns:5rem 1fr;gap:16px;padding:14px 0;display:grid}.print-materials dt{font-stretch:var(--wide);font-weight:800}.print-materials dd{color:var(--ink-2)}.print-note{color:var(--ink-2);margin-top:1rem}.print-terms h3{margin:1.5rem 0 .375rem}.print-terms h3:first-child{margin-top:0}.print-terms p{color:var(--ink-2)}.print-quote{padding:var(--section-y) 0;background:var(--paper);border-top:1px solid var(--steel)}.print-quote h2{margin-bottom:.75rem}.print-quote-lede{color:var(--ink-2);max-width:36em;margin-bottom:2rem}.print-software{background:var(--paper-2);border-top:1px solid var(--steel);padding:40px 0}.print-software p{color:var(--ink-2)}.print-software .text-link{margin-top:0}.quote-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px 24px;max-width:820px;display:grid}.quote-wide{grid-column:1/-1}.quote-form fieldset{border:none}.quote-form legend,.quote-field>span,.quote-label{margin-bottom:6px;font-size:.9375rem;font-weight:600;display:block}.quote-field em{color:var(--ink-2);font-style:normal;font-weight:400}.quote-form input:not([type=radio]):not([type=file]),.quote-form select,.quote-form textarea{width:100%;font:400 1rem/1.4 var(--font);color:var(--ink);border:1px solid var(--steel);border-radius:var(--radius);background:#fff;padding:11px 12px}.quote-form input:focus,.quote-form select:focus,.quote-form textarea:focus{outline:2px solid var(--crimson);outline-offset:1px;border-color:var(--ink)}.quote-form [aria-invalid=true]{border-color:var(--crimson-deep)}.quote-types{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.quote-types legend{grid-column:1/-1}.quote-type{border:1px solid var(--steel);border-radius:var(--radius);cursor:pointer;background:#fff;padding:14px 16px;display:block;position:relative}.quote-type.selected{border-color:var(--ink);box-shadow:inset 0 3px 0 var(--crimson)}.quote-type input{opacity:0;pointer-events:none;position:absolute}.quote-type:has(input:focus-visible){outline:2px solid var(--crimson);outline-offset:2px}.quote-type-label{font-weight:700;font-stretch:var(--semi-wide);display:block}.quote-type-hint{color:var(--ink-2);margin-top:2px;font-size:.875rem;display:block}.quote-drop{text-align:center;border:1.5px dashed var(--steel);border-radius:var(--radius);cursor:pointer;background:#fff;padding:22px 16px;display:block;position:relative}.quote-drop:hover,.quote-drop:focus-within{border-color:var(--ink)}.quote-drop.invalid{border-color:var(--crimson-deep)}.quote-drop input{opacity:0;cursor:pointer;position:absolute;inset:0}.quote-drop-text strong{color:var(--crimson-deep)}.quote-hint,.quote-fineprint{color:var(--ink-2);margin-top:6px;font-size:.875rem;display:block}.quote-files{border-top:1px solid var(--steel);margin-top:10px;list-style:none}.quote-files li{border-bottom:1px solid var(--steel);align-items:baseline;gap:12px;padding:8px 0;font-size:.9375rem;display:flex}.quote-files li>span:first-child{overflow-wrap:anywhere;flex:1;min-width:0}.quote-file-meta{color:var(--ink-2);white-space:nowrap}.quote-files button{color:var(--crimson-deep);font:600 .875rem var(--font);cursor:pointer;text-underline-offset:3px;background:0 0;border:none;text-decoration:underline}.quote-delivery{flex-wrap:wrap;gap:8px 24px;display:flex}.quote-delivery legend{width:100%}.quote-delivery label{align-items:center;gap:8px;display:inline-flex}.quote-delivery input{accent-color:var(--crimson);width:18px;height:18px}.quote-error{color:var(--crimson-deep);margin-top:6px;font-size:.875rem;font-weight:600;display:block}.quote-honeypot{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.quote-submit{flex-direction:column;align-items:flex-start;gap:12px;padding-top:8px;display:flex}.quote-turnstile:empty{display:none}.quote-submit .btn{padding:16px 28px;font-size:1rem}.quote-submit .btn:disabled{opacity:.7;cursor:wait}.quote-done,.quote-unavailable{background:var(--graphite);max-width:640px;color:var(--on-dark);border-top:4px solid var(--crimson);border-radius:var(--radius);padding:28px}.quote-done h3{margin-bottom:10px;font-size:1.375rem}.quote-done p,.quote-unavailable p{color:var(--on-dark-2)}.quote-done strong,.quote-unavailable a{color:var(--on-dark)}.quote-done .quote-fineprint{color:var(--on-dark-2)}@media (max-width:900px){.print-hero-grid,.print-details-grid{grid-template-columns:minmax(0,1fr)}.print-ways-list{grid-template-columns:minmax(0,1fr);gap:28px}}@media (max-width:640px){.quote-form,.quote-types{grid-template-columns:minmax(0,1fr)}.quote-submit .btn{text-align:center;width:100%}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-delay:0s!important}}
