@import url('assets/fonts/fonts.css');
:root{--blue:#2d63e8;--ink:#182339;--muted:#7e899b;--body:'Manrope',Arial,sans-serif;--mono:Consolas,monospace;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth;background:#fff}body{margin:0;color:var(--ink);font-family:var(--body);overflow-x:hidden;background:#fff}button,input{font:inherit}a{color:inherit;text-decoration:none}button,a{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--blue);outline-offset:6px}#flow-canvas{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:1}.page-header{position:absolute;top:0;left:0;right:0;padding:38px 5vw;display:flex;align-items:center;justify-content:space-between;z-index:10}.wordmark{font-size:19px;font-weight:700;letter-spacing:-.7px}.wordmark span{font-weight:400;color:var(--blue)}.page-header nav{display:flex;gap:36px;font-size:11px}.page-header nav a:last-child{color:var(--blue)}main{position:relative;z-index:2;pointer-events:none}main a,main button,main input,main form{pointer-events:auto}.chapter{position:relative;min-height:105vh;padding:12vh 8vw;display:flex;align-items:center}.hero{min-height:112vh;padding-top:22vh;align-items:flex-start}.hero-copy{width:65%;max-width:820px}.eyebrow{font:9px/1.5 var(--mono);letter-spacing:1.3px;text-transform:uppercase;color:var(--blue);margin:0 0 32px;display:flex;align-items:center;gap:12px}.eyebrow:before{content:'';width:22px;height:1px;background:var(--blue)}h1,h2,p{margin-top:0}h1,h2{font-weight:500;letter-spacing:-.065em;line-height:1.08}h1{font-size:clamp(58px,6.8vw,112px);margin-bottom:30px}h1 span,h2 span{color:var(--blue)}.hero-intro{font-size:14px;line-height:1.9;color:#68758c;max-width:360px}.scroll-invitation{display:flex;align-items:center;gap:18px;margin-top:45px;font-size:10px;color:var(--blue)}.scroll-invitation b{font-size:23px;font-weight:400}.chapter-note{position:absolute;left:8vw;bottom:8vh;color:#a0a9b7;font:8px var(--mono);letter-spacing:.6px}.chapter-note>span{color:var(--blue);margin-right:15px}.copy{width:42%;max-width:550px;position:relative}.copy.right{margin-left:auto}.copy .eyebrow{margin-bottom:28px}.copy h2{font-size:clamp(44px,4.8vw,78px);margin-bottom:30px}.flow-copy{font-size:clamp(13px,1.15vw,18px);line-height:1.95;color:#6b7890;margin:0}.copy.left .flow-copy{text-align:right}.flow-copy span{display:block;white-space:nowrap;transform:translateX(var(--offset,0px));opacity:var(--reveal,0);transition:opacity .55s,transform .8s cubic-bezier(.16,1,.3,1)}.copy h2,.copy>.eyebrow,.copy>.small-link{opacity:var(--reveal,0);transform:translateY(calc((1 - var(--reveal,0))*22px));transition:opacity .65s,transform .8s}.small-link{display:inline-flex;align-items:center;gap:40px;font-size:11px;padding:15px 0 8px;border-bottom:1px solid #2d63e833;margin-top:26px;color:var(--blue)}.right .flow-copy{text-align:left}.capability-pairs{display:grid;grid-template-columns:1fr 1fr;gap:25px 24px;margin-top:35px;opacity:var(--reveal,0);transition:opacity .65s}.capability-pairs span{display:block;font-size:11px;color:#435775;line-height:1.7}.capability-pairs small{display:block;font:8px var(--mono);color:#9aa7b9;margin-bottom:5px}.join{min-height:110vh;align-items:flex-start;padding-top:17vh}.join .copy{width:47%;max-width:640px}.join h2{font-size:clamp(48px,5.6vw,90px)}.contact-footer{position:relative;min-height:105vh;padding:12vh 8vw 25px;z-index:3;display:flex;flex-direction:column;justify-content:space-between}.footer-main{display:grid;grid-template-columns:1fr 1fr;gap:12vw;align-items:start}.footer-main h2{font-size:clamp(48px,5vw,80px);max-width:500px;margin-bottom:25px}.footer-main p{color:#78869b;font-size:12px;line-height:1.9;max-width:310px}.contact-form{padding-top:5px}.contact-form label{display:block;font-size:10px;color:#5e708b;margin-bottom:28px}.contact-form input{display:block;width:100%;background:#ffffffb0;border:0;border-bottom:1px solid #c8d3e7;border-radius:0;padding:12px 0;color:var(--ink);font-size:17px;outline:none}.contact-form input:focus{border-color:var(--blue)}.contact-form input::placeholder{color:#bec7d6}.contact-form button{border:0;padding:14px 0;background:none;color:var(--blue);font-size:12px;display:flex;align-items:center;justify-content:space-between;width:100%;border-bottom:1px solid #d5dff2}.contact-form button span{font-size:24px}.form-note{font:8px/1.7 var(--mono)!important;color:#98a5b8!important;margin-top:17px;max-width:100%!important}.footer-bottom{display:flex;justify-content:space-between;align-items:center;font:8px var(--mono);color:#93a0b4;border-top:1px solid #dbe4f366;padding-top:22px;margin-top:12vh}.footer-bottom a{color:var(--blue)}.motion-control{position:fixed;bottom:22px;right:25px;z-index:20;color:#7b8fac;background:#ffffffbf;border:1px solid #e2e9f4;border-radius:50%;width:31px;height:31px;font-size:10px;backdrop-filter:blur(8px)}.scroll-meter{position:fixed;top:0;left:0;width:100%;height:2px;background:#edf2fc;z-index:30}.scroll-meter i{display:block;width:100%;height:100%;background:#6d95f5;transform:scaleX(var(--progress,0));transform-origin:left}.no-webgl #flow-fallback{display:block}#flow-fallback{display:none;position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}.sr-only{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden}
.copy{width:55%;max-width:none}.copy h2{max-width:580px}.copy.right h2{max-width:600px}.copy.right .flow-copy{padding-left:8px}.join .copy{width:55%;max-width:none}
@media(min-width:1700px){.chapter{padding-left:10vw;padding-right:10vw}.hero-copy{width:60%}}
@media(max-width:800px){.page-header{padding:25px 7vw}.wordmark{font-size:16px}.page-header nav{gap:20px;font-size:9px}.chapter{min-height:105vh;padding:12vh 8vw;align-items:flex-start}.hero{min-height:110vh;padding-top:23vh}.hero-copy{width:100%}h1{font-size:clamp(49px,10vw,78px);max-width:90%;letter-spacing:-.06em}.hero-intro{font-size:12px;max-width:250px;line-height:1.9}.eyebrow{font-size:7px;letter-spacing:.7px;margin-bottom:24px}.scroll-invitation{margin-top:30px;font-size:9px}.chapter-note{font-size:6px;bottom:8vh}.copy,.join .copy{width:100%;max-width:450px;margin-top:7vh}.copy h2{font-size:clamp(43px,9.5vw,65px);max-width:85%;line-height:1.1}.flow-copy{font-size:12px;line-height:2}.copy.left .flow-copy{text-align:left}.flow-copy span{white-space:normal;transform:translateX(0)!important}.copy.right{margin-top:18vh}.right .copy h2{margin-left:auto}.copy.right .eyebrow{justify-content:flex-end}.copy.right h2{text-align:right;margin-left:auto}.copy.right .flow-copy{text-align:right}.capability-pairs{gap:20px 15px}.capability-pairs span{font-size:10px}.join{min-height:105vh;padding-top:8vh}.join .copy{margin-top:4vh}.join h2{font-size:50px}.contact-footer{padding:10vh 8vw 30px;min-height:110vh}.footer-main{grid-template-columns:1fr;gap:30px}.footer-main h2{font-size:52px;max-width:300px}.footer-main p{font-size:11px;max-width:280px}.contact-form{width:100%;max-width:400px;margin-left:auto}.contact-form input{font-size:16px}.contact-form label{margin-bottom:22px}.footer-bottom{font-size:6px;gap:15px;margin-top:10vh;line-height:1.8}.motion-control{right:12px;bottom:12px;width:27px;height:27px}}
html,body{background:#e8f1ff}.contact-form input{background:transparent}.scroll-meter{background:#dbe7fa}.copy{width:35%;max-width:480px}.copy h2{font-size:clamp(40px,4.1vw,66px)}.hero-copy{position:relative;z-index:2}.hero h1{font-size:clamp(55px,6.1vw,100px)}.flow-copy{font-size:clamp(12px,1vw,16px)}.flow-copy span{white-space:normal}.copy.right{margin-left:auto}.join .copy{width:35%;max-width:480px}
@media(max-width:800px){.copy,.join .copy{width:100%;max-width:450px}.copy h2{font-size:clamp(42px,9vw,62px)}.hero-copy{width:100%}.hero h1{font-size:clamp(49px,10vw,78px)}.flow-copy{font-size:12px}.copy{background:linear-gradient(90deg,#e8f1ffdf,transparent);padding:15px 0}.copy.right{background:linear-gradient(270deg,#e8f1ffdf,transparent)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition-duration:.01ms!important}.flow-copy span,.copy h2,.copy>.eyebrow,.copy>.small-link,.capability-pairs{opacity:1!important;transform:none!important}}

/* The single loop holds the central story. */
#connections{align-items:center}#connections .copy{width:52%;max-width:650px;margin:0 auto;text-align:center}#connections .eyebrow{justify-content:center}#connections h2{margin-left:auto;margin-right:auto}#connections .flow-copy{text-align:center;padding-left:0}#connections .flow-copy span{transform:none}#connections .capability-pairs{text-align:center}.contact-footer{min-height:170vh}
@media(max-width:800px){#connections .copy{width:80%;margin:0 auto;background:none}#connections h2{text-align:center;font-size:42px}#connections .flow-copy{font-size:11px}#connections .eyebrow{justify-content:center}#connections .capability-pairs{gap:14px 10px}#connections .capability-pairs span{font-size:9px}}

/* Hold the story in the loop while construction makes its circuit. */
#connections{display:block;min-height:200vh;padding-top:50vh;padding-bottom:50vh}#connections .copy{position:sticky;top:50vh;transform:translateY(-50%)}
@media(max-width:800px){#connections{min-height:210vh}#connections .copy{width:78%;padding-top:0;padding-bottom:0}}

/* The contact footer is now the real end of the page. */
body[data-journey="falling"] .motion-control{border-color:#aac4ef}

/* The outer slot follows the WebGL attractor; its inner visual is replaceable media. */
#gravity-core{position:fixed;left:50%;top:65%;width:90px;height:90px;z-index:2;pointer-events:none;transform:translate(-50%,-50%);opacity:0;isolation:isolate}
.core-sphere{position:absolute;inset:6%;border-radius:50%;background:radial-gradient(circle at 34% 28%,#eaffff 0%,#b4e7ff 9%,#4e9fec 32%,#164d96 65%,#092b64 87%);box-shadow:inset -7px -9px 16px #071d5870,inset 3px 3px 8px #ecffffc0,0 0 0 1px #84caff,0 0 16px #55afff88;animation:core-breathe 4s ease-in-out infinite}
.core-aura{position:absolute;inset:-55%;border-radius:50%;background:radial-gradient(circle,#79bfff40 20%,#70b8ff21 42%,transparent 68%);filter:blur(7px)}
.core-ring{position:absolute;inset:-12%;border-radius:50%;border:1px solid #75baff80;border-top:2px solid #d7f9ff;border-right-color:transparent;transform:rotate(-25deg) scaleY(.7);animation:core-orbit 7s linear infinite;box-shadow:0 0 12px #70b8ff25}
.core-ring-inner{inset:-25%;border-color:#5e9fe735;border-bottom-color:#6aafffb0;animation-duration:11s;animation-direction:reverse}
@keyframes core-orbit{to{transform:rotate(335deg) scaleY(.7)}}
@keyframes core-breathe{50%{box-shadow:inset -7px -9px 16px #071d5870,inset 3px 3px 8px #ecffffc0,0 0 0 1px #a0daff,0 0 24px #55afffaa}}
.ambient-paused #gravity-core *{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){#gravity-core *{animation:none}}

/* The ligature alone is italic; preserve the wordmark as a single name. */
.wordmark{white-space:nowrap;flex-shrink:0}.wordmark .brand-ae{display:inline-block;font-style:italic;font-weight:600;letter-spacing:-1.2px;margin-right:.015em;color:inherit}
