#root { min-height: 100vh; }
.site-shell { overflow: clip; background: #f7f9fd; }
.page-width { width: min(1180px, calc(100% - 64px)); margin-inline: auto; }
/* One continuous gradient behind the navigation and hero. */
.hero-stage {
  position: relative;
  isolation: isolate;
  color: #fff;

  background:
    /* Primary flashlight: intense, concentrated upper-left */
    radial-gradient(
      ellipse 34% 42% at -3% -8%,
      rgba(34, 196, 255, 0.98) 0%,
      rgba(19, 133, 255, 0.664) 23%,
      rgba(17, 85, 245, 0.42) 52%,
      transparent 88%
    ),

    /* Secondary flashlight: softer, slightly lower */
    radial-gradient(
      ellipse 48% 45% at 2% 39%,
      rgba(35, 113, 255, 0.58) 0%,
      rgba(24, 83, 239, 0.36) 37%,
      transparent 85%
    ),

    /* Ambient royal-blue illumination */
    radial-gradient(
      ellipse 72% 95% at 30% 15%,
      rgba(26, 74, 218, 0.30) 0%,
      transparent 78%
    ),

    /* Dark foundation */
    linear-gradient(
      110deg,
      #10378e 0%,
      #0a2465 48%,
      #061536 100%
    );
}
.hero-stage::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.03) 0%,
      rgba(255, 255, 255, 0.01) 18%,
      rgba(0, 0, 0, 0.08) 58%,
      rgba(0, 0, 0, 0.18) 100%
    );
}
.hero-stage::after {
  content: '';
  position: absolute;
  z-index: -1;
  pointer-events: none;

  width: 1100px;
  height: 340px;

  top: -100px;
  left: -260px;

  transform: rotate(28deg);
  transform-origin: top left;

  background: linear-gradient(
    180deg,
    transparent 0%,
    rgba(30, 130, 255, 0.05) 100%,
    rgba(28, 136, 255, 0.30) 100%,
    rgba(51, 177, 255, 0.42) 100%,
    rgba(27, 107, 246, 0.17) 100%,
    transparent 100%
  );

  filter: blur(75px);
  opacity: 0.9;
}
.site-header { position: relative; z-index: 20; background: transparent; border-bottom: none; }
.nav-inner { min-height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 26px; }
.brand { display: inline-flex; align-items: center; gap: 12px; color: #fff; font-size: 21px; font-weight: 850; letter-spacing: .11em; white-space: nowrap; }
.brand-mark { display: flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 9px; background: linear-gradient(135deg,#166aff,#071f6a); color: white; font-size: 14px; letter-spacing: -.16em; padding-right: 3px; box-shadow: 0 4px 12px #195fc028; }
.brand-mark span { color: #9adeff; }
.brand-logo {
  display: block;
  width: 95%;
  height: 95%;
  object-fit: contain;
  transform: translateX(2px);
}
.nav-links { display:flex; align-items:center; gap: 29px; font-size: 13px; font-weight: 650; color: #f4f8ff; }
.nav-links > a:not(.nav-portal):hover { color: #82ddff; }
.nav-portal { padding: 12px 18px; border: 1px solid #a5caff8c; background: #ffffff13; border-radius: 7px; color: #fff; white-space: nowrap; }
.nav-portal span { margin-left: 5px; }
.nav-portal:hover { background: #ffffff25; }
.menu-toggle { display:none; border:0; background:none; color:#fff; cursor:pointer; }
.hero-section { isolation:isolate; min-height: 550px; position: relative; overflow: hidden; color: white; background: transparent; }
.hero-glow { position:absolute; inset:0; z-index:-1; background: radial-gradient(ellipse 42% 75% at 74% 51%,rgba(28,122,247,.27),transparent 75%), linear-gradient(0deg,rgba(1,11,37,.25),transparent 45%); }
.hero-grid { position:absolute; inset:0; z-index:-1; background-image: linear-gradient(rgba(255,255,255,.034) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.034) 1px,transparent 1px); background-size: 52px 52px; mask-image: linear-gradient(90deg,transparent 24%,black 100%); }
.hero-content { position:relative; display:grid; grid-template-columns: 1.13fr .87fr; align-items:center; min-height: 550px; padding-block: 65px 77px; }
.hero-copy { position:relative; z-index:2; max-width: 690px; }
.eyebrow { font-size: 11px; font-weight: 800; letter-spacing: .19em; text-transform:uppercase; }
.hero-eyebrow { color: #cce6ff; display:flex; align-items:center; gap:10px; }
.status-dot,.caption-pulse { display:inline-block; width:7px; height:7px; border-radius:50%; background:#64dcff; box-shadow: 0 0 14px #46d5ff; flex-shrink:0; }
.hero-copy h1 { margin:23px 0 22px; font-weight: 810; font-size: clamp(42px,4.3vw,64px); letter-spacing: -.05em; line-height:1.08; }
.hero-copy h1 span { color: #d2e8ff; }
.hero-copy > p { max-width: 570px; color: #cfddfa; font-size: 16px; line-height:1.8; }
.hero-actions { display:flex; gap:13px; flex-wrap:wrap; margin-top: 32px; }
.button { min-height:47px; display:inline-flex; align-items:center; justify-content:center; gap:16px; padding:12px 19px; border-radius:7px; font-size:13px; font-weight:760; transition: transform .2s,background .2s,box-shadow .2s; }
.button:hover { transform:translateY(-2px); }
.button-primary { background: #fff; color:#0c3887; box-shadow:0 8px 28px #051c4f45; }
.button-primary:hover { background:#eaf5ff; }
.button-outline { color:#fff; border:1px solid #a9c5ff80; background:#ffffff10; }
.button-outline:hover { background:#ffffff22; }
.hero-footnote { margin-top:48px; display:flex; align-items:center; gap:12px; font-size:10px; letter-spacing:.17em; font-weight:700; color:#9bc0fa; }
.footnote-rule { width:24px; height:1px; background:#77baff; }
.hero-visual { height:410px; position:relative; display:flex; align-items:center; justify-content:center; transform:translateX(20px); }
.orb { position:relative; width:320px; aspect-ratio:1; border-radius:50%; overflow:hidden; border:1px solid #7bcaff9c; background:radial-gradient(circle at 30% 28%,#5dafff62,transparent 35%),radial-gradient(circle at 69% 64%,#0d2a7f55,transparent 43%),radial-gradient(circle at 35% 37%,#1b6dccaa,#07194bcc 64%,#040e27 100%); box-shadow:inset -27px -22px 55px #030f2f, inset 10px 13px 32px #5bbfff28, 0 0 70px #37b2ff24,0 0 0 10px #6dbfff08; }
.orb::after { content:''; position:absolute; inset:0; background: repeating-linear-gradient(0deg,transparent 0px,transparent 15px,#8edaff15 16px); border-radius:50%; }
.orb-orbit { position:absolute; width:410px; height:410px; border:1px solid #6caeff33; border-radius:50%; }
.orbit-two { width:485px; height:310px; transform:rotate(-24deg); border-color:#62c9ff2e; }
.orb-latitude { position:absolute; left:-10%; width:120%; border:1px solid #7fcfff5e; border-radius:50%; }
.latitude-a { top:27%; height:46%; }
.latitude-b { top:41%; height:18%; }
.orb-longitude { position:absolute; top:-4%; height:108%; border:1px solid #7fcfff5a; border-radius:50%; }
.longitude-a { left:29%; width:42%; }
.longitude-b { left:10%; width:80%; }
.orb-node { position:absolute; z-index:2; background:#c8f7ff; border-radius:50%; width:7px; height:7px; box-shadow:0 0 0 4px #25b9ff2d,0 0 20px #5acaff; }
.node-a { left:23%; top:29%; }.node-b { left:64%; top:50%; }.node-c { left:40%; top:75%; }
.visual-caption { position:absolute; bottom:-2px; font-size:10px; font-weight:750; letter-spacing:.17em; color:#9cccfb; display:flex; align-items:center; gap:9px; }
.visual-caption span:not(.caption-pulse) { opacity:.45; }
.hero-bottom-line { position:absolute; height:3px; background:linear-gradient(90deg,#27b2ff,transparent 90%); bottom:0; left:0; right:0; opacity:.7; }
.intelligence-section { padding:85px 0 94px; background:#f8fafe; }
.section-heading { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-bottom:30px; }
.dark-eyebrow { color:#2163c2; }
.section-heading h2 { margin:11px 0 10px; font-size:clamp(29px,3.1vw,40px); line-height:1.16; letter-spacing:-.04em; font-weight:780; color:#101f3c; }
.period { color:#397cf1; }
.section-heading p { color:#60718d; font-size:15px; }
.sample-tag { display:inline-flex; padding:7px 11px; border:1px solid #d5e2f6; border-radius:99px; color:#4b6e9d; font-size:11px; font-weight:700; white-space:nowrap; }
.report-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.report-card { background:white; border:1px solid #e1e8f3; border-radius:11px; overflow:hidden; box-shadow:0 8px 24px #182a4810; }
.report-art { height:168px; position:relative; overflow:hidden; display:flex; align-items:center; justify-content:center; color:#a6e4ff; background:linear-gradient(130deg,#153e9b,#061832); }
.art-network { background:linear-gradient(125deg,#123f88,#07152b); }.art-coverage { background:linear-gradient(125deg,#0b548e,#081b3a); }
.report-art::after { content:''; position:absolute; inset:0; background-image:linear-gradient(#ffffff10 1px,transparent 1px),linear-gradient(90deg,#ffffff10 1px,transparent 1px); background-size:26px 26px; mask-image:linear-gradient(90deg,transparent,black); }
.report-art > svg { z-index:1; filter:drop-shadow(0 0 17px #31aeff); stroke-width:1.2; }
.report-art-glow { position:absolute; width:170px; height:170px; background:#1484ff59; filter:blur(63px); border-radius:50%; }
.art-index { position:absolute; z-index:2; bottom:13px; left:16px; font-size:9px; letter-spacing:.17em; color:#bbd7ffba; }
.report-body { padding:23px 23px 26px; }
.report-meta { display:flex; justify-content:space-between; gap:8px; font-size:9px; font-weight:800; letter-spacing:.07em; color:#326cc0; }
.report-meta span:last-child { font-weight:600; letter-spacing:0; color:#91a0b7; }
.report-body h3 { color:#172946; font-size:19px; line-height:1.32; letter-spacing:-.023em; margin:15px 0 11px; font-weight:760; }
.report-body p { font-size:13px; line-height:1.73; color:#63748c; }
.sample-label { display:block; margin-top:24px; padding-top:14px; border-top:1px solid #edf1f7; color:#97a5b8; font-size:11px; }
.den-note { margin:25px auto 0; max-width:850px; text-align:center; font-size:12px; line-height:1.8; color:#6f7e94; }
.capabilities-section { padding:85px 0; background:#fff; border-top:1px solid #e5ebf5; }
.capabilities-inner { display:grid; grid-template-columns: 1fr 1fr; gap:95px; align-items:center; }
.capabilities-intro .eyebrow { color:#2b70ce; }.capabilities-intro h2 { margin:15px 0; font-size:clamp(30px,3.5vw,45px); line-height:1.12; letter-spacing:-.045em; color:#142540; font-weight:790; }.capabilities-intro p { max-width:440px; color:#65758d; font-size:15px; line-height:1.8; }
.capabilities-list { display:grid; gap:25px; }.capability { display:flex; align-items:flex-start; gap:17px; }.capability-icon { flex-shrink:0; display:flex; align-items:center; justify-content:center; width:49px; height:49px; border-radius:11px; background:#eff5ff; color:#2b6bcd; }.capability h3 { font-size:16px; margin:0 0 5px; color:#183050; font-weight:760; }.capability p { color:#6e7c90; font-size:13px; line-height:1.7; }
.bottom-cta { background:radial-gradient(ellipse 75% 130% at 3% 0%,#305ce7,#153989 45%,transparent 85%),linear-gradient(105deg,#153583,#081734); color:white; padding:58px 0; }.bottom-cta-inner { display:flex; align-items:center; justify-content:space-between; gap:24px; }.bottom-cta .eyebrow { color:#c5e3ff; }.bottom-cta h2 { font-size:clamp(25px,3.1vw,38px); line-height:1.19; letter-spacing:-.035em; font-weight:770; margin:12px 0 0; }.button-light { background:#fff; color:#103982; flex-shrink:0; }.button-light:hover { background:#e8f4ff; }
.footer { background:#071329; color:#91a5c3; }.footer-inner { min-height:85px; display:flex; align-items:center; justify-content:space-between; gap:16px; font-size:12px; }.footer-brand { font-size:15px; letter-spacing:.12em; font-weight:800; color:#f5faff; }
@media (max-width:1000px) { .nav-links { gap:15px; font-size:12px; }.hero-content { grid-template-columns:1.1fr .9fr; }.hero-copy h1 { font-size:clamp(39px,4.5vw,54px); }.hero-visual { transform:scale(.8); }.capabilities-inner { gap:45px; } }
@media (max-width:760px) { .page-width { width:min(100% - 36px, 580px); }.nav-inner { min-height:68px; }.brand { font-size:18px; }.menu-toggle { display:inline-flex; padding:9px; }.nav-links { display:none; position:absolute; top:68px; left:0; right:0; background:#071c52; padding:16px 18px 22px; box-shadow:0 14px 24px #07173824; flex-direction:column; align-items:stretch; gap:0; }.nav-links.open { display:flex; }.nav-links a { padding:13px; }.nav-portal { margin-top:8px; text-align:center; }.hero-content { min-height:unset; grid-template-columns:1fr; padding-block:70px 52px; }.hero-copy h1 { font-size:clamp(36px,8vw,54px); }.hero-copy > p { font-size:15px; }.hero-visual { display:none; }.hero-footnote { margin-top:42px; line-height:1.7; }.hero-section { min-height:unset; background:transparent; }.intelligence-section,.capabilities-section { padding:62px 0; }.section-heading { align-items:start; }.sample-tag { display:none; }.report-grid { grid-template-columns:1fr; gap:18px; }.report-art { height:175px; }.capabilities-inner { grid-template-columns:1fr; gap:30px; }.bottom-cta-inner { align-items:start; flex-direction:column; }.footer-inner { padding-block:25px; flex-wrap:wrap; }.footer-brand { width:100%; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto !important; transition:none !important; } }

@media (max-width:760px) { .hero-stage { background: radial-gradient(ellipse 145% 75% at 0% 0%,#1984ff 0%,#164dda 36%, transparent 78%),linear-gradient(135deg,#113b9d,#071631); } .nav-links { border-bottom:1px solid #ffffff25; } }

@media (min-width: 761px) {
  .hero-stage {
    background-image:
      url('/cyberdax-beam-overlay.png'),
      linear-gradient(
        105deg,
        #10378e 0%,
        #09235a 42%,
        #05112e 72%,
        #020a1d 100%
      );
    background-position: center top;
    background-size: cover;
    background-repeat: no-repeat;
  }
}

.footer-portal {
  color: #dce9ff;
  text-decoration: none;
  font-weight: 600;
  transition: color 0.2s ease;
}

.footer-portal:hover {
  color: #ffffff;
  text-decoration: underline;
}

.footer-portal:focus-visible {
  outline: 2px solid #64caff;
  outline-offset: 5px;
  border-radius: 2px;
}

.footer-links {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 24px;
}

.footer-legal {
  color: #dce9ff;
  text-decoration: none;
  font-weight: 600;
  transition: color .2s ease;
}

.footer-legal:hover {
  color: #ffffff;
  text-decoration: none;
}

.footer-legal:focus-visible {
  outline: 2px solid #64caff;
  outline-offset: 5px;
  border-radius: 2px;
}