/* A quiet, continuous palette: graphite, platinum, and blue light. */
:root{--bg:#05070b;--white:#edf1f7;--muted:#94a1b3;--blue:#a7bfdc;--line:#c2d3ec20;scroll-padding-top:110px}
body{background:var(--bg)}
h1,h2,h3{font-weight:400}
.site-header{inset:20px 3% auto;height:72px;padding:0 24px;border:1px solid #cbdcf21c;border-radius:12px;background:#080c1375;backdrop-filter:blur(20px);box-shadow:0 12px 38px #00000014}
.has-scrolled .site-header{background:#080c13df;border-color:#cbdcf22b}
.site-header .wordmark{font-size:28px}
.site-header nav{gap:32px;font-size:14px}
.site-header nav>a:not(.nav-cta){color:#aeb9c9;transition:color .2s}
.site-header nav>a:hover{color:#fff}
.nav-cta{padding:11px 18px;gap:28px;border-radius:6px;background:#c9d9ef0b;border-color:#c5d8f134;font-size:14px;min-height:44px}
.nav-cta:hover{background:#c9d9ef16}
.gradient-text{background-image:linear-gradient(112deg,#f6f8fc 6%,#c4d2e3 45%,#7797bc 94%)}
.eyebrow{color:#91a5bf;font-weight:500}
.button{border-radius:6px;min-height:54px;font-size:14px;gap:35px;transition:background .25s,transform .25s,box-shadow .25s}
.button-primary{background:linear-gradient(115deg,#f0f4fa,#c4d2e5);color:#101722;border-color:#e3eaf5;box-shadow:0 5px 22px #080e2055,inset 0 1px 0 #fff}
.button:hover{transform:translateY(-2px);box-shadow:0 8px 32px #b4cfff21}
.text-link{display:inline-flex;align-items:center;gap:20px;min-height:44px;font-size:14px;color:#c0cbd9;border-bottom:1px solid #b8cbe33d;transition:color .2s,border-color .2s}
.text-link:hover{color:#fff;border-color:#d8e5f6}
.text-link span{font-size:20px}
.experience{height:640svh;background:#05070b}
.scene-vignette{background:linear-gradient(#05070b44,transparent 30%,transparent 65%,#05070b),radial-gradient(ellipse,transparent 30%,#02040a85 105%)}
.hero-copy{max-width:1120px}
.hero-copy .eyebrow{font-size:12px;letter-spacing:2.5px;margin-bottom:28px;color:#bcc9db;text-shadow:0 1px 6px #020409,0 2px 18px #020409}
.hero-copy h1{font-size:clamp(58px,7.3vw,108px);font-weight:400;line-height:1.035;letter-spacing:-.065em;text-shadow:0 4px 35px #03050ce6}
.hero-description{font-size:17px;line-height:1.75;color:#aebed2;margin:27px 0 31px}
.hero-actions{display:flex;align-items:center;justify-content:center;gap:29px}
.hero-actions .text-link{min-height:54px;padding:0 18px;border:1px solid #c2d5ee32;border-radius:6px;background:#08101bcf;backdrop-filter:blur(12px)}
.scene-hud{bottom:28px;font-size:11px;letter-spacing:1.8px;color:#8394ab}
.scene-hud #chapter-label{font-size:10px;max-width:230px;line-height:1.5}
.scroll-invitation{position:absolute;left:50%;transform:translateX(-50%);font-size:10px}
.chapter-nav{right:19px;gap:9px}
.chapter-nav button{min-width:24px;min-height:30px}
.chapter-nav i{background:#a7b9d05c}
.chapter-nav button[aria-current=step] i{background:#e0eaf6;box-shadow:0 0 13px #abc9f366}
.chapter-nav span{font-size:11px;color:#ccd9e9}
.scene-copy h2,.action-heading h2{font-weight:400}
.data-chip{border-color:#c5d9f035;background:linear-gradient(140deg,#182536e8,#080f1de8);border-radius:10px;box-shadow:0 22px 55px #0005}
.chip-icon{background:#accfff0c;border-color:#c5d9f029;color:#d6e4f5;border-radius:7px}
.agent-window{background:linear-gradient(145deg,#122033f2,#080e18f5);border-color:#d3e1f43d;border-radius:14px;box-shadow:0 30px 110px #0009,inset 0 1px 0 #d5e9ff10}
.agent-top,.agent-bottom{border-color:#c7dcf01f}
.result-card{background:linear-gradient(130deg,#24415e99,#122238cc);border-color:#c6d8ec29;border-radius:9px}
.spatial-card{border-color:#c8d9f029;border-radius:12px;background:linear-gradient(150deg,#182536,#0a101a 70%);box-shadow:0 30px 80px #0007}
.spatial-card-art{opacity:.88}
.card-index{color:#a6bad4;letter-spacing:1.8px}
.spatial-card h3{font-weight:400}
.spatial-card>p{font-size:15px;line-height:1.6;color:#a4b3c8;min-height:77px}
.spatial-card>a{border-color:#c7d9ef29;color:#e1eaf5}
.outro-label{background:#091422aa;border-color:#bacfe22b;color:#b4c7de}
.possibilities{background:radial-gradient(ellipse at 50% 0,#12223877,transparent 58%),#080c12;color:#edf1f7;color-scheme:dark;padding-top:120px}
.possibilities::before{background:#bbd2ee29;box-shadow:0 -10px 110px 10px #4b78b21c}
.possibilities .eyebrow{color:#91a5bf}
.possibilities h2{font-weight:400}
.possibilities h2 span{color:#94aeca}
.possibilities-intro>p:last-child{color:#94a4ba}
.usecase-tabs{background:#d4e5fa05;border-color:#bfcee42b;border-radius:9px;padding:5px;gap:4px}
.usecase-tabs button{color:#9babbe;border-radius:5px;min-height:46px;padding:13px 23px}
.usecase-tabs button:hover{color:#fff;background:#c5d7ee09}
.usecase-tabs button[aria-selected=true]{background:#d8e4f2;color:#101924;box-shadow:0 3px 16px #0003}
.usecase-content{background:linear-gradient(120deg,#111b2a,#0c121c 80%);border-color:#b8cce324;border-radius:13px;box-shadow:0 24px 65px #0003}
.usecase-label{color:#97b1ce;font-size:12px;line-height:1.7}
.usecase-copy h3{font-weight:400;color:#edf3fb}
.usecase-copy p{color:#9bacc2}
.usecase-tags span{font-size:12px;background:#c6def609;color:#afc1d7;border-color:#c4d7f021;border-radius:4px}
.usecase-flow>div{background:#cbdffa05;border-color:#b5cde327;border-radius:6px;color:#d8e4f3}
.usecase-flow span{color:#8ba4c0;font-size:12px}
.usecase-flow>i{color:#657f9f}
.usecase-flow>div:last-child{background:#bacfe31c;border-color:#bad3ec4f;color:#ecf6ff;box-shadow:0 8px 28px #0002}
.possibilities-footer{border-color:#b8cfe323;color:#7f95af;font-size:11px;letter-spacing:1.2px;gap:25px;line-height:1.7}
.approach{padding-top:120px;padding-bottom:120px}
.approach h2{font-weight:400}
.approach .muted{color:#849bb7}
.approach-steps article{border-color:#bed1e127}
.approach-steps article>span{color:#8ba4bf;font-size:12px}
.approach-steps h3{font-weight:400}
.approach-steps p{color:#96a8bf}
.reveal-pending{opacity:0;transform:translateY(22px)}
.reveal-item{transition:opacity .8s ease,transform .8s cubic-bezier(.22,1,.36,1)}
.globe-closing{background:radial-gradient(ellipse at 50% 49%,#1a335c55,transparent 62%),linear-gradient(#070c14,#080e18 65%,#05070b);padding-top:110px}
.globe-closing h2{font-weight:400}
.globe-closing .gradient-text{background-image:linear-gradient(110deg,#f1f5fb,#8ea8c9)}
.globe-closing .closing-copy .eyebrow{color:#8ea7c5}
.globe-stage{height:640px;margin-top:25px}
.globe-fallback{filter:brightness(.72) saturate(.55)}
.globe-locations{max-width:1060px;border:1px solid #c6dbf222;border-radius:10px;background:linear-gradient(140deg,#112034bd,#0a111de8);box-shadow:0 20px 65px #0003;color:#e4edf8;padding:30px;margin-bottom:65px}
.locations-heading h3{font-size:26px;font-weight:400;letter-spacing:-.8px}
.locations-heading>span{color:#90a8c3}
.location-list{gap:8px}
.location-list button{color:#b8c9dd;background:#d4e7fb05;border-color:#c5d9ef26;border-radius:5px;min-height:44px}
.location-list button::before{background:#8daaca;box-shadow:none}
.location-list button:hover:not(:disabled){background:#d4e7fb13;border-color:#c5d9ef66;color:#f2f7ff}
.location-list button[aria-pressed=true],.location-list button[aria-pressed=true]:hover{background:#d2e0f1;border-color:#d2e0f1;color:#0f2035}
.location-list button[aria-pressed=true]::before{background:#264665;box-shadow:none}
.location-status{color:#96aec9;font-size:14px}
.globe-closing .closing-wordmark{color:transparent;-webkit-text-stroke:1px #a5c2e21b;letter-spacing:-.075em}
.site-footer{padding-bottom:34px;background:#05070b}
.contact-icon{background:linear-gradient(135deg,#172334,#0b111b);border-color:#b9cce529}
.contact-links{margin-bottom:24px}
@media(min-width:681px) and (max-height:730px){.hero-copy h1{font-size:clamp(58px,6.6vw,92px)}.hero-copy .eyebrow{margin-bottom:20px}.hero-description{margin:20px 0 24px;font-size:16px}.hero-copy{top:51%}.scene-hud{bottom:21px}}
@media(max-width:1000px) and (min-width:681px){.site-header nav{gap:24px}.hero-actions{gap:22px}.usecase-content{padding:36px}.globe-stage{height:600px}}
@media(max-width:680px){
 :root{scroll-padding-top:94px}
 .site-header{inset:12px 12px auto;height:64px;padding:0 15px;border-radius:9px;background:#080c13c2}
 .site-header .wordmark{font-size:25px}.site-header .wordmark .co{font-size:12px}
 .site-header nav{gap:17px}.site-header nav>a.nav-solutions{display:inline-flex;font-size:13px;min-height:44px;align-items:center}
 .nav-cta{padding:9px 12px;font-size:13px;gap:13px;min-height:42px}
 .experience{height:680svh}
 .hero-copy{top:43%;padding:0 24px}
 .hero-copy .eyebrow{font-size:10px;letter-spacing:1.6px;line-height:1.6;margin-bottom:25px}
 .hero-copy h1{font-size:clamp(40px,11.6vw,68px);line-height:1.06;letter-spacing:-.063em}
 .hero-description{font-size:15px;line-height:1.75;margin:24px 0 28px}
 .hero-actions{flex-direction:column;gap:13px}.hero-actions .button{font-size:14px;min-height:52px;padding:13px 21px;gap:27px}
 .text-link{font-size:13px;min-height:40px}.hero-actions .text-link{min-height:44px;padding-inline:14px}
 .scene-hud{bottom:31px}.scene-hud #chapter-label{display:none}.scroll-invitation{bottom:0;font-size:9px;letter-spacing:1.7px}
 .chapter-nav{right:5px}.chapter-nav button{min-width:22px;min-height:27px}.chapter-nav{gap:5px}
 .scene-copy .eyebrow,.action-heading .eyebrow,.solutions-heading .eyebrow,.scene-outro .eyebrow{font-size:11px;line-height:1.6;letter-spacing:1.6px}
 .scene-copy h2{font-size:55px}.scene-copy>p:last-child{font-size:15px}
 .spatial-card{border-radius:12px}.card-index{font-size:11px}.spatial-card>a{font-size:14px}
 .possibilities{padding-top:85px}.possibilities h2{font-size:43px}
 .usecase-tabs{border-radius:9px;padding:5px}.usecase-tabs button{font-size:13px;min-height:46px;padding:11px 5px}
 .usecase-content{min-height:630px;padding:28px 22px;border-radius:11px;gap:28px}
 .usecase-label{font-size:11px;letter-spacing:1px}.usecase-tags span{font-size:11px;padding:7px 8px}
 .usecase-copy h3{font-size:30px;line-height:1.16}.usecase-copy p{font-size:16px}.usecase-flow strong{font-size:14px}
 .possibilities-footer{font-size:10px;letter-spacing:.6px;gap:16px}
 .approach{padding-top:80px;padding-bottom:85px}.approach h2{font-size:42px}.approach-steps h3{font-size:24px}
 .globe-closing{padding-top:78px}.globe-stage{height:460px;margin-top:20px}.globe-visual{height:440px;top:0}
 .globe-locations{padding:23px 19px;margin-top:0;margin-bottom:45px;border-radius:9px}.locations-heading h3{font-size:24px}
 .location-list button{padding:11px 12px;font-size:14px}.site-footer{padding-bottom:28px}
 .footer-intro p{font-size:13px}.contact-links{margin-bottom:18px}
}
@media(max-width:380px){.globe-pin-label small{display:none}.globe-pin-label{min-width:110px}}
@media(max-width:360px){.site-header{padding:0 12px}.site-header nav{gap:10px}.nav-cta{gap:8px;padding:8px 10px}.hero-copy{padding-inline:18px}.hero-copy .eyebrow{font-size:9px}.hero-copy h1{font-size:40px}.hero-description{font-size:14px}}
@media(prefers-reduced-motion:reduce){.reveal-item{transition:none}.reveal-pending{opacity:1;transform:none}.button:hover{transform:none}}

/* An open, interactive service stage replaces the old card grid. */
.site-header{border:0;border-radius:0;background:linear-gradient(#05070be0,#05070b70);box-shadow:none;backdrop-filter:blur(16px);inset:12px 3% auto;padding-inline:12px}
.has-scrolled .site-header{background:#05070bbd;border:0}
.nav-cta{border-radius:99px;background:#e7eef8;color:#0c1420;border-color:#e7eef8;min-height:44px;padding:11px 19px}
.site-header nav>a.nav-cta:hover{color:#0c1420;background:#fff}
.button,.hero-actions .text-link{border-radius:99px}.hero-actions .text-link{background:#08101b80;border-color:#c2d5ee38}
.experience{height:540svh}
#world{transition:opacity .65s}.stage[data-chapter="3"] #world{opacity:.24}
.stage[data-chapter="3"] .scene-hud{visibility:hidden}
.scene-solutions{background:#05070b}
.solutions-showcase{position:absolute;inset:132px max(7vw,42px) 82px;display:grid;grid-template-rows:auto minmax(0,1fr) auto;max-width:1280px;margin-inline:auto;background:radial-gradient(ellipse at 24% 45%,#12254066,transparent 63%),#05070b}
.showcase-heading{display:flex;justify-content:space-between;align-items:center;gap:24px}
.showcase-heading h2{font-size:clamp(22px,2vw,30px);font-weight:400;letter-spacing:-.04em}
.showcase-heading>p{font-size:11px;letter-spacing:1.6px;color:#7188a4;text-align:right}
.solution-panels{position:relative;min-height:0;touch-action:pan-y}
.solution-panel{display:grid;grid-template-columns:1fr 1fr;gap:5%;align-items:center;height:100%;min-height:0;outline-offset:4px}
.solution-panel[hidden]{display:none}
.solution-art{position:relative;display:grid;place-items:center;height:100%;min-height:0;mix-blend-mode:screen;pointer-events:none}
.solution-art img{position:absolute;inset:4%;display:block;width:92%;height:92%;max-height:none;object-fit:contain;mix-blend-mode:screen;mask-image:radial-gradient(ellipse closest-side,#000 75%,transparent 100%);animation:solution-float 7s ease-in-out infinite;filter:drop-shadow(0 20px 38px #30609b18)}
.solution-copy{position:relative;padding-block:26px}
.solution-kicker{font-size:12px;letter-spacing:2px;color:#91a9c7;margin-bottom:20px}
.solution-copy h3{font-size:clamp(43px,5.1vw,78px);font-weight:400;line-height:1.02;letter-spacing:-.058em;margin:0}
.solution-copy h3 span{color:#95aecd}
.solution-description{margin:24px 0 25px;color:#a6b5c9;font-size:17px;line-height:1.75;max-width:400px}
.solution-action{display:inline-flex;align-items:center;gap:28px;min-height:48px;font-size:14px;font-weight:500;color:#e8f0fa}
.solution-action>span{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#e3ecf7;color:#0c1726;font-size:25px;transition:transform .3s,background .3s}
.solution-action:hover>span{transform:rotate(45deg);background:#fff}
.solution-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px}
.solution-tabs button{position:relative;text-align:left;border:0;border-top:1px solid #c4d6ef30;background:transparent;color:#7c8ba0;padding:20px 35px 8px 0;min-height:78px;transition:color .3s}
.solution-tabs button::before{content:'';position:absolute;inset:-1px 0 auto;height:2px;background:#e4efff;transform:scaleX(0);transform-origin:left;transition:transform .45s cubic-bezier(.22,1,.36,1)}
.solution-tabs button[aria-selected="true"]::before{transform:scaleX(1)}
.solution-tabs button[aria-selected="true"],.solution-tabs button:hover{color:#eef4fd}
.solution-tabs button>span{font-family:'Space Grotesk',sans-serif;font-size:20px;letter-spacing:-.5px}
.solution-tabs small{display:block;font-size:12px;line-height:1.5;margin-top:5px;color:#7f91aa}
.solution-tabs i{position:absolute;top:24px;right:3px;font-style:normal;font-size:19px;opacity:.35;transition:opacity .3s,transform .3s}
.solution-tabs button[aria-selected="true"] i{opacity:1;transform:rotate(45deg)}
@keyframes solution-float{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-12px) rotate(2deg)}}
/* Contact shortcuts live in a single floating capsule. */
.contact-dock{position:fixed;z-index:80;right:3%;bottom:max(20px,env(safe-area-inset-bottom));display:flex;align-items:center;gap:4px;padding:6px;border:1px solid #bed3ee30;border-radius:99px;background:#111b2ba6;backdrop-filter:blur(24px);box-shadow:0 6px 36px #0005,inset 0 1px 0 #dceaff0c}
.dock-caption{font-size:13px;color:#ccd9ea;padding:0 17px 0 14px;border-right:1px solid #c1d5ed28;margin-right:5px;line-height:30px}
.dock-link{position:relative;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;color:#c4d1e4;transition:background .25s,transform .25s}
.dock-link img{width:20px;height:20px;display:block}.dock-link span{position:absolute;bottom:calc(100% + 16px);left:50%;transform:translateX(-50%);padding:8px 12px;border-radius:99px;background:#172437;border:1px solid #c5d8ef2b;font-size:12px;line-height:1.25;opacity:0;visibility:hidden;transition:opacity .2s;pointer-events:none}
.dock-link:hover,.dock-link:focus-visible{background:#d1e5ff14;transform:translateY(-2px)}.dock-link:hover span,.dock-link:focus-visible span{opacity:1;visibility:visible}
.dock-link:focus-visible{outline-offset:2px}.is-loading .contact-dock{visibility:hidden}
.chapter-nav{left:16px;right:auto}.chapter-nav span{left:30px;right:auto}.site-footer{padding-bottom:118px}html{scroll-padding-bottom:100px}
.reading-mode .scene-solutions{min-height:850px}.reading-mode .solutions-showcase{transform:none!important}
@media(max-height:780px) and (min-width:681px){.solutions-showcase{inset-block:112px 80px}.solution-kicker{margin-bottom:13px}.solution-copy h3{font-size:clamp(42px,4.8vw,66px)}.solution-description{margin:20px 0;font-size:16px}.solution-copy{padding-block:18px}.solution-tabs button{min-height:70px;padding-top:15px}.solution-tabs i{top:18px}}
@media(min-width:681px) and (max-width:950px){.solutions-showcase{inset-inline:7%}.showcase-heading>p{display:none}.solution-panel{gap:3%;grid-template-columns:.9fr 1.1fr}.solution-copy h3{font-size:clamp(39px,5.8vw,54px)}.solution-description{font-size:16px}.solution-description br{display:none}.solution-tabs{gap:24px}.solution-tabs button>span{font-size:18px}}
@media(max-width:680px){
 .site-header{inset:9px 14px auto;padding-inline:3px;background:#05070b99;height:64px}.site-header nav{gap:15px}.nav-cta{border-radius:99px;min-height:42px;padding-inline:14px}
 .experience{height:540svh}.hero-copy{top:44%}.hero-actions .button{min-width:210px}.scene-hud{bottom:95px}.chapter-nav{left:auto;right:4px}
 .solutions-showcase{inset:98px 26px 110px;grid-template-rows:auto minmax(0,1fr) auto}
 .showcase-heading h2{font-size:23px;letter-spacing:-.7px}.showcase-heading>p{display:none}
 .solution-panel{grid-template-columns:1fr;grid-template-rows:minmax(100px,1fr) auto;gap:0;align-items:stretch}
 .solution-art{height:100%;min-height:0}.solution-art img{animation-duration:6s}
 .solution-copy{padding:0 0 26px}.solution-kicker{display:none}.solution-copy h3{font-size:clamp(38px,10.5vw,50px);line-height:1.04;letter-spacing:-.05em}.solution-copy h3 br{display:none}.solution-copy h3 span{display:block}
 .solution-description{font-size:16px;line-height:1.55;margin:18px 0 19px;max-width:350px}.solution-description br{display:none}
 .solution-action{min-height:44px;font-size:14px;gap:22px}.solution-action>span{width:39px;height:39px;font-size:24px}
 .solution-tabs{gap:16px}.solution-tabs button{padding:15px 0 8px;min-height:56px;text-align:left}.solution-tabs button>span{font-size:14px;letter-spacing:-.3px;white-space:nowrap}.solution-tabs small,.solution-tabs i{display:none}
 .contact-dock{left:50%;right:auto;transform:translateX(-50%);bottom:max(12px,env(safe-area-inset-bottom));width:calc(100% - 40px);max-width:370px;padding:6px;gap:3px}.dock-caption{display:none}
 .dock-link{width:auto;height:44px;flex:1;gap:7px;border-radius:99px}.dock-link img{height:18px;width:18px}.dock-link span{position:static;transform:none;background:none;border:0;opacity:1;visibility:visible;padding:0;font-size:12px;line-height:1.2}
 .site-footer{padding-bottom:104px}.reading-mode .scene-solutions{min-height:840px}
}
@media(max-width:680px) and (max-height:760px){.solutions-showcase{inset:91px 25px 95px}.showcase-heading h2{font-size:20px}.solution-panel{grid-template-rows:minmax(85px,1fr) auto}.solution-copy{padding-bottom:16px}.solution-copy h3{font-size:36px}.solution-description{font-size:15px;margin:14px 0 13px}.solution-art img{max-height:none}.solution-tabs button{min-height:51px;padding-top:13px}}
@media(max-width:360px){.solutions-showcase{inset-inline:23px}.solution-tabs{gap:12px}.solution-tabs button>span{font-size:13px}.dock-link{gap:5px}.dock-link span{font-size:11px}.contact-dock{width:calc(100% - 28px)}.site-header nav{gap:10px}}
@media(prefers-reduced-motion:reduce){.solution-art img{animation:none}.solution-action>span,.solution-tabs button,.solution-tabs button::before,.dock-link,#world{transition:none}.dock-link:hover,.solution-action:hover>span{transform:none}}
