.logo-loop{--logo-gap:clamp(3rem, 6vw, 6.5rem);overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000);mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000)}.logo-loop__track{width:max-content;animation:logo-loop var(--loop-duration) linear infinite;will-change:transform;display:flex}.logo-loop__set{align-items:center;gap:var(--logo-gap);padding-inline:calc(var(--logo-gap) / 2);display:flex}.logo-loop__item{place-items:center;width:clamp(8rem,13vw,11rem);min-height:5.5rem;display:grid}.logo-loop__item img{object-fit:contain;width:100%;max-height:4.5rem;transition:transform .18s var(--ease-out)}@media (hover:hover) and (pointer:fine){.logo-loop:hover .logo-loop__track{animation-play-state:paused}.logo-loop__item:hover img{transform:scale(1.035)}}@keyframes logo-loop{to{transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.logo-loop{scrollbar-width:thin;overflow-x:auto;-webkit-mask-image:none;mask-image:none}.logo-loop__track{width:auto;animation:none}.logo-loop__set[aria-hidden=true]{display:none}.logo-loop__set{min-width:max-content}}.curved-input label{letter-spacing:.08em;text-transform:uppercase;margin-bottom:.55rem;font-size:.78rem;font-weight:700;display:block}.curved-input__control{position:relative}.curved-input__control input{border:0;border-bottom:1px solid color-mix(in srgb, var(--ink) 34%, transparent);background:0 0;border-radius:0;outline:0;width:100%;padding-bottom:1.1rem}.curved-input__control svg{pointer-events:none;width:100%;height:.75rem;position:absolute;bottom:-.55rem;left:0;right:0}.curved-input__control path{fill:none;stroke:var(--blue);stroke-width:1.3px;opacity:0;transition:opacity .18s ease, transform .18s var(--ease-out);vector-effect:non-scaling-stroke;transform:translateY(-3px)}.curved-input__control:focus-within path{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){.curved-input__control path{transition:opacity .12s;transform:none}}@font-face{font-family:Archivo;src:url(/assets/fonts/archivo-variable.woff2)format("woff2");font-style:normal;font-weight:400 700;font-display:swap}@font-face{font-family:Archivo Black;src:url(/assets/fonts/archivo-black.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap}:root{--blue:#2b70a0;--blue-deep:#0e293c;--blue-light:#6aa6c8;--green:#e6ece9;--green-deep:#d6e1db;--aqua:#a4c8c9;--ink:#0e293c;--white:#fff;--line:#0e293c2e;--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-in-out:cubic-bezier(.77, 0, .175, 1);--ease-drawer:cubic-bezier(.32, .72, 0, 1);--page-gutter:clamp(1.25rem, 4.8vw, 5.5rem);--content-width:90rem;color:var(--ink);font-synthesis:none;font-family:Archivo,Arial,sans-serif;line-height:1.5}*{box-sizing:border-box}body{background:var(--green);min-width:20rem;color:var(--ink);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;overflow-x:hidden}body.menu-open{overflow:hidden}button,input,textarea{color:inherit;font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-underline-offset:.22em;text-decoration-thickness:1px}img,svg{max-width:100%;display:block}address{font-style:normal}[id]{scroll-margin-top:5rem}:focus-visible{outline-offset:4px;outline:3px solid #56a7e1}.skip-link{z-index:999;background:var(--white);color:var(--ink);transition:transform .18s var(--ease-out);padding:.7rem 1rem;font-weight:700;position:fixed;top:.75rem;left:.75rem;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.site-header{z-index:100;background:color-mix(in srgb, var(--green) 0%, transparent);color:var(--ink);border-bottom:1px solid #0000;transition:background-color .22s,border-color .22s;position:fixed;top:0;left:0;right:0}.site-header:not(.is-compact),.site-header:not(.is-compact) .brand{color:var(--white)}.site-header.is-compact{background:color-mix(in srgb, var(--green) 94%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-color:#0e293c1c;box-shadow:0 .7rem 2rem #0e293c0e}.nav-shell{z-index:2;width:min(100%, calc(var(--content-width) + 2 * var(--page-gutter)));height:5.5rem;padding-inline:var(--page-gutter);justify-content:space-between;align-items:center;margin-inline:auto;display:flex;position:relative}.brand{color:var(--blue);letter-spacing:.095em;transform-origin:0;transition:transform .2s var(--ease-out), color .18s ease;align-items:center;font-family:Archivo Black,Archivo,sans-serif;font-size:1.42rem;line-height:1;text-decoration:none;display:inline-flex}.brand--light{color:var(--white)}.site-header.is-compact .brand{transform:scale(.88)}.main-nav{align-items:center;gap:clamp(1.25rem,2.8vw,2.75rem);display:flex}.main-nav a{letter-spacing:.055em;font-size:.78rem;font-weight:600;text-decoration:none;position:relative}.main-nav a:after{content:"";opacity:0;height:1px;transition:opacity .18s ease, transform .18s var(--ease-out);background:currentColor;position:absolute;bottom:-.55rem;left:0;right:0;transform:scaleX(.35)}.main-nav a.is-active:after{opacity:1;transform:scaleX(1)}.menu-toggle,.mobile-panel{display:none}.skip-menu-motion .menu-toggle span,.skip-menu-motion .mobile-panel,.skip-menu-motion .mobile-panel a{transition-duration:0s!important}.hero{min-height:max(51rem,100svh);padding:clamp(8.5rem, 14vh, 11rem) var(--page-gutter) 4.5rem;background:var(--blue);color:var(--white);grid-template-columns:minmax(0,1.15fr) minmax(20rem,.85fr);align-items:center;gap:clamp(2rem,6vw,7rem);display:grid;position:relative;overflow:hidden}.hero:after{content:"";background:#ffffff47;height:1px;position:absolute;bottom:0;left:0;right:0}.hero__content{z-index:2;justify-self:end;width:min(52rem,100%);position:relative}.hero__kicker{letter-spacing:.1em;text-transform:uppercase;opacity:0;animation:hero-enter .7s .14s var(--ease-out) forwards;margin:0 0 2.3rem;font-size:.75rem;font-weight:600;transform:translateY(.75rem)}.hero h1{letter-spacing:-.065em;max-width:14ch;margin:0;font-size:clamp(3.25rem,6.8vw,7.7rem);font-weight:600;line-height:.93}.hero h1 span{opacity:0;animation:hero-enter .85s .22s var(--ease-out) forwards;display:block;transform:translateY(1.2rem)}.hero h1 span+span{margin-top:.12em;animation-delay:.295s}.hero__actions{opacity:0;animation:hero-enter .7s .41s var(--ease-out) forwards;align-items:center;gap:2rem;margin-top:clamp(2.5rem,5vw,4.5rem);display:flex;transform:translateY(1rem)}.button{letter-spacing:.025em;min-height:3.5rem;transition:transform .14s var(--ease-out), background-color .18s ease, color .18s ease, border-color .18s ease;border:1px solid #0000;justify-content:space-between;align-items:center;gap:1.5rem;padding:.95rem 1.25rem;font-size:.86rem;font-weight:700;line-height:1;text-decoration:none;display:inline-flex}.button:active{transition-duration:.1s;transform:scale(.97)}.button:disabled{cursor:wait;opacity:.64}.button--light{background:var(--white);color:var(--blue-deep)}.button--dark{border-color:var(--blue-deep);background:var(--blue-deep);min-width:13rem;color:var(--white)}.arrow{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5px;flex:none;width:1.1rem;height:1.1rem}.text-link{text-underline-offset:.35em;align-items:center;gap:.75rem;font-size:.82rem;font-weight:600;display:inline-flex}.text-link--light{color:var(--white)}.text-link .arrow[viewBox]{transition:transform .16s var(--ease-out)}.hero__image-wrap{opacity:0;width:min(100%,42rem);animation:hero-enter .9s .36s var(--ease-out) forwards;align-self:end;margin:2rem 0 0;position:relative;transform:translateY(1.5rem)}.hero__image-wrap:before{z-index:2;border-top:1px solid var(--white);border-left:1px solid var(--white);content:"";width:3rem;height:3rem;position:absolute;top:-.9rem;left:-.9rem}.hero__image-wrap img{aspect-ratio:.82;object-fit:cover;object-position:52% center;filter:saturate(.78)contrast(1.03);width:100%}.hero__image-wrap figcaption{letter-spacing:.07em;text-transform:uppercase;justify-content:space-between;align-items:center;margin-top:.85rem;font-size:.7rem;display:flex}.hero__index{bottom:2.2rem;left:var(--page-gutter);letter-spacing:.1em;opacity:.72;margin:0;font-size:.68rem;position:absolute}.magnet{transition:transform .22s var(--ease-out);will-change:transform;display:inline-flex}.section{width:min(100%, calc(var(--content-width) + 2 * var(--page-gutter)));padding:clamp(6.5rem, 11vw, 11rem) var(--page-gutter);margin-inline:auto}.section-intro{grid-template-columns:minmax(10rem,.45fr) minmax(18rem,1.25fr) minmax(13rem,.55fr);align-items:start;gap:clamp(1.5rem,4vw,5rem);padding-bottom:clamp(3rem,6vw,5.5rem);display:grid}.eyebrow{letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:.85rem;margin:0;font-size:.69rem;font-weight:700;display:flex}.eyebrow span{color:var(--blue);font-variant-numeric:tabular-nums}.section-intro h2,.contact__intro h2{letter-spacing:-.055em;text-wrap:balance;margin:0;font-size:clamp(2.45rem,5vw,5.5rem);font-weight:500;line-height:.98}.section-aside{max-width:31rem;color:color-mix(in srgb, var(--ink) 72%, transparent);margin:0;font-size:.92rem;line-height:1.7}.reveal{opacity:0;transition:opacity .62s var(--ease-out), transform .62s var(--ease-out);transform:translateY(1.5rem)}.reveal.is-visible{opacity:1;transform:translateY(0)}.competency-grid{border-bottom:1px solid var(--line);grid-template-columns:repeat(4,1fr);display:grid}.competency-reveal{border-top:1px solid var(--line)}.competency-reveal+.competency-reveal{border-left:1px solid var(--line)}.competency-reveal:nth-child(2){transition-delay:55ms}.competency-reveal:nth-child(3){transition-delay:.11s}.competency-reveal:nth-child(4){transition-delay:.165s}.competency{min-height:25rem;padding:1.4rem clamp(1.2rem,2.3vw,2rem) 2.4rem}.competency__top{color:var(--blue);justify-content:space-between;align-items:center;font-size:.7rem;display:flex}.competency__icon{background:var(--blue);place-items:center;width:2.45rem;height:2.45rem;display:grid}.competency__icon img{object-fit:contain;width:1.2rem;height:1.2rem}.competency h3{letter-spacing:-.035em;margin:clamp(5rem,9vw,8rem) 0 1.5rem;font-size:clamp(1.5rem,2.2vw,2.3rem);font-weight:600}.competency p{max-width:29ch;color:color-mix(in srgb, var(--ink) 73%, transparent);margin:0;font-size:.9rem;line-height:1.65}.partners{background:var(--white);width:100%;max-width:none;padding-inline:0}.partners .section-intro,.technologies .section-intro{width:min(100%, calc(var(--content-width) + 2 * var(--page-gutter)));padding-inline:var(--page-gutter);margin-inline:auto}.loop-reveal{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-block:clamp(2rem,4vw,3.5rem)}.technologies{background:var(--green-deep);width:100%;max-width:none}.technologies .logo-loop__item{width:clamp(9rem,15vw,13rem)}.technologies .logo-loop__item img{max-height:3.4rem}.about{background:var(--blue-deep);width:100%;max-width:none;color:var(--white)}.about .section-intro,.about .stats{width:min(100%, var(--content-width));margin-inline:auto}.about .eyebrow span{color:var(--aqua)}.about .section-aside{color:#ffffffad}.stats{border-top:1px solid #ffffff40;grid-template-columns:repeat(3,1fr);display:grid}.stat{flex-direction:column;justify-content:space-between;min-height:17rem;padding:2.3rem 1.5rem 2.3rem 0;display:flex}.stat+.stat{border-left:1px solid #ffffff40;padding-left:2.3rem}.stat strong{letter-spacing:-.075em;font-variant-numeric:tabular-nums;font-size:clamp(4rem,8vw,8rem);font-weight:400;line-height:.9}.stat span{letter-spacing:.1em;text-transform:uppercase;font-size:.72rem;font-weight:600}.team-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(2rem,7vw,8rem);display:grid}.person--offset{margin-top:clamp(4rem,11vw,11rem)}.person__image{aspect-ratio:.86;background:var(--green-deep);position:relative;overflow:hidden}.person__image img{object-fit:cover;filter:saturate(.82)contrast(1.02);width:100%;height:100%;transition:transform .22s var(--ease-out);position:absolute;inset:0}.person__image span{background:var(--green);color:var(--blue);letter-spacing:.08em;padding:.25rem .5rem;font-size:.68rem;font-weight:700;position:absolute;bottom:.85rem;right:1rem}.person__meta{border-top:1px solid var(--ink);justify-content:space-between;align-items:baseline;gap:1rem;padding-top:1.15rem;display:flex}.person__meta h3{letter-spacing:-.035em;margin:0;font-size:clamp(1.45rem,2.3vw,2.25rem);font-weight:600}.person__meta p{color:color-mix(in srgb, var(--ink) 67%, transparent);margin:0;font-size:.78rem}.contact{padding:clamp(6.5rem, 11vw, 11rem) var(--page-gutter);background:var(--blue);color:var(--white)}.contact__inner{width:min(100%, var(--content-width));grid-template-columns:minmax(17rem,.72fr) minmax(24rem,1.28fr);align-items:start;gap:clamp(3rem,9vw,10rem);margin-inline:auto;display:grid}.eyebrow--light span{color:var(--white)}.contact__intro h2{margin-top:2rem}.contact__intro>p:last-child{color:#ffffffc2;max-width:32rem;margin:2rem 0 0;line-height:1.7}.contact-form{background:var(--green);color:var(--ink);padding:clamp(1.5rem,4vw,3.5rem);position:relative}.honeypot{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.field,.curved-input{margin-bottom:2rem}.field label{letter-spacing:.08em;text-transform:uppercase;margin-bottom:.55rem;font-size:.78rem;font-weight:700;display:block}.field input,.field textarea{border:0;border-bottom:1px solid color-mix(in srgb, var(--ink) 34%, transparent);background:0 0;border-radius:0;outline:0;width:100%;transition:border-color .18s}.field input{min-height:3.3rem}.field textarea{border:1px solid color-mix(in srgb, var(--ink) 34%, transparent);resize:vertical;min-height:9rem;padding:.75rem}.field input:focus,.field textarea:focus{border-color:var(--blue)}.field textarea::placeholder{color:color-mix(in srgb, var(--ink) 42%, transparent)}.field [aria-invalid=true],.curved-input [aria-invalid=true]{border-color:#9d2933}.field-error{color:#851d29;margin-top:.45rem;font-size:.76rem;line-height:1.4;display:block}.form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;display:grid}.form-footer{justify-content:space-between;align-items:flex-end;gap:2rem;margin-top:2.8rem;display:flex}.form-footer>p{max-width:32rem;color:color-mix(in srgb, var(--ink) 68%, transparent);margin:0;font-size:.72rem;line-height:1.6}.form-status{min-height:1.5rem;margin-top:1.5rem;font-size:.82rem;font-weight:600}.form-status.is-success{color:#17643a}.form-status.is-error{color:#851d29}.footer{padding:clamp(4rem, 8vw, 7rem) var(--page-gutter) 2rem;background:var(--blue-deep);color:var(--white)}.footer__top,.footer__grid,.footer__bottom{width:min(100%, var(--content-width));margin-inline:auto}.footer__top{grid-template-columns:1fr 1.1fr .9fr;align-items:start;gap:2rem;padding-bottom:clamp(4rem,8vw,7rem);display:grid}.footer__top>p{color:#ffffffab;margin:0;font-size:.85rem}.footer__top-link{justify-self:end;align-items:center;gap:.75rem;font-size:.76rem;font-weight:600;display:inline-flex}.footer__top-link .arrow{transform:rotate(180deg)}.footer__grid{border-top:1px solid #ffffff38;grid-template-columns:1fr 1.1fr .9fr;gap:2rem;padding:2.5rem 0 4rem;display:grid}.footer__label{color:#ffffff80;letter-spacing:.1em;text-transform:uppercase;margin:0 0 1.1rem;font-size:.66rem;font-weight:700}.footer__grid address,.footer__grid>div>a{font-size:.88rem;line-height:1.75}.footer__grid>div>a{align-items:center;gap:.5rem;width:-moz-fit-content;width:fit-content;display:flex}.footer__bottom{color:#fff9;border-top:1px solid #ffffff38;justify-content:space-between;align-items:center;padding-top:1.5rem;font-size:.68rem;display:flex}.footer__bottom p{margin:0}.footer__bottom nav{gap:1.5rem;display:flex}.legal-page{background:var(--green)}.legal-header{width:min(100%, calc(62rem + 2 * var(--page-gutter)));min-height:6rem;padding-inline:var(--page-gutter);justify-content:space-between;align-items:center;margin-inline:auto;display:flex}.legal-header>a{align-items:center;gap:.7rem;font-size:.75rem;font-weight:600;display:inline-flex}.legal-page main{width:min(100%, calc(62rem + 2 * var(--page-gutter)));padding:clamp(5rem, 10vw, 9rem) var(--page-gutter);margin-inline:auto}.legal-page main>h1{letter-spacing:-.06em;max-width:14ch;margin:2rem 0 clamp(4rem,8vw,7rem);font-size:clamp(3rem,7vw,6.5rem);font-weight:500;line-height:.96}.legal-page main section{border-top:1px solid var(--line);grid-template-columns:minmax(12rem,.65fr) minmax(18rem,1.35fr);gap:2rem;padding:2.3rem 0;display:grid}.legal-page main section h2{margin:0;font-size:1.05rem}.legal-page main section p{color:color-mix(in srgb, var(--ink) 76%, transparent);margin:0;line-height:1.75}.legal-page main section .text-link{grid-column:2}@keyframes hero-enter{to{opacity:1;transform:translateY(0)}}@media (hover:hover) and (pointer:fine){.main-nav a:hover:after{opacity:.6;transform:scaleX(1)}.button--light:hover{background:var(--green)}.button--dark:hover{border-color:var(--blue);background:var(--blue)}.text-link:hover .arrow{transform:translateY(.18rem)}.person:hover .person__image img{transform:scale(1.018)}}@media (max-width:980px){.main-nav{display:none}.menu-toggle{color:currentColor;background:0 0;border:0;place-items:center;width:3rem;height:3rem;padding:0;display:grid;position:relative}.menu-toggle span{width:1.4rem;height:1px;transition:transform .22s var(--ease-out);background:currentColor;position:absolute}.menu-toggle span:first-child{transform:translateY(-.24rem)}.menu-toggle span:last-child{transform:translateY(.24rem)}.menu-toggle[aria-expanded=true] span:first-child{transform:rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:rotate(-45deg)}.mobile-panel{z-index:1;padding:7rem var(--page-gutter) 3rem;background:var(--blue-deep);color:var(--white);opacity:0;pointer-events:none;transition:opacity .22s ease, transform .26s var(--ease-drawer);align-items:center;display:flex;position:fixed;inset:0;transform:translateY(-1rem)}.mobile-panel.is-open{opacity:1;pointer-events:auto;transform:translateY(0)}.mobile-panel nav{width:100%;display:grid}.mobile-panel a{letter-spacing:-.04em;opacity:0;transition:opacity .2s ease, transform .24s var(--ease-out);transition-delay:calc(var(--index) * 38ms);border-bottom:1px solid #fff3;align-items:baseline;gap:1.1rem;padding:1rem 0;font-size:clamp(1.8rem,7vw,3.5rem);text-decoration:none;display:flex;transform:translateY(.75rem)}.mobile-panel.is-open a{opacity:1;transform:translateY(0)}.mobile-panel a span{letter-spacing:.08em;font-size:.65rem}.site-header:has(.mobile-panel.is-open){-webkit-backdrop-filter:none;backdrop-filter:none;color:var(--white)}.site-header:has(.mobile-panel.is-open) .brand{color:var(--white)}.hero{grid-template-columns:1fr;min-height:auto;padding-top:9rem}.hero__content{justify-self:auto;width:100%}.hero h1{max-width:12ch}.hero__image-wrap{justify-self:end;width:min(77vw,35rem);margin-top:0}.section-intro{grid-template-columns:.4fr 1.6fr}.section-aside{grid-column:2}.competency-grid{grid-template-columns:repeat(2,1fr)}.competency-reveal:nth-child(3){border-left:0}.competency{min-height:21rem}.contact__inner{grid-template-columns:1fr}.contact__intro{grid-template-columns:.5fr 1.5fr;gap:2rem;display:grid}.contact__intro h2{margin-top:0}.contact__intro>p:last-child{grid-column:2;margin-top:0}}@media (max-width:680px){.nav-shell{height:4.7rem}.hero{padding:7.5rem var(--page-gutter) 3rem;gap:3.5rem}.hero__kicker{margin-bottom:1.6rem;font-size:.65rem}.hero h1{font-size:clamp(2.35rem,11vw,4.6rem);line-height:.96}.hero__actions{flex-direction:column;align-items:flex-start;gap:1.35rem}.hero__image-wrap{width:86vw}.hero__image-wrap img{aspect-ratio:.9}.hero__index{display:none}.section{padding-block:6rem}.section-intro{grid-template-columns:1fr;gap:1.4rem;padding-bottom:3.3rem}.section-aside{grid-column:auto}.competency-grid{grid-template-columns:1fr}.competency-reveal+.competency-reveal{border-left:0}.competency{min-height:17rem}.competency h3{margin-top:4.5rem}.logo-loop{-webkit-mask-image:linear-gradient(90deg,#0000,#000 4% 96%,#0000);mask-image:linear-gradient(90deg,#0000,#000 4% 96%,#0000)}.stats{grid-template-columns:1fr}.stat{min-height:12rem;padding:1.75rem 0}.stat+.stat{border-top:1px solid #ffffff40;border-left:0;padding-left:0}.team-grid{grid-template-columns:1fr}.person--offset{margin-top:2rem}.person__meta{flex-direction:column;align-items:flex-start;gap:.25rem}.contact__intro{display:block}.contact__intro h2,.contact__intro>p:last-child{margin-top:1.5rem}.contact-form{margin-inline:calc(var(--page-gutter) * -1)}.form-row{grid-template-columns:1fr;gap:0}.form-footer{flex-direction:column;align-items:stretch}.form-footer .magnet,.form-footer .button{width:100%}.footer__top,.footer__grid{grid-template-columns:1fr}.footer__top-link{justify-self:start}.footer__grid{gap:2.5rem}.footer__bottom{flex-direction:column;align-items:flex-start;gap:1rem}.footer__bottom nav{flex-direction:column;gap:.65rem}.legal-page main section{grid-template-columns:1fr}.legal-page main section .text-link{grid-column:auto}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.hero__kicker,.hero h1 span,.hero__actions,.hero__image-wrap,.reveal{opacity:1;transform:none}.reveal,.mobile-panel,.mobile-panel a,.person__image img,.magnet{transition:opacity .12s}}
