/* Full-screen reference-led experience. Native scrolling; all media local. */
:root{--bg:#03080c;--bg2:#07121b;--ink:#eef5fa;--ink2:#d6e4ee;--muted:#9fb0bc;--blue:#127eaa;--blue2:#66d8ff;--sky:#b2eeff;--line:rgba(176,215,238,.16);--card:#0b1721;--dark:#03080c;--dark2:#0a1620;--r-xl:6px;--r-lg:5px;--r-md:4px;--r-sm:3px}
body{background:#03080c;color:#eef5fa}.site-nav{background:rgba(3,8,12,.88);border-color:rgba(158,211,245,.12);padding:16px var(--pad);gap:20px;backdrop-filter:blur(12px)}
.site-nav .brand{background:none;border-radius:0;padding:0;box-shadow:none}.brand img{width:60px}.brand>span{font-size:11px}.brand small{color:#a6bbc8}
.site-nav .main-nav{background:transparent;border:0;box-shadow:none;border-radius:0;padding:0}.main-nav a{color:#c1ced7;font-size:11px;font-weight:500;letter-spacing:.04em;border-radius:0;padding:10px}.main-nav a:hover,.main-nav a[aria-current=page]{color:#fff;background:none}.main-nav a[aria-current=page]::after{content:"";height:1px;background:#98e2ff;position:absolute;bottom:3px;left:10px;right:10px}
.nav-quote{background:transparent;border:1px solid #6f8593;border-radius:2px;box-shadow:none;font-size:10px;text-transform:uppercase;letter-spacing:.1em}.nav-quote span{background:transparent}.menu-toggle{background:#12222d;border:1px solid #587386;border-radius:3px}
.ref-home .site-nav{background:linear-gradient(#03080cbb,transparent);border:0;backdrop-filter:none}
.ref-home .site-nav.hide{transform:none}.skip-link{background:#d8f3ff;color:#06121a}.reading-progress{background:#a6e8ff}
.ref-journey{height:100svh;position:relative;background:#03080c;isolation:isolate}
.ref-ready .ref-journey{height:820svh}
.ref-stage{position:sticky;top:0;height:100svh;min-height:560px;overflow:hidden;background:#03080c;isolation:isolate}
.ref-landscape{position:absolute;inset:0;z-index:0;overflow:hidden}
.ref-landscape img{width:100%;height:100%;object-fit:cover;object-position:50% 50%;max-width:none;will-change:transform;transform:scale(var(--land-scale,1));opacity:var(--land-opacity,1)}
.ref-atmosphere{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,4,8,.12),transparent 40%,rgba(0,4,8,.35) 64%,#02070c 100%);z-index:1;pointer-events:none}
.ref-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none}
.ref-grain{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.75;z-index:4;pointer-events:none}
.ref-panel{position:absolute;inset:0;z-index:5;padding:var(--pad);display:flex;flex-direction:column;justify-content:center;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .38s ease,transform .6s ease;transform:translateY(18px)}
.ref-panel.is-active{opacity:1;visibility:visible;transform:none}.ref-panel.is-active a{pointer-events:auto}
.ref-panel h1,.ref-panel h2{font-weight:400;letter-spacing:-.05em;line-height:1.08;color:#edf5fb;font-size:clamp(38px,4.3vw,72px);margin:0;text-wrap:balance;max-width:700px}
.ref-panel h1{font-size:clamp(37px,4vw,64px);max-width:640px}.ref-panel h2 em{color:#9fdbf7;background:none;-webkit-text-fill-color:currentColor}
.ref-panel p{color:#b8c9d4;font-size:14px;line-height:1.7;max-width:410px}
.ref-panel .ref-kicker{font:500 9px/1.6 monospace;letter-spacing:.16em;text-transform:uppercase;color:#9bd9f3;margin-bottom:20px}
.ref-panel--hero{justify-content:flex-end;padding:0 var(--pad) 82px;background:linear-gradient(90deg,rgba(0,5,10,.3),transparent 65%)}
.ref-hero-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr);align-items:end;gap:50px;max-width:1200px;width:100%;margin-inline:auto}
.ref-hero-grid p{padding-bottom:6px}.ref-facts{display:flex;gap:22px;flex-wrap:wrap;border-top:1px solid #7794a655;margin-top:26px;padding-top:17px;font-size:10px;letter-spacing:.04em;color:#d8e7ef;max-width:1200px;width:100%;margin-inline:auto}
.ref-facts span::before{content:"";display:inline-block;width:3px;height:3px;background:#a8e4ff;margin-right:8px;vertical-align:middle}
.ref-scroll-hint{position:absolute;bottom:30px;left:var(--pad);font:9px/1.6 monospace;letter-spacing:.12em;color:#b7cdda;text-transform:uppercase}
.ref-panel--cluster{justify-content:flex-end;padding-bottom:100px}.ref-panel--cluster h2{font-size:clamp(36px,4vw,64px);max-width:530px}
.ref-callout{position:absolute;font:9px/1.6 monospace;letter-spacing:.08em;color:#b6d2e2;border-top:1px solid #6e9cb3;padding-top:9px;width:170px}.ref-callout::before{content:"";width:4px;height:4px;border:1px solid #bde8ff;position:absolute;top:-3px;left:-3px}.ref-callout--a{right:16%;top:27%}.ref-callout--b{left:15%;top:43%}
.ref-panel--code,.ref-panel--design,.ref-panel--ai{padding-left:9%;padding-bottom:130px}.ref-panel--code h2,.ref-panel--design h2,.ref-panel--ai h2{max-width:510px;font-size:clamp(40px,4.3vw,70px)}
.ref-story-description{margin-top:24px;max-width:350px!important}.ref-module{position:absolute;bottom:80px;left:var(--pad);right:var(--pad);display:flex;justify-content:space-between;align-items:end;border-top:1px solid #728d9e66;padding-top:15px;gap:20px}
.ref-module span{font:9px/1.6 monospace;letter-spacing:.1em;color:#a2bac9}.ref-module strong{display:block;font-size:13px;font-weight:400;letter-spacing:0;color:#e3eef5;margin-top:5px}
.ref-panel--tunnel h2{position:absolute;left:var(--pad);bottom:100px;max-width:480px;font-size:clamp(32px,3vw,48px)}
.ref-panel--portal{align-items:center;text-align:center;justify-content:flex-end;padding-bottom:125px}.ref-panel--portal h2{font-size:clamp(42px,4.7vw,76px)}.ref-panel--portal p{margin-top:18px;max-width:490px}.ref-panel--portal a{margin-top:22px;display:inline-flex;border-bottom:1px solid #a3d8f2;padding:10px 0;font-size:12px;letter-spacing:.04em;color:#d7f0ff}
.ref-controls{position:fixed;bottom:22px;right:88px;z-index:86;display:flex;gap:6px}.ref-control{font:9px/1.4 monospace;color:#c2d9e7;text-transform:uppercase;letter-spacing:.06em;background:#030b12d9;border:1px solid #5f7a8c;padding:10px 12px;min-height:38px;border-radius:0}.ref-control:hover{background:#173346;color:#fff}.ref-control[aria-pressed=true]{border-color:#b5e9ff;color:#d9f5ff}
.ref-rail{position:absolute;right:var(--pad);top:50%;transform:translateY(-50%);z-index:7;display:flex;flex-direction:column;gap:14px}.ref-rail button{width:22px;height:22px;display:grid;place-items:center}.ref-rail button::after{content:"";width:4px;height:4px;border:1px solid #96b5c8;background:transparent;transition:transform .2s}.ref-rail button[aria-current=step]::after{background:#d1f3ff;transform:scale(1.5);box-shadow:0 0 12px #8fdbff}
.ref-number{position:absolute;bottom:27px;right:var(--pad);font:9px/1.6 monospace;color:#aec5d3;letter-spacing:.1em;z-index:7}
.ref-skip{position:absolute;top:92px;right:var(--pad);z-index:8;font:9px/1.6 monospace;color:#b0c5d2;text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid #668297;padding-bottom:3px}
.ref-loading{display:none}
.ref-home .ticker-section{margin-top:0;border-radius:0;background:#050e16;color:#aecfdf;border-color:#395261}.ref-home .ticker-item{font-size:24px;font-weight:500}.ticker-item .dot{color:#8bc6e5}
/* Carry the reference's restrained technical visual language into real business content. */
.eyebrow,.sect-label,.svc-eyebrow,.industry-eyebrow,.tech-eyebrow,.test-label,.stats-eyebrow,.intro-label,.sl,.office-kicker,.tl-num-label,.company-values article>span,.footer-title{background:transparent;border:0;border-radius:0;padding:0;font:500 9px/1.6 monospace;letter-spacing:.14em;color:#9fbccc}
.eyebrow::before,.sect-label::before,.intro-label::before,.tech-eyebrow::before,.test-label::before,.stats-eyebrow::before,.svc-eyebrow::before,.industry-eyebrow::before{box-shadow:none;border-radius:0;background:#95d6f6;width:3px;height:3px}
h2 em,h1 em,.intro-heading em,h3 em{background:none;color:#a8dbf4;-webkit-text-fill-color:currentColor}
.intro-pillar,.tech-group,.company-values article,.stat-item,.social-stat,.test-slide,.tl-item,.capability,#section-industries .capability,.cms-project-card,.post-card,.pj-card,.admin-card,.card,.summary{background:#0b1721;border:1px solid #233a49;box-shadow:none;color:#e7f0f6;border-radius:4px}
#section-industries{background:#07121b}.tech-grid span,.chip{background:#0f2331;color:#bbd8e9;border-color:#345569;border-radius:2px}.tech-group:hover{box-shadow:none}
.intro-pillar .pillar-text,.company-values p,.test-text,.stat-lbl,.social-stat-lbl,.tech-stack-heading p:not(.tech-eyebrow),.company-heading>p:not(.eyebrow),.company-grid>div>p,.intro-desc,.journal-teaser p,.step-desc,.tl-desc{color:#a9becb}
.featured-visual,.fc-0 .featured-visual,.fc-1 .featured-visual,.fc-2 .featured-visual{background:radial-gradient(at 60% 30%,#284e65,#091724);border:1px solid #3b596a;border-radius:4px}.project-monogram{color:#e1f2fc}.featured-meta span,.featured-meta b{color:#a2bdcd}
#section-services,#section-svc-cards,#section-approach,.ceo-message,#section-contact,.site-footer{background:#040c13;border-color:#304755;border-radius:0}
.services-center-badge p{color:#a9bdc9}.ceo-message::after,#section-approach::before{background:radial-gradient(circle,#133e5755,transparent 65%)}
.ceo-message .eyebrow,.ceo-message blockquote,.ceo-message p,.ceo-message p strong,.footer-title{color:#bbd8e9}.capability[open]{background:#0f3b52;border-color:#5391ae}.capability summary{border-radius:3px}
#section-industries .industry-num,#section-svc-cards .svc-num,#section-svc-cards .svc-tag,.svc-num,.industry-num{color:#a5d4ed}.test-slide:nth-child(2),.test-slide:nth-child(3){background:#0b1c28}.test-quote-icon{color:#98c9e5}
.button,.text-link,.intro-cta,.contact-pill,.submit-btn,.btn,.project-call,.back-link{border-radius:2px}.button.gold,.submit-btn,.btn:not(.secondary){background:#bde6fb;color:#05121b;border-color:#bde6fb}.button.gold:hover,.submit-btn:hover,.btn:not(.secondary):hover{color:white}.text-link,.secondary,.contact-pill,.back-link{color:#daeaf5;border-color:#5b7c90}
.logo-item{background:#0c1b26;border:1px solid #294555;color:#c7dce9;box-shadow:none;border-radius:3px}.social-icon-link{border-radius:3px;background:#173144}.contact-big{font-size:clamp(40px,5vw,78px)}.contact-sub,.contact-addr{color:#b4cad7}.contact-big span:nth-child(2){-webkit-text-stroke-color:#b0ddf6}
#section-contact::before{background:radial-gradient(ellipse at 50% 100%,#123c5555,transparent 70%)}#section-contact .contact-pill{background:#0c2637;color:#e3f4fd;border-color:#57839d}
.site-footer{margin:0;border-top:1px solid #2c4656}.social-icons-row .social-icon-link{background:#173044}.footer-office p,.footer-brand-block p,.footer-office span{color:#9fb8c8}
input,select,textarea{background:#081722;color:#eef6fb;border:1px solid #42637a;border-radius:2px}.quote-page{--bg:#03080c;--panel:#0b1721;--panel2:#102431;--text:#eaf4fb;--muted:#a9becb;background:#03080c;color:#eef5fa}.quote-page .hero{background:#03080c}.service,.field{color:#e0eef6}.service{background:#0e2230!important;border-color:#38596d!important}.service:hover,.service.active{border-color:#aadffc!important;background:#17394d!important}.service strong,.summary h3,.card h2{color:#e8f3fa}.service em,.custom-callout{background:#17374b;color:#c5e5f7}.quote-sheet{background:#fff;color:#161616}
.ref-paused .ticker-track,.ref-paused .marquee-row-inner,.ref-paused .logo-track{animation-play-state:paused!important}
@media(max-width:980px){.main-nav{display:none}.site-nav .mobile-nav.open{background:#040c13}.mobile-nav a{font-size:21px}.ref-panel--code,.ref-panel--design,.ref-panel--ai{padding-left:var(--pad)}.ref-hero-grid{gap:25px;grid-template-columns:1.25fr 1fr}.ref-panel h2{max-width:420px}}
@media(max-width:640px){.ref-ready .ref-journey{height:650svh}.ref-stage{height:100svh;min-height:620px}.ref-landscape img{object-position:50% 40%}.ref-atmosphere{background:linear-gradient(180deg,#000a 0%,transparent 30%,#02070c55 50%,#02070c 100%)}.ref-panel{padding:90px var(--pad) 130px}.ref-panel h1{font-size:35px;max-width:330px}.ref-panel h2{font-size:38px;max-width:310px}.ref-panel p{font-size:12px;max-width:300px}.ref-hero-grid{grid-template-columns:1fr;gap:16px}.ref-panel--hero{padding:0 var(--pad) 100px}.ref-panel--hero .ref-kicker{font-size:8px;margin-bottom:12px}.ref-hero-grid p{max-width:300px}.ref-facts{gap:9px 14px;font-size:9px;margin-top:17px;padding-top:14px}.ref-scroll-hint{bottom:72px;font-size:8px}.ref-panel--cluster{padding-bottom:130px}.ref-callout{font-size:8px;width:110px}.ref-callout--a{right:9%;top:22%}.ref-callout--b{left:8%;top:40%}.ref-panel--code,.ref-panel--design,.ref-panel--ai{justify-content:flex-start;padding-top:130px}.ref-panel--code h2,.ref-panel--design h2,.ref-panel--ai h2{font-size:36px;max-width:300px}.ref-panel--code p,.ref-panel--design p,.ref-panel--ai p{max-width:275px}.ref-panel .ref-kicker{margin-bottom:15px}.ref-module{bottom:88px;gap:12px}.ref-module strong{font-size:10px}.ref-module span{font-size:8px}.ref-rail{right:12px;gap:10px;top:47%}.ref-number{bottom:27px;font-size:8px}.ref-skip{top:86px;font-size:8px}.ref-controls{right:72px;bottom:22px;gap:5px}.ref-control{font-size:8px;padding:9px 8px}.ref-panel--portal{justify-content:flex-end;padding-bottom:145px}.ref-panel--portal h2{font-size:40px}.ref-panel--portal p{max-width:290px}.ref-panel--tunnel h2{font-size:32px;bottom:130px;max-width:280px}.ref-home .brand>span{font-size:9px}.ref-home .brand img{width:42px}.intro-pillars{grid-template-columns:1fr 1fr}.ref-facts span:last-child{display:none}}
@media(prefers-reduced-motion:reduce){.ref-ready .ref-journey{height:480svh}.ref-panel{transition:none}.ref-landscape img{will-change:auto}.ref-stage{min-height:560px}}
@media print{.ref-ready .ref-journey{height:auto}.ref-stage{height:auto;position:relative;overflow:visible}.ref-landscape,.ref-canvas,.ref-grain,.ref-atmosphere,.ref-controls,.ref-rail,.ref-number,.ref-skip{display:none}.ref-panel{position:relative;opacity:1;visibility:visible;padding:20px;background:white;color:black;transform:none}.ref-panel h1,.ref-panel h2,.ref-panel p{color:black}.ref-callout,.ref-module{display:none}}
.site-nav .main-nav{backdrop-filter:none;-webkit-backdrop-filter:none}
@media(max-width:640px){.ref-controls{right:92px}.ref-number{bottom:79px;right:var(--pad)}.ref-rail button{width:26px;height:26px}.ref-rail{gap:6px}}
