@charset "UTF-8";
:root{--paper:#f4f3ee;--ink:#222320;--muted:#686a63;--line:#d5d5cc;--red:#ef3326;--gutter:5.2vw;--header:94px;--footer:58px;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden}body{font-size:15px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}button{color:inherit}button:focus-visible,a:focus-visible{outline:2px solid var(--red);outline-offset:6px}p,h1,h2,h3{margin:0}button{border:0}::selection{background:var(--red);color:var(--paper)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:8px;left:8px;padding:14px;background:var(--ink);color:white;transform:translateY(-150%);z-index:100}.skip-link:focus{transform:none}.eyebrow,.edition{font-size:10px;letter-spacing:1.35px;font-weight:600;text-transform:uppercase;line-height:1.6}.edition{color:var(--muted);font-weight:400;font-size:9px;letter-spacing:1px}
.site-header{position:fixed;left:var(--gutter);right:var(--gutter);top:0;z-index:20;height:var(--header);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--ink);background:var(--paper)}.brand{display:flex;align-items:center;gap:12px;font-size:31px;font-weight:700;letter-spacing:-1.6px}.brand-mark{width:27px;height:27px;color:var(--red)}.brand-period{color:var(--red)}.desktop-nav{display:flex;align-items:center;gap:36px;margin-left:auto;margin-right:68px}.desktop-nav a{font-size:12px;position:relative;padding:10px 0}.desktop-nav a>span{font-size:9px;color:var(--muted);margin-right:7px}.desktop-nav a::after{content:"";position:absolute;bottom:3px;left:0;right:0;height:1px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .2s}.desktop-nav a:hover::after,.desktop-nav a[aria-current]::after{transform:scaleX(1)}.desktop-nav a[aria-current]{color:var(--red)}.header-contact{font-size:12px;font-weight:600;display:flex;align-items:center;gap:30px}.header-contact span{font-size:21px;font-weight:400;color:var(--red)}.menu-toggle{display:none}.mobile-nav[hidden]{display:none}
.page-deck{height:100dvh;overflow-y:auto;overflow-x:hidden;scroll-snap-type:y mandatory;scrollbar-width:none;overscroll-behavior-y:none}.page-deck::-webkit-scrollbar{display:none}.page-deck:focus{outline:none}.page{height:100dvh;scroll-snap-align:start;scroll-snap-stop:always;padding:calc(var(--header) + 27px) var(--gutter) calc(var(--footer) + 25px);display:flex;flex-direction:column;position:relative;background:var(--paper)}.section-topline{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:18px;flex-shrink:0;font-size:10px;letter-spacing:.2px}.section-topline>span:first-child{display:flex;align-items:center;gap:8px}.status-dot{width:6px;height:6px;display:inline-block;flex-shrink:0;background:var(--red);border-radius:50%}.hero-grid{flex:1;display:grid;grid-template-columns:1.18fr 1fr;gap:5vw;align-items:center;min-height:0;padding:25px 0 29px}.hero-copy>.eyebrow{margin-bottom:21px;color:var(--muted);font-size:10px}.hero h1{font-size:clamp(60px,7.6vw,122px);line-height:1.01;letter-spacing:-.074em;font-weight:600;margin-left:-5px;white-space:nowrap}.hero h1 span{color:var(--red)}.hero-description{font-size:14px;line-height:1.7;margin-top:25px;color:var(--muted)}.button{padding:17px 22px;min-height:51px;display:inline-flex;align-items:center;justify-content:space-between;gap:35px;font-size:12px;font-weight:600;transition:background .2s,transform .2s}.button-red{background:var(--red);color:#fff}.button-red:hover{background:#ce291e;transform:translateY(-2px)}.button span{font-size:21px;font-weight:400;line-height:16px}.hero .button{margin-top:27px}.hero-footnote{font-size:10px;color:var(--muted);margin-top:27px;display:flex;align-items:center;gap:8px}.small-cross{color:var(--red);font-size:19px;font-weight:400}.signal-art{width:100%;max-width:580px;justify-self:end;border:1px solid var(--line);position:relative}.art-top,.art-bottom{display:flex;justify-content:space-between;align-items:center;padding:15px 16px;font-size:8px;letter-spacing:1px}.art-top{border-bottom:1px solid var(--line)}.art-top>span:last-child{font-size:16px;line-height:8px}.art-bottom{border-top:1px solid var(--line);font-size:7px}.signal-svg{display:block;width:100%;max-height:47vh}.signal-shapes{transform-origin:center;animation:signal-arrive 1.1s cubic-bezier(.22,1,.36,1) both}.signal-point{animation:signal-point 3s ease-in-out infinite}.hero-bottom{border-top:1px solid var(--line);padding-top:23px;display:flex;align-items:center;justify-content:space-between;gap:25px;flex-shrink:0}.ecosystem-caption{display:flex;flex-direction:column;gap:7px}.ecosystem-caption>span:last-child{font-size:10px;color:var(--muted)}.platform-wordmarks{display:flex;align-items:center;gap:50px}
.section-heading{display:grid;grid-template-columns:1.5fr 1fr;gap:7vw;align-items:end;margin-top:38px;margin-bottom:40px}.section-heading h2,.ecosystem-intro h2{font-size:clamp(48px,5.3vw,86px);line-height:1.02;letter-spacing:-.065em;font-weight:500}.section-heading h2>span,.ecosystem-intro h2>span{color:var(--muted)}.section-heading>p{color:var(--muted);font-size:14px;line-height:1.7;max-width:340px;padding-bottom:5px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);flex:1;min-height:0;border-top:1px solid var(--ink);border-bottom:1px solid var(--line)}.service{padding:25px 30px 23px 0;display:flex;flex-direction:column}.service+ .service{border-left:1px solid var(--line);padding-left:30px}.service-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:27px}.service-top>span{font-size:11px;color:var(--muted)}.service-top svg{width:65px;height:50px;fill:none;stroke:var(--red);stroke-width:1.5}.service h3{font-size:23px;letter-spacing:-.8px;line-height:1.15;font-weight:500;margin-bottom:16px}.service p{font-size:12px;line-height:1.8;color:var(--muted);max-width:290px}.service-tags{margin-top:auto;padding-top:23px;font-size:8px;letter-spacing:.8px;color:var(--muted)}.section-endnote{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:24px;font-size:10px;color:var(--muted)}.section-endnote a{color:var(--ink);display:flex;gap:35px;font-size:11px}.section-endnote a>span{color:var(--red);font-size:18px}.section-endnote a:hover,.integration a:hover,.approach-note a:hover,.direct-email:hover{color:var(--red)}
.ecosystem-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:10vw;flex:1;min-height:0;align-items:center;padding-top:27px}.ecosystem-intro>p{max-width:330px;font-size:13px;line-height:1.8;margin-top:24px;color:var(--muted)}.stack-diagram{margin-top:29px;max-width:340px}.stack-diagram>div{border:1px solid var(--line);padding:15px 17px;display:flex;align-items:center;font-size:11px}.stack-diagram>div>span{font-size:9px;color:var(--muted);margin-right:28px}.stack-diagram>b{display:block;text-align:center;font-size:17px;font-weight:400;margin:5px;color:var(--muted)}.stack-diagram .diagram-accent{border-color:var(--red);color:var(--red)}.diagram-accent>i{font-size:19px;margin-left:auto;font-style:normal}.integration-list{align-self:stretch;display:flex;flex-direction:column;justify-content:center}.integration{border-top:1px solid var(--ink);padding:27px 0}.integration-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.integration-heading>h3{font-size:33px;font-weight:500;letter-spacing:-1.7px}.integration-heading>.eyebrow{font-size:8px;color:var(--muted);letter-spacing:.8px}.integration>p{font-size:12px;line-height:1.8;color:var(--muted);max-width:390px;margin-top:20px}.integration a{display:flex;align-items:center;gap:30px;font-size:10px;margin-top:22px}.integration a>span[aria-hidden]{font-size:19px;color:var(--red)}.integration-note{display:flex;gap:14px;border-top:1px solid var(--line);padding-top:20px}.integration-note p{font-size:10px;line-height:1.7}.integration-note p>span{font-size:8px;color:var(--muted)}
.process-grid{display:grid;grid-template-columns:repeat(3,1fr);flex:1;min-height:0}.process-grid>article{padding-right:35px;display:flex;flex-direction:column}.process-grid>article+article{border-left:1px solid var(--line);padding-left:35px}.process-number{font-size:clamp(58px,6.2vw,100px);letter-spacing:-.07em;line-height:1;color:var(--red);border-top:1px solid var(--ink);padding-top:19px;display:flex;justify-content:space-between;margin-bottom:24px}.process-number>span{font-size:32px;line-height:1.3;font-weight:400}.process-grid h3{font-size:24px;font-weight:500;letter-spacing:-.8px;margin-bottom:15px}.process-grid p{font-size:12px;line-height:1.8;max-width:290px;color:var(--muted)}.process-output{font-size:7px;color:var(--muted);letter-spacing:.7px;margin-top:auto;padding-top:25px;padding-bottom:22px}.approach-note{display:flex;align-items:center;gap:15px;border-top:1px solid var(--line);padding-top:21px}.approach-note p{font-size:11px;line-height:1.6}.approach-note a{margin-left:auto;font-size:11px}.approach-note a>span{margin-left:30px;color:var(--red);font-size:20px}
.contact-body{flex:1;display:flex;flex-direction:column;justify-content:center;padding:25px 0}.contact-body>.eyebrow{color:var(--muted);margin-bottom:25px}.contact h2{font-size:clamp(60px,8.5vw,136px);font-weight:500;letter-spacing:-.07em;line-height:1;position:relative;width:max-content;max-width:100%}.contact h2>span{color:var(--red)}.contact h2 svg{width:6.5vw;height:6.5vw;position:absolute;right:-12vw;bottom:10px;color:var(--red)}.contact-details{display:flex;align-items:center;gap:11vw;margin-top:35px}.contact-details p{font-size:13px;color:var(--muted);line-height:1.6}.email-link{font-size:clamp(16px,1.8vw,27px);letter-spacing:-.5px;border-bottom:1px solid var(--line);padding-bottom:8px;display:flex;align-items:center;gap:40px}.email-link:hover{border-color:var(--red);color:var(--red)}.email-link>span{color:var(--red)}.contact-body>.button{align-self:flex-start;margin-top:25px}.site-footer{display:flex;align-items:center;gap:30px;border-top:1px solid var(--ink);padding-top:22px;font-size:9px;color:var(--muted)}.footer-wordmark{font-size:22px;font-weight:700;letter-spacing:-1px;color:var(--ink)}.site-footer p{font-size:9px;line-height:1.5}.site-footer>span{margin-left:auto}.site-footer>button{background:none;font-size:9px;color:var(--muted);padding:8px}.site-footer>a:last-child{color:var(--ink);margin-left:15px}.site-footer>a:last-child>span{font-size:16px;color:var(--red);margin-left:17px}
.section-rail{position:fixed;right:1.8vw;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:4px;z-index:15}.section-rail a{width:24px;height:24px;display:grid;place-items:center}.section-rail a>span{width:4px;height:4px;display:block;border-radius:50%;background:#a3a49c;transition:all .3s}.section-rail a[aria-current]>span{width:6px;height:6px;border-radius:0;background:var(--red)}.section-rail a:hover>span{background:var(--red)}.deck-controls{position:fixed;bottom:0;left:var(--gutter);right:var(--gutter);height:var(--footer);border-top:1px solid var(--line);background:var(--paper);display:flex;align-items:center;justify-content:space-between;z-index:15}.deck-position{display:flex;align-items:center;gap:12px;font-size:10px;color:var(--muted)}#current-page{color:var(--ink);font-weight:600}.count-divider{width:23px;height:1px;background:#b7b7ae;display:block}.position-label{margin-left:15px;font-size:9px}.next-page{display:flex;align-items:center;gap:23px;background:none;font-size:8px;letter-spacing:1.2px;padding:10px 0 10px 15px}.next-arrow{height:27px;width:27px;display:grid;place-items:center;font-size:19px;border:1px solid var(--line);border-radius:50%;transition:background .2s,color .2s}.next-page:hover .next-arrow{background:var(--red);color:white;border-color:var(--red)}
.modal{background:var(--paper);color:var(--ink);border:0;width:min(580px,calc(100% - 32px));max-height:calc(100dvh - 40px);padding:37px 40px;overscroll-behavior:contain;box-shadow:0 20px 100px #0002}.modal::backdrop{background:rgb(30 32 28 / 45%);backdrop-filter:blur(5px)}.modal-close{position:absolute;right:16px;top:13px;width:35px;height:35px;background:transparent;font-size:29px;line-height:1;font-weight:400}.modal h2{font-size:43px;letter-spacing:-2px;line-height:1.05;font-weight:500;margin-top:15px}.modal h2>span{color:var(--red)}.modal-description{font-size:12px;line-height:1.7;color:var(--muted);margin-top:16px;max-width:400px}.modal form{margin-top:24px}.modal label{display:flex;flex-direction:column;gap:8px;font-size:10px;margin-bottom:15px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.modal input,.modal textarea,.modal select{border:1px solid var(--line);border-radius:0;width:100%;padding:12px;background:transparent;color:var(--ink);font-size:12px;outline-offset:3px}.modal textarea{resize:vertical;min-height:70px}.modal input:focus,.modal textarea:focus,.modal select:focus{outline:1px solid var(--red);border-color:var(--red)}.modal .button{width:100%}.form-note{font-size:9px;line-height:1.6;margin-top:14px;color:var(--muted)}.direct-email{font-size:11px;display:inline-block;margin-top:15px;text-decoration:underline;text-underline-offset:4px}.privacy-modal p:not(.eyebrow){font-size:13px;line-height:1.8;margin-top:24px;color:var(--muted)}
@keyframes signal-arrive{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@keyframes signal-point{0%,100%{opacity:1}50%{opacity:.3}}
@media(min-width:1600px){:root{--gutter:6.5vw;--header:110px;--footer:68px}.hero-description,.section-heading>p{font-size:17px}.service p,.process-grid p,.integration>p{font-size:15px}.service h3,.process-grid h3{font-size:28px}.service-tags,.process-output{font-size:9px}.desktop-nav a,.header-contact{font-size:14px}.hero-bottom{padding-top:30px}.section-heading{margin-top:55px;margin-bottom:55px}.section-topline{font-size:12px}.eyebrow{font-size:12px}.button{font-size:14px;padding:20px 26px}.ecosystem-intro>p{font-size:16px;max-width:400px}.integration>p{max-width:470px}.integration{padding:34px 0}.art-top,.art-bottom{padding:19px 20px;font-size:9px}}
@media(max-width:1050px){:root{--gutter:5vw;--header:82px}.desktop-nav{gap:23px;margin-right:35px}.brand{font-size:28px}.hero-grid{gap:3vw;grid-template-columns:1.15fr 1fr}.hero h1{font-size:7.7vw}.hero-description{font-size:12px}.platform-wordmarks{gap:30px}.service{padding-right:22px}.service+.service{padding-left:22px}.service h3{font-size:20px}.section-heading{gap:5vw}.integration-heading{align-items:flex-start;flex-direction:column;gap:8px}.integration{padding:22px 0}.integration>p{margin-top:14px}.ecosystem-layout{gap:7vw}.process-grid>article{padding-right:24px}.process-grid>article+article{padding-left:24px}.process-output{font-size:6.5px}.contact-details{gap:7vw}.contact h2 svg{right:-10vw}}
@media(max-height:760px) and (min-width:761px){:root{--header:76px;--footer:47px}.page{padding-top:calc(var(--header) + 20px);padding-bottom:calc(var(--footer) + 18px)}.hero-grid{padding-top:18px;padding-bottom:20px}.hero-copy>.eyebrow{margin-bottom:14px}.hero h1{font-size:min(7.3vw,14vh)}.hero-description{margin-top:17px}.hero .button{margin-top:19px}.hero-footnote{margin-top:17px}.hero-bottom{padding-top:18px}.section-heading{margin-top:27px;margin-bottom:27px}.section-heading h2,.ecosystem-intro h2{font-size:min(5.3vw,10vh)}.service-top{margin-bottom:18px}.service{padding-top:18px;padding-bottom:17px}.service h3{margin-bottom:12px}.service-tags{padding-top:15px}.process-number{font-size:min(6vw,12vh);margin-bottom:18px;padding-top:14px}.process-output{padding-bottom:15px;padding-top:16px}.approach-note{padding-top:15px}.stack-diagram{margin-top:20px}.stack-diagram>div{padding:11px 15px}.integration{padding:20px 0}.integration a{margin-top:13px}.integration-note{padding-top:15px}.contact h2{font-size:min(8.5vw,16vh)}.contact-body>.eyebrow{margin-bottom:18px}.contact-details{margin-top:25px}.contact-body>.button{margin-top:20px}}
@media(max-width:760px){:root{--gutter:24px;--header:76px;--footer:54px}.site-header{height:var(--header)}.brand{font-size:27px;gap:9px}.brand-mark{width:23px;height:23px}.desktop-nav{display:none}.header-contact{margin-left:auto;margin-right:27px;font-size:11px;gap:12px}.header-contact span{font-size:19px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;background:none;width:23px;height:32px;padding:2px}.menu-toggle span{height:1px;width:20px;background:var(--ink);transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3px) rotate(-45deg)}.mobile-nav{position:fixed;inset:var(--header) 0 var(--footer);background:var(--paper);z-index:19;padding:30px var(--gutter);overflow:auto}.mobile-nav a{display:flex;align-items:center;gap:25px;border-bottom:1px solid var(--line);padding:25px 0;font-size:11px;color:var(--red)}.mobile-nav a>span{flex:1;color:var(--ink);font-size:30px;letter-spacing:-1px}.page{padding:calc(var(--header) + 23px) var(--gutter) calc(var(--footer) + 25px);overflow-y:auto;scrollbar-width:none}.page::-webkit-scrollbar{display:none}.section-topline{font-size:9px;flex-shrink:0}.section-topline>.edition{display:none}.hero-grid{display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:30px;padding:29px 0;flex:none;min-height:0}.hero h1{font-size:clamp(48px,12vw,86px);line-height:1.02;letter-spacing:-.07em;margin-left:-2px}.hero-copy>.eyebrow{font-size:9px;margin-bottom:15px}.hero-description{font-size:12px;line-height:1.7;margin-top:20px}.hero .button{margin-top:20px}.hero-footnote{margin-top:17px;font-size:9px}.signal-art{max-width:100%;width:100%}.signal-svg{max-height:32vh}.art-top,.art-bottom{padding:10px 13px;font-size:7px}.hero-bottom{flex-direction:column;align-items:flex-start;gap:22px;padding:20px 0 5px}.ecosystem-caption{gap:5px}.ecosystem-caption .eyebrow{font-size:8px}.ecosystem-caption>span:last-child{font-size:9px}.platform-wordmarks{width:100%;justify-content:space-between;gap:15px}.section-rail{display:none}.section-heading{display:block;margin:30px 0}.section-heading h2,.ecosystem-intro h2{font-size:clamp(40px,10vw,67px);line-height:1.05}.section-heading>p{font-size:12px;max-width:340px;margin-top:20px;padding:0}.service-grid{display:flex;flex-direction:column;flex:none}.service,.service+.service{padding:24px 0;border-left:0}.service+.service{border-top:1px solid var(--line)}.service-top{margin-bottom:15px}.service-top svg{width:53px;height:42px}.service h3{font-size:25px;margin-bottom:12px}.service p{font-size:12px;max-width:100%}.service-tags{font-size:7px;padding-top:18px}.section-endnote{flex-direction:column;align-items:flex-start;font-size:9px;gap:15px;padding-bottom:8px}.section-endnote a{font-size:11px}.ecosystem-layout{display:block;flex:none;padding-top:30px}.ecosystem-intro>p{font-size:12px;margin-top:21px;max-width:100%}.stack-diagram{max-width:100%;margin-top:23px;margin-bottom:32px}.stack-diagram>div{padding:13px 15px}.integration-list{display:block}.integration{padding:25px 0}.integration-heading{flex-direction:row;align-items:center;gap:12px}.integration-heading>h3{font-size:29px}.integration-heading>.eyebrow{font-size:7px;letter-spacing:.4px;max-width:110px;text-align:right}.integration>p{max-width:100%;font-size:12px;margin-top:18px}.integration a{font-size:11px;margin-top:19px}.integration-note{padding-bottom:8px}.integration-note p{font-size:10px}.integration-note p>span{font-size:8px}.process-grid{display:flex;flex-direction:column;flex:none}.process-grid>article,.process-grid>article+article{padding:0;border-left:0}.process-number{font-size:65px;padding-top:17px;margin-bottom:17px}.process-number>span{font-size:28px}.process-grid h3{font-size:24px;margin-bottom:12px}.process-grid p{max-width:100%;font-size:12px}.process-output{font-size:7px;padding-top:18px;padding-bottom:25px}.approach-note{align-items:flex-start;flex-wrap:wrap;padding:20px 0 5px}.approach-note>.status-dot{margin-top:6px}.approach-note a{margin-left:auto;font-size:10px}.approach-note a>span{margin-left:8px;font-size:16px}.contact-body{flex:1;min-height:420px;padding:35px 0}.contact-body>.eyebrow{font-size:8px;margin-bottom:22px}.contact h2{font-size:clamp(45px,11.5vw,85px);line-height:1.05}.contact h2 svg{position:static;width:30px;height:30px;margin-left:9px}.contact-details{display:block;margin-top:28px}.contact-details p{font-size:12px}.email-link{width:max-content;font-size:clamp(15px,4.8vw,25px);margin-top:25px;gap:27px}.contact-body>.button{margin-top:23px}.site-footer{display:grid;grid-template-columns:1fr 1fr;gap:16px;font-size:8px}.site-footer p{text-align:right;font-size:8px}.site-footer>span{margin-left:0}.site-footer>button{text-align:right;padding:0;font-size:8px}.site-footer>a:last-child{margin:0;grid-column:1/-1;display:flex;justify-content:space-between;font-size:10px}.deck-position{gap:9px;font-size:9px}.position-label{font-size:8px;margin-left:8px}.next-page{font-size:7px;gap:12px}.next-arrow{width:25px;height:25px;font-size:17px}.modal{padding:32px 24px;max-height:calc(100dvh - 24px)}.modal h2{font-size:37px}.form-row{gap:12px}.button{padding:15px 19px;min-height:48px;font-size:11px}}
@media(max-width:760px){.hero-grid{gap:21px;padding:24px 0 22px}.hero .signal-svg{height:16vh;min-height:105px;max-height:160px}.hero-footnote{display:none}.hero-bottom{gap:16px;padding-top:18px}.ecosystem-caption>span:last-child{display:none}.section-heading{margin:24px 0}.service,.service+.service{position:relative;padding:21px 0 21px 32px}.service-top{position:absolute;left:0;top:24px;margin:0}.service-top svg{display:none}.service h3{font-size:22px;margin-bottom:10px}.service p{font-size:11px;line-height:1.7}.service-tags{font-size:6px;padding-top:12px}.section-endnote{font-size:8px;gap:10px}.stack-diagram{display:grid;grid-template-columns:1fr 16px 1.15fr 16px 1fr;align-items:center;margin:25px 0 30px}.stack-diagram>div{flex-direction:column;gap:10px;font-size:9px;padding:12px 5px;min-height:61px;justify-content:center}.stack-diagram>div>span{margin:0;font-size:8px}.stack-diagram>b{transform:rotate(-90deg);margin:0;font-size:15px}.diagram-accent>i{display:none}.process-grid>article,.process-grid>article+article{position:relative;padding:23px 0 20px 53px;border-top:1px solid var(--line)}.process-number{position:absolute;top:19px;left:0;border:0;padding:0;font-size:38px;margin:0}.process-number>span{display:none}.process-grid h3{font-size:23px}.process-grid p{font-size:11px;line-height:1.7}.process-output{padding-top:12px;padding-bottom:0;font-size:6px}.approach-note{padding-top:20px}.contact{min-height:100dvh}}
@media(max-width:760px){.page{padding-bottom:calc(var(--footer) + 15px)}.expertise .section-endnote{display:none}.process-output{display:none}.ecosystem .stack-diagram{display:none}.ecosystem .integration-list{margin-top:27px}.ecosystem .integration{padding:21px 0}.ecosystem .integration>p{font-size:11px;line-height:1.7;margin-top:14px}.ecosystem .integration a{margin-top:15px}.ecosystem .integration-note{padding-top:15px}}
@media(max-width:380px){:root{--gutter:20px}.header-contact{margin-right:18px}.platform-wordmarks{gap:10px}.contact h2{font-size:11vw}.contact h2 svg{width:23px;height:23px}.position-label{display:none}.form-row{grid-template-columns:1fr;gap:0}}
@media(min-width:761px) and (max-height:600px){.page{overflow-y:auto;scrollbar-width:none}.hero-grid{min-height:370px;flex:none}.hero-bottom{margin-top:10px}.section-heading{flex-shrink:0}.service-grid,.process-grid{flex:none;min-height:260px}.ecosystem-layout{flex:none;min-height:430px}.contact-body{flex:none;min-height:360px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Official platform SVGs, displayed in monochrome within the Swiss grid. */
.platform-wordmarks {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: center;
  gap: 35px;
  width: 60%;
  max-width: 640px;
}
.platform-wordmarks a { display: flex; align-items: center; justify-content: center; min-width: 0; padding: 4px 0; }
.platform-logo, .integration-logo { display: block; width: 100%; object-fit: contain; object-position: left center; filter: brightness(0); }
.platform-logo { height: 32px; max-width: 135px; transition: opacity .2s; }
.platform-wordmarks a:hover .platform-logo { opacity: .6; }
.ecosystem-layout { grid-template-columns: .85fr 1.5fr; gap: 7vw; }
.integration-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: 1fr 1fr auto;
  gap: 0 28px;
}
.integration { display: flex; flex-direction: column; padding: 21px 0; min-width: 0; }
.integration-heading { flex-direction: column; align-items: flex-start; gap: 13px; }
.integration-heading h3 { width: 100%; }
.integration-logo { height: 33px; max-width: 142px; }
.integration-heading > .eyebrow { font-size: 7px; letter-spacing: .7px; }
.integration > p { font-size: 12px; line-height: 1.7; margin-top: 16px; }
.integration a { margin-top: auto; padding-top: 15px; gap: 20px; }
.integration-note { grid-column: 1 / -1; }

@media (max-width: 1050px) {
  .platform-wordmarks { gap: 24px; width: 63%; }
  .platform-logo { height: 29px; }
  .ecosystem-layout { gap: 5vw; }
  .integration-list { column-gap: 20px; }
  .integration > p { font-size: 11px; }
  .integration-heading > .eyebrow { font-size: 6.5px; }
}
@media (min-width: 761px) and (max-height: 760px) {
  .integration { padding: 17px 0; }
  .integration-heading { gap: 10px; }
  .integration-logo { height: 30px; }
  .integration > p { margin-top: 13px; font-size: 11px; }
  .integration a { margin-top: auto; padding-top: 12px; }
}
@media (max-width: 760px) {
  .ecosystem.page { padding-bottom: calc(var(--footer) + 10px); }
  .platform-wordmarks { width: 100%; gap: 20px; }
  .platform-logo { height: 26px; }
  .ecosystem-layout { display: block; padding-top: 24px; }
  .ecosystem-intro > p { margin-top: 16px; font-size: 11px; line-height: 1.7; }
  .ecosystem .integration-list { display: grid; gap: 0 20px; margin-top: 22px; }
  .ecosystem .integration { padding: 18px 0; }
  .integration-heading { flex-direction: column; align-items: flex-start; gap: 12px; }
  .integration-logo { height: 27px; max-width: 115px; }
  .integration-heading > .eyebrow { font-size: 6px; letter-spacing: .3px; max-width: 100%; text-align: left; }
  .ecosystem .integration > p { font-size: 10px; line-height: 1.65; margin-top: 12px; }
  .ecosystem .integration a { font-size: 9px; gap: 8px; margin-top: auto; padding-top: 13px; }
  .integration a > span[aria-hidden] { font-size: 16px; }
  .ecosystem .integration-note { padding-top: 12px; padding-bottom: 0; }
  .integration-note p { font-size: 9px; }
}
@media (max-width: 380px) {
  .platform-wordmarks { gap: 14px; }
  .platform-logo { height: 22px; }
  .ecosystem .integration-list { column-gap: 16px; }
  .integration-logo { height: 24px; max-width: 103px; }
}

/* Readable type at every breakpoint; these sizes also apply on wide displays. */
:root {
  --muted: #53564f;
  --text-body: clamp(18px, 1vw, 24px);
  --text-small: clamp(14px, .7vw, 18px);
  --text-label: clamp(13px, .65vw, 17px);
  --text-control: clamp(16px, .82vw, 20px);
  --footer: 72px;
}
body { font-size: var(--text-body); }
.page { overflow-y: auto; scrollbar-width: none; }
.page::-webkit-scrollbar { display: none; }
.hero-grid, .service-grid, .process-grid, .ecosystem-layout { min-height: min-content; }
.section-heading, .section-endnote, .approach-note, .site-footer { flex-shrink: 0; }
.integration-list { min-height: min-content; }
.hero-description,
.section-heading > p,
.service p,
.process-grid p,
.ecosystem-intro > p,
.ecosystem .integration > p,
.contact-details p,
.modal-description,
.privacy-modal p:not(.eyebrow) {
  font-size: var(--text-body);
  line-height: 1.6;
}
.service p, .process-grid p, .ecosystem-intro > p { max-width: 38ch; }
.section-heading > p { max-width: 36ch; }
.ecosystem .integration > p { max-width: 40ch; }
.eyebrow, .edition,
.section-topline,
.hero-copy > .eyebrow,
.contact-body > .eyebrow,
.ecosystem-caption .eyebrow,
.integration-heading > .eyebrow {
  font-size: var(--text-label);
  line-height: 1.5;
  letter-spacing: .8px;
}
.hero-footnote,
.ecosystem-caption > span:last-child,
.service-top > span,
.service-tags,
.process-output,
.section-endnote,
.approach-note p,
.integration-note p,
.integration-note p > span,
.site-footer,
.site-footer p,
.site-footer > button,
.deck-position,
.position-label,
.form-note,
.modal label {
  font-size: var(--text-small);
  line-height: 1.5;
}
.desktop-nav a,
.header-contact,
.button,
.section-endnote a,
.ecosystem .integration a,
.approach-note a,
.site-footer > a:last-child,
.next-page,
.direct-email,
.modal input,
.modal textarea,
.modal select {
  font-size: var(--text-control);
  line-height: 1.5;
}
.desktop-nav a > span, .stack-diagram > div > span {
  font-size: var(--text-label);
}
.stack-diagram > div { font-size: var(--text-control); }
.art-top, .art-bottom { font-size: 12px; line-height: 1.4; letter-spacing: .6px; }
.integration-heading { gap: 12px; }
.integration-heading > .eyebrow { font-weight: 600; }
.integration-logo { height: 40px; max-width: 175px; }
.ecosystem .integration a { min-height: 44px; }
.integration-note { align-items: baseline; }
.site-footer { gap: 32px; align-items: center; }
.footer-wordmark { font-size: 28px; }
.site-footer > button, .site-footer > a:last-child { min-height: 44px; display: inline-flex; align-items: center; }
.next-page { letter-spacing: .7px; min-height: 44px; }
.position-label { margin-left: 12px; }
.next-arrow { width: 34px; height: 34px; }
.email-link { font-size: clamp(20px, 1.8vw, 32px); }
.button { min-height: 54px; }
.process-output, .service-tags { letter-spacing: .4px; }

@media (min-width: 1920px) {
  .hero-footnote { margin-top: 32px; }
  .ecosystem-intro > p { max-width: 34ch; }
  .integration-logo { height: 46px; max-width: 205px; }
  .ecosystem .integration > p { margin-top: 22px; }
  .ecosystem .integration a { padding-top: 20px; }
  .stack-diagram { max-width: 420px; }
  .site-footer { padding-top: 26px; }
  .footer-wordmark { font-size: 34px; }
}
@media (min-width: 761px) and (max-height: 760px) {
  :root { --footer: 64px; }
  .hero-footnote { display: none; }
  .hero-grid { padding-top: 12px; padding-bottom: 8px; }
  .hero .button { margin-top: 16px; }
  .hero-description { margin-top: 16px; }
  .integration-heading { gap: 8px; }
  .integration-logo { height: 30px; max-width: 142px; }
  .ecosystem .integration { padding: 14px 0; }
  .ecosystem .integration > p { margin-top: 10px; }
  .ecosystem .integration a { padding-top: 8px; }
  .integration-note { padding-top: 12px; }
  .section-heading { margin-top: 22px; margin-bottom: 22px; }
  .section-endnote { padding-top: 20px; }
  .service-top { margin-bottom: 14px; }
  .service-tags { padding-top: 16px; }
  .process-output { padding-top: 16px; padding-bottom: 16px; }
  .process-output { display: none; }
  .contact-body { padding-top: 16px; padding-bottom: 16px; }
}
@media (min-width: 761px) and (max-width: 1050px) {
  .desktop-nav { gap: 20px; margin-right: 28px; }
  .desktop-nav a > span { display: none; }
  .site-footer { gap: 20px; }
  .site-footer p { max-width: 150px; }
}
@media (max-width: 760px) {
  :root {
    --text-body: 16px;
    --text-small: 14px;
    --text-label: 12px;
    --text-control: 16px;
    --footer: 64px;
  }
  .section-topline { font-size: 13px; }
  .section-heading > p, .ecosystem-intro > p { max-width: 100%; }
  .header-contact { margin-right: 22px; gap: 10px; }
  .brand { font-size: 25px; }
  .brand-mark { width: 22px; height: 22px; }
  .hero-copy > .eyebrow { margin-bottom: 16px; }
  .hero-grid { padding-top: 22px; }
  .hero-description { margin-top: 20px; }
  .hero .desktop-break { display: none; }
  .art-top, .art-bottom { font-size: 10px; }
  .art-coordinate { display: none; }
  .art-top { gap: 10px; }
  .ecosystem-caption .eyebrow { font-size: 13px; }
  .service, .service + .service { padding-top: 24px; padding-bottom: 24px; }
  .service-tags { font-size: 12px; line-height: 1.5; padding-top: 16px; }
  .ecosystem .integration-list {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: none;
    gap: 0;
    margin-top: 26px;
  }
  .ecosystem .integration { padding: 24px 0; }
  .integration-heading { flex-direction: row; align-items: center; gap: 16px; }
  .integration-heading h3 { flex: 0 0 130px; }
  .integration-logo { height: 32px; max-width: 130px; }
  .integration-heading > .eyebrow { flex: 1; font-size: 12px; letter-spacing: .4px; }
  .ecosystem .integration > p { margin-top: 18px; }
  .ecosystem .integration a { margin-top: 12px; padding-top: 0; gap: 18px; }
  .ecosystem .integration-note { padding-top: 18px; padding-bottom: 10px; }
  .process-grid > article, .process-grid > article + article { padding-top: 24px; padding-bottom: 24px; }
  .approach-note { gap: 12px; }
  .approach-note a { width: 100%; margin-left: 0; min-height: 44px; display: flex; align-items: center; justify-content: space-between; }
  .contact-body { min-height: 440px; }
  .contact-details p { font-size: 18px; }
  .email-link { font-size: clamp(18px, 4.8vw, 26px); }
  .site-footer { grid-template-columns: 1fr auto; gap: 18px; }
  .site-footer p { font-size: 14px; }
  .site-footer > button { justify-content: flex-end; }
  .site-footer > a:last-child { grid-column: 1 / -1; }
  .footer-wordmark { font-size: 27px; }
  .deck-position { gap: 8px; }
  .count-divider { width: 18px; }
  .position-label { display: none; }
  .next-page { font-size: 12px; letter-spacing: .5px; gap: 10px; }
  .modal { padding: 32px 22px; }
  .modal input, .modal textarea, .modal select { font-size: 16px; }
  .form-row { grid-template-columns: minmax(0, 1fr); gap: 0; }
}
@media (max-width: 380px) {
  .header-contact { margin-right: 14px; font-size: 14px; }
  .brand { font-size: 23px; }
  .brand-mark { width: 20px; height: 20px; }
  .integration-heading h3 { flex-basis: 110px; }
  .integration-logo { max-width: 110px; height: 30px; }
  .next-page { font-size: 12px; }
}

.contact-details {
  display: grid;
  grid-template-columns: .9fr 1.15fr 1fr;
  gap: clamp(24px, 3vw, 80px);
  align-items: center;
}
.contact-body { flex-shrink: 0; min-height: min-content; }
.page:focus { outline: none; }
.contact-details .email-link { width: max-content; max-width: 100%; gap: 24px; }
.contact-address {
  display: flex;
  flex-direction: column;
  gap: 8px;
  color: var(--muted);
  font-style: normal;
  font-size: var(--text-control);
  line-height: 1.5;
}
.contact-address .eyebrow { color: var(--ink); }
@media (min-width: 761px) and (max-height: 760px) {
  .contact h2 { font-size: min(8vw, 14vh); }
  .contact-body { padding-top: 12px; padding-bottom: 12px; }
  .contact-details { margin-top: 20px; }
}
@media (min-width: 761px) and (max-width: 1050px) {
  .contact-details { grid-template-columns: 1fr 1fr; gap: 20px 28px; }
  .contact-details > p { grid-column: 1 / -1; }
  .contact-details .email-link { font-size: 22px; }
}
@media (max-width: 760px) {
  .contact-details { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .contact-details .email-link { margin-top: 0; }
  .contact-address { font-size: 16px; gap: 10px; }
}

/* Outlined brand artwork keeps the signature consistent across devices. */
.brand { flex-shrink: 0; }
.brand-logo { display: block; width: 206px; height: auto; }
.footer-wordmark { display: inline-flex; flex-shrink: 0; }
.footer-wordmark img { display: block; width: 174px; height: auto; }
@media (min-width: 1920px) {
  .brand-logo { width: 230px; }
  .footer-wordmark img { width: 200px; }
}
@media (max-width: 760px) {
  .brand-logo { width: 174px; }
  .footer-wordmark img { width: 150px; }
}
@media (max-width: 380px) {
  .brand-logo { width: 140px; }
}
