:root {
  --bg: #06192c;
  --bg-2: #09213a;
  --bg-3: #0d2b4c;
  --panel: rgba(13, 42, 73, 0.66);
  --panel-solid: #0e2a49;
  --panel-light: #f5f8fc;
  --line: rgba(116, 183, 255, 0.18);
  --text: #f8fbff;
  --muted: #a8b8ca;
  --muted-dark: #5c6f86;
  --blue: #1885ff;
  --cyan: #35d7ef;
  --gold: #d9ac31;
  --shadow: 0 24px 70px rgba(1, 9, 18, .28);
  --radius: 22px;
  --max: 1240px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--text);
  background: var(--bg);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
a { color: inherit; text-decoration: none; }
button, input, textarea { font: inherit; }

body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(rgba(83,153,224,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(83,153,224,.035) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: linear-gradient(to bottom, #000 0%, rgba(0,0,0,.85) 55%, transparent 95%);
  z-index: -2;
}
body::after {
  content:"";
  position: fixed;
  width: 760px;
  height: 760px;
  right: -240px;
  top: -180px;
  background: radial-gradient(circle, rgba(20,125,255,.18), transparent 66%);
  filter: blur(8px);
  pointer-events:none;
  z-index:-3;
}

.container { width: min(calc(100% - 40px), var(--max)); margin-inline: auto; }
.eyebrow { color: #56ddf3; text-transform: uppercase; letter-spacing: .16em; font-size: 12px; font-weight: 800; }
.gradient-text { background: linear-gradient(90deg, #1e86ff 0%, #37d9ef 100%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.muted { color: var(--muted); }

.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  border-bottom: 1px solid rgba(160,199,239,.08);
  background: rgba(8, 26, 46, .88);
  backdrop-filter: blur(18px);
}
.nav { height: 72px; display:flex; align-items:center; justify-content:space-between; gap:26px; }
.brand { display:flex; align-items:center; gap:13px; font-weight:800; letter-spacing:.17em; }
.brand-mark { width:31px; height:36px; display:grid; place-items:center; }
.brand-mark svg { width:100%; height:100%; filter: drop-shadow(0 0 12px rgba(47,186,255,.22)); }
.brand-copy strong { display:block; font-size:16px; line-height:1; }
.brand-copy span { display:block; margin-top:6px; font-size:8px; color:#41d9ef; letter-spacing:.42em; }
.nav-links { display:flex; align-items:center; gap:30px; color:#bdc9d8; font-size:13px; font-weight:650; }
.nav-links a:hover, .nav-links a.active { color:#fff; }
.nav-cta, .btn-primary {
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  background: linear-gradient(135deg, #1884ff, #0870e9);
  color:white; border:1px solid rgba(104,188,255,.45); border-radius:12px;
  padding:13px 19px; font-weight:800; font-size:13px;
  box-shadow: inset 0 1px rgba(255,255,255,.16), 0 10px 28px rgba(0,100,230,.14);
  transition:.22s ease;
}
.nav-cta:hover, .btn-primary:hover { transform: translateY(-1px); filter:brightness(1.06); }
.btn-secondary { display:inline-flex; align-items:center; gap:10px; border:1px solid rgba(163,196,231,.27); color:#eaf1f8; border-radius:12px; padding:13px 19px; font-weight:750; font-size:13px; background:rgba(255,255,255,.025); }
.btn-link { display:inline-flex; gap:10px; align-items:center; font-weight:750; color:#78dff0; }
.icon-arrow { transition:.2s ease; }
.btn-primary:hover .icon-arrow, .btn-link:hover .icon-arrow { transform: translateX(3px); }

.mobile-toggle { display:none; border:0; background:none; color:white; font-size:25px; }

/* INTRO */
.intro-body { background: #051628; }
.intro-header { position:fixed; top:0; left:0; right:0; z-index:60; background:linear-gradient(to bottom,rgba(5,22,40,.92),rgba(5,22,40,.35),transparent); border-bottom:0; backdrop-filter:none; }
.intro-nav { height:80px; display:flex; align-items:center; justify-content:space-between; }
.skip-link { color:#a9bacb; font-size:13px; padding:10px 0; }
.skip-link:hover { color:white; }
.intro-progress { position:fixed; left:0; right:0; top:0; height:2px; z-index:80; background:rgba(255,255,255,.05); }
.intro-progress span { display:block; height:100%; width:0; background:linear-gradient(90deg,var(--blue),var(--cyan)); box-shadow:0 0 18px rgba(42,216,238,.7); }

.intro-visual { position:fixed; inset:0; z-index:-1; overflow:hidden; }
.intro-orb { position:absolute; width:920px; height:920px; left:50%; top:48%; transform:translate(-50%,-50%); border-radius:50%; background:radial-gradient(circle, rgba(20,133,255,.18) 0%, rgba(21,91,154,.05) 46%, transparent 72%); }
.coordinate-ring { position:absolute; left:50%; top:50%; width:620px; height:620px; transform:translate(-50%,-50%); border:1px solid rgba(78,185,255,.09); border-radius:50%; }
.coordinate-ring::before, .coordinate-ring::after { content:""; position:absolute; inset:50% auto auto 50%; background:rgba(78,185,255,.08); transform:translate(-50%,-50%); }
.coordinate-ring::before { width:1px; height:130%; }
.coordinate-ring::after { height:1px; width:130%; }
.signal-line { position:absolute; inset:0; }
.signal-line svg { width:100%; height:100%; overflow:visible; }
#pathGlow { filter: drop-shadow(0 0 10px rgba(47,214,241,.55)); }
.signal-dot { position:absolute; width:10px; height:10px; border-radius:50%; background:#58e7f5; box-shadow:0 0 0 7px rgba(52,214,238,.08),0 0 28px rgba(52,214,238,.85); left:50%; top:50%; }

.intro-section { min-height:100vh; display:grid; align-items:center; padding:120px 0 90px; }
.intro-copy { width:min(820px, 100%); margin:0 auto; text-align:center; }
.intro-copy h1 { font-size:clamp(48px,8vw,96px); line-height:.98; letter-spacing:-.055em; margin:18px 0 24px; }
.intro-copy h2 { font-size:clamp(34px,5vw,64px); line-height:1.04; letter-spacing:-.045em; margin:16px 0 25px; }
.intro-copy p { font-size:clamp(18px,2.2vw,24px); line-height:1.65; color:#aebdcd; margin:0 auto; max-width:760px; }
.intro-copy strong { color:white; }
.intro-step { opacity:.25; transform:translateY(28px); transition:opacity .65s ease, transform .65s ease; }
.intro-step.in-view { opacity:1; transform:none; }
.statement-word { display:inline-block; position:relative; }
.statement-word::after { content:""; position:absolute; left:0; right:0; bottom:-6px; height:3px; border-radius:2px; background:linear-gradient(90deg,var(--blue),var(--cyan)); transform:scaleX(0); transform-origin:left; transition:transform .8s ease .2s; }
.in-view .statement-word::after { transform:scaleX(1); }

.principles { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-top:44px; }
.principle { text-align:left; background:rgba(10,36,63,.64); border:1px solid rgba(87,172,247,.15); border-radius:18px; padding:22px; backdrop-filter:blur(14px); }
.principle b { display:block; font-size:16px; margin:10px 0 8px; }
.principle p { font-size:14px; line-height:1.55; color:#98aabd; }
.principle-icon { width:36px; height:36px; border-radius:10px; display:grid; place-items:center; color:#3cd9ee; background:rgba(30,135,255,.12); border:1px solid rgba(52,180,255,.12); }
.final-intro .btn-primary { margin-top:34px; padding:15px 24px; }
.scroll-cue { position:fixed; bottom:24px; left:50%; transform:translateX(-50%); color:#71869b; font-size:11px; text-transform:uppercase; letter-spacing:.22em; z-index:10; display:flex; flex-direction:column; align-items:center; gap:8px; }
.scroll-cue::after { content:""; width:1px; height:28px; background:linear-gradient(var(--cyan),transparent); animation:scrollpulse 1.8s infinite; }
@keyframes scrollpulse { 0%,100% { opacity:.2; transform:scaleY(.6); } 50% { opacity:1; transform:scaleY(1); } }

/* HOMEPAGE */
.hero { min-height:715px; position:relative; padding:78px 0 105px; background:linear-gradient(105deg,#06192c 0%,#071b31 50%,#0a2a4c 100%); }
.hero::before { content:""; position:absolute; width:520px; height:520px; right:10%; bottom:-35%; border:1px solid rgba(44,174,255,.05); border-radius:50%; box-shadow:0 0 80px rgba(12,151,255,.06); }
.hero-grid { display:grid; grid-template-columns:1fr 1.12fr; gap:72px; align-items:center; }
.hero h1 { font-size:clamp(54px,6vw,78px); line-height:.98; letter-spacing:-.055em; margin:18px 0 24px; max-width:610px; }
.hero-copy > p { color:#aebdcd; font-size:18px; line-height:1.65; max-width:590px; margin-bottom:30px; }
.actions { display:flex; gap:12px; flex-wrap:wrap; }
.microproof { display:flex; gap:23px; flex-wrap:wrap; margin-top:26px; color:#a8b9ca; font-size:13px; font-weight:650; }
.microproof span::before { content:"✓"; display:inline-grid; place-items:center; width:16px; height:16px; border:1px solid #35d7ef; border-radius:50%; color:#35d7ef; margin-right:7px; font-size:10px; }

.workspace { position:relative; border:1px solid rgba(88,168,246,.28); border-radius:24px; padding:18px; background:linear-gradient(145deg,rgba(18,56,94,.85),rgba(8,31,55,.88)); box-shadow:var(--shadow); min-height:440px; }
.workspace::before { content:""; position:absolute; inset:-18px -22px; border-radius:50%; border:1px solid rgba(73,178,255,.06); pointer-events:none; }
.workspace-top { display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid rgba(111,185,255,.1); padding:0 0 14px; color:#c5d2df; font-size:12px; font-weight:700; }
.workspace-title { display:flex; align-items:center; gap:10px; }
.ai-badge { border:1px solid rgba(87,193,255,.25); background:rgba(8,30,54,.6); padding:8px 12px; border-radius:10px; color:#d8e7f6; }
.stat-row { display:grid; grid-template-columns:repeat(3,1fr); gap:11px; margin-top:15px; }
.stat { background:rgba(31,65,101,.58); border:1px solid rgba(115,181,247,.11); border-radius:14px; padding:16px; }
.stat span { display:block; font-size:10px; color:#849ab0; }
.stat strong { display:block; font-size:24px; margin-top:3px; }
.stat small { color:#8399b0; }
.chart { margin-top:12px; background:linear-gradient(180deg,rgba(10,48,84,.65),rgba(7,32,57,.6)); border:1px solid rgba(92,180,255,.13); border-radius:16px; padding:18px; }
.chart-title { color:#8fa4b9; font-size:11px; font-weight:700; }
.chart svg { width:100%; height:135px; }
.product-row { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:10px; }
.product-pill { border-radius:13px; padding:12px 14px; display:flex; gap:10px; align-items:center; background:rgba(8,52,93,.84); border:1px solid rgba(38,130,232,.24); }
.product-pill.gold { background:rgba(66,58,32,.34); border-color:rgba(218,172,49,.22); }
.product-pill b { display:block; font-size:12px; }
.product-pill span { color:#8297ad; font-size:10px; }
.control-badge { position:absolute; left:-28px; bottom:13px; padding:9px 14px; border-radius:10px; background:#082341; border:1px solid rgba(73,180,255,.25); color:#dceaf6; font-size:11px; font-weight:750; }

.value-strip-wrap { position:relative; margin-top:-42px; z-index:4; }
.value-strip { background:#fff; color:#112139; border-radius:22px; display:grid; grid-template-columns:repeat(4,1fr); box-shadow:0 25px 65px rgba(0,26,60,.14); overflow:hidden; }
.value-item { padding:26px 22px; display:grid; grid-template-columns:42px 1fr; gap:12px; border-right:1px solid #dce5ef; }
.value-item:last-child { border-right:0; }
.value-icon { width:38px; height:38px; display:grid; place-items:center; border-radius:11px; background:#edf6ff; color:#1884ff; font-size:19px; }
.value-item b { display:block; margin-bottom:5px; }
.value-item p { margin:0; color:#61738c; font-size:12px; line-height:1.5; }

.light-section { background:#f4f7fb; color:#12243b; padding:120px 0; }
.section-head { display:flex; justify-content:space-between; gap:40px; align-items:end; margin-bottom:45px; }
.section-head h2 { font-size:clamp(36px,4.6vw,58px); letter-spacing:-.045em; line-height:1.02; margin:9px 0 0; max-width:750px; }
.section-head p { color:#65778e; max-width:470px; line-height:1.65; }
.cards-2 { display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.solution-card { position:relative; min-height:390px; border-radius:24px; overflow:hidden; padding:34px; background:#0a2744; color:white; box-shadow:0 22px 50px rgba(16,45,75,.1); }
.solution-card.gold { background:linear-gradient(140deg,#253143,#262c2f 60%,#3b3320); }
.solution-card::after { content:""; position:absolute; width:330px; height:330px; right:-90px; bottom:-120px; border-radius:50%; border:1px solid rgba(77,192,255,.14); box-shadow:0 0 70px rgba(27,137,255,.08); }
.solution-card.gold::after { border-color:rgba(226,183,60,.14); box-shadow:0 0 70px rgba(226,183,60,.07); }
.solution-tag { display:inline-flex; padding:7px 10px; border-radius:8px; border:1px solid rgba(86,186,255,.2); color:#6edff0; font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.12em; }
.solution-card.gold .solution-tag { color:#e5be51; border-color:rgba(226,183,60,.2); }
.solution-card h3 { font-size:36px; letter-spacing:-.04em; margin:46px 0 14px; }
.solution-card p { color:#a8b9ca; line-height:1.65; max-width:470px; }
.solution-card .btn-link { position:absolute; left:34px; bottom:34px; }
.solution-card.gold .btn-link { color:#e5be51; }

.dark-section { padding:120px 0; background:linear-gradient(160deg,#071a2e,#0b2948); }
.pillars { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:46px; }
.pillar { border:1px solid rgba(116,183,255,.13); border-radius:18px; background:rgba(11,42,73,.55); padding:24px; min-height:220px; }
.pillar-num { color:#3bd8ed; font-size:12px; font-weight:800; letter-spacing:.16em; }
.pillar h3 { margin:28px 0 12px; }
.pillar p { color:#9cb0c3; line-height:1.6; font-size:14px; }

.quote-section { background:#fff; color:#12243b; padding:105px 0; text-align:center; }
.quote-section blockquote { margin:0 auto; max-width:900px; font-size:clamp(34px,4.8vw,58px); line-height:1.08; letter-spacing:-.045em; font-weight:800; }
.quote-section p { color:#688096; max-width:720px; margin:24px auto 0; font-size:18px; line-height:1.6; }

.contact-section { padding:100px 0; background:#06192c; }
.contact-card { display:grid; grid-template-columns:1.1fr .9fr; gap:55px; border:1px solid rgba(100,181,255,.16); border-radius:26px; background:linear-gradient(135deg,rgba(15,50,84,.75),rgba(7,31,56,.7)); padding:48px; }
.contact-card h2 { font-size:48px; letter-spacing:-.045em; margin:12px 0 16px; }
.contact-card p { color:#a5b7c9; line-height:1.65; }
.contact-form { display:grid; gap:12px; }
.contact-form input, .contact-form textarea { width:100%; border:1px solid rgba(133,188,241,.18); background:rgba(4,22,40,.55); color:white; border-radius:12px; padding:14px 15px; outline:0; }
.contact-form input:focus, .contact-form textarea:focus { border-color:rgba(61,209,238,.5); box-shadow:0 0 0 3px rgba(61,209,238,.06); }
.contact-form textarea { min-height:120px; resize:vertical; }

.footer { border-top:1px solid rgba(125,181,231,.1); background:#051626; padding:38px 0; color:#7890a6; }
.footer-inner { display:flex; justify-content:space-between; gap:30px; align-items:center; font-size:12px; }

/* INTERNAL PAGES */
.page-hero { padding:110px 0 85px; background:linear-gradient(135deg,#06192c,#0a2b4d); }
.page-hero h1 { font-size:clamp(48px,7vw,76px); line-height:1; letter-spacing:-.055em; margin:16px 0 22px; }
.page-hero p { max-width:680px; color:#a8bacb; font-size:19px; line-height:1.7; }
.page-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:70px; align-items:start; }
.sidebar-card { position:sticky; top:100px; border:1px solid rgba(89,177,250,.14); border-radius:18px; background:rgba(10,43,75,.58); padding:24px; }
.sidebar-card h3 { margin-top:0; }
.sidebar-card ul { padding:0; list-style:none; margin:0; }
.sidebar-card li { border-top:1px solid rgba(110,177,240,.1); padding:13px 0; color:#9fb3c6; }
.content-block { margin-bottom:48px; }
.content-block h2 { font-size:36px; letter-spacing:-.035em; }
.content-block p, .content-block li { color:#a8bacb; line-height:1.75; }
.content-block ul { padding-left:20px; }

.reveal { opacity:0; transform:translateY(18px); transition:.65s ease; }
.reveal.show { opacity:1; transform:none; }

@media (max-width: 980px) {
  .nav-links { display:none; position:absolute; top:72px; left:0; right:0; padding:20px; background:#081d34; flex-direction:column; align-items:flex-start; border-top:1px solid rgba(255,255,255,.06); }
  .nav-links.open { display:flex; }
  .mobile-toggle { display:block; }
  .nav-cta { display:none; }
  .hero-grid, .contact-card, .page-grid { grid-template-columns:1fr; }
  .hero { padding-top:55px; }
  .workspace { margin-top:20px; }
  .value-strip { grid-template-columns:1fr 1fr; }
  .value-item:nth-child(2) { border-right:0; }
  .value-item:nth-child(-n+2) { border-bottom:1px solid #dce5ef; }
  .cards-2, .pillars, .principles { grid-template-columns:1fr 1fr; }
  .sidebar-card { position:static; }
}
@media (max-width: 640px) {
  .container { width:min(calc(100% - 28px), var(--max)); }
  .hero { min-height:auto; padding-bottom:90px; }
  .hero h1 { font-size:52px; }
  .value-strip { grid-template-columns:1fr; }
  .value-item { border-right:0; border-bottom:1px solid #dce5ef; }
  .value-item:last-child { border-bottom:0; }
  .cards-2, .pillars, .principles { grid-template-columns:1fr; }
  .section-head { display:block; }
  .workspace { min-height:390px; }
  .stat { padding:12px; }
  .stat strong { font-size:20px; }
  .control-badge { left:12px; }
  .contact-card { padding:28px; }
  .contact-card h2 { font-size:38px; }
  .footer-inner { display:block; text-align:center; }
  .footer-inner > * + * { margin-top:12px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration:.01ms!important; animation-iteration-count:1!important; scroll-behavior:auto!important; transition-duration:.01ms!important; }
}

/* FULL BUILD POLISH */
:focus-visible { outline: 2px solid var(--cyan); outline-offset: 4px; }
::selection { background: rgba(53,215,239,.28); color: #fff; }
.nav-links a { position: relative; }
.nav-links a.active::after { content:""; position:absolute; left:0; right:0; bottom:-12px; height:2px; border-radius:999px; background:linear-gradient(90deg,var(--blue),var(--cyan)); }
.footer a:hover { color:#c4d9eb; }
.notfound { min-height:100vh; display:grid; place-items:center; text-align:center; padding:80px 0; background:radial-gradient(circle at 50% 40%,rgba(24,132,255,.15),transparent 38%),#051628; }
.notfound h1 { font-size:clamp(54px,9vw,104px); letter-spacing:-.065em; line-height:.95; margin:18px auto 22px; max-width:950px; }
.notfound p { color:var(--muted); max-width:650px; margin:0 auto 30px; font-size:18px; line-height:1.7; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; }
}
.form-status { color:#8fb0c9; font-size:12px; line-height:1.5; margin:2px 0 0; }

/* CINEMATIC INTRO v0.8 — autonomous, not scroll-dependent */
.intro-cinematic { overflow:hidden; min-height:100vh; }
.intro-cinematic::before {
  content:""; position:fixed; inset:0; z-index:-4; pointer-events:none;
  background:
    linear-gradient(rgba(83,153,224,.028) 1px, transparent 1px),
    linear-gradient(90deg, rgba(83,153,224,.028) 1px, transparent 1px);
  background-size:96px 96px;
  animation:gridDrift 18s linear infinite;
}
.intro-cinematic .intro-header { background:linear-gradient(to bottom,rgba(5,22,40,.88),rgba(5,22,40,.18),transparent); }
.intro-cinematic .intro-visual { z-index:-2; }
.intro-ambient { position:absolute; border-radius:50%; filter:blur(65px); opacity:.18; animation:ambientFloat 10s ease-in-out infinite alternate; }
.intro-ambient-a { width:620px; height:620px; left:26%; top:14%; background:#0b79db; }
.intro-ambient-b { width:480px; height:480px; right:2%; bottom:0; background:#00b5d6; animation-delay:-4s; opacity:.09; }
.intro-cinematic .intro-orb { width:min(48vw,760px); height:min(48vw,760px); top:51%; opacity:.92; animation:orbBreathe 5.6s ease-in-out infinite; }
.intro-cinematic .coordinate-ring { width:min(31vw,610px); height:min(31vw,610px); top:51%; animation:ringTurn 30s linear infinite; }
.intro-cinematic .coordinate-ring span { position:absolute; inset:10%; border:1px dashed rgba(75,194,255,.055); border-radius:50%; animation:ringInnerTurn 18s linear infinite reverse; }
.cinematic-line { position:absolute; inset:0; width:100%; height:100%; overflow:visible; }
.route-base { fill:none; stroke:rgba(49,214,240,.105); stroke-width:1.4; vector-effect:non-scaling-stroke; }
.route-live { fill:none; stroke:url(#routeGradient); stroke-width:2.2; stroke-linecap:round; vector-effect:non-scaling-stroke; filter:drop-shadow(0 0 8px rgba(47,214,241,.42)); transition:stroke-dashoffset .9s cubic-bezier(.22,.61,.36,1); }
#signalDot { transform-box:fill-box; transform-origin:center; animation:signalPulse 1.55s ease-in-out infinite; }
#signalHalo { animation:haloPulse 1.55s ease-in-out infinite; }
.particle { position:absolute; width:4px; height:4px; border-radius:50%; background:#57e6f2; box-shadow:0 0 15px rgba(87,230,242,.75); opacity:.35; animation:particleFloat 8s ease-in-out infinite; }
.p1 { left:13%; top:66%; animation-delay:-1s; }.p2 { left:34%; top:35%; animation-delay:-4s; }.p3 { right:25%; top:30%; animation-delay:-2s; }.p4 { right:11%; bottom:24%; animation-delay:-6s; }

.intro-stage { min-height:100vh; display:grid; place-items:center; position:relative; z-index:2; padding:105px 0 92px; cursor:pointer; }
.cinematic-copy { width:min(970px,calc(100% - 40px)); text-align:center; position:relative; }
.cinematic-copy > .eyebrow { margin-bottom:20px; animation:eyebrowIn .9s ease both; }
.intro-slides { position:relative; min-height:330px; display:grid; place-items:center; }
.intro-slide { grid-area:1/1; width:100%; opacity:0; visibility:hidden; transform:translateY(24px) scale(.985); filter:blur(7px); transition:opacity .7s ease, transform .75s cubic-bezier(.22,.61,.36,1), filter .7s ease, visibility .7s; pointer-events:none; }
.intro-slide.is-active { opacity:1; visibility:visible; transform:translateY(0) scale(1); filter:blur(0); pointer-events:auto; }
.intro-slide h1,.intro-slide h2 { font-size:clamp(52px,6.7vw,94px); line-height:.97; letter-spacing:-.06em; margin:0 auto 25px; max-width:980px; text-wrap:balance; }
.intro-slide p { color:#aebdcd; font-size:clamp(17px,1.6vw,23px); line-height:1.62; max-width:800px; margin:0 auto; text-wrap:balance; }
.intro-slide p strong { color:white; }
.intro-slide .statement-word::after { transform:scaleX(0); }
.intro-slide.is-active .statement-word::after { transform:scaleX(1); transition-delay:.42s; }
.intro-slide-final .cinematic-cta { margin-top:31px; opacity:0; transform:translateY(8px); transition:opacity .6s ease .35s,transform .6s ease .35s,box-shadow .2s ease; }
.intro-slide-final.is-active .cinematic-cta { opacity:1; transform:none; }

.intro-controls { display:flex; align-items:center; justify-content:center; gap:18px; margin-top:27px; position:relative; z-index:5; }
.intro-prev,.intro-next { width:38px; height:38px; border-radius:50%; border:1px solid rgba(126,188,239,.17); background:rgba(7,30,53,.48); color:#9fb8cb; cursor:pointer; transition:.2s ease; backdrop-filter:blur(12px); }
.intro-prev:hover,.intro-next:hover { color:white; border-color:rgba(74,218,239,.45); background:rgba(14,56,91,.62); transform:scale(1.05); }
.intro-dots { display:flex; align-items:center; gap:9px; }
.intro-dot { width:7px; height:7px; padding:0; border:0; border-radius:50%; background:rgba(157,190,219,.28); cursor:pointer; transition:.35s ease; }
.intro-dot.is-active { width:28px; border-radius:999px; background:linear-gradient(90deg,var(--blue),var(--cyan)); box-shadow:0 0 13px rgba(53,215,239,.24); }
.intro-hint { position:fixed; left:50%; bottom:23px; transform:translateX(-50%); color:#526b81; letter-spacing:.03em; font-size:11px; z-index:4; white-space:nowrap; opacity:.72; }
body[data-intro-step="1"] .intro-orb { transform:translate(-48%,-50%) scale(1.035); }
body[data-intro-step="2"] .intro-orb { transform:translate(-52%,-49%) scale(.98); }
body[data-intro-step="3"] .intro-orb { transform:translate(-50%,-50%) scale(1.06); }

@keyframes gridDrift { to { background-position:96px 48px,48px 96px; } }
@keyframes ambientFloat { from { transform:translate3d(-4%,-2%,0) scale(.95); } to { transform:translate3d(6%,4%,0) scale(1.08); } }
@keyframes orbBreathe { 0%,100% { opacity:.68; filter:saturate(.9); } 50% { opacity:1; filter:saturate(1.2); } }
@keyframes ringTurn { to { transform:translate(-50%,-50%) rotate(360deg); } }
@keyframes ringInnerTurn { to { transform:rotate(360deg); } }
@keyframes signalPulse { 0%,100% { r:4.5px; opacity:.8; } 50% { r:6px; opacity:1; } }
@keyframes haloPulse { 0%,100% { r:12px; opacity:.15; } 50% { r:22px; opacity:.5; } }
@keyframes particleFloat { 0%,100% { transform:translate3d(0,0,0); opacity:.18; } 50% { transform:translate3d(12px,-22px,0); opacity:.58; } }
@keyframes eyebrowIn { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:none; } }

@media (max-width:760px) {
  .intro-cinematic .intro-nav { height:68px; }
  .intro-cinematic .brand { transform:scale(.88); transform-origin:left center; }
  .intro-cinematic .skip-link { font-size:11px; }
  .intro-stage { padding:88px 0 70px; }
  .intro-slides { min-height:370px; }
  .intro-slide h1,.intro-slide h2 { font-size:clamp(44px,14vw,66px); }
  .intro-slide p { font-size:16px; line-height:1.58; }
  .intro-cinematic .coordinate-ring { width:78vw; height:78vw; }
  .intro-cinematic .intro-orb { width:120vw; height:120vw; }
  .intro-hint { display:none; }
}

@media (prefers-reduced-motion: reduce) {
  .intro-cinematic::before,.intro-ambient,.intro-cinematic .intro-orb,.intro-cinematic .coordinate-ring,.particle,#signalDot,#signalHalo { animation:none!important; }
  .intro-slide { filter:none; transform:none; transition:opacity .2s ease,visibility .2s ease; }
}

/* CONTACT FORM v0.8.1 — functional + accessible */
.contact-form { align-content:start; }
.form-field { display:grid; gap:7px; }
.form-field label { color:#b8c9d8; font-size:12px; font-weight:700; letter-spacing:.015em; }
.form-field label span { color:var(--cyan); }
.contact-form input, .contact-form textarea { font:inherit; transition:border-color .2s ease,box-shadow .2s ease,background .2s ease; }
.contact-form input::placeholder, .contact-form textarea::placeholder { color:#687e91; opacity:1; }
.contact-form input:invalid:not(:placeholder-shown), .contact-form textarea:invalid:not(:placeholder-shown) { border-color:rgba(255,116,128,.38); }
.contact-submit { width:100%; justify-content:center; gap:10px; min-height:46px; border:0; cursor:pointer; }
.contact-submit:disabled { cursor:wait; opacity:.75; }
.submit-spinner { width:15px; height:15px; border:2px solid rgba(255,255,255,.35); border-top-color:#fff; border-radius:50%; animation:contactSpin .8s linear infinite; }
.form-note { margin:2px 0 0!important; color:#6f879c!important; font-size:11px; line-height:1.5!important; }
.form-status { min-height:20px; color:#8fb0c9; font-size:12px; line-height:1.5; margin:0; }
.form-status.is-success { color:#66e1c4; }
.form-status.is-error { color:#ff9aa4; }
.form-honeypot { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.contact-promise { margin-top:28px; padding-top:22px; border-top:1px solid rgba(111,183,241,.12); color:#c2d3e1!important; font-size:13px; }
@keyframes contactSpin { to { transform:rotate(360deg); } }

/* COMPANY DETAILS v0.8.2 */
.company-footer { padding:42px 0 34px; }
.footer-company-grid { display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:46px; align-items:start; }
.footer-brand,.footer-company-details,.footer-company-contact { display:grid; gap:10px; }
.footer-brand strong,.footer-company-details>strong,.footer-company-contact>strong { color:#e5f4ff; font-size:14px; }
.footer-brand span { color:#8fa7ba; font-size:13px; }
.footer-brand small { color:#60788c; margin-top:12px; }
.footer-company-details>div,.footer-company-contact>div { display:grid; grid-template-columns:78px minmax(0,1fr); gap:12px; font-size:12px; line-height:1.5; }
.footer-company-details span,.footer-company-contact span { color:#667f94; }
.footer-company-details b,.footer-company-contact a { color:#9fb7c9; font-weight:500; overflow-wrap:anywhere; }
.footer-company-contact a:hover,.footer-contact-link:hover { color:var(--cyan); }
.footer-contact-link { width:max-content; margin-top:5px; color:#91b4ca; font-size:12px; }
.company-card { margin:28px 0 0; padding:22px; border:1px solid rgba(111,183,241,.12); border-radius:18px; background:rgba(8,30,52,.36); }
.company-card h3 { margin:3px 0 15px; color:#e7f4fd; font-size:18px; }
.company-list { display:grid; gap:9px; margin:0; }
.company-list>div { display:grid; grid-template-columns:108px minmax(0,1fr); gap:14px; align-items:start; }
.company-list dt { color:#6f879c; font-size:12px; }
.company-list dd { margin:0; color:#b9cddd; font-size:12px; font-weight:600; overflow-wrap:anywhere; }
.company-list a { color:#b9cddd; }
.company-list a:hover { color:var(--cyan); }
[data-company-row][hidden] { display:none!important; }
@media (max-width:760px) {
  .footer-company-grid { grid-template-columns:1fr; gap:28px; }
  .footer-company-details>div,.footer-company-contact>div { grid-template-columns:70px minmax(0,1fr); }
  .company-list>div { grid-template-columns:92px minmax(0,1fr); }
}
