@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap');

:root {
  --ink: #07111d;
  --panel: #0b1d33;
  --moss: #173f68;
  --acid: #8fc9ff;
  --blue: #8fc9ff;
  --blue-glass: rgba(143, 201, 255, .16);
  --blue-line: rgba(173, 218, 255, .5);
  --sand: #f0eee3;
  --muted: #a5b4ac;
  --line: rgba(218, 239, 225, 0.17);
  --dark-line: rgba(6, 18, 15, 0.14);
  --mono: "DM Mono", monospace;
  --sans: "Manrope", Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--sand); color: var(--ink); font-family: var(--sans); }
button, input, select, textarea { font: inherit; }
.site-shell { overflow: hidden; }
.topbar, .hero, .section-wrap, footer { width: min(1200px, calc(100% - 48px)); margin: auto; }
.topbar { height: 92px; display: flex; align-items: center; justify-content: space-between; position: relative; z-index: 3; }
.brand img { display: block; width: 153px; height: auto; }
.product-mark, .eyebrow, .band-label, .form-kicker, .cap-number { font-family: var(--mono); font-size: 11px; letter-spacing: .1em; }
.product-mark { color: var(--muted); }
.product-mark span { color: var(--acid); }
.product-mark i { display: inline-block; width: 5px; height: 5px; border-radius: 50%; background: var(--acid); margin: 0 8px 2px; }

