:root {
  --navy-950: #080d18;
  --navy-900: #101827;
  --navy-850: #142034;
  --navy-800: #192840;
  --navy-700: #263955;
  --slate-700: #3d4c62;
  --slate-600: #5f6f84;
  --slate-500: #7f8ca0;
  --slate-300: #c9d3df;
  --slate-200: #dce3ec;
  --slate-100: #edf1f6;
  --slate-50: #f7f9fc;
  --white: #ffffff;
  --red-700: #861d17;
  --red-600: #a9251e;
  --red-500: #b3261e;
  --red-400: #d84b43;
  --red-100: #ffe8e5;
  --blue-500: #2f76e8;
  --green-500: #1d8a56;
  --amber-500: #cf8a00;
  --text: #162033;
  --muted: #637288;
  --border: #dbe3ed;
  --surface: #ffffff;
  --bg: #f5f7fb;
  --shadow-sm: 0 12px 35px rgba(16, 24, 39, .08);
  --shadow-md: 0 28px 80px rgba(9, 17, 31, .14);
  --shadow-lg: 0 48px 120px rgba(5, 12, 24, .28);
  --radius-sm: 12px;
  --radius: 20px;
  --radius-lg: 30px;
  --container: 1200px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 96px; }
body {
  margin: 0;
  min-width: 320px;
  background: var(--bg);
  color: var(--text);
  font-family: Inter, Aptos, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
img { max-width: 100%; display: block; }
a { color: inherit; }
button, input { font: inherit; }
svg { display: block; }

.container { width: min(calc(100% - 40px), var(--container)); margin-inline: auto; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; left: 16px; top: 12px; z-index: 999; transform: translateY(-150%); background: var(--white); color: var(--navy-900); padding: 10px 16px; border-radius: 10px; font-weight: 800; box-shadow: var(--shadow-sm); }
.skip-link:focus { transform: translateY(0); }

.site-header { position: fixed; inset: 0 0 auto; z-index: 100; border-bottom: 1px solid transparent; transition: background .25s ease, border-color .25s ease, box-shadow .25s ease; }
.site-header.is-scrolled { background: rgba(8, 13, 24, .9); border-color: rgba(255,255,255,.08); box-shadow: 0 14px 40px rgba(0,0,0,.12); backdrop-filter: blur(18px); }
.header-inner { height: 84px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.brand { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; color: var(--white); min-width: max-content; }
.brand-mark { width: 48px; height: 48px; border-radius: 14px; box-shadow: 0 12px 30px rgba(0,0,0,.25); }
.brand-copy { display: grid; line-height: 1.15; }
.brand-copy strong { font-size: 1.18rem; letter-spacing: -.025em; }
.brand-copy small { margin-top: 4px; color: rgba(255,255,255,.64); font-size: .72rem; font-weight: 650; }
.main-nav { display: flex; align-items: center; gap: 6px; }
.main-nav a { color: rgba(255,255,255,.74); text-decoration: none; font-weight: 700; font-size: .9rem; padding: 10px 13px; border-radius: 10px; transition: color .2s ease, background .2s ease, transform .2s ease; }
.main-nav a:hover, .main-nav a:focus-visible { color: var(--white); background: rgba(255,255,255,.08); }
.main-nav .nav-cta { margin-left: 8px; color: var(--white); background: linear-gradient(135deg, var(--red-400), var(--red-600)); box-shadow: 0 12px 30px rgba(179, 38, 30, .28); padding-inline: 18px; }
.main-nav .nav-cta:hover { background: linear-gradient(135deg, #e15a52, #a9211b); transform: translateY(-1px); }
.nav-toggle { display: none; width: 44px; height: 44px; border: 1px solid rgba(255,255,255,.2); border-radius: 12px; background: rgba(255,255,255,.06); align-items: center; justify-content: center; flex-direction: column; gap: 5px; cursor: pointer; }
.nav-toggle span:not(.sr-only) { width: 20px; height: 2px; border-radius: 99px; background: var(--white); transition: transform .2s ease, opacity .2s ease; }

.hero { position: relative; min-height: 860px; padding: 150px 0 44px; overflow: hidden; color: var(--white); background: radial-gradient(circle at 13% 13%, rgba(216,75,67,.18), transparent 31%), radial-gradient(circle at 86% 19%, rgba(47,118,232,.19), transparent 31%), linear-gradient(145deg, var(--navy-950) 0%, #101b2e 55%, #14243b 100%); }
.hero::after { content: ""; position: absolute; inset: auto -10% -240px; height: 420px; background: var(--bg); border-radius: 50% 50% 0 0 / 22% 22% 0 0; }
.hero-grid-glow { position: absolute; inset: 0; opacity: .13; background-image: linear-gradient(rgba(255,255,255,.1) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.1) 1px, transparent 1px); background-size: 54px 54px; mask-image: linear-gradient(to bottom, #000 0%, transparent 85%); }
.hero-grid { position: relative; z-index: 2; display: grid; grid-template-columns: .88fr 1.12fr; align-items: center; gap: 56px; }
.hero-copy { padding-bottom: 50px; }
.status-pill { width: fit-content; display: flex; align-items: center; gap: 9px; border: 1px solid rgba(255,255,255,.14); border-radius: 999px; background: rgba(255,255,255,.06); color: rgba(255,255,255,.8); padding: 8px 13px; font-weight: 750; font-size: .78rem; letter-spacing: .02em; text-transform: uppercase; }
.status-dot { width: 8px; height: 8px; border-radius: 50%; background: #69dda0; box-shadow: 0 0 0 5px rgba(105,221,160,.12); animation: status-pulse 2.5s ease-in-out infinite; }
@keyframes status-pulse { 50% { box-shadow: 0 0 0 9px rgba(105,221,160,0); } }
.hero h1 { margin: 26px 0 22px; max-width: 690px; font-size: clamp(3rem, 5.2vw, 5.25rem); line-height: .98; letter-spacing: -.065em; }
.hero-lead { max-width: 660px; margin: 0; color: rgba(239,245,255,.73); font-size: clamp(1.06rem, 1.5vw, 1.25rem); line-height: 1.7; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 52px; padding: 13px 20px; border: 1px solid transparent; border-radius: 13px; text-decoration: none; font-weight: 800; font-size: .94rem; transition: transform .2s ease, box-shadow .2s ease, background .2s ease, border-color .2s ease; }
.button svg, .text-link svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.button:hover, .button:focus-visible { transform: translateY(-2px); }
.button-primary { color: var(--white); background: linear-gradient(135deg, var(--red-400), var(--red-600)); box-shadow: 0 18px 42px rgba(179,38,30,.32); }
.button-primary:hover { box-shadow: 0 22px 48px rgba(179,38,30,.4); }
.button-ghost { color: rgba(255,255,255,.88); border-color: rgba(255,255,255,.2); background: rgba(255,255,255,.04); }
.button-ghost:hover { background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.35); }
.hero-note { display: flex; align-items: flex-start; gap: 9px; max-width: 650px; margin: 24px 0 0; color: rgba(255,255,255,.5); font-size: .78rem; line-height: 1.6; }
.hero-note::before { content: "i"; display: grid; place-items: center; flex: 0 0 18px; width: 18px; height: 18px; margin-top: 1px; border: 1px solid rgba(255,255,255,.24); border-radius: 50%; font-weight: 800; font-style: normal; }

.product-stage { position: relative; min-width: 0; padding: 28px 28px 70px 0; }
.preview-label { position: absolute; right: 32px; top: -2px; z-index: 5; color: rgba(255,255,255,.48); font-size: .7rem; font-weight: 750; letter-spacing: .03em; text-transform: uppercase; }
.browser-window { position: relative; width: 100%; overflow: hidden; border: 1px solid rgba(255,255,255,.17); border-radius: 19px; background: #f2f5fa; box-shadow: var(--shadow-lg); transform: perspective(1200px) rotateY(-3deg) rotateX(1deg); transform-origin: center; }
.browser-bar { height: 38px; display: grid; grid-template-columns: 75px 1fr 75px; align-items: center; gap: 10px; padding: 0 14px; border-bottom: 1px solid #dce3ec; background: #fff; }
.browser-dots { display: flex; gap: 5px; }
.browser-dots i { width: 7px; height: 7px; border-radius: 50%; background: #d3dae4; }
.browser-dots i:first-child { background: #e76d67; }
.browser-address { justify-self: center; min-width: 160px; max-width: 270px; width: 54%; padding: 4px 12px; border-radius: 8px; background: #f1f4f8; color: #8490a2; font-size: .58rem; text-align: center; }
.secure-dot { justify-self: end; width: 8px; height: 8px; border-radius: 50%; background: #79c89f; }
.app-preview { height: 480px; display: grid; grid-template-columns: 142px 1fr; color: #182238; background: #f3f6fb; }
.preview-sidebar { display: flex; flex-direction: column; padding: 13px 10px; color: #f8fbff; background: linear-gradient(180deg, #111a2b, #17243a); }
.preview-brand { display: flex; align-items: center; gap: 8px; margin: 0 4px 15px; }
.preview-brand img { width: 31px; height: 31px; border-radius: 9px; box-shadow: 0 7px 18px rgba(0,0,0,.2); }
.preview-brand div, .mobile-brand div { display: grid; min-width: 0; line-height: 1.15; }
.preview-brand strong { font-size: .69rem; }
.preview-brand span { margin-top: 3px; color: rgba(255,255,255,.53); font-size: .47rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.preview-nav { display: grid; gap: 3px; }
.preview-nav span { display: flex; align-items: center; gap: 8px; padding: 8px 9px; border-radius: 7px; color: rgba(255,255,255,.69); font-size: .56rem; font-weight: 700; }
.preview-nav span.active { color: #fff; background: rgba(255,255,255,.12); box-shadow: inset 2px 0 var(--red-400); }
.preview-nav b { width: 13px; text-align: center; color: rgba(255,255,255,.75); font-weight: 600; }
.preview-user { display: flex; align-items: center; gap: 8px; margin-top: auto; padding: 9px 6px 2px; border-top: 1px solid rgba(255,255,255,.12); }
.preview-user > i { width: 24px; height: 24px; border-radius: 50%; background: linear-gradient(135deg, #53667f, #8190a4); }
.preview-user div { display: grid; line-height: 1.2; }
.preview-user strong { font-size: .54rem; }
.preview-user span { color: rgba(255,255,255,.45); font-size: .41rem; }
.preview-content { min-width: 0; padding: 21px 21px 18px; }
.preview-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.preview-heading span { color: #7b899d; font-size: .5rem; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; }
.preview-heading h2 { margin: 2px 0 0; font-size: 1.07rem; letter-spacing: -.035em; }
.preview-heading button { border: 0; border-radius: 7px; background: var(--red-500); color: #fff; padding: 7px 9px; font-size: .5rem; font-weight: 800; }
.stats-row { display: grid; grid-template-columns: repeat(4,1fr); gap: 8px; margin: 15px 0; }
.stats-row > div { display: grid; padding: 10px; border: 1px solid #dde4ed; border-radius: 9px; background: #fff; box-shadow: 0 6px 18px rgba(17,28,47,.04); }
.stats-row span { color: #6c7a90; font-size: .47rem; font-weight: 700; }
.stats-row strong { margin-top: 4px; color: #172137; font-size: 1rem; line-height: 1; }
.stats-row small { margin-top: 4px; color: #9aa5b4; font-size: .39rem; }
.preview-panels { display: grid; grid-template-columns: 1.25fr .85fr; gap: 10px; }
.map-card, .activity-card { overflow: hidden; border: 1px solid #dfe6ef; border-radius: 10px; background: #fff; }
.card-title { display: flex; align-items: center; justify-content: space-between; padding: 10px 11px; border-bottom: 1px solid #e6ebf2; }
.card-title strong { font-size: .58rem; }
.card-title span { color: #6581a9; font-size: .42rem; font-weight: 700; }
.mini-map { position: relative; height: 224px; overflow: hidden; background: linear-gradient(135deg, #e6edf5, #f8fafc); }
.mini-map::before { content: ""; position: absolute; inset: 0; opacity: .5; background-image: linear-gradient(#c9d4e1 1px, transparent 1px), linear-gradient(90deg,#c9d4e1 1px, transparent 1px); background-size: 27px 27px; transform: rotate(10deg) scale(1.4); }
.mini-map svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.mini-map path { fill: none; stroke: #fff; stroke-width: 9; opacity: .9; }
.map-pin { position: absolute; width: 12px; height: 12px; border: 3px solid #fff; border-radius: 50% 50% 50% 0; background: var(--blue-500); box-shadow: 0 4px 12px rgba(21,58,105,.25); transform: rotate(-45deg); }
.pin-a { left: 27%; top: 42%; }
.pin-b { left: 65%; top: 25%; background: var(--green-500); }
.pin-c { left: 72%; top: 68%; background: var(--red-500); }
.map-unit { position: absolute; left: 45%; top: 52%; display: grid; place-items: center; width: 29px; height: 29px; border: 3px solid #fff; border-radius: 9px; background: var(--navy-900); color: #fff; font-size: .43rem; font-weight: 900; box-shadow: 0 7px 16px rgba(8,16,30,.25); }
.activity-list { padding: 5px 8px; }
.activity-list > div { display: grid; grid-template-columns: 7px 1fr auto; align-items: center; gap: 7px; padding: 11px 3px; border-bottom: 1px solid #edf1f5; }
.activity-list > div:last-child { border-bottom: 0; }
.activity-list i { width: 7px; height: 7px; border-radius: 50%; }
.activity-list i.red { background: var(--red-400); } .activity-list i.blue { background: var(--blue-500); } .activity-list i.green { background: var(--green-500); }
.activity-list p { display: grid; margin: 0; line-height: 1.25; }
.activity-list strong { font-size: .48rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.activity-list span { margin-top: 3px; color: #8b97a8; font-size: .39rem; }
.activity-list b { color: #65758c; font-size: .41rem; }

.phone-window { position: absolute; right: -24px; bottom: 8px; width: 171px; height: 354px; z-index: 4; overflow: hidden; border: 6px solid #0b101b; border-radius: 29px; background: #f7f9fc; box-shadow: 0 28px 70px rgba(0,0,0,.42); transform: rotate(4deg); }
.phone-window::after { content: ""; position: absolute; inset: 0; border: 1px solid rgba(255,255,255,.14); border-radius: 22px; pointer-events: none; }
.phone-speaker { position: absolute; z-index: 3; left: 50%; top: 5px; width: 48px; height: 12px; border-radius: 0 0 8px 8px; background: #0b101b; transform: translateX(-50%); }
.phone-status { height: 26px; display: flex; align-items: center; justify-content: space-between; padding: 7px 12px 0; color: #26364c; font-size: .39rem; font-weight: 800; }
.phone-content { padding: 7px 10px 11px; color: #172137; }
.mobile-brand { display: flex; align-items: center; gap: 7px; }
.mobile-brand img { width: 25px; height: 25px; border-radius: 8px; }
.mobile-brand strong { font-size: .59rem; }
.mobile-brand span { color: #8995a7; font-size: .39rem; }
.alarm-card { margin: 12px 0 11px; padding: 10px; border: 1px solid #f0c8c4; border-radius: 12px; background: linear-gradient(145deg,#fff5f4,#fff); box-shadow: 0 8px 21px rgba(179,38,30,.09); }
.alarm-chip { display: inline-flex; border-radius: 999px; background: var(--red-100); color: var(--red-600); padding: 3px 6px; font-size: .3rem; font-weight: 900; letter-spacing: .04em; }
.alarm-card h3 { margin: 7px 0 2px; font-size: .66rem; }
.alarm-card p { margin: 0; color: #55657b; font-size: .46rem; }
.alarm-card small { display: block; margin-top: 8px; color: #98a2b1; font-size: .35rem; }
.timeline { display: grid; gap: 7px; margin: 10px 1px 13px; }
.timeline > div { display: flex; align-items: center; gap: 8px; color: #8b96a6; font-size: .43rem; font-weight: 700; }
.timeline i { display: grid; place-items: center; width: 17px; height: 17px; border: 1px solid #d6dee8; border-radius: 50%; background: #fff; font-size: .36rem; font-style: normal; }
.timeline .done { color: #426c58; } .timeline .done i { border-color: #b8dfca; background: #eaf8f0; color: var(--green-500); }
.timeline .current { color: #243a58; } .timeline .current i { border-color: var(--blue-500); background: var(--blue-500); color: #fff; box-shadow: 0 0 0 4px rgba(47,118,232,.1); }
.phone-content > button { width: 100%; border: 0; border-radius: 9px; background: var(--red-500); color: #fff; padding: 9px; font-size: .47rem; font-weight: 850; box-shadow: 0 8px 18px rgba(179,38,30,.25); }

.capability-strip { position: relative; z-index: 3; display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 16px 30px; margin-top: 18px; color: rgba(255,255,255,.57); font-size: .78rem; font-weight: 700; }
.capability-strip span { display: inline-flex; align-items: center; gap: 8px; }
.capability-strip i { width: 5px; height: 5px; border-radius: 50%; background: var(--red-400); box-shadow: 0 0 0 4px rgba(216,75,67,.1); }

.section { padding: 110px 0; }
.section-copy h2, .section-heading h2, .status-copy h2 { margin: 13px 0 22px; font-size: clamp(2.2rem, 4.1vw, 4rem); line-height: 1.08; letter-spacing: -.055em; }
.section-copy p, .section-heading p, .status-copy p { color: var(--muted); font-size: 1.05rem; }
.eyebrow { display: inline-flex; color: var(--red-500); font-size: .76rem; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }
.eyebrow.light { color: #ff9a94; }
.split-grid { display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: 78px; }
.section-checks { display: grid; gap: 12px; margin-top: 29px; }
.section-checks span { display: flex; align-items: center; gap: 11px; color: #2f3d52; font-weight: 750; }
.section-checks svg { width: 21px; height: 21px; padding: 4px; border-radius: 50%; background: #e7f6ee; fill: none; stroke: var(--green-500); stroke-width: 2.3; stroke-linecap: round; stroke-linejoin: round; }

.problem-section { background: var(--bg); }
.system-map { position: relative; height: 520px; min-width: 0; }
.system-center { position: absolute; z-index: 3; left: 50%; top: 50%; width: 176px; height: 176px; display: flex; flex-direction: column; align-items: center; justify-content: center; border: 1px solid #cad5e2; border-radius: 38px; background: linear-gradient(145deg,#fff,#eff3f8); box-shadow: 0 28px 70px rgba(17,32,54,.14); transform: translate(-50%,-50%) rotate(-2deg); }
.system-center::after { content: ""; position: absolute; inset: -14px; z-index: -1; border: 1px dashed #c8d2df; border-radius: 46px; }
.system-center img { width: 55px; height: 55px; border-radius: 16px; box-shadow: 0 13px 28px rgba(11,20,35,.2); }
.system-center strong { margin-top: 10px; font-size: 1.14rem; letter-spacing: -.03em; }
.system-center span { color: var(--muted); font-size: .69rem; }
.system-node { position: absolute; z-index: 2; width: 170px; padding: 18px; border: 1px solid var(--border); border-radius: 18px; background: rgba(255,255,255,.94); box-shadow: var(--shadow-sm); }
.system-node i { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 9px; background: var(--red-100); color: var(--red-600); font-size: .58rem; font-weight: 900; font-style: normal; }
.system-node strong { display: block; margin-top: 9px; font-size: .91rem; }
.system-node span { color: var(--muted); font-size: .7rem; }
.node-a { left: 0; top: 28px; } .node-b { right: 0; top: 28px; } .node-c { left: 0; bottom: 28px; } .node-d { right: 0; bottom: 28px; }
.system-lines { position: absolute; inset: 0; width: 100%; height: 100%; }
.system-lines path { fill: none; stroke: #cbd5e1; stroke-width: 1.6; stroke-dasharray: 7 7; }

.features-section { background: #fff; }
.section-heading.centered { max-width: 760px; margin: 0 auto 48px; text-align: center; }
.section-heading.centered p { max-width: 670px; margin-inline: auto; }
.features-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.feature-card { position: relative; min-height: 330px; overflow: hidden; padding: 28px; border: 1px solid var(--border); border-radius: var(--radius); background: linear-gradient(155deg,#fff 0%,#fbfcfe 100%); box-shadow: 0 9px 30px rgba(20,35,58,.04); transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.feature-card:hover { transform: translateY(-5px); border-color: #c6d2df; box-shadow: var(--shadow-sm); }
.feature-card::after { content: ""; position: absolute; right: -60px; bottom: -75px; width: 160px; height: 160px; border-radius: 50%; background: radial-gradient(circle, rgba(47,118,232,.08), transparent 67%); }
.feature-card.feature-primary { color: #fff; border-color: transparent; background: radial-gradient(circle at 100% 0,rgba(216,75,67,.28),transparent 42%), linear-gradient(145deg,#111b2d,#1a2b45); box-shadow: 0 26px 70px rgba(9,18,33,.2); }
.feature-icon { width: 48px; height: 48px; display: grid; place-items: center; margin-bottom: 28px; border-radius: 14px; background: var(--red-100); color: var(--red-500); }
.feature-icon svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.feature-primary .feature-icon { background: rgba(255,255,255,.1); color: #ff8a83; }
.feature-card > span { color: #8390a2; font-size: .66rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.feature-card h3 { margin: 11px 0 12px; font-size: 1.34rem; line-height: 1.22; letter-spacing: -.035em; }
.feature-card p { margin: 0; color: var(--muted); font-size: .9rem; }
.feature-card ul { display: grid; gap: 7px; margin: 19px 0 0; padding: 0; list-style: none; }
.feature-card li { position: relative; padding-left: 16px; color: rgba(255,255,255,.62); font-size: .75rem; }
.feature-card li::before { content: ""; position: absolute; left: 0; top: .65em; width: 6px; height: 6px; border-radius: 50%; background: #ff7a73; }
.feature-primary > span { color: rgba(255,255,255,.45); }
.feature-primary p { color: rgba(255,255,255,.68); }

.approach-section { background: #fff; padding-top: 20px; }
.approach-shell { display: grid; grid-template-columns: .92fr 1.08fr; gap: 58px; padding: 64px; border-radius: 34px; color: #fff; background: radial-gradient(circle at 10% 15%,rgba(216,75,67,.22),transparent 35%), radial-gradient(circle at 90% 80%,rgba(47,118,232,.18),transparent 37%), linear-gradient(145deg,#0b1322,#172742); box-shadow: var(--shadow-md); }
.approach-copy h2 { margin: 14px 0 19px; max-width: 550px; font-size: clamp(2.4rem,4vw,4rem); line-height: 1.04; letter-spacing: -.055em; }
.approach-copy p { max-width: 570px; color: rgba(255,255,255,.66); }
.text-link { display: inline-flex; align-items: center; gap: 8px; margin-top: 17px; color: #fff; text-decoration: none; font-weight: 850; }
.principles-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 12px; }
.principles-grid > div { min-height: 176px; padding: 24px; border: 1px solid rgba(255,255,255,.11); border-radius: 18px; background: rgba(255,255,255,.055); backdrop-filter: blur(8px); }
.principles-grid i { color: #ff8f88; font-size: .67rem; font-weight: 900; font-style: normal; letter-spacing: .08em; }
.principles-grid strong { display: block; margin-top: 13px; font-size: 1rem; }
.principles-grid p { margin: 8px 0 0; color: rgba(255,255,255,.55); font-size: .78rem; line-height: 1.55; }

.status-section { background: var(--bg); }
.status-grid { display: grid; grid-template-columns: 1fr .86fr; align-items: center; gap: 72px; }
.status-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 27px; }
.status-tags span { border: 1px solid #d8e0ea; border-radius: 999px; background: #fff; color: #4d5c72; padding: 8px 12px; font-size: .76rem; font-weight: 750; }
.status-card { padding: 31px; border: 1px solid var(--border); border-radius: 24px; background: #fff; box-shadow: var(--shadow-sm); }
.status-card-label { color: var(--red-500); font-size: .68rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.status-card h3 { margin: 11px 0 19px; font-size: 1.48rem; line-height: 1.25; letter-spacing: -.035em; }
.progress-track { height: 7px; overflow: hidden; border-radius: 999px; background: #edf1f6; }
.progress-track span { display: block; width: 71%; height: 100%; border-radius: inherit; background: linear-gradient(90deg,var(--red-500),#ef726b); }
.status-list { display: grid; gap: 17px; margin-top: 27px; }
.status-list > div { display: grid; grid-template-columns: 31px 1fr; gap: 12px; align-items: start; }
.status-list i { display: grid; place-items: center; width: 29px; height: 29px; border-radius: 9px; font-style: normal; font-weight: 900; font-size: .75rem; }
.status-list .complete i { background: #e8f7ef; color: var(--green-500); }
.status-list .active i { position: relative; border: 1px solid #f3bbb7; background: var(--red-100); }
.status-list .active i::after { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--red-500); box-shadow: 0 0 0 4px rgba(179,38,30,.1); }
.status-list p { display: grid; margin: 0; line-height: 1.3; }
.status-list strong { font-size: .88rem; }
.status-list span { margin-top: 4px; color: var(--muted); font-size: .72rem; }

.contact-section { padding: 0 0 90px; background: var(--bg); }
.contact-card { display: flex; align-items: center; justify-content: space-between; gap: 40px; padding: 52px 58px; border-radius: 28px; color: #fff; background: radial-gradient(circle at 85% 20%,rgba(255,255,255,.12),transparent 30%), linear-gradient(135deg,#a9251e,#7d1b16); box-shadow: 0 27px 70px rgba(134,29,23,.25); }
.contact-card h2 { margin: 12px 0 10px; font-size: clamp(2rem,3.4vw,3.25rem); line-height: 1.05; letter-spacing: -.05em; }
.contact-card p { max-width: 700px; margin: 0; color: rgba(255,255,255,.68); }
.button-white { flex: 0 0 auto; color: var(--navy-900); background: #fff; box-shadow: 0 15px 34px rgba(60,10,8,.2); }

.site-footer { padding: 58px 0 38px; color: rgba(255,255,255,.62); background: var(--navy-950); }
.footer-grid { display: grid; grid-template-columns: 1.1fr 1.3fr auto; gap: 30px 50px; align-items: center; }
.footer-brand { display: flex; align-items: center; gap: 12px; color: #fff; }
.footer-brand img { width: 44px; height: 44px; border-radius: 13px; }
.footer-brand div { display: grid; line-height: 1.2; }
.footer-brand strong { font-size: 1rem; }
.footer-brand span { margin-top: 4px; color: rgba(255,255,255,.47); font-size: .68rem; }
.site-footer p { margin: 0; font-size: .76rem; line-height: 1.55; }
.footer-links { display: flex; gap: 17px; }
.footer-links a { color: rgba(255,255,255,.68); text-decoration: none; font-size: .77rem; font-weight: 700; }
.footer-links a:hover { color: #fff; }
.site-footer small { grid-column: 1 / -1; padding-top: 26px; border-top: 1px solid rgba(255,255,255,.08); color: rgba(255,255,255,.62); font-size: .7rem; }

.reveal { opacity: 0; transform: translateY(24px); transition: opacity .7s ease, transform .7s ease; }
.reveal.is-visible { opacity: 1; transform: translateY(0); }

:focus-visible { outline: 3px solid #7db0ff; outline-offset: 3px; }

@media (max-width: 1100px) {
  .hero { min-height: auto; padding-bottom: 135px; }
  .hero-grid { grid-template-columns: 1fr; gap: 25px; }
  .hero-copy { max-width: 800px; padding-bottom: 0; }
  .product-stage { width: min(850px,100%); margin-inline: auto; }
  .capability-strip { margin-top: 35px; }
  .split-grid, .status-grid { grid-template-columns: 1fr; gap: 52px; }
  .system-map { width: min(700px,100%); margin-inline: auto; }
  .features-grid { grid-template-columns: repeat(2,1fr); }
  .approach-shell { grid-template-columns: 1fr; }
}

@media (max-width: 860px) {
  .container { width: min(calc(100% - 30px), var(--container)); }
  .nav-toggle { display: flex; }
  .main-nav { position: fixed; left: 15px; right: 15px; top: 76px; display: grid; gap: 3px; padding: 12px; border: 1px solid rgba(255,255,255,.12); border-radius: 16px; background: rgba(9,15,26,.97); box-shadow: 0 25px 70px rgba(0,0,0,.35); backdrop-filter: blur(18px); opacity: 0; visibility: hidden; transform: translateY(-10px); transition: opacity .2s ease, transform .2s ease, visibility .2s ease; }
  .main-nav.is-open { opacity: 1; visibility: visible; transform: translateY(0); }
  .main-nav a { padding: 12px 14px; }
  .main-nav .nav-cta { margin: 5px 0 0; text-align: center; }
  .nav-toggle[aria-expanded="true"] span:nth-child(2) { transform: translateY(7px) rotate(45deg); }
  .nav-toggle[aria-expanded="true"] span:nth-child(3) { opacity: 0; }
  .nav-toggle[aria-expanded="true"] span:nth-child(4) { transform: translateY(-7px) rotate(-45deg); }
  .hero { padding-top: 125px; }
  .hero h1 { font-size: clamp(2.8rem,10vw,4.6rem); }
  .product-stage { padding-right: 12px; }
  .browser-window { transform: none; }
  .app-preview { grid-template-columns: 115px 1fr; }
  .preview-sidebar { padding-inline: 8px; }
  .preview-panels { grid-template-columns: 1fr; }
  .activity-card { display: none; }
  .phone-window { right: -2px; }
  .approach-shell { padding: 44px 32px; }
  .contact-card { align-items: flex-start; flex-direction: column; padding: 42px 35px; }
  .footer-grid { grid-template-columns: 1fr; }
  .site-footer small { grid-column: auto; }
}

@media (max-width: 650px) {
  html { scroll-padding-top: 80px; }
  .header-inner { height: 72px; }
  .brand-mark { width: 42px; height: 42px; border-radius: 12px; }
  .brand-copy small { display: none; }
  .main-nav { top: 68px; }
  .hero { padding-top: 112px; padding-bottom: 118px; }
  .hero h1 { margin-top: 20px; font-size: clamp(2.55rem,13vw,3.8rem); }
  .hero-lead { font-size: 1rem; }
  .hero-actions { display: grid; }
  .button { width: 100%; }
  .product-stage { margin-top: 14px; padding: 18px 0 62px; }
  .preview-label { right: auto; left: 0; top: -7px; }
  .browser-bar { grid-template-columns: 58px 1fr 28px; }
  .browser-address { min-width: 0; width: 90%; }
  .app-preview { height: 380px; grid-template-columns: 82px 1fr; }
  .preview-sidebar { padding: 9px 5px; }
  .preview-brand { gap: 4px; margin-inline: 1px; }
  .preview-brand img { width: 23px; height: 23px; border-radius: 7px; }
  .preview-brand strong { font-size: .48rem; }
  .preview-brand span { display: none; }
  .preview-nav span { gap: 4px; padding: 7px 5px; font-size: .43rem; }
  .preview-nav b { width: 9px; }
  .preview-user { display: none; }
  .preview-content { padding: 14px 12px; }
  .preview-heading h2 { font-size: .8rem; }
  .preview-heading button { display: none; }
  .stats-row { grid-template-columns: repeat(2,1fr); }
  .stats-row > div:nth-child(n+3) { display: none; }
  .map-card { height: 245px; }
  .mini-map { height: 205px; }
  .phone-window { width: 138px; height: 287px; right: -5px; bottom: 4px; border-width: 5px; border-radius: 24px; }
  .phone-speaker { width: 39px; }
  .phone-status { padding-inline: 9px; }
  .phone-content { padding-inline: 8px; }
  .alarm-card { margin-block: 9px; padding: 8px; }
  .alarm-card small { display: none; }
  .timeline { gap: 4px; margin-block: 7px 9px; }
  .timeline i { width: 14px; height: 14px; }
  .capability-strip { justify-content: flex-start; gap: 10px 18px; font-size: .7rem; }
  .section { padding: 82px 0; }
  .section-copy h2, .section-heading h2, .status-copy h2 { font-size: clamp(2rem,9vw,3rem); }
  .system-map { height: auto; display: grid; grid-template-columns: repeat(2,1fr); gap: 10px; }
  .system-center { position: relative; left: auto; top: auto; grid-column: 1 / -1; width: 100%; height: auto; padding: 24px; border-radius: 20px; transform: none; }
  .system-center::after, .system-lines { display: none; }
  .system-node { position: static; width: auto; min-height: 130px; }
  .features-grid { grid-template-columns: 1fr; }
  .feature-card { min-height: auto; }
  .approach-shell { padding: 37px 24px; border-radius: 24px; }
  .principles-grid { grid-template-columns: 1fr; }
  .principles-grid > div { min-height: 0; }
  .status-card { padding: 24px; }
  .contact-card { padding: 36px 24px; border-radius: 22px; }
}

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