@font-face{font-family:Manrope;src:url(/fonts/manrope-latin-variable.woff2) format("woff2");font-weight:400 800;font-display:swap}@font-face{font-family:Space Grotesk;src:url(/fonts/space-grotesk-latin-variable.woff2) format("woff2");font-weight:400 700;font-display:swap}:root{font-family:Manrope,sans-serif;color:#f5f3ed;background:#101113;font-synthesis:none;--ink: #101113;--paper: #f5f3ed;--blue: #2654ff;--muted: #b9babe;--line: #414247;--text: #f5f3ed;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}button,summary,a{-webkit-tap-highlight-color:transparent}button{font:inherit}a,button,summary,canvas{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #7193ff;outline-offset:6px}p{font-size:17px;line-height:1.65;color:var(--muted);margin:0 0 22px;text-wrap:pretty}h1,h2,h3{margin:0;font-weight:700;text-wrap:balance;font-family:Space Grotesk,sans-serif}h1,h2{letter-spacing:-.055em}h3{letter-spacing:-.035em}ul,ol{padding:0;margin:0;list-style:none}[hidden]{display:none!important}.shell{width:min(88%,1440px);margin-inline:auto}.section{padding-block:108px}.theme-light{--text: #101113;--muted: #595a60;--line: #cccac4;background:#f5f3ed;color:var(--text);color-scheme:light}.theme-dark{--text: #f5f3ed;--muted: #b9babe;--line: #414247;background:#101113;color:var(--text);color-scheme:dark}.eyebrow{font-size:11px;font-weight:600;letter-spacing:.16em;line-height:1.6;margin:0 0 30px;color:var(--muted)}.section-rule{border-top:1px solid var(--line);padding-top:20px;margin-bottom:52px}.display-title{font-size:clamp(38px,4.7vw,76px);line-height:1.02}.section-intro{display:grid;grid-template-columns:1.2fr 1fr;gap:12%;align-items:start;margin-bottom:64px}.section-intro>p{max-width:480px;padding-top:6px}.section-intro>div p{max-width:530px}.blue-dot{color:#527cff}.theme-light .blue-dot{color:var(--blue)}.button{display:inline-flex;justify-content:center;align-items:center;gap:24px;background:var(--blue);color:#fff;border:1px solid transparent;border-radius:8px;padding:18px 24px;min-height:52px;font-size:14px;font-weight:600;line-height:1.3;transition:background .2s,transform .2s}.button:hover{background:#1943df;transform:translateY(-2px)}.button-outline{background:transparent;border-color:#9b9b9c;border-radius:30px}.button-outline:hover{background:#28292e}.text-link{display:inline-block;border-bottom:1px solid currentColor;padding-bottom:5px;font-size:14px;line-height:1.6}.text-link:hover{color:#7193ff}.theme-light .text-link:hover{color:#1642d8}.skip-link{position:fixed;top:12px;left:12px;z-index:100;background:var(--paper);color:var(--ink);padding:16px;transform:translateY(-180%)}.skip-link:focus{transform:none}.site-header{display:flex;align-items:center;justify-content:space-between;gap:28px;padding-block:26px;border-bottom:1px solid #414247;position:relative;z-index:5}.brand-link{display:block;flex-shrink:0}.brand-link img{width:163px;height:auto}.desktop-nav{display:flex;gap:36px;font-size:13px}.desktop-nav a{padding-block:10px}.desktop-nav a:hover,.site-footer nav a:hover{color:#99adff}.header-contact{padding:12px 25px;min-height:44px;font-size:13px}.mobile-menu{display:none}.hero-grid{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:2%;padding-block:34px 18px;min-height:520px}.hero h1{font-size:clamp(42px,4.7vw,75px);font-weight:600;line-height:1.02;margin-bottom:25px}.hero .eyebrow{margin-bottom:26px}.hero-description{max-width:460px;font-size:17px;line-height:1.55;margin-bottom:30px}.hero-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap}.hero-actions .text-link{font-size:13px}.hero-wordmark{font-family:Space Grotesk,sans-serif;font-size:clamp(75px,16.25vw,263px);font-weight:700;letter-spacing:-.064em;line-height:.85;white-space:nowrap;padding-bottom:8px;text-align:center}.hero{padding-bottom:0}.logo-scene{position:relative;min-width:0}.logo-stage{position:relative;aspect-ratio:1.1}.logo-stage canvas{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none;user-select:none;cursor:grab}.logo-stage canvas:active{cursor:grabbing}.logo-stage canvas:focus{outline:none}.logo-stage:after{content:"";position:absolute;inset:13%;border:1px dashed #9bb1ff;border-radius:50%;opacity:0;pointer-events:none}.logo-scene[data-input=keyboard] .logo-stage:has(canvas:focus):after{opacity:1}.logo-fallback{position:absolute;inset:12%;width:76%;height:76%;object-fit:contain}.logo-shadow{position:absolute;bottom:0;left:23%;width:54%;height:5%;border-radius:50%;background:#000;filter:blur(14px);opacity:.65;pointer-events:none}.logo-controls{text-align:center;position:relative;padding-top:8px}.logo-controls p{font-size:11px;margin:0 0 5px;color:#b9babe}.logo-controls button{background:transparent;border:1px solid #41444d;border-radius:30px;color:#f5f3ed;cursor:pointer;font-size:11px;min-height:32px;padding:7px 12px;margin:3px}.logo-controls button:hover{border-color:#8b919e}.project-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:35px}.project-image{display:block;overflow:hidden;background:#dddbd5;border:1px solid #cccac4;border-radius:5px}.project-image img{width:100%;height:auto}.project-caption{display:grid;grid-template-columns:1fr 1fr;gap:13%;padding-top:35px}.project-caption h3{font-size:clamp(26px,2.7vw,42px);line-height:1.12}.project-caption p{max-width:490px;font-size:16px}.tags{display:flex;gap:8px;flex-wrap:wrap}.tags li{border:1px solid var(--line);border-radius:30px;padding:7px 12px;font-size:11px;line-height:1.4}.experience-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}.platform-image{display:block;overflow:hidden;border:1px solid #414247;border-radius:5px;aspect-ratio:1.65;background:#1a1b1f}.platform-image img{width:100%;height:100%;object-fit:cover;object-position:top}.platform-role{font-size:9px;letter-spacing:.11em;margin:24px 0 12px}.platform-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:12px}.platform-heading h3{font-size:36px}.platform>p:last-child{max-width:490px;font-size:15px;margin:0}.round-link{display:grid;place-items:center;border:1px solid #717278;width:44px;height:44px;border-radius:50%;font-size:22px}.round-link:hover{background:var(--blue)}summary{list-style:none;cursor:pointer}summary::-webkit-details-marker{display:none}.service{border-top:1px solid var(--line)}.service:last-child{border-bottom:1px solid var(--line)}.service summary{display:grid;grid-template-columns:55px minmax(0,1fr) 220px 32px;align-items:center;gap:15px;padding-block:28px;min-height:90px}.row-number{font-size:12px;color:var(--muted)}.service h3{font-size:clamp(24px,2.5vw,39px);line-height:1.12}.service-purpose{font-size:12px;color:var(--muted)}.disclosure-mark{font-size:30px;font-weight:400;text-align:center;transition:transform .2s}details[open]>summary .disclosure-mark{transform:rotate(45deg)}.service-body{margin:0 255px 30px 70px;max-width:650px}.service-body>p{font-size:16px;margin-bottom:20px}.service-body .scope-note{font-size:13px;margin-top:20px}.open-project{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-top:55px}.open-project h3{font-size:26px;margin-bottom:10px}.open-project p{font-size:15px;margin:0}.process-list li{display:grid;grid-template-columns:90px 1fr 1fr;gap:30px;align-items:start;border-top:1px solid var(--line);padding-block:32px}.process-list li:last-child{border-bottom:1px solid var(--line)}.process-number{font-size:42px;line-height:1;color:#8a8b91;letter-spacing:-.05em}.process-list h3{font-size:30px;line-height:1.1}.process-list p{font-size:15px;max-width:410px;margin:0}.faq-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:12%}.faq-list details{border-top:1px solid var(--line)}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:76px;padding-block:20px}.faq-list h3{font-size:18px;line-height:1.35;letter-spacing:-.02em}.faq-list p{font-size:15px;margin:0 45px 27px 0;line-height:1.7}.contact-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:10%;align-items:start}.contact-copy{padding-top:6px}.contact-copy>p{max-width:450px}.contact-copy .email-alternative{font-size:13px;margin:30px 0 0;line-height:1.9}.site-footer{padding-block:35px 25px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-bottom:35px;border-bottom:1px solid #414247}.site-footer nav{display:flex;gap:30px;font-size:13px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;font-size:11px;color:#b9babe;padding-top:24px}.page-intro{padding-block:100px 110px}.page-title{font-size:clamp(43px,5.6vw,86px);line-height:1.03;margin-bottom:32px}.page-lead{max-width:670px;font-size:19px}.contact-channels{display:grid;gap:40px;padding-top:8px}.contact-channels .eyebrow{margin-bottom:16px}.contact-channels p:not(.eyebrow){font-size:14px;margin:15px 0 0}.contact-channels .text-link{margin-right:22px;overflow-wrap:anywhere}.error-page{min-height:65vh}.error-number{font-size:clamp(120px,19vw,260px);letter-spacing:-.08em;font-weight:700;line-height:1;margin-bottom:30px}.error-page h1{font-size:clamp(28px,4vw,52px);line-height:1.1;margin-bottom:20px}.error-page .hero-actions{margin-top:32px}@media (min-width: 1700px){.hero-wordmark{font-size:263px}}@media (max-width: 1100px){.shell{width:90%}.section{padding-block:85px}.section-intro{gap:7%}.hero-grid{min-height:460px}.hero-actions{gap:19px}.hero-actions .button{padding:16px 18px;font-size:12px}.hero-description{font-size:15px}.service summary{grid-template-columns:40px minmax(0,1fr) 160px 28px}.service-body{margin-left:55px;margin-right:200px}.process-list li{grid-template-columns:65px 1fr 1fr;gap:20px}.process-list h3{font-size:25px}.platform-role{font-size:8px}.contact-grid{gap:6%}.contact-copy .button{font-size:13px}}@media (max-width: 899px){.desktop-nav,.header-contact{display:none}.mobile-menu{display:block}.mobile-menu summary{display:flex;align-items:center;gap:16px;min-height:44px;font-size:14px}.menu-mark{font-size:26px}.mobile-menu[open] .menu-mark{transform:rotate(45deg)}.mobile-menu nav{position:absolute;top:100%;left:-5.56%;right:-5.56%;padding:20px 5%;background:#101113;border-bottom:1px solid #414247;display:grid;gap:3px;box-shadow:0 20px 30px #0005}.mobile-menu nav a{padding:15px 0;border-bottom:1px solid #2a2b2f;font-size:17px}.site-header{padding-block:18px}.brand-link img{width:146px}.hero-grid{min-height:400px;padding-top:40px}.hero h1{font-size:4.9vw}.hero-actions{gap:16px}.hero-actions .text-link{font-size:11px}.hero .eyebrow{font-size:9px}.hero-wordmark{font-size:16.5vw}.logo-controls{bottom:auto}.section-intro>p{font-size:15px}.display-title{font-size:4.8vw}.faq-grid{gap:7%}.service-purpose{display:none}.service summary{grid-template-columns:40px minmax(0,1fr) 30px}.service-body{margin-right:45px}.experience-grid{gap:25px}.platform-role{line-height:1.8}.platform-heading h3{font-size:29px}.contact-grid{grid-template-columns:1.2fr 1fr}.contact-copy p{font-size:15px}.contact-copy .button{font-size:12px;padding:16px}.site-footer nav{gap:20px}}@media (max-width: 699px){.section{padding-block:64px}.section-rule{margin-bottom:34px;padding-top:16px}.eyebrow{font-size:9px;margin-bottom:22px}.display-title{font-size:clamp(36px,8.4vw,54px)}.section-intro{grid-template-columns:1fr;gap:25px;margin-bottom:38px}.section-intro>p{padding:0;margin:0;max-width:500px}.hero-grid{display:flex;flex-direction:column;align-items:stretch;padding-top:42px;gap:14px}.hero h1{font-size:clamp(36px,8.7vw,59px);margin-bottom:22px}.hero .eyebrow{font-size:9px;margin-bottom:23px}.hero-description{font-size:15px;max-width:430px;margin-bottom:25px}.hero-actions{gap:22px}.hero-actions .button{font-size:12px;padding:16px 18px}.hero-actions .text-link{font-size:12px}.logo-scene{width:min(100%,380px);align-self:center;margin-block:-12px 28px}.logo-stage{aspect-ratio:1.4}.logo-controls{bottom:auto}.logo-controls p{font-size:10px}.hero-wordmark{font-size:16.3vw;line-height:.92;letter-spacing:-.065em}.project-heading{align-items:flex-start;flex-direction:column;gap:20px;margin-bottom:25px}.project-heading .display-title{font-size:clamp(34px,8.2vw,50px)}.project-caption{grid-template-columns:1fr;gap:22px;padding-top:26px}.project-caption h3{font-size:29px}.project-caption p{font-size:15px}.tags li{font-size:10px;padding:7px 10px}.experience-grid{grid-template-columns:1fr;gap:43px}.platform-role{font-size:9px;margin-top:20px}.platform-heading h3{font-size:31px}.platform>p:last-child{font-size:14px}.service summary{grid-template-columns:26px minmax(0,1fr) 26px;gap:10px;min-height:86px;padding-block:25px}.service h3{font-size:25px}.row-number{font-size:10px}.disclosure-mark{font-size:25px}.service-body{margin:0 15px 27px 36px}.service-body>p{font-size:14px}.service-body .scope-note{font-size:12px}.open-project{align-items:flex-start;flex-direction:column;gap:25px;padding-top:35px}.open-project h3{font-size:25px}.open-project p{font-size:14px}.process-list li{grid-template-columns:42px 1fr;gap:12px 18px;padding-block:27px}.process-number{font-size:32px;grid-row:span 2}.process-list h3{font-size:25px}.process-list p{grid-column:2;font-size:14px}.faq-grid{grid-template-columns:1fr;gap:35px}.faq-list h3{font-size:17px}.faq-list summary{min-height:72px;gap:18px}.faq-list p{font-size:14px;margin-right:20px}.contact-grid{grid-template-columns:1fr;gap:30px}.contact-copy{padding:0}.contact-copy>p{font-size:15px}.contact-copy .button{font-size:13px;padding:18px 20px}.contact-copy .email-alternative .text-link{font-size:13px}.site-footer{padding-block:15px 25px}.footer-top{align-items:flex-start;flex-direction:column;gap:28px;padding-bottom:28px}.site-footer nav{gap:22px;flex-wrap:wrap;font-size:12px}.footer-bottom{font-size:10px;flex-wrap:wrap;gap:15px}.page-intro{padding-block:65px 70px}.page-title{font-size:clamp(38px,9.6vw,62px);margin-bottom:25px}.page-lead{font-size:16px}.contact-channels{gap:32px}.contact-channels .eyebrow{font-size:10px}.error-page p{font-size:15px}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}.button:hover{transform:none}}
