:root {
  --bg: #050817;
  --bg-deep: #02040c;
  --surface: rgba(13, 20, 45, .76);
  --surface-solid: #0d142d;
  --surface-soft: #101a37;
  --line: rgba(154, 190, 255, .14);
  --line-bright: rgba(83, 226, 255, .34);
  --text: #f6f8ff;
  --muted: #929db8;
  --cyan: #4de6ff;
  --blue: #287cff;
  --violet: #896cff;
  --green: #70f0c1;
  --amber: #ffc46b;
  --danger: #ff9b9b;
  color-scheme: dark;
  font-family: Inter, "Segoe UI", ui-sans-serif, system-ui, -apple-system, sans-serif;
}

* { box-sizing: border-box; }
html { max-width: 100%; overflow-x: hidden; scroll-behavior: smooth; }
body { margin: 0; overflow-x: hidden; background: var(--bg); color: var(--text); line-height: 1.55; }
body::before { content: ""; position: fixed; inset: 0; z-index: -3; pointer-events: none; background: linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px); background-size: 76px 76px; mask-image: linear-gradient(to bottom, #000 0%, transparent 78%); }
body::after { content: ""; position: fixed; inset: 0; z-index: -4; background: radial-gradient(circle at 50% -20%, #12265a 0, var(--bg) 42%, var(--bg-deep) 100%); }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
.ambient { position: fixed; z-index: -2; width: 520px; height: 520px; border-radius: 50%; filter: blur(130px); opacity: .13; pointer-events: none; }
.ambient-one { top: 100px; right: -250px; background: var(--cyan); }
.ambient-two { top: 900px; left: -330px; background: var(--violet); }

.topbar, main, footer { width: min(1240px, calc(100% - 48px)); margin-inline: auto; position: relative; }
.topbar { position: sticky; top: 14px; z-index: 50; height: 70px; margin-top: 14px; padding: 0 14px 0 18px; display: flex; align-items: center; gap: 38px; border: 1px solid var(--line); border-radius: 18px; background: rgba(5, 8, 23, .72); box-shadow: 0 16px 50px rgba(0,0,0,.28); backdrop-filter: blur(20px); }
.brand { display: inline-flex; align-items: center; gap: 11px; white-space: nowrap; }
.brand-mark { width: 36px; height: 36px; display: grid; place-items: center; border: 1px solid rgba(77,230,255,.55); border-radius: 11px; color: var(--text); background: linear-gradient(145deg, #0f214f, #091128); box-shadow: inset 0 0 18px rgba(77,230,255,.13), 0 0 24px rgba(40,124,255,.16); font-size: 19px; font-weight: 950; font-style: italic; }
.brand-copy { display: grid; line-height: 1; }
.brand-copy strong { font-size: 13px; letter-spacing: .16em; }
.brand-copy small { margin-top: 4px; color: var(--cyan); font-size: 8px; font-weight: 800; letter-spacing: .3em; }
.topnav { margin-left: auto; display: flex; align-items: center; gap: 28px; }
.topnav a { position: relative; color: var(--muted); font-size: 13px; font-weight: 650; }
.topnav a::after { content: ""; position: absolute; right: 0; bottom: -8px; left: 0; height: 1px; background: var(--cyan); transform: scaleX(0); transition: transform .2s ease; }
.topnav a:hover { color: var(--text); }
.topnav a:hover::after { transform: scaleX(1); }

.button { display: inline-flex; align-items: center; justify-content: center; gap: 16px; min-height: 50px; padding: 0 22px; border: 1px solid rgba(77,230,255,.32); border-radius: 13px; color: #020617; background: linear-gradient(120deg, var(--cyan), #7df9dc); box-shadow: 0 12px 34px rgba(35,191,255,.16), inset 0 -1px 0 rgba(0,0,0,.15); font-size: 14px; font-weight: 850; transition: transform .2s ease, box-shadow .2s ease, filter .2s ease; }
.button i { font-size: 17px; font-style: normal; }
.button:hover { transform: translateY(-2px); box-shadow: 0 18px 44px rgba(35,191,255,.24); filter: brightness(1.05); }
.button-mini { min-height: 42px; padding-inline: 17px; font-size: 12px; }
.button-main { min-width: 190px; min-height: 56px; }
.button.is-disabled { border-color: var(--line); color: var(--muted); background: var(--surface-soft); box-shadow: none; cursor: default; pointer-events: none; }
.ghost-link { display: inline-flex; align-items: center; gap: 10px; color: #dfe5f6; font-size: 14px; font-weight: 720; transition: color .2s ease; }
.ghost-link:hover { color: var(--cyan); }
.play-icon { width: 33px; height: 33px; display: grid; place-items: center; border: 1px solid var(--line-bright); border-radius: 50%; color: var(--cyan); font-size: 9px; }

.hero { min-height: 770px; padding: 105px 0 82px; display: grid; grid-template-columns: minmax(0, 1.02fr) minmax(430px, .98fr); gap: 64px; align-items: center; }
.hero-copy { position: relative; z-index: 2; }
.eyebrow { display: inline-flex; align-items: center; gap: 9px; padding: 8px 12px; border: 1px solid var(--line); border-radius: 999px; color: #aab5ce; background: rgba(10,16,37,.56); font-size: 11px; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }
.status-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--green); box-shadow: 0 0 14px var(--green); }
h1 { margin: 28px 0 26px; font-size: clamp(62px, 7.2vw, 102px); line-height: .86; letter-spacing: -.075em; }
h1 span { color: transparent; background: linear-gradient(100deg, #ffffff 0%, var(--cyan) 45%, #728bff 100%); -webkit-background-clip: text; background-clip: text; }
.hero-lead { max-width: 640px; margin: 0; color: #a4aec7; font-size: clamp(17px, 1.55vw, 20px); line-height: 1.65; }
.hero-actions { margin-top: 35px; display: flex; align-items: center; gap: 25px; }
.hero-proof { max-width: 620px; margin-top: 50px; padding-top: 24px; display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); }
.hero-proof div { padding-right: 18px; }
.hero-proof div + div { padding-left: 18px; border-left: 1px solid var(--line); }
.hero-proof strong, .hero-proof span { display: block; }
.hero-proof strong { font-size: 18px; letter-spacing: -.02em; }
.hero-proof span { margin-top: 3px; color: var(--muted); font-size: 11px; }

.hero-stage { position: relative; min-height: 570px; display: grid; place-items: center; isolation: isolate; }
.hero-stage::before { content: ""; position: absolute; z-index: -2; width: 420px; height: 420px; border-radius: 50%; background: radial-gradient(circle, rgba(42,126,255,.27), rgba(77,230,255,.08) 42%, transparent 69%); filter: blur(4px); }
.orbit { position: absolute; z-index: -1; border: 1px solid rgba(112,164,255,.16); border-radius: 50%; }
.orbit::after { content: ""; position: absolute; top: 50%; width: 8px; height: 8px; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 18px var(--cyan); }
.orbit-one { width: 510px; height: 510px; transform: rotate(-18deg); }
.orbit-one::after { left: -4px; }
.orbit-two { width: 420px; height: 420px; border-style: dashed; transform: rotate(31deg); }
.orbit-two::after { right: -4px; }
.control-card { width: min(420px, 90%); padding: 20px; border: 1px solid rgba(107,160,255,.22); border-radius: 27px; background: linear-gradient(155deg, rgba(18,29,63,.97), rgba(7,12,31,.96)); box-shadow: 0 40px 100px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.05); transform: perspective(1000px) rotateY(-6deg) rotateX(2deg); backdrop-filter: blur(20px); }
.control-head { display: flex; align-items: center; gap: 13px; }
.avatar-shell { width: 54px; height: 54px; overflow: hidden; border: 1px solid rgba(77,230,255,.42); border-radius: 16px; background: #041026; box-shadow: 0 0 20px rgba(40,124,255,.2); }
.avatar-shell img { width: 100%; height: 100%; object-fit: cover; }
.control-head div:nth-child(2) { display: grid; }
.control-head small { color: var(--cyan); font-size: 8px; font-weight: 850; letter-spacing: .2em; }
.control-head strong { margin-top: 4px; font-size: 14px; }
.control-head button { margin-left: auto; border: 0; color: var(--muted); background: none; letter-spacing: 2px; }
.connection-core { min-height: 245px; display: flex; align-items: center; flex-direction: column; justify-content: center; text-align: center; }
.pulse-ring { position: relative; width: 98px; height: 98px; display: grid; place-items: center; margin-bottom: 18px; border: 1px solid rgba(77,230,255,.42); border-radius: 50%; background: radial-gradient(circle, rgba(77,230,255,.18), transparent 67%); box-shadow: 0 0 0 12px rgba(77,230,255,.025), 0 0 50px rgba(40,124,255,.2); }
.pulse-ring::before, .pulse-ring::after { content: ""; position: absolute; border: 1px solid rgba(77,230,255,.12); border-radius: 50%; }
.pulse-ring::before { inset: -14px; }
.pulse-ring::after { inset: -27px; border-style: dashed; }
.power-symbol { color: var(--cyan); font-size: 45px; font-weight: 900; transform: rotate(-18deg); }
.connection-core > span { color: var(--cyan); font-size: 8px; font-weight: 850; letter-spacing: .24em; }
.connection-core > strong { margin-top: 3px; font-size: 25px; letter-spacing: -.035em; }
.connection-core > small { margin-top: 5px; color: var(--muted); font-size: 10px; }
.route-line { display: grid; grid-template-columns: 1fr 90px 1fr; align-items: center; padding: 13px 14px; border: 1px solid var(--line); border-radius: 14px; background: rgba(4,9,24,.6); }
.route-line div { display: grid; }
.route-line span { color: var(--muted); font-size: 7px; font-weight: 800; letter-spacing: .15em; }
.route-line strong { margin-top: 2px; font-size: 11px; }
.route-line > i { position: relative; height: 1px; background: linear-gradient(90deg, var(--blue), var(--cyan)); }
.route-line > i::before, .route-line > i::after { content: ""; position: absolute; top: -2px; width: 5px; height: 5px; border-radius: 50%; background: var(--cyan); }
.route-line > i::before { left: 0; }
.route-line > i::after { right: 0; }
.route-line > i b { position: absolute; top: -2px; left: 40%; width: 5px; height: 5px; border-radius: 50%; background: #fff; box-shadow: 0 0 12px var(--cyan); }
.route-end { text-align: right; }
.control-stats { margin-top: 12px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.control-stats div { padding: 11px 7px; border: 1px solid var(--line); border-radius: 11px; background: rgba(8,14,32,.7); text-align: center; }
.control-stats span, .control-stats strong { display: block; }
.control-stats span { color: var(--muted); font-size: 7px; text-transform: uppercase; letter-spacing: .1em; }
.control-stats strong { margin-top: 3px; font-size: 9px; }
.float-chip { position: absolute; z-index: 4; padding: 10px 13px; border: 1px solid rgba(119,164,255,.22); border-radius: 12px; color: #d9e3fa; background: rgba(8,13,31,.88); box-shadow: 0 16px 35px rgba(0,0,0,.28); backdrop-filter: blur(12px); font-size: 9px; font-weight: 750; letter-spacing: .05em; text-transform: uppercase; }
.float-chip i { display: inline-block; width: 6px; height: 6px; margin-right: 6px; border-radius: 50%; background: var(--green); box-shadow: 0 0 10px var(--green); }
.float-chip-top { top: 92px; right: 3px; }
.float-chip-bottom { bottom: 86px; left: 5px; color: var(--cyan); }

.signal-strip { min-height: 78px; padding: 0 28px; display: flex; align-items: center; justify-content: space-between; gap: 22px; border: 1px solid var(--line); border-right: 0; border-left: 0; color: #8e9bb8; font-size: 10px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.signal-strip i { width: 4px; height: 4px; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 10px var(--cyan); }

.section { padding: 120px 0; border-bottom: 1px solid var(--line); scroll-margin-top: 95px; }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 54px; margin-bottom: 52px; }
.section-heading > p { max-width: 430px; margin: 0 0 5px; color: var(--muted); font-size: 15px; }
.kicker { display: inline-flex; align-items: center; gap: 8px; color: var(--cyan); font-size: 10px; font-weight: 850; letter-spacing: .19em; text-transform: uppercase; }
.kicker::before { content: ""; width: 20px; height: 1px; background: var(--cyan); box-shadow: 0 0 8px var(--cyan); }
h2 { margin: 14px 0 0; font-size: clamp(42px, 5vw, 66px); line-height: .98; letter-spacing: -.055em; }
h2 span { color: var(--cyan); }

.cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 13px; }
.plan-card { position: relative; min-height: 390px; padding: 27px; display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--line); border-radius: 21px; background: linear-gradient(160deg, rgba(17,26,55,.88), rgba(8,13,31,.94)); transition: transform .2s ease, border-color .2s ease; }
.plan-card::after { content: ""; position: absolute; right: -90px; bottom: -110px; width: 210px; height: 210px; border-radius: 50%; background: var(--blue); filter: blur(75px); opacity: .08; }
.plan-card:hover { transform: translateY(-5px); border-color: rgba(77,230,255,.32); }
.plan-card.featured { border-color: rgba(77,230,255,.52); background: linear-gradient(150deg, rgba(21,42,83,.96), rgba(8,15,34,.98)); box-shadow: 0 22px 70px rgba(20,98,255,.14), inset 0 1px 0 rgba(255,255,255,.05); }
.plan-badge { align-self: flex-start; padding: 6px 8px; border: 1px solid var(--line); border-radius: 7px; color: var(--muted); font-size: 8px; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.plan-card.featured .plan-badge { border-color: rgba(77,230,255,.3); color: var(--cyan); background: rgba(77,230,255,.06); }
.plan-card h3 { margin: 22px 0 0; font-size: 23px; letter-spacing: -.035em; }
.price { margin: 8px 0 20px; min-height: 60px; font-size: clamp(27px, 2.3vw, 35px); font-weight: 900; letter-spacing: -.045em; }
.price small { display: block; margin-top: 1px; color: var(--muted); font-size: 10px; font-weight: 550; letter-spacing: 0; }
.plan-meta { display: grid; gap: 10px; margin: 0 0 25px; padding: 17px 0 0; border-top: 1px solid var(--line); list-style: none; }
.plan-meta li { color: #aab4cd; font-size: 11px; }
.plan-meta li::before { content: "✓"; margin-right: 8px; color: var(--cyan); font-weight: 900; }
.plan-card .button { width: 100%; min-height: 46px; margin-top: auto; }

.privacy-section { display: grid; grid-template-columns: .95fr 1.05fr; gap: 90px; align-items: center; }
.privacy-copy > p { max-width: 540px; margin: 25px 0 28px; color: var(--muted); font-size: 16px; }
.privacy-console { padding: 22px; border: 1px solid rgba(91,146,255,.23); border-radius: 23px; background: linear-gradient(150deg, rgba(15,26,57,.95), rgba(7,12,29,.97)); box-shadow: 0 30px 80px rgba(0,0,0,.3); }
.console-head { margin-bottom: 10px; padding: 0 4px 16px; display: flex; justify-content: space-between; border-bottom: 1px solid var(--line); color: var(--muted); font-size: 9px; font-weight: 850; letter-spacing: .14em; }
.console-head small { color: var(--green); }
.console-row { margin-top: 8px; padding: 15px 16px; display: flex; align-items: center; justify-content: space-between; gap: 20px; border: 1px solid var(--line); border-radius: 12px; background: rgba(4,9,23,.55); }
.console-row span { color: #adb7cf; font-size: 12px; }
.console-row strong { color: #c9d5ee; font: 800 9px ui-monospace, monospace; letter-spacing: .06em; }
.console-row.is-on strong { color: var(--green); }
.console-foot { padding: 20px 5px 3px; display: flex; align-items: center; gap: 9px; color: var(--muted); font-size: 10px; }
.console-foot i { width: 7px; height: 7px; border-radius: 50%; background: var(--green); box-shadow: 0 0 12px var(--green); }

.app-cloud { display: grid; grid-template-columns: 1.25fr 1fr 1fr; gap: 12px; }
.app-tile { min-height: 132px; padding: 20px; display: flex; align-items: center; gap: 16px; border: 1px solid var(--line); border-radius: 17px; background: rgba(11,18,40,.76); }
.app-tile.app-featured { grid-row: span 2; min-height: 276px; align-items: flex-start; flex-direction: column; justify-content: flex-end; background: radial-gradient(circle at 25% 10%, rgba(77,230,255,.16), transparent 45%), linear-gradient(145deg, rgba(18,35,73,.96), rgba(7,13,31,.97)); }
.app-symbol { flex: 0 0 auto; width: 48px; height: 48px; display: grid; place-items: center; border: 1px solid rgba(77,230,255,.27); border-radius: 14px; color: var(--cyan); background: #0a1532; font-size: 20px; font-weight: 950; font-style: italic; }
.app-featured .app-symbol { width: 68px; height: 68px; border-radius: 19px; font-size: 29px; box-shadow: 0 0 35px rgba(77,230,255,.12); }
.app-tile div { display: grid; }
.app-tile strong { font-size: 16px; }
.app-featured strong { font-size: 24px; }
.app-tile small { margin-top: 4px; color: var(--muted); font-size: 10px; }
.app-tile > i { margin-left: auto; align-self: flex-start; color: #41506e; font: 9px ui-monospace, monospace; font-style: normal; }

.locations-section { display: grid; grid-template-columns: .75fr 1.25fr; gap: 75px; align-items: center; }
.location-copy > p { max-width: 430px; margin: 23px 0; color: var(--muted); }
.location-legend { display: flex; flex-wrap: wrap; gap: 17px; color: var(--muted); font-size: 9px; text-transform: uppercase; letter-spacing: .08em; }
.location-legend span { display: flex; align-items: center; gap: 7px; }
.location-legend i { width: 6px; height: 6px; border-radius: 50%; background: var(--green); box-shadow: 0 0 9px var(--green); }
.location-legend i.warn { background: var(--amber); box-shadow: 0 0 9px var(--amber); }
.location-panel { position: relative; min-height: 430px; padding: 35px; overflow: hidden; border: 1px solid var(--line); border-radius: 25px; background: linear-gradient(145deg, rgba(12,22,48,.9), rgba(7,12,29,.95)); }
.map-grid { position: absolute; inset: 0; opacity: .5; background: linear-gradient(rgba(77,230,255,.055) 1px, transparent 1px), linear-gradient(90deg, rgba(77,230,255,.055) 1px, transparent 1px); background-size: 44px 44px; mask-image: radial-gradient(circle at 50% 50%, black, transparent 80%); }
.map-grid i { position: absolute; width: 5px; height: 5px; border-radius: 50%; background: var(--blue); box-shadow: 0 0 12px var(--blue); }
.map-grid i:nth-child(1) { top: 18%; left: 24%; }.map-grid i:nth-child(2) { top: 32%; left: 68%; }.map-grid i:nth-child(3) { top: 71%; left: 55%; }.map-grid i:nth-child(4) { top: 57%; left: 14%; }.map-grid i:nth-child(5) { top: 24%; left: 86%; }.map-grid i:nth-child(6) { top: 83%; left: 81%; }
.location-list { position: relative; z-index: 2; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.location { padding: 15px; display: flex; align-items: center; gap: 12px; border: 1px solid rgba(123,161,232,.15); border-radius: 13px; background: rgba(6,11,27,.8); backdrop-filter: blur(8px); }
.location-icon { width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid rgba(77,230,255,.16); border-radius: 11px; color: var(--cyan); background: #0b1734; font-size: 11px; font-weight: 900; }
.location b, .location small { display: block; }
.location b { font-size: 12px; }
.location small { margin-top: 1px; color: var(--muted); font-size: 9px; }
.location-status { width: 7px; height: 7px; margin-left: auto; border-radius: 50%; background: var(--green); box-shadow: 0 0 10px var(--green); }
.location-status.degraded { background: var(--amber); box-shadow: 0 0 10px var(--amber); }

.steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 0; padding: 0; list-style: none; counter-reset: step; }
.steps li { position: relative; min-height: 285px; padding: 25px; overflow: hidden; border: 1px solid var(--line); border-radius: 19px; background: linear-gradient(150deg, rgba(14,22,48,.85), rgba(7,12,29,.92)); }
.steps li::after { content: ""; position: absolute; right: -50px; bottom: -70px; width: 150px; height: 150px; border-radius: 50%; background: var(--blue); filter: blur(65px); opacity: .09; }
.steps li > span { color: #5b6d91; font: 800 9px ui-monospace, monospace; letter-spacing: .15em; }
.step-icon { width: 50px; height: 50px; margin-top: 46px; display: grid; place-items: center; border: 1px solid rgba(77,230,255,.25); border-radius: 15px; color: var(--cyan); background: rgba(11,24,53,.8); font-size: 19px; font-weight: 850; }
.steps h3 { margin: 20px 0 8px; font-size: 18px; }
.steps p { max-width: 290px; margin: 0; color: var(--muted); font-size: 12px; }

.cta { position: relative; min-height: 330px; margin: 90px auto 110px; padding: 58px; display: flex; align-items: center; justify-content: space-between; gap: 40px; overflow: hidden; border: 1px solid rgba(77,230,255,.28); border-radius: 28px; background: linear-gradient(125deg, rgba(17,39,82,.95), rgba(8,14,33,.98) 62%); box-shadow: 0 35px 100px rgba(0,0,0,.3); }
.cta::before { content: "S"; position: absolute; right: 9%; color: transparent; -webkit-text-stroke: 1px rgba(77,230,255,.08); font-size: 300px; font-weight: 950; font-style: italic; line-height: 1; transform: rotate(-8deg); }
.cta-glow { position: absolute; right: -110px; bottom: -180px; width: 400px; height: 400px; border-radius: 50%; background: var(--cyan); filter: blur(140px); opacity: .15; }
.cta > div:not(.cta-glow), .cta > a { position: relative; z-index: 2; }
.cta h2 { font-size: clamp(38px, 5vw, 62px); }
.cta p { margin: 18px 0 0; color: var(--muted); }

footer { padding: 55px 0 28px; display: grid; grid-template-columns: 1fr 170px 190px; gap: 55px; border-top: 1px solid var(--line); color: var(--muted); }
.footer-brand p { margin: 17px 0 0; font-size: 12px; }
.footer-column { display: grid; align-content: start; gap: 9px; font-size: 11px; }
.footer-column strong { margin-bottom: 5px; color: var(--text); font-size: 10px; text-transform: uppercase; letter-spacing: .12em; }
.footer-column a:hover { color: var(--cyan); }
.footer-bottom { grid-column: 1 / -1; margin-top: 22px; padding-top: 22px; display: flex; justify-content: space-between; border-top: 1px solid var(--line); font-size: 9px; text-transform: uppercase; letter-spacing: .08em; }

.empty { grid-column: 1 / -1; padding: 28px; border: 1px dashed var(--line); border-radius: 14px; color: var(--muted); text-align: center; }
.load-error { color: var(--danger); }

/* Legal pages share the brand system but stay intentionally calm and readable. */
.legal-page { width: min(790px, calc(100% - 40px)); margin: 70px auto 110px; position: relative; }
.legal-page .brand { margin-bottom: 55px; }
.legal-page h1 { margin: 0 0 18px; font-size: clamp(40px, 6vw, 64px); line-height: .98; letter-spacing: -.055em; }
.legal-page h2 { margin-top: 44px; font-size: 25px; line-height: 1.15; letter-spacing: -.025em; }
.legal-page h3 { margin-top: 28px; }
.legal-page p, .legal-page li { color: #a8b2c9; }
.legal-page li + li { margin-top: 8px; }
.legal-page a:not(.brand):not(.back-link) { text-decoration: underline; text-decoration-color: rgba(77,230,255,.35); text-underline-offset: 3px; }
.legal-page .draft-notice { padding: 18px; border: 1px solid rgba(255,196,107,.3); border-radius: 13px; color: #f3d5a3; background: rgba(255,196,107,.06); }
.legal-page .back-link { display: inline-block; margin-top: 42px; color: var(--cyan); }
.legal-meta { margin: -8px 0 24px; color: var(--muted); font-size: 12px; }
.legal-nav { display: flex; flex-wrap: wrap; gap: 9px; margin: -30px 0 42px; }
.legal-nav a { padding: 8px 11px; border: 1px solid var(--line); border-radius: 9px; color: var(--muted); font-size: 11px; text-decoration: none !important; }
.legal-nav a:hover, .legal-nav a.is-current { border-color: rgba(77,230,255,.4); color: var(--text); background: rgba(77,230,255,.06); }
.legal-placeholder { color: #f3d5a3; background: rgba(255,196,107,.07); }
.legal-table-wrap { overflow-x: auto; margin-top: 18px; border: 1px solid var(--line); border-radius: 12px; }
.legal-table { width: 100%; border-collapse: collapse; font-size: 12px; }
.legal-table th, .legal-table td { padding: 13px 14px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.legal-table th { color: var(--text); background: rgba(255,255,255,.025); }
.legal-table td { color: var(--muted); }
.legal-table tr:last-child td { border-bottom: 0; }

@media (max-width: 980px) {
  .topnav { display: none; }
  .topbar > .button { margin-left: auto; }
  .hero { grid-template-columns: 1fr; padding-top: 85px; }
  .hero-copy { max-width: 780px; }
  .hero-stage { min-height: 590px; }
  .privacy-section, .locations-section { grid-template-columns: 1fr; gap: 55px; }
  .privacy-copy { max-width: 650px; }
  .app-cloud { grid-template-columns: 1fr 1fr; }
  .app-tile.app-featured { grid-row: auto; min-height: 160px; align-items: center; flex-direction: row; justify-content: flex-start; }
  .app-featured .app-symbol { width: 55px; height: 55px; border-radius: 16px; font-size: 23px; }
}

@media (max-width: 720px) {
  .topbar, main, footer { width: min(100% - 28px, 1240px); }
  .topbar { top: 8px; height: 62px; margin-top: 8px; border-radius: 15px; }
  .brand-copy { display: none; }
  .button-mini { min-height: 38px; }
  .button-mini i { display: none; }
  .hero { min-height: auto; padding: 78px 0 55px; gap: 35px; }
  h1 { font-size: clamp(57px, 17vw, 82px); }
  .hero-lead { font-size: 16px; }
  .hero-actions { align-items: stretch; flex-direction: column; }
  .hero-actions .ghost-link { justify-content: center; }
  .hero-proof { grid-template-columns: 1fr; gap: 15px; }
  .hero-proof div, .hero-proof div + div { padding: 0; border-left: 0; }
  .hero-stage { min-height: 495px; }
  .control-card { width: min(390px, 94%); transform: none; }
  .orbit-one { width: 430px; height: 430px; }.orbit-two { width: 350px; height: 350px; }
  .float-chip-top { top: 42px; right: 0; }.float-chip-bottom { bottom: 30px; left: 0; }
  .signal-strip { padding: 20px 5px; flex-wrap: wrap; justify-content: center; }
  .signal-strip i { display: none; }
  .signal-strip span { flex: 1 1 40%; text-align: center; }
  .section { padding: 85px 0; }
  .section-heading { align-items: flex-start; flex-direction: column; gap: 24px; margin-bottom: 36px; }
  h2 { font-size: clamp(39px, 12vw, 57px); }
  .cards, .steps, .app-cloud { grid-template-columns: 1fr; }
  .plan-card { min-height: 360px; }
  .location-panel { min-height: 380px; padding: 20px; }
  .location-list { grid-template-columns: 1fr; }
  .cta { min-height: 400px; padding: 35px 25px; align-items: flex-start; flex-direction: column; justify-content: center; }
  .cta .button { width: 100%; }
  footer { grid-template-columns: 1fr 1fr; gap: 35px; }
  .footer-brand { grid-column: 1 / -1; }
  .footer-bottom { align-items: flex-start; flex-direction: column; gap: 7px; }
}

@media (max-width: 420px) {
  .topbar .button span { font-size: 0; }
  .topbar .button span::after { content: "Telegram"; font-size: 11px; }
  .hero-stage { min-height: 470px; }
  .control-card { padding: 15px; border-radius: 22px; }
  .connection-core { min-height: 215px; }
  .route-line { grid-template-columns: 1fr 58px 1fr; }
  .control-stats div { padding-inline: 3px; }
  .float-chip { display: none; }
  .orbit-one { width: 380px; height: 380px; }
  .orbit-two { width: 310px; height: 310px; }
}

@media (prefers-reduced-motion: no-preference) {
  .pulse-ring::after { animation: slow-spin 18s linear infinite; }
  .orbit-one { animation: slow-spin 32s linear infinite; }
  .orbit-two { animation: reverse-spin 38s linear infinite; }
  .float-chip-top { animation: float-y 5s ease-in-out infinite; }
  .float-chip-bottom { animation: float-y 6s ease-in-out -2s infinite; }
  @keyframes slow-spin { to { transform: rotate(360deg); } }
  @keyframes reverse-spin { to { transform: rotate(-360deg); } }
  @keyframes float-y { 50% { transform: translateY(-9px); } }
}