.hero { min-height: 625px; color: white; display: grid; grid-template-columns: 1.05fr .95fr; align-items: stretch; gap: 42px; padding: 70px 0 96px; position: relative; }
.hero::before { content: ""; position: absolute; z-index: -2; inset: 0 calc((100vw - min(1200px, calc(100vw - 48px))) / -2); background: var(--ink); }
.hero-copy { padding: 34px 0; align-self: center; }
.eyebrow { color: var(--acid); margin: 0 0 17px; display: flex; align-items: center; gap: 9px; }
.eyebrow span { width: 24px; height: 1px; background: currentColor; }
h1, h2, h3, p { margin-top: 0; }
h1 { font-size: clamp(42px, 5.6vw, 74px); letter-spacing: -.066em; line-height: .98; margin-bottom: 27px; font-weight: 800; }
h1 em { color: var(--acid); font-style: normal; }
.hero-intro { max-width: 580px; color: #d6e1dc; line-height: 1.7; font-size: 17px; margin-bottom: 28px; }
.platforms { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 22px; color: #fff; font-size: 13px; margin-bottom: 31px; }
.platform { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; }
.platform-note { color: var(--muted); border-left: 1px solid var(--line); padding-left: 20px; }
.platform-icon { width: 15px; height: 15px; fill: var(--sand); display:block; flex:0 0 auto; }
.windows-icon { width:14px; height:14px; }
.apple-icon { height:16px; width:14px; }
.button { display: inline-flex; align-items: center; gap: 20px; text-decoration: none; cursor: pointer; border: 0; padding: 16px 19px; font-family: var(--mono); font-size: 12px; text-transform: uppercase; letter-spacing: .04em; font-weight: 500; transition: transform .2s ease, background .2s ease; }
.button:hover { transform: translateY(-3px); }
.button-primary { background: var(--acid); color: var(--ink); }
.button-dark { background: var(--ink); color: white; }

.hero-visual { position: relative; min-height: 470px; border: 1px solid rgba(205,233,255,.48); background: linear-gradient(135deg, rgba(105,180,247,.28), rgba(10,35,60,.42) 48%, rgba(38,104,167,.2)); box-shadow: inset 0 1px 0 rgba(255,255,255,.31), inset 0 -1px 0 rgba(94,177,255,.18), 0 20px 55px rgba(2,12,20,.32); backdrop-filter: blur(24px) saturate(145%); -webkit-backdrop-filter: blur(24px) saturate(145%); overflow: hidden; }
.hero-visual::before { content:""; position:absolute; z-index:0; width:300px; height:300px; left:-70px; bottom:-150px; border-radius:50%; background:rgba(80,167,255,.48); filter:blur(45px); pointer-events:none; }.hero-visual::after { content:""; position:absolute; z-index:0; width:230px; height:230px; right:-65px; top:-100px; border-radius:50%; background:rgba(184,224,255,.3); filter:blur(38px); pointer-events:none; }
.visual-grid { position:absolute; inset:0; background-image: linear-gradient(rgba(143,201,255,.1) 1px, transparent 1px), linear-gradient(90deg, rgba(143,201,255,.1) 1px, transparent 1px); background-size: 42px 42px; mask-image: linear-gradient(to bottom, black, transparent); }
.hero-commercial .visual-grid { z-index: 1; opacity: .28; pointer-events: none; }
.commercial-video { position:absolute; z-index:2; inset:0; width:100%; height:100%; object-fit:contain; background:#061522; }
.motion-plan { position:absolute; inset:0; width:100%; height:100%; overflow:visible; pointer-events:none; }.motion-plan path { fill:none; stroke-width:1.2; }.planned-track { stroke:rgba(143,201,255,.7); stroke-dasharray:5 7; }.projected-track { stroke:var(--blue-line); stroke-dasharray:2 7; }
.zone { border: 1px solid rgba(143,201,255,.85); position:absolute; transform: skewY(-14deg); }
.zone span { position:absolute; color: var(--acid); font: 10px var(--mono); letter-spacing:.08em; white-space:nowrap; transform: skewY(14deg); }
.zone-one { width: 55%; height: 43%; left: 8%; top: 25%; }
.zone-one span { left:0; top:-20px; }
.zone-two { width: 38%; height: 32%; right: 10%; bottom: 17%; border-color:var(--blue-line); background:var(--blue-glass); box-shadow:0 0 30px rgba(126,189,255,.08); }
.zone-two span { right:0; bottom:-20px; color:var(--blue); }
.target { position:absolute; width:44px; height:44px; border:1px solid var(--acid); border-radius:50%; display:grid; place-items:center; }
.target::before, .target::after { content:""; position:absolute; background:var(--acid); opacity:.8; }
.target::before { width: 56px; height:1px; }
.target::after { width:1px; height:56px; }
.target i:first-child { width:8px; height:8px; background:var(--acid); border-radius:50%; }
.target i:last-child { position:absolute; width:70px; height:70px; border:1px solid rgba(143,201,255,.32); border-radius:50%; }
.target-a { left:25%; top:49%; animation: tracked-motion 5.6s linear infinite; will-change:transform; }.target-b { left:25%; top:49%; transform:scale(.66); border-color:var(--blue); background:var(--blue-glass); box-shadow:0 0 24px rgba(126,189,255,.16); animation: predicted-motion 5.6s linear infinite; will-change:transform; }.target-b::before,.target-b::after,.target-b i:first-child { background:var(--blue); }.target-b i:last-child { border-color:rgba(126,189,255,.3); }
@keyframes tracked-motion { 0%,100% { transform:translate(0,0); } 20% { transform:translate(74px,-58px); } 42% { transform:translate(138px,23px); } 64% { transform:translate(64px,92px); } 82% { transform:translate(-37px,38px); } }
@keyframes predicted-motion { 0%,100% { transform:translate(36px,-36px) scale(.66); } 20% { transform:translate(111px,-10px) scale(.66); } 42% { transform:translate(161px,72px) scale(.66); } 64% { transform:translate(47px,118px) scale(.66); } 82% { transform:translate(-43px,25px) scale(.66); } }
.visual-status { position:absolute; left:20px; bottom:19px; font:10px var(--mono); letter-spacing:.07em; color:#d5e3dc; }.visual-status b { display:inline-block; width:7px; height:7px; border-radius:50%; background:var(--acid); margin-right:8px; box-shadow:0 0 9px var(--acid); }
.visual-coordinates { position:absolute; right:20px; top:18px; text-align:right; color:#aac0b5; font:9px/1.65 var(--mono); letter-spacing:.07em; }

.context-band { max-width:none; padding: 31px max(24px, calc((100vw - 1200px) / 2)); background: var(--acid); color:var(--ink); display:grid; grid-template-columns: 180px minmax(0, 760px); gap:30px; align-items:start; }
.context-band p { margin:0; }.band-label { font-weight:700; }.context-band p:last-child { font-size: 17px; line-height:1.6; font-weight:600; letter-spacing:-.015em; }

.section-wrap { padding: 112px 0; }.capabilities { display:grid; grid-template-columns: .85fr 1.15fr; gap:48px; }.section-heading h2, .qualification h2 { font-size: clamp(36px, 4vw, 57px); letter-spacing:-.065em; line-height:.98; margin:0; }.section-lead { font-size: 18px; line-height:1.65; color:#365147; max-width:600px; padding-top:32px; }
.capability-grid { grid-column:1/-1; display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--dark-line); border-bottom:1px solid var(--dark-line); margin-top: 25px; }
.capability-grid article { padding: 28px 28px 27px 0; border-right:1px solid var(--dark-line); margin: 22px 0; }.capability-grid article:not(:first-child) { padding-left:28px; }.capability-grid article:last-child { border:0; }.cap-number { color:#69877b; }.capability-grid h3 { font-size:19px; letter-spacing:-.04em; margin:17px 0 11px; }.capability-grid p { color:#4f685d; font-size:14px; line-height:1.6; margin:0; }.fine-print { grid-column:1/-1; font: 11px/1.6 var(--mono); color:#738177; max-width:760px; margin:0; }

.qualification { max-width:none; width:100%; color: white; background:radial-gradient(circle at 88% 16%, rgba(96,175,255,.32), transparent 0 27%), radial-gradient(circle at 12% 88%, rgba(33,114,204,.3), transparent 0 34%), linear-gradient(135deg, #0c2541, #07111d); display:grid; grid-template-columns:minmax(0,1fr) minmax(420px, 1fr); gap:70px; padding:112px max(24px, calc((100vw - 1200px) / 2)); position:relative; overflow:hidden; }.qualification::before { content:""; position:absolute; inset:0; pointer-events:none; background-image: linear-gradient(90deg, rgba(191,225,255,.13) 1px, transparent 1px); background-size:88px 100%; mask-image:linear-gradient(90deg, black, transparent); }
.qualification-intro { position:relative; z-index:1; }.qualification-intro>p:not(.eyebrow) { color:#c3d0c9; font-size:16px; line-height:1.7; max-width:460px; margin-top:27px; }.qualification-points { margin-top:44px; border-top:1px solid var(--line); max-width:440px; }.qualification-points div { display:flex; gap:20px; padding:13px 0; border-bottom:1px solid var(--line); font-size:13px; color:#dfeae4; }.qualification-points b { font:10px var(--mono); color:var(--acid); padding-top:3px; }
.qual-form, .form-success { position:relative; z-index:1; background:linear-gradient(135deg, rgba(159,215,255,.24), rgba(21,74,119,.43)); border:1px solid rgba(224,243,255,.52); box-shadow:0 25px 60px rgba(3,13,24,.34), inset 0 1px 0 rgba(255,255,255,.38), inset 0 -1px 0 rgba(77,157,230,.25); backdrop-filter:blur(28px) saturate(155%); -webkit-backdrop-filter:blur(28px) saturate(155%); color:#f4faff; padding: 34px; }.form-title-row { display:flex; justify-content:space-between; gap:20px; align-items:start; padding-bottom:27px; border-bottom:1px solid rgba(224,243,255,.25); margin-bottom:26px; }.form-kicker { color:#c1e4ff; margin-bottom:10px; }.form-title-row h3, .form-success h3 { font-size:28px; letter-spacing:-.055em; margin:0; }.form-step { color:#c1e4ff; font:10px var(--mono); padding-top:4px; }
.form-grid { display:grid; grid-template-columns:repeat(2, 1fr); gap:20px 18px; }.form-grid label, fieldset { min-width:0; }.full-width { grid-column:1/-1; }.form-grid label>span, legend { display:block; font: 10px var(--mono); letter-spacing:.04em; margin-bottom:8px; color:#e2f4ff; }.form-grid b { color:#b8e2ff; } input, select, textarea { width:100%; border:1px solid rgba(230,246,255,.45); background:rgba(242,250,255,.9); color:#07111d; padding:12px 11px; border-radius:8px; outline:none; box-shadow:inset 0 1px 0 rgba(255,255,255,.75); }.form-grid input:focus, .form-grid select:focus, textarea:focus { border-color:#b8e2ff; box-shadow:0 0 0 3px rgba(143,201,255,.3), inset 0 1px 0 rgba(255,255,255,.75); } textarea { resize:vertical; min-height:96px; } fieldset { border:0; padding:0; margin:0; } legend { padding:0; }.choice-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:9px; }.choice-grid label, .checks label { display:flex; align-items:flex-start; gap:9px; color:#eef8ff; font-size:12px; line-height:1.45; }.choice-grid input, .checks input { width:15px; height:15px; flex:0 0 auto; accent-color:#8fc9ff; margin:1px 0 0; }.checks { display:grid; gap:10px; }.support-field { padding-top:3px; }.support-field small { display:block; font:10px/1.5 var(--mono); color:#c1e4ff; margin-top:7px; }.qual-form .button { margin-top:27px; }.form-note { font-size:10px; line-height:1.55; color:#cce9ff; margin:16px 0 0; }.form-error { margin:16px 0 0; color:#ffd4df; font-size:12px; font-weight:700; }.form-success { min-height:400px; }.form-success p:not(.form-kicker) { margin:21px 0 26px; line-height:1.65; color:#e2f4ff; }.donation-link { margin-top:5px; }

footer { max-width:none; width:100%; background:var(--ink); color:white; padding:36px max(24px, calc((100vw - 1200px) / 2)); display:grid; grid-template-columns:150px 1fr auto; gap:35px; align-items:center; }footer img{width:133px;filter:invert(1);}footer p{margin:0;color:#c5d1cb;font-size:12px;line-height:1.55;}.footer-right{font:10px var(--mono);color:#7d9489;text-align:right;}
.bot-trap { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }

@media (max-width: 760px) { .topbar,.hero,.section-wrap,footer{width:min(100% - 36px,1200px)}.topbar{height:76px}.brand img{width:125px}.product-mark{font-size:8px;letter-spacing:.06em}.product-mark i{margin:0 3px 1px}.hero{grid-template-columns:1fr;padding:49px 0 60px;gap:10px;min-height:auto}.hero-copy{padding:0}.hero-intro{font-size:15px}.platforms{gap:9px 14px}.platform-note{width:100%;border-left:0;padding-left:0}.hero-visual{min-height:315px;margin-top:19px}.context-band{grid-template-columns:1fr;padding:27px 18px;gap:13px}.context-band p:last-child{font-size:15px}.section-wrap{padding:72px 0}.capabilities{display:block}.section-lead{padding-top:25px;font-size:16px}.capability-grid{grid-template-columns:1fr;margin-top:28px}.capability-grid article,.capability-grid article:not(:first-child){border-right:0;border-bottom:1px solid var(--dark-line);padding:19px 0;margin:0}.capability-grid article:last-child{border-bottom:0}.qualification{display:block;padding:72px 18px}.qualification-intro>p:not(.eyebrow){font-size:15px}.qual-form,.form-success{margin-top:42px;padding:24px 19px}.form-grid{grid-template-columns:1fr}.choice-grid{grid-template-columns:1fr}.form-title-row h3,.form-success h3{font-size:24px}footer{padding:30px 18px;grid-template-columns:1fr;gap:18px}.footer-right{text-align:left} }
