:root {
  --ink: #071426;
  --ink-soft: #10233d;
  --blue: #178fca;
  --cyan: #62d8ff;
  --magenta: #d83b9a;
  --ice: #eaf7fc;
  --paper: #f8fcfe;
  --line: rgba(7, 20, 38, 0.12);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
a { color: inherit; text-decoration: none; }
button, a { -webkit-tap-highlight-color: transparent; }
svg { width: 1.1em; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

.nav {
  position: absolute; inset: 0 0 auto; z-index: 20; height: 96px;
  max-width: 1440px; margin: auto; padding: 0 5vw;
  display: flex; align-items: center; justify-content: space-between;
}
.brand img { display: block; width: 178px; height: auto; }
.nav-links { display: flex; align-items: center; gap: 34px; color: rgba(255,255,255,.72); font-size: 14px; font-weight: 600; }
.nav-links > a { transition: color .2s ease; }
.nav-links > a:hover { color: white; }
.nav-cta { display: inline-flex; align-items: center; gap: 10px; color: white !important; border: 1px solid rgba(255,255,255,.24); border-radius: 999px; padding: 12px 18px; }
.menu-button { display: none; }

.hero {
  position: relative; min-height: 830px; overflow: hidden; color: white;
  padding: 178px max(5vw, calc((100vw - 1300px)/2)) 110px;
  display: grid; grid-template-columns: 1.05fr .95fr; align-items: center; gap: 64px;
  background:
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px) 0 0/80px 80px,
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px) 0 0/80px 80px,
    radial-gradient(circle at 82% 12%, rgba(19,144,203,.35), transparent 31%),
    linear-gradient(132deg, #061326 0%, #0a1d36 48%, #08172c 100%);
}
.hero::after { content:""; position:absolute; left:0; right:0; bottom:0; height:1px; background:linear-gradient(90deg, transparent, rgba(98,216,255,.6), transparent); }
.hero-glow { position: absolute; border-radius: 50%; filter: blur(90px); pointer-events:none; }
.hero-glow-one { width: 320px; height: 320px; background: rgba(216,59,154,.14); left:-90px; top:260px; }
.hero-glow-two { width: 330px; height: 330px; background: rgba(98,216,255,.1); right:3%; bottom:-100px; }
.hero-copy { position: relative; z-index: 2; max-width: 690px; }
.eyebrow { display:flex; align-items:center; gap:11px; margin-bottom: 27px; color: var(--cyan); font-size: 12px; line-height:1; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.eyebrow span { width:7px; height:7px; border-radius:50%; background:var(--magenta); box-shadow:0 0 0 5px rgba(216,59,154,.14); }
.hero h1 { margin:0; max-width: 760px; font-size: clamp(56px, 5.8vw, 88px); line-height:.98; letter-spacing:-.06em; font-weight:680; }
.hero h1 em { color: transparent; font-style:normal; background:linear-gradient(94deg, #fff 0%, var(--cyan) 68%, #5cb5e5 100%); background-clip:text; -webkit-background-clip:text; }
.hero-copy > p { max-width: 610px; margin: 30px 0 0; color: rgba(231,244,252,.69); font-size:18px; line-height:1.75; }
.hero-actions { display:flex; align-items:center; gap:28px; margin-top:38px; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:14px; min-height:54px; padding:0 23px; border-radius:999px; font-weight:750; font-size:14px; transition: transform .2s ease, box-shadow .2s ease; }
.button:hover { transform:translateY(-2px); }
.button.primary { color:#031321; background:linear-gradient(110deg, var(--cyan), #72bce9); box-shadow:0 12px 40px rgba(57,191,242,.16); }
.text-link { display:inline-flex; align-items:center; gap:9px; color:rgba(255,255,255,.78); font-size:14px; font-weight:650; }
.text-link span { color:var(--cyan); }
.hero-notes { display:flex; flex-wrap:wrap; gap:24px; margin-top:31px; color:rgba(255,255,255,.45); font-size:12px; }
.hero-notes span { display:flex; align-items:center; gap:8px; }
.hero-notes svg { color:var(--cyan); }

.verification-stage { position:relative; z-index:2; min-height:520px; display:grid; place-items:center; }
.verification-stage::before { content:""; position:absolute; width:450px; height:450px; border-radius:50%; background:radial-gradient(circle, rgba(42,163,218,.22), rgba(42,163,218,.04) 48%, transparent 69%); }
.orbit { position:absolute; border-radius:50%; border:1px solid rgba(98,216,255,.13); }
.orbit-one { width:480px; height:480px; }
.orbit-two { width:365px; height:365px; border-style:dashed; animation:spin 28s linear infinite; }
.signal { position:absolute; width:8px; height:8px; border-radius:50%; background:var(--magenta); box-shadow:0 0 18px var(--magenta); }
.signal-one { top:76px; right:104px; }
.signal-two { bottom:57px; left:98px; background:var(--cyan); box-shadow:0 0 18px var(--cyan); }
.verify-card { position:relative; z-index:2; width:min(385px, 88vw); padding:25px; border:1px solid rgba(143,219,249,.24); border-radius:27px; background:linear-gradient(145deg, rgba(21,47,77,.91), rgba(8,25,47,.93)); box-shadow:0 30px 100px rgba(0,0,0,.37), inset 0 1px rgba(255,255,255,.06); backdrop-filter:blur(12px); transform:rotate(2deg); }
.card-topline { display:flex; justify-content:space-between; align-items:center; color:rgba(255,255,255,.42); font-size:10px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.live-pill { display:flex; align-items:center; gap:7px; }
.live-pill i { width:6px; height:6px; border-radius:50%; background:#50e6a1; box-shadow:0 0 10px #50e6a1; }
.identity-mark { position:relative; overflow:hidden; height:170px; margin:22px 0 17px; display:grid; place-items:center; border-radius:19px; background:radial-gradient(circle at 50% 48%, rgba(98,216,255,.16), rgba(5,21,40,.56)); }
.identity-mark::before, .identity-mark::after { content:""; position:absolute; width:20px; height:20px; border-style:solid; border-color:rgba(98,216,255,.55); }
.identity-mark::before { left:18px; top:18px; border-width:1px 0 0 1px; }
.identity-mark::after { right:18px; bottom:18px; border-width:0 1px 1px 0; }
.fingerprint { position:relative; width:105px; height:122px; opacity:.8; }
.fp { position:absolute; inset:auto; border:2px solid var(--cyan); border-bottom-color:transparent; border-radius:50% 50% 42% 42%; }
.fp-1 { inset:8px 12px 0; }
.fp-2 { inset:23px 24px 8px; }
.fp-3 { inset:38px 36px 16px; }
.fp-4 { left:51px; top:50px; width:2px; height:55px; border:0; border-radius:3px; background:var(--cyan); }
.scan-line { position:absolute; left:11%; right:11%; height:1px; background:linear-gradient(90deg, transparent, var(--cyan), transparent); box-shadow:0 0 12px var(--cyan); animation:scan 3.4s ease-in-out infinite; }
.result { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:12px; padding:14px 0 16px; border-bottom:1px solid rgba(255,255,255,.08); }
.result-icon { display:grid; place-items:center; width:34px; height:34px; border-radius:50%; color:#031b15; background:#50e6a1; }
.result small { display:block; color:rgba(255,255,255,.4); font-size:10px; text-transform:uppercase; letter-spacing:.08em; }
.result strong { display:block; margin-top:2px; font-size:16px; }
.confidence { color:#50e6a1; font:700 13px ui-monospace, monospace; }
.checks { display:grid; gap:9px; padding-top:15px; color:rgba(255,255,255,.62); font-size:11px; }
.checks span { display:flex; align-items:center; gap:8px; }
.checks svg { color:#50e6a1; }
.floating-chip { position:absolute; z-index:3; display:flex; align-items:center; gap:10px; padding:10px 13px; border:1px solid rgba(255,255,255,.12); border-radius:12px; color:rgba(255,255,255,.67); background:rgba(9,28,51,.92); box-shadow:0 16px 34px rgba(0,0,0,.25); font-size:10px; letter-spacing:.05em; text-transform:uppercase; }
.floating-chip span { color:var(--cyan); font-family:ui-monospace, monospace; }
.chip-a { left:2%; top:25%; }
.chip-b { right:-2%; bottom:24%; }

.trust-strip { min-height:112px; padding:24px max(5vw, calc((100vw - 1300px)/2)); display:flex; align-items:center; justify-content:space-between; gap:30px; color:white; background:linear-gradient(100deg, #168ac3, #136da9); }
.trust-strip p { margin:0; font-size:14px; font-weight:720; }
.trust-strip > div { display:flex; align-items:center; gap:24px; color:rgba(255,255,255,.74); font-size:11px; letter-spacing:.12em; text-transform:uppercase; }
.trust-strip i { width:3px; height:3px; border-radius:50%; background:rgba(255,255,255,.38); }

.section { max-width:1440px; margin:auto; padding:120px max(5vw, 70px); }
.section-heading { display:grid; grid-template-columns:1.25fr .75fr; gap:80px; align-items:end; margin-bottom:58px; }
.kicker { display:block; margin-bottom:17px; color:var(--blue); font-size:11px; font-weight:850; letter-spacing:.17em; text-transform:uppercase; }
.section-heading h2 { margin:0; font-size:clamp(40px,4.2vw,62px); line-height:1.04; letter-spacing:-.045em; font-weight:680; }
.section-heading > p { margin:0 0 5px; max-width:430px; color:#5a6a7e; font-size:16px; line-height:1.7; }
.solution-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.solution-card { position:relative; overflow:hidden; min-height:512px; padding:24px; display:flex; flex-direction:column; border:1px solid rgba(11,52,82,.1); border-radius:24px; background:#eef7fb; transition:transform .25s ease, box-shadow .25s ease; }
.solution-card:hover { transform:translateY(-5px); box-shadow:0 24px 55px rgba(12,49,76,.1); }
.solution-card.featured { background:var(--ink); color:white; }
.solution-number { position:absolute; right:21px; top:19px; z-index:2; color:rgba(8,29,49,.27); font:600 11px ui-monospace,monospace; }
.featured .solution-number { color:rgba(255,255,255,.28); }
.solution-card img { display:block; width:100%; height:222px; object-fit:contain; margin:-7px auto 12px; filter:saturate(.85); mix-blend-mode:multiply; }
.featured img { mix-blend-mode:screen; opacity:.88; }
.solution-copy { margin-top:auto; }
.card-tag { display:inline-block; margin-bottom:12px; color:var(--blue); font-size:10px; font-weight:900; letter-spacing:.18em; }
.featured .card-tag { color:var(--cyan); }
.solution-card h3 { margin:0; font-size:27px; letter-spacing:-.03em; }
.solution-card p { margin:12px 0 23px; color:#607184; font-size:14px; line-height:1.65; }
.featured p { color:rgba(255,255,255,.57); }
.solution-card a { display:inline-flex; align-items:center; gap:9px; color:var(--blue); font-size:12px; font-weight:800; }
.featured a { color:var(--cyan); }

.process { position:relative; overflow:hidden; color:white; background:var(--ink); }
.process::before { content:""; position:absolute; inset:0; opacity:.45; background:linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px) 0 0/72px 72px, linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px) 0 0/72px 72px; mask-image:linear-gradient(90deg, black, transparent); }
.process-inner { position:relative; max-width:1440px; margin:auto; padding:125px max(5vw, 70px); display:grid; grid-template-columns:.8fr 1.2fr; gap:10vw; }
.kicker.light { color:var(--cyan); }
.process-intro h2, .security-heading h2, .contact h2 { margin:0; font-size:clamp(42px,4.7vw,68px); line-height:1.02; letter-spacing:-.05em; }
.process-intro > p { max-width:475px; margin:26px 0 33px; color:rgba(255,255,255,.56); font-size:16px; line-height:1.75; }
.button.outline { border:1px solid rgba(255,255,255,.2); color:white; }
.process-steps { display:grid; }
.process-steps article { position:relative; min-height:155px; padding:11px 0 38px 150px; border-bottom:1px solid rgba(255,255,255,.1); }
.process-steps article + article { padding-top:38px; }
.process-steps article::before { content:""; position:absolute; left:104px; top:18px; bottom:-1px; width:1px; background:linear-gradient(var(--cyan), rgba(98,216,255,.08)); }
.step-index { position:absolute; left:0; top:15px; color:var(--cyan); font:700 10px ui-monospace,monospace; letter-spacing:.1em; }
.process-steps article + article .step-index { top:43px; }
.process-steps article + article::before { top:46px; }
.process-steps h3 { margin:0 0 9px; font-size:23px; letter-spacing:-.02em; }
.process-steps p { margin:0; max-width:470px; color:rgba(255,255,255,.5); font-size:14px; line-height:1.7; }

.platform-grid { display:grid; grid-template-columns:.85fr 1.15fr; align-items:center; gap:9vw; }
.platform-copy h2 { margin:0; font-size:clamp(42px,4.4vw,64px); line-height:1.04; letter-spacing:-.05em; }
.platform-copy > p { margin:24px 0 33px; max-width:530px; color:#627185; font-size:16px; line-height:1.72; }
.platform-list { display:grid; gap:21px; }
.platform-list > div { display:grid; grid-template-columns:auto 1fr; gap:13px; align-items:start; }
.platform-list > div > span { display:grid; place-items:center; width:26px; height:26px; border-radius:50%; color:white; background:var(--blue); }
.platform-list p { margin:0; color:#68788b; font-size:13px; line-height:1.55; }
.platform-list strong { display:block; margin-bottom:3px; color:var(--ink); font-size:14px; }
.asset-showcase { position:relative; min-height:615px; border-radius:34px; background:radial-gradient(circle at 50% 45%, rgba(46,155,209,.2), transparent 46%), #e8f4f9; }
.asset-showcase::before { content:""; position:absolute; inset:30px; border:1px dashed rgba(23,143,202,.2); border-radius:27px; }
.asset-card { position:absolute; width:260px; padding:18px; border:1px solid rgba(9,43,69,.1); border-radius:22px; background:rgba(255,255,255,.9); box-shadow:0 25px 65px rgba(17,78,112,.13); }
.asset-card img { display:block; width:100%; height:225px; object-fit:contain; mix-blend-mode:multiply; }
.asset-label { color:var(--blue); font-size:9px; font-weight:900; letter-spacing:.17em; }
.asset-card > div { display:grid; gap:7px; padding-top:14px; border-top:1px solid var(--line); }
.asset-card strong { font-size:14px; }
.asset-card > div span { display:flex; align-items:center; gap:6px; color:#55806e; font-size:10px; }
.asset-one { left:8%; top:10%; transform:rotate(-4deg); }
.asset-two { right:7%; bottom:8%; transform:rotate(5deg); }
.connector-line { position:absolute; left:36%; top:48%; z-index:2; width:31%; display:flex; align-items:center; justify-content:center; gap:8px; color:var(--blue); font:700 8px ui-monospace,monospace; letter-spacing:.08em; text-transform:uppercase; transform:rotate(27deg); }
.connector-line::before { content:""; position:absolute; left:0; right:0; height:1px; background:var(--blue); opacity:.4; }
.connector-line span { position:relative; padding:5px 7px; background:#e8f4f9; }
.connector-line i { position:relative; z-index:1; width:5px; height:5px; border-radius:50%; background:var(--blue); }

.security { color:white; background:linear-gradient(125deg, #0c2947, #071426 65%); }
.security-heading { max-width:1440px; margin:auto; padding:115px max(5vw,70px) 68px; display:grid; grid-template-columns:1fr .7fr; gap:50px; align-items:end; }
.security-heading .kicker { grid-column:1/-1; margin-bottom:-25px; }
.security-heading p { margin:0; max-width:390px; color:rgba(255,255,255,.52); font-size:16px; line-height:1.7; }
.security-principles { max-width:1440px; margin:auto; padding:0 max(5vw,70px) 115px; display:grid; grid-template-columns:repeat(3,1fr); }
.security-principles article { min-height:245px; padding:28px 32px 10px; border-top:1px solid rgba(98,216,255,.34); border-right:1px solid rgba(255,255,255,.09); }
.security-principles article:first-child { padding-left:0; }
.security-principles article:last-child { border-right:0; }
.principle-icon { display:grid; place-items:center; width:39px; height:39px; margin-bottom:51px; border:1px solid rgba(98,216,255,.3); border-radius:50%; color:var(--cyan); }
.security-principles h3 { margin:0 0 12px; font-size:21px; }
.security-principles p { margin:0; max-width:320px; color:rgba(255,255,255,.46); font-size:13px; line-height:1.7; }

.use-cases { padding-top:105px; padding-bottom:115px; }
.use-cases-row { display:grid; grid-template-columns:.8fr 1.2fr; align-items:center; gap:80px; }
.use-cases h2 { margin:0; font-size:clamp(42px,4.3vw,62px); line-height:1.04; letter-spacing:-.05em; }
.pill-cloud { display:flex; flex-wrap:wrap; gap:12px; }
.pill-cloud span { padding:15px 19px; border:1px solid rgba(14,78,113,.14); border-radius:999px; color:#3d5870; background:white; font-size:13px; box-shadow:0 6px 18px rgba(20,72,101,.04); }

.contact { position:relative; overflow:hidden; min-height:530px; display:grid; place-items:center; padding:95px 24px; color:white; text-align:center; background:radial-gradient(circle at 50% 120%, rgba(24,143,202,.55), transparent 52%), var(--ink); }
.contact::before, .contact::after { content:""; position:absolute; border:1px solid rgba(98,216,255,.12); border-radius:50%; }
.contact::before { width:570px; height:570px; }
.contact::after { width:770px; height:770px; }
.contact-orbit { position:absolute; width:970px; height:970px; border:1px dashed rgba(98,216,255,.08); border-radius:50%; }
.contact-inner { position:relative; z-index:2; }
.contact p { max-width:560px; margin:24px auto 34px; color:rgba(255,255,255,.56); font-size:16px; line-height:1.7; }

footer { min-height:125px; padding:30px max(5vw, calc((100vw - 1300px)/2)); display:grid; grid-template-columns:auto 1fr auto auto; align-items:center; gap:44px; color:rgba(255,255,255,.46); background:#040d1a; font-size:11px; }
footer .brand img { width:148px; }
footer p { margin:0; }
footer > div { display:flex; gap:23px; color:rgba(255,255,255,.65); }

@keyframes spin { to { transform:rotate(360deg); } }
@keyframes scan { 0%,100% { top:20%; opacity:.3; } 50% { top:80%; opacity:1; } }

@media (max-width: 980px) {
  .hero { grid-template-columns:1fr; padding-top:150px; text-align:center; }
  .hero-copy { margin:auto; }
  .eyebrow, .hero-actions, .hero-notes { justify-content:center; }
  .hero-copy > p { margin-left:auto; margin-right:auto; }
  .verification-stage { min-height:510px; }
  .trust-strip { flex-direction:column; justify-content:center; text-align:center; }
  .section-heading { grid-template-columns:1fr; gap:24px; }
  .solution-grid { grid-template-columns:1fr; }
  .solution-card { min-height:340px; display:grid; grid-template-columns:180px 1fr; align-items:center; }
  .solution-card img { height:190px; margin:0; }
  .process-inner, .platform-grid { grid-template-columns:1fr; }
  .process-inner { gap:65px; }
  .asset-showcase { min-height:590px; }
  .security-heading { grid-template-columns:1fr; }
  .security-heading .kicker { margin-bottom:0; }
  .use-cases-row { grid-template-columns:1fr; gap:38px; }
  footer { grid-template-columns:1fr 1fr; }
}

@media (max-width: 720px) {
  .nav { height:78px; padding:0 22px; }
  .brand img { width:146px; }
  .menu-button { display:grid; place-content:center; gap:6px; width:43px; height:43px; padding:0; border:1px solid rgba(255,255,255,.2); border-radius:50%; background:transparent; }
  .menu-button span { width:17px; height:1px; background:white; }
  .nav-links { position:absolute; left:18px; right:18px; top:70px; display:none; flex-direction:column; align-items:stretch; gap:0; padding:12px; color:white; border:1px solid rgba(255,255,255,.12); border-radius:18px; background:rgba(6,19,38,.97); box-shadow:0 18px 50px rgba(0,0,0,.35); }
  .nav-links.open { display:flex; }
  .nav-links > a { padding:13px 12px; }
  .nav-cta { margin-top:5px; justify-content:center; }
  .hero { min-height:auto; padding:128px 22px 70px; gap:24px; }
  .hero h1 { font-size:clamp(48px,15vw,70px); }
  .hero-copy > p { font-size:16px; }
  .hero-actions { flex-direction:column; gap:19px; }
  .verification-stage { min-height:455px; }
  .orbit-one { width:400px; height:400px; }
  .orbit-two { width:310px; height:310px; }
  .chip-a { left:-4px; top:17%; }
  .chip-b { right:-3px; bottom:12%; }
  .trust-strip > div { flex-wrap:wrap; justify-content:center; gap:14px; }
  .section { padding:82px 22px; }
  .solution-card { min-height:450px; display:flex; }
  .solution-card img { height:200px; margin:0 auto; }
  .process-inner { padding:82px 22px; }
  .process-steps article, .process-steps article + article { padding:30px 0 30px 0; }
  .step-index, .process-steps article + article .step-index { position:static; display:block; margin-bottom:15px; }
  .process-steps article::before { display:none; }
  .asset-showcase { min-height:720px; }
  .asset-card { width:min(250px,72vw); }
  .asset-one { left:7%; top:7%; }
  .asset-two { right:5%; bottom:6%; }
  .connector-line { left:31%; top:49%; width:40%; }
  .security-heading { padding:82px 22px 55px; }
  .security-principles { padding:0 22px 82px; grid-template-columns:1fr; }
  .security-principles article, .security-principles article:first-child { min-height:auto; padding:28px 0; border-right:0; }
  .principle-icon { margin-bottom:28px; }
  .use-cases { padding-top:82px; }
  .contact { min-height:500px; }
  footer { padding:40px 22px; grid-template-columns:1fr; gap:20px; }
}

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