:root {
  color-scheme: dark;
  --bg: #050910;
  --bg-soft: #09111c;
  --surface: #0c1622;
  --surface-raised: #111f2f;
  --surface-soft: rgba(16, 30, 45, 0.72);
  --ink: #f7fbff;
  --ink-soft: #c8d5e5;
  --ink-muted: #8ea0b6;
  --line: rgba(207, 227, 250, 0.13);
  --line-strong: rgba(207, 227, 250, 0.24);
  --blue: #77a9ff;
  --blue-strong: #3b74e8;
  --cyan: #82dce5;
  --cyan-soft: rgba(130, 220, 229, 0.12);
  --coral: #ff6b5e;
  --green: #7be0b3;
  --amber: #f5c47a;
  --danger: #ff8177;
  --shadow-lg: 0 38px 110px rgba(0, 0, 0, 0.48);
  --shadow-md: 0 22px 60px rgba(0, 0, 0, 0.32);
  --radius-sm: 12px;
  --radius-md: 20px;
  --radius-lg: 30px;
  --radius-xl: 42px;
  --page: min(1180px, calc(100% - 40px));
  --sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", sans-serif;
  --display: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", sans-serif;
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  overflow-x: hidden;
  scroll-behavior: smooth;
  scroll-padding-top: 104px;
  background: var(--bg);
  accent-color: var(--cyan);
}

body {
  min-width: 320px;
  margin: 0;
  overflow-x: hidden;
  color: var(--ink);
  background:
    radial-gradient(circle at 83% -10%, rgba(59, 116, 232, 0.16), transparent 34rem),
    radial-gradient(circle at -8% 28%, rgba(255, 107, 94, 0.08), transparent 28rem),
    var(--bg);
  font-family: var(--sans);
  font-size: 1rem;
  line-height: 1.65;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

body.nav-open {
  overflow: hidden;
}

img,
picture,
svg {
  display: block;
  max-width: 100%;
}

button,
input,
select,
textarea {
  font: inherit;
}

button,
a {
  -webkit-tap-highlight-color: transparent;
}

a {
  color: inherit;
  text-decoration: none;
}

p,
h1,
h2,
h3,
h4,
ul,
ol,
figure {
  margin-top: 0;
}

h1,
h2,
h3,
h4 {
  color: var(--ink);
  font-family: var(--display);
  letter-spacing: -0.035em;
  line-height: 1.08;
}

h1 {
  font-size: clamp(3rem, 7.4vw, 6.9rem);
}

h2 {
  font-size: clamp(2.2rem, 5vw, 4.6rem);
}

h3 {
  font-size: clamp(1.1rem, 1.5vw, 1.35rem);
}

::selection {
  color: #061019;
  background: var(--cyan);
}

[hidden] {
  display: none !important;
}

.skip-link {
  position: fixed;
  top: 12px;
  left: 12px;
  z-index: 500;
  transform: translateY(-180%);
  border-radius: 999px;
  padding: 10px 16px;
  color: #061019;
  background: var(--ink);
  box-shadow: var(--shadow-md);
  font-weight: 800;
  transition: transform 160ms ease;
}

.skip-link:focus {
  transform: translateY(0);
}

:focus-visible {
  outline: 3px solid var(--cyan);
  outline-offset: 4px;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 16px;
  color: var(--cyan);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  line-height: 1.4;
  text-transform: uppercase;
}

.eyebrow::before {
  width: 22px;
  height: 1px;
  background: currentColor;
  content: "";
}

.kicker {
  color: var(--ink-soft);
  font-size: clamp(1.06rem, 1.8vw, 1.28rem);
  line-height: 1.65;
}

.text-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--cyan);
  font-weight: 750;
}

.text-link::after {
  content: "→";
  transition: transform 180ms var(--ease-out);
}

.text-link:hover::after,
.text-link:focus-visible::after {
  transform: translateX(4px);
}

/* Shared navigation */
.site-header {
  position: fixed;
  top: 16px;
  left: 50%;
  z-index: 200;
  display: grid;
  grid-template-columns: auto 1fr auto;
  width: min(1180px, calc(100% - 32px));
  min-height: 66px;
  align-items: center;
  gap: 24px;
  padding: 10px 12px 10px 14px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: rgba(5, 12, 20, 0.78);
  box-shadow: 0 18px 58px rgba(0, 0, 0, 0.22);
  backdrop-filter: blur(18px) saturate(130%);
  transform: translateX(-50%);
  transition:
    border-color 180ms ease,
    background 180ms ease,
    box-shadow 180ms ease;
}

.site-header.is-scrolled {
  border-color: var(--line-strong);
  background: rgba(5, 12, 20, 0.93);
  box-shadow: 0 18px 58px rgba(0, 0, 0, 0.38);
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-width: max-content;
  font-family: var(--display);
  font-size: 1.05rem;
  font-weight: 850;
  letter-spacing: -0.025em;
}

.brand img,
.brand-icon {
  width: 38px;
  height: 38px;
  border-radius: 10px;
  box-shadow:
    0 8px 22px rgba(255, 107, 94, 0.18),
    0 0 0 1px rgba(255, 255, 255, 0.16);
}

.site-nav {
  min-width: 0;
}

.nav-links,
.footer-links {
  display: flex;
  align-items: center;
  gap: clamp(14px, 2.3vw, 28px);
  margin: 0;
  padding: 0;
  list-style: none;
}

.nav-links {
  justify-content: center;
}

.nav-links a,
.footer-links a {
  color: var(--ink-soft);
  font-size: 0.91rem;
  font-weight: 700;
  transition: color 160ms ease;
}

.nav-links a:hover,
.nav-links a:focus-visible,
.footer-links a:hover,
.footer-links a:focus-visible {
  color: var(--ink);
}

.header-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}

.nav-toggle {
  display: none;
  width: 44px;
  height: 44px;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 50%;
  color: var(--ink);
  background: var(--surface-soft);
  cursor: pointer;
}

.nav-toggle span,
.nav-toggle::before,
.nav-toggle::after {
  width: 18px;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
  content: "";
  transition: transform 180ms ease, opacity 180ms ease;
}

.nav-toggle span {
  position: absolute;
}

.nav-toggle::before {
  transform: translateY(-6px);
}

.nav-toggle::after {
  transform: translateY(6px);
}

.nav-toggle[aria-expanded="true"] span {
  opacity: 0;
}

.nav-toggle[aria-expanded="true"]::before {
  transform: rotate(45deg);
}

.nav-toggle[aria-expanded="true"]::after {
  transform: rotate(-45deg);
}

.button,
.header-cta,
.primary-action,
.secondary-action,
.ghost-action {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  gap: 9px;
  border: 1px solid transparent;
  border-radius: 999px;
  padding: 0 22px;
  font-family: var(--display);
  font-weight: 800;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  transition:
    transform 180ms var(--ease-out),
    box-shadow 180ms var(--ease-out),
    border-color 180ms ease,
    background 180ms ease;
}

.header-cta {
  min-height: 44px;
  padding-inline: 19px;
  font-size: 0.89rem;
}

.primary-action,
.header-cta,
.button-primary {
  color: #fff;
  background: linear-gradient(135deg, #6da4ff, var(--blue-strong));
  box-shadow: 0 15px 32px rgba(59, 116, 232, 0.28);
}

.secondary-action,
.ghost-action,
.button-secondary {
  border-color: var(--line-strong);
  color: var(--ink);
  background: rgba(255, 255, 255, 0.035);
}

.primary-action:hover,
.primary-action:focus-visible,
.header-cta:hover,
.header-cta:focus-visible,
.button-primary:hover,
.button-primary:focus-visible,
.secondary-action:hover,
.secondary-action:focus-visible,
.ghost-action:hover,
.ghost-action:focus-visible,
.button-secondary:hover,
.button-secondary:focus-visible {
  transform: translateY(-2px);
}

.primary-action:hover,
.primary-action:focus-visible,
.header-cta:hover,
.header-cta:focus-visible,
.button-primary:hover,
.button-primary:focus-visible {
  box-shadow: 0 20px 42px rgba(59, 116, 232, 0.38);
}

.secondary-action:hover,
.secondary-action:focus-visible,
.ghost-action:hover,
.ghost-action:focus-visible,
.button-secondary:hover,
.button-secondary:focus-visible {
  border-color: rgba(130, 220, 229, 0.44);
  background: var(--cyan-soft);
}

/* Homepage */
.hero {
  position: relative;
  display: grid;
  width: var(--page);
  min-height: min(930px, 100svh);
  grid-template-columns: minmax(0, 1.02fr) minmax(390px, 0.88fr);
  align-items: center;
  gap: clamp(36px, 6vw, 86px);
  margin: 0 auto;
  padding: 150px 0 82px;
}

.hero::before {
  position: absolute;
  top: 18%;
  right: -15%;
  width: 560px;
  height: 560px;
  border-radius: 50%;
  background: rgba(76, 137, 247, 0.12);
  filter: blur(95px);
  content: "";
  pointer-events: none;
}

.hero-copy {
  position: relative;
  z-index: 2;
}

.hero h1 {
  max-width: 800px;
  margin-bottom: 26px;
  text-wrap: balance;
}

.hero .lead {
  max-width: 680px;
  margin-bottom: 32px;
  color: var(--ink-soft);
  font-size: clamp(1.12rem, 2vw, 1.38rem);
  line-height: 1.6;
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 30px;
}

.trust-marks {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.trust-marks li,
.info-chip,
.mission-pill {
  display: inline-flex;
  min-height: 36px;
  align-items: center;
  gap: 8px;
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 7px 12px;
  color: var(--ink-soft);
  background: rgba(255, 255, 255, 0.025);
  font-size: 0.79rem;
  font-weight: 750;
}

.trust-marks svg,
.info-chip svg,
.mission-pill svg,
.feature-icon svg,
.icon-box svg {
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.trust-marks li:first-child {
  color: var(--green);
}

.hero-stage {
  position: relative;
  z-index: 1;
  display: grid;
  min-height: 650px;
  place-items: center;
}

.hero-stage::before,
.hero-stage::after {
  position: absolute;
  border-radius: 50%;
  content: "";
  pointer-events: none;
}

.hero-stage::before {
  width: 470px;
  height: 470px;
  border: 1px solid rgba(130, 220, 229, 0.12);
  background: radial-gradient(circle, rgba(130, 220, 229, 0.12), transparent 68%);
}

.hero-stage::after {
  width: 330px;
  height: 330px;
  border: 1px solid rgba(119, 169, 255, 0.18);
}

.device {
  position: relative;
  padding: 8px;
  border: 1px solid rgba(212, 230, 252, 0.2);
  border-radius: clamp(30px, 5vw, 52px);
  background: #05070b;
  box-shadow: var(--shadow-lg);
}

.device::before {
  position: absolute;
  inset: 2px;
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: inherit;
  content: "";
  pointer-events: none;
}

.device-screen {
  overflow: hidden;
  border-radius: calc(clamp(30px, 5vw, 52px) - 8px);
  background: #0e1824;
}

.device-screen img {
  width: 100%;
  height: auto;
}

.device-hero {
  width: min(390px, 78vw);
  transform: rotate(2.4deg);
}

.hero-float {
  position: absolute;
  z-index: 3;
  display: flex;
  align-items: center;
  gap: 10px;
  border: 1px solid var(--line-strong);
  border-radius: 16px;
  padding: 12px 14px;
  background: rgba(8, 17, 28, 0.9);
  box-shadow: var(--shadow-md);
  backdrop-filter: blur(16px);
}

.hero-float strong {
  display: block;
  font-size: 0.92rem;
}

.hero-float small {
  display: block;
  color: var(--ink-muted);
  font-size: 0.73rem;
}

.hero-float .feature-icon {
  width: 38px;
  height: 38px;
}

.hero-float-readiness {
  top: 18%;
  left: -3%;
}

.hero-float-mission {
  right: -5%;
  bottom: 20%;
}

.section,
.showcase,
.mission-feature,
.final-cta {
  width: var(--page);
  margin-inline: auto;
}

.section {
  padding: clamp(84px, 12vw, 150px) 0;
}

.section-compact {
  padding-top: 60px;
  padding-bottom: 60px;
}

.section-heading {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(260px, 0.55fr);
  align-items: end;
  gap: 36px;
  margin-bottom: clamp(34px, 5vw, 60px);
}

.section-heading h2,
.section-heading p {
  margin-bottom: 0;
}

.section-heading p:last-child {
  color: var(--ink-soft);
  font-size: 1.08rem;
}

.flow-grid,
.profile-grid,
.privacy-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.flow-card,
.profile-card,
.privacy-card,
.use-case-card,
.content-card,
.related-card {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: linear-gradient(160deg, rgba(18, 34, 51, 0.82), rgba(8, 16, 26, 0.88));
  box-shadow: 0 16px 42px rgba(0, 0, 0, 0.14);
}

.flow-card,
.profile-card,
.privacy-card {
  min-height: 220px;
  padding: 26px;
}

.flow-card::after,
.use-case-card::after {
  position: absolute;
  right: -70px;
  bottom: -100px;
  width: 180px;
  height: 180px;
  border-radius: 50%;
  background: rgba(119, 169, 255, 0.07);
  content: "";
}

.step-number {
  display: inline-flex;
  width: 32px;
  height: 32px;
  align-items: center;
  justify-content: center;
  margin-bottom: 38px;
  border: 1px solid var(--line-strong);
  border-radius: 50%;
  color: var(--cyan);
  font-size: 0.78rem;
  font-weight: 850;
}

.flow-card h3,
.profile-card h3,
.privacy-card h3 {
  margin-bottom: 10px;
}

.flow-card p,
.profile-card p,
.privacy-card p,
.use-case-card p,
.related-card p,
.content-card p {
  margin-bottom: 0;
  color: var(--ink-soft);
}

.use-cases {
  position: relative;
}

.use-case-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 14px;
}

.use-case-card {
  min-height: 260px;
  grid-column: span 2;
  padding: 28px;
  transition:
    transform 220ms var(--ease-out),
    border-color 220ms ease,
    background 220ms ease;
}

.use-case-card:nth-child(4),
.use-case-card:nth-child(5) {
  grid-column: span 3;
}

.use-case-card:hover,
.use-case-card:focus-within {
  border-color: rgba(130, 220, 229, 0.34);
  background: linear-gradient(160deg, rgba(24, 44, 64, 0.9), rgba(8, 18, 28, 0.94));
  transform: translateY(-5px);
}

.use-case-card a::after {
  position: absolute;
  inset: 0;
  content: "";
}

.feature-icon,
.icon-box {
  display: inline-flex;
  width: 48px;
  height: 48px;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(130, 220, 229, 0.2);
  border-radius: 15px;
  color: var(--cyan);
  background: var(--cyan-soft);
}

.use-case-card .feature-icon {
  margin-bottom: 48px;
}

.use-case-card h3 {
  max-width: 260px;
  margin-bottom: 10px;
}

.use-case-card .card-arrow,
.related-card .card-arrow {
  position: absolute;
  top: 28px;
  right: 28px;
  color: var(--ink-muted);
  font-size: 1.35rem;
  transition: transform 180ms var(--ease-out), color 180ms ease;
}

.use-case-card:hover .card-arrow,
.use-case-card:focus-within .card-arrow,
.related-card:hover .card-arrow,
.related-card:focus-within .card-arrow {
  color: var(--cyan);
  transform: translate(4px, -4px);
}

.showcase {
  position: relative;
  padding: clamp(86px, 11vw, 140px) 0;
}

.showcase-header {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 44px;
}

.showcase-header h2 {
  margin-bottom: 0;
}

.carousel-controls {
  display: flex;
  gap: 8px;
}

.carousel-button {
  display: inline-grid;
  width: 46px;
  height: 46px;
  place-items: center;
  border: 1px solid var(--line-strong);
  border-radius: 50%;
  color: var(--ink);
  background: rgba(255, 255, 255, 0.035);
  cursor: pointer;
  transition: background 160ms ease, transform 160ms ease;
}

.carousel-button:hover,
.carousel-button:focus-visible {
  background: var(--cyan-soft);
  transform: translateY(-2px);
}

.showcase-track {
  display: grid;
  grid-auto-columns: minmax(215px, 0.26fr);
  grid-auto-flow: column;
  gap: 22px;
  overflow-x: auto;
  padding: 12px 3px 26px;
  scroll-snap-type: x mandatory;
  scrollbar-width: thin;
  scrollbar-color: var(--line-strong) transparent;
}

.screen-card {
  scroll-snap-align: start;
}

.device-gallery {
  width: 100%;
  border-radius: 38px;
  padding: 6px;
  transition: transform 220ms var(--ease-out), border-color 220ms ease;
}

.device-gallery .device-screen {
  border-radius: 32px;
}

.screen-card:hover .device-gallery {
  border-color: rgba(130, 220, 229, 0.34);
  transform: translateY(-5px);
}

.screen-card figcaption {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 18px 4px 0;
}

.screen-card figcaption strong {
  font-family: var(--display);
}

.screen-card figcaption span {
  color: var(--ink-muted);
  font-size: 0.82rem;
}

.profiles-panel {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius-xl);
  padding: clamp(32px, 6vw, 72px);
  background:
    radial-gradient(circle at 100% 0%, rgba(119, 169, 255, 0.13), transparent 35rem),
    linear-gradient(150deg, rgba(14, 27, 42, 0.94), rgba(7, 14, 23, 0.96));
}

.profiles-panel .section-heading {
  margin-bottom: 40px;
}

.profile-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.profile-card {
  min-height: 190px;
  background: rgba(255, 255, 255, 0.025);
}

.profile-card .feature-icon {
  margin-bottom: 28px;
}

.mission-feature {
  display: grid;
  grid-template-columns: minmax(310px, 0.8fr) minmax(0, 1.05fr);
  align-items: center;
  gap: clamp(44px, 8vw, 110px);
  padding: clamp(90px, 12vw, 155px) 0;
}

.mission-device-wrap {
  position: relative;
  display: grid;
  place-items: center;
}

.mission-device-wrap::before {
  position: absolute;
  width: min(480px, 100%);
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(63, 129, 241, 0.16), transparent 68%);
  content: "";
}

.device-feature {
  width: min(340px, 80vw);
  transform: rotate(-2deg);
}

.mission-copy h2 {
  max-width: 620px;
  margin-bottom: 24px;
}

.mission-copy > p:not(.eyebrow) {
  max-width: 620px;
  margin-bottom: 30px;
  color: var(--ink-soft);
  font-size: 1.12rem;
}

.mission-tiles {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 34px;
}

.mission-pill {
  min-height: 42px;
  color: var(--ink);
  background: rgba(255, 255, 255, 0.035);
}

.mission-points {
  display: grid;
  gap: 18px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.mission-points li {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 14px;
  color: var(--ink-soft);
}

.mission-points .check {
  display: inline-grid;
  width: 24px;
  height: 24px;
  place-items: center;
  border-radius: 50%;
  color: #061019;
  background: var(--cyan);
  font-size: 0.75rem;
  font-weight: 900;
}

.privacy-panel {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius-xl);
  padding: clamp(32px, 6vw, 70px);
  background:
    radial-gradient(circle at 15% 0%, rgba(130, 220, 229, 0.11), transparent 32rem),
    linear-gradient(150deg, rgba(12, 26, 36, 0.96), rgba(6, 13, 21, 0.98));
}

.privacy-intro {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 34px;
  margin-bottom: 42px;
}

.privacy-intro h2 {
  max-width: 740px;
  margin-bottom: 0;
}

.privacy-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.privacy-card {
  min-height: 180px;
  background: rgba(255, 255, 255, 0.02);
}

.privacy-card .feature-icon {
  width: 42px;
  height: 42px;
  margin-bottom: 24px;
}

.faq-layout {
  display: grid;
  grid-template-columns: minmax(260px, 0.62fr) minmax(0, 1fr);
  gap: clamp(40px, 8vw, 100px);
}

.faq-copy h2 {
  margin-bottom: 20px;
}

.faq-copy p {
  color: var(--ink-soft);
}

.faq-list {
  border-top: 1px solid var(--line);
}

.faq-list details {
  border-bottom: 1px solid var(--line);
  padding: 0;
}

.faq-list summary {
  position: relative;
  display: flex;
  min-height: 84px;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 24px 48px 24px 0;
  cursor: pointer;
  font-family: var(--display);
  font-size: 1.08rem;
  font-weight: 750;
  list-style: none;
}

.faq-list summary::-webkit-details-marker {
  display: none;
}

.faq-list summary::before,
.faq-list summary::after {
  position: absolute;
  top: 50%;
  right: 5px;
  width: 18px;
  height: 2px;
  border-radius: 999px;
  background: var(--cyan);
  content: "";
  transition: transform 180ms ease;
}

.faq-list summary::after {
  transform: rotate(90deg);
}

.faq-list details[open] summary::after {
  transform: rotate(0deg);
}

.faq-list details p {
  max-width: 720px;
  margin: -4px 0 28px;
  color: var(--ink-soft);
}

.final-cta {
  position: relative;
  overflow: hidden;
  display: grid;
  min-height: 460px;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 0.72fr);
  align-items: center;
  gap: 40px;
  margin-top: 30px;
  margin-bottom: 86px;
  border: 1px solid var(--line);
  border-radius: var(--radius-xl);
  padding: clamp(38px, 7vw, 82px);
  background:
    radial-gradient(circle at 80% 20%, rgba(119, 169, 255, 0.2), transparent 27rem),
    radial-gradient(circle at 10% 100%, rgba(255, 107, 94, 0.1), transparent 22rem),
    linear-gradient(145deg, #101f31, #07111d 70%);
}

.final-cta h2 {
  max-width: 720px;
  margin-bottom: 20px;
}

.final-cta p {
  max-width: 610px;
  margin-bottom: 28px;
  color: var(--ink-soft);
  font-size: 1.12rem;
}

.final-visual {
  position: relative;
  display: grid;
  place-items: center;
  align-self: stretch;
}

.final-visual img {
  width: min(230px, 65%);
  border-radius: 27%;
  box-shadow: 0 34px 80px rgba(0, 0, 0, 0.4);
  transform: rotate(5deg);
}

.final-visual::before,
.final-visual::after {
  position: absolute;
  border: 1px solid rgba(130, 220, 229, 0.16);
  border-radius: 50%;
  content: "";
}

.final-visual::before {
  width: 310px;
  height: 310px;
}

.final-visual::after {
  width: 220px;
  height: 220px;
}

/* Footer */
.site-footer {
  width: var(--page);
  margin-inline: auto;
  padding: 42px 0 48px;
  border-top: 1px solid var(--line);
}

.footer-main {
  display: grid;
  grid-template-columns: minmax(200px, 0.6fr) minmax(0, 1fr);
  gap: 38px;
  align-items: start;
}

.footer-brand p {
  max-width: 360px;
  margin: 16px 0 0;
  color: var(--ink-muted);
  font-size: 0.9rem;
}

.footer-links {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: start;
  gap: 12px 26px;
}

.footer-links a {
  display: inline-block;
  padding-block: 4px;
}

.footer-meta {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  margin-top: 40px;
  padding-top: 22px;
  border-top: 1px solid var(--line);
  color: var(--ink-muted);
  font-size: 0.78rem;
}

/* Content, use-case, legal, press, and error pages */
.content-page,
.legal-page,
.error-page {
  background:
    radial-gradient(circle at 78% -8%, rgba(59, 116, 232, 0.14), transparent 32rem),
    var(--bg);
}

.content-shell,
.legal-shell,
.error-shell {
  width: min(1040px, calc(100% - 40px));
  margin-inline: auto;
}

.content-hero,
.legal-hero {
  padding: 158px 0 66px;
  border-bottom: 1px solid var(--line);
}

.content-hero h1,
.legal-hero h1,
.legal-shell > h1 {
  max-width: 940px;
  margin-bottom: 22px;
  font-size: clamp(2.8rem, 7vw, 5.8rem);
  text-wrap: balance;
}

.content-hero .kicker,
.legal-hero .kicker {
  max-width: 760px;
  margin-bottom: 0;
}

.content-meta,
.legal-updated {
  margin-bottom: 18px;
  color: var(--ink-muted);
  font-size: 0.84rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.content-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 250px;
  gap: clamp(44px, 8vw, 94px);
  padding: 70px 0 100px;
}

.content-main,
.legal-shell {
  color: var(--ink-soft);
}

.content-main > :first-child,
.legal-shell > :first-child {
  margin-top: 0;
}

.content-main h2,
.legal-shell h2 {
  margin: 56px 0 18px;
  color: var(--ink);
  font-size: clamp(1.6rem, 3vw, 2.3rem);
  letter-spacing: -0.025em;
}

.content-main h3,
.legal-shell h3 {
  margin: 32px 0 12px;
  color: var(--ink);
}

.content-main p,
.content-main li,
.legal-shell p,
.legal-shell li {
  font-size: 1.03rem;
  line-height: 1.75;
}

.content-main p,
.legal-shell p {
  margin-bottom: 22px;
}

.content-main ul,
.content-main ol,
.legal-shell ul,
.legal-shell ol {
  display: grid;
  gap: 12px;
  padding-left: 1.3rem;
}

.content-main a:not(.button):not(.primary-action):not(.secondary-action),
.legal-shell a:not(.button):not(.primary-action):not(.secondary-action) {
  color: var(--cyan);
  text-decoration: underline;
  text-decoration-color: rgba(130, 220, 229, 0.45);
  text-underline-offset: 3px;
}

.content-aside {
  align-self: start;
  position: sticky;
  top: 112px;
}

.aside-card {
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  padding: 24px;
  background: rgba(14, 27, 42, 0.72);
}

.aside-card h2 {
  margin: 0 0 16px;
  font-size: 1rem;
  letter-spacing: -0.02em;
}

.aside-card nav {
  display: grid;
  gap: 4px;
}

.aside-card a {
  border-radius: 9px;
  padding: 8px 10px;
  color: var(--ink-soft);
  font-size: 0.88rem;
  font-weight: 650;
}

.aside-card a:hover,
.aside-card a:focus-visible {
  color: var(--ink);
  background: var(--cyan-soft);
}

.content-card-grid,
.related-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin: 28px 0 34px;
}

.content-card {
  min-height: 210px;
  padding: 26px;
}

.content-card .feature-icon {
  margin-bottom: 24px;
}

.content-card h3 {
  margin-top: 0;
}

.callout {
  margin: 34px 0;
  border: 1px solid rgba(130, 220, 229, 0.22);
  border-left: 3px solid var(--cyan);
  border-radius: 0 var(--radius-md) var(--radius-md) 0;
  padding: 24px 26px;
  color: var(--ink-soft);
  background: var(--cyan-soft);
}

.callout strong {
  color: var(--ink);
}

.page-cta {
  margin-top: 58px;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  padding: clamp(28px, 5vw, 48px);
  background: linear-gradient(145deg, rgba(18, 37, 57, 0.94), rgba(8, 17, 28, 0.96));
}

.page-cta h2 {
  margin-top: 0;
}

.page-cta p {
  max-width: 620px;
}

.related-section {
  width: var(--page);
  margin: 0 auto 90px;
}

.related-section h2 {
  margin-bottom: 28px;
  font-size: clamp(1.8rem, 4vw, 3rem);
}

.related-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.related-card {
  min-height: 190px;
  padding: 26px;
  transition: transform 180ms var(--ease-out), border-color 180ms ease;
}

.related-card:hover,
.related-card:focus-within {
  border-color: rgba(130, 220, 229, 0.3);
  transform: translateY(-4px);
}

.related-card a::after {
  position: absolute;
  inset: 0;
  content: "";
}

.legal-shell {
  padding: 150px 0 100px;
}

.legal-shell > .brand {
  margin-bottom: 54px;
}

.legal-shell > h1 {
  color: var(--ink);
}

.legal-shell > p:first-of-type {
  font-size: 1.08rem;
}

.legal-shell hr {
  margin: 44px 0;
  border: 0;
  border-top: 1px solid var(--line);
}

.press-shell {
  max-width: 960px;
}

.press-shell .primary-action {
  margin-top: 12px;
  text-decoration: none;
}

.error-shell {
  display: grid;
  min-height: 100svh;
  place-items: center;
  padding: 120px 0 60px;
  text-align: center;
}

.error-code {
  margin-bottom: 10px;
  color: var(--cyan);
  font-size: 0.86rem;
  font-weight: 850;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.error-shell h1 {
  margin-bottom: 18px;
}

.error-shell p {
  max-width: 610px;
  margin-bottom: 30px;
  color: var(--ink-soft);
  font-size: 1.12rem;
}

@media (max-width: 1020px) {
  .site-header {
    grid-template-columns: auto auto;
  }

  .site-nav {
    position: fixed;
    top: 92px;
    left: 16px;
    right: 16px;
    display: none;
    overflow: auto;
    max-height: calc(100svh - 110px);
    border: 1px solid var(--line-strong);
    border-radius: 24px;
    padding: 18px;
    background: rgba(6, 13, 22, 0.98);
    box-shadow: var(--shadow-lg);
  }

  .site-nav[data-open="true"] {
    display: block;
  }

  .nav-links {
    display: grid;
    gap: 4px;
  }

  .nav-links a {
    display: block;
    border-radius: 12px;
    padding: 13px 14px;
    font-size: 1rem;
  }

  .nav-links a:hover,
  .nav-links a:focus-visible {
    background: var(--cyan-soft);
  }

  .header-actions {
    justify-self: end;
  }

  .nav-toggle {
    position: relative;
    display: inline-grid;
  }

  .hero {
    grid-template-columns: minmax(0, 1fr) minmax(330px, 0.7fr);
    gap: 28px;
  }

  .hero h1 {
    font-size: clamp(3rem, 7.8vw, 5.6rem);
  }

  .hero-float-readiness {
    left: -5%;
  }

  .hero-float-mission {
    right: -8%;
  }

  .flow-grid,
  .profile-grid,
  .privacy-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .use-case-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .use-case-card,
  .use-case-card:nth-child(4),
  .use-case-card:nth-child(5) {
    grid-column: auto;
  }

  .use-case-card:last-child {
    grid-column: 1 / -1;
  }

  .showcase-track {
    grid-auto-columns: minmax(220px, 33%);
  }

  .content-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .content-aside {
    position: static;
    order: -1;
  }

  .aside-card nav {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .related-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  :root {
    --page: min(100% - 28px, 1180px);
  }

  html {
    scroll-padding-top: 92px;
  }

  .site-header {
    top: 10px;
    width: calc(100% - 20px);
    min-height: 60px;
    padding: 8px 9px 8px 11px;
  }

  .site-nav {
    top: 80px;
    left: 10px;
    right: 10px;
  }

  .brand img,
  .brand-icon {
    width: 36px;
    height: 36px;
  }

  .header-cta {
    display: none;
  }

  .hero {
    min-height: auto;
    grid-template-columns: 1fr;
    padding: 128px 0 74px;
  }

  .hero-copy {
    text-align: left;
  }

  .hero h1 {
    font-size: clamp(3.1rem, 15vw, 5rem);
  }

  .hero-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .hero-actions .primary-action,
  .hero-actions .secondary-action {
    width: 100%;
  }

  .hero-stage {
    min-height: 580px;
    margin-top: 12px;
  }

  .device-hero {
    width: min(350px, 82vw);
  }

  .hero-float {
    max-width: 185px;
  }

  .hero-float-readiness {
    top: 16%;
    left: 0;
  }

  .hero-float-mission {
    right: 0;
    bottom: 14%;
  }

  .section-heading,
  .faq-layout,
  .final-cta,
  .footer-main {
    grid-template-columns: 1fr;
  }

  .section-heading {
    align-items: start;
    gap: 16px;
  }

  .flow-grid,
  .profile-grid,
  .privacy-grid,
  .use-case-grid,
  .content-card-grid,
  .related-grid {
    grid-template-columns: 1fr;
  }

  .use-case-card:last-child {
    grid-column: auto;
  }

  .flow-card,
  .profile-card,
  .privacy-card,
  .use-case-card {
    min-height: auto;
  }

  .use-case-card .feature-icon {
    margin-bottom: 36px;
  }

  .showcase-header {
    align-items: center;
  }

  .showcase-track {
    width: calc(100% + 14px);
    grid-auto-columns: minmax(226px, 72%);
    margin-right: -14px;
  }

  .profiles-panel,
  .privacy-panel,
  .final-cta {
    border-radius: 28px;
  }

  .mission-feature {
    grid-template-columns: 1fr;
  }

  .mission-device-wrap {
    order: 2;
  }

  .privacy-intro {
    align-items: start;
    flex-direction: column;
  }

  .privacy-intro .secondary-action {
    width: 100%;
  }

  .final-cta {
    min-height: 0;
  }

  .final-visual {
    min-height: 280px;
  }

  .footer-links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .footer-meta {
    flex-direction: column;
  }

  .content-shell,
  .legal-shell,
  .error-shell {
    width: min(100% - 30px, 1040px);
  }

  .content-hero,
  .legal-hero {
    padding-top: 128px;
  }

  .content-layout {
    padding-top: 46px;
  }

  .aside-card nav {
    grid-template-columns: 1fr 1fr;
  }

  .legal-shell {
    padding-top: 118px;
  }

  .legal-shell > .brand {
    margin-bottom: 42px;
  }
}

@media (max-width: 480px) {
  .hero h1 {
    font-size: 3.25rem;
  }

  .trust-marks li {
    font-size: 0.74rem;
  }

  .hero-stage {
    min-height: 520px;
  }

  .hero-float {
    padding: 9px 10px;
  }

  .hero-float .feature-icon {
    display: none;
  }

  .showcase-track {
    grid-auto-columns: 79%;
  }

  .carousel-controls {
    display: none;
  }

  .aside-card nav {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}

@media print {
  .site-header,
  .site-footer,
  .content-aside,
  .primary-action,
  .secondary-action {
    display: none !important;
  }

  body,
  .legal-page,
  .content-page {
    color: #111;
    background: #fff;
  }

  .content-main,
  .legal-shell,
  .content-main h2,
  .legal-shell h2,
  .content-main h3,
  .legal-shell h3,
  a {
    color: #111 !important;
  }
}

/* 2026 cinematic interface and motion refresh */
:root {
  --bg: #03070d;
  --bg-soft: #07101a;
  --surface: #0a1521;
  --surface-raised: #0f1e2e;
  --surface-soft: rgba(12, 25, 39, 0.72);
  --ink: #f8fbff;
  --ink-soft: #c9d5e3;
  --ink-muted: #7f91a7;
  --line: rgba(211, 228, 248, 0.11);
  --line-strong: rgba(211, 228, 248, 0.22);
  --blue: #78a8ff;
  --blue-strong: #3f73f1;
  --electric: #6f8dff;
  --violet: #9a7cff;
  --cyan: #7de2e6;
  --cyan-soft: rgba(125, 226, 230, 0.11);
  --coral: #ff725f;
  --green: #71e6b1;
  --amber: #f4c276;
  --shadow-lg: 0 48px 140px rgba(0, 0, 0, 0.58);
  --shadow-md: 0 24px 72px rgba(0, 0, 0, 0.34);
  --radius-sm: 14px;
  --radius-md: 24px;
  --radius-lg: 34px;
  --radius-xl: 48px;
  --page: min(1240px, calc(100% - 48px));
  --display: "SF Pro Display", "Avenir Next", Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --sans: "SF Pro Text", Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --ease-spring: cubic-bezier(0.2, 0.85, 0.24, 1.08);
}

body {
  background:
    radial-gradient(circle at 74% -12%, rgba(78, 112, 255, 0.18), transparent 31rem),
    radial-gradient(circle at 5% 35%, rgba(125, 226, 230, 0.07), transparent 29rem),
    linear-gradient(180deg, #03070d 0%, #040912 46%, #02060b 100%);
}

body::before {
  position: fixed;
  z-index: -1;
  inset: 0;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.022) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.022) 1px, transparent 1px);
  background-size: 64px 64px;
  mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.7), transparent 75%);
  content: "";
  pointer-events: none;
}

h1,
h2,
h3,
h4 {
  letter-spacing: -0.045em;
}

h2 {
  font-size: clamp(2.5rem, 5.8vw, 5.4rem);
}

.eyebrow {
  gap: 11px;
  color: #93edf0;
  font-size: 0.72rem;
  letter-spacing: 0.18em;
}

.eyebrow::before {
  width: 28px;
  background: linear-gradient(90deg, currentColor, transparent);
}

.scroll-progress {
  position: fixed;
  z-index: 500;
  top: 0;
  left: 0;
  width: 100%;
  height: 2px;
  pointer-events: none;
}

.scroll-progress::after {
  display: block;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, var(--cyan), var(--blue), var(--violet), var(--coral));
  box-shadow: 0 0 16px rgba(125, 226, 230, 0.72);
  content: "";
  transform: scaleX(0);
  transform-origin: left;
  animation: page-progress linear both;
  animation-timeline: scroll(root block);
}

@keyframes page-progress {
  to { transform: scaleX(1); }
}

/* Progressive reveal motion: content stays visible when JavaScript is unavailable. */
.motion-ready [data-reveal],
.motion-ready [data-stagger] > * {
  opacity: 0;
  translate: 0 34px;
  scale: 0.985;
  transition:
    opacity 720ms var(--ease-out),
    translate 840ms var(--ease-out),
    scale 840ms var(--ease-out);
}

.motion-ready [data-reveal="left"] {
  translate: -54px 0;
}

.motion-ready [data-reveal="right"] {
  translate: 54px 0;
}

.motion-ready [data-reveal="scale"] {
  translate: 0 18px;
  scale: 0.91;
}

.motion-ready [data-reveal].is-visible,
.motion-ready [data-stagger].is-visible > * {
  opacity: 1;
  translate: 0 0;
  scale: 1;
}

.motion-ready [data-stagger].is-visible > :nth-child(2) { transition-delay: 80ms; }
.motion-ready [data-stagger].is-visible > :nth-child(3) { transition-delay: 160ms; }
.motion-ready [data-stagger].is-visible > :nth-child(4) { transition-delay: 240ms; }
.motion-ready [data-stagger].is-visible > :nth-child(5) { transition-delay: 320ms; }
.motion-ready [data-stagger].is-visible > :nth-child(6) { transition-delay: 400ms; }

/* Navigation */
.site-header {
  top: 18px;
  width: min(1180px, calc(100% - 36px));
  min-height: 68px;
  padding: 9px 10px 9px 15px;
  border-color: rgba(220, 234, 250, 0.12);
  background: rgba(3, 9, 16, 0.64);
  box-shadow:
    0 20px 70px rgba(0, 0, 0, 0.25),
    inset 0 1px 0 rgba(255, 255, 255, 0.035);
  backdrop-filter: blur(24px) saturate(145%);
  transition:
    width 320ms var(--ease-out),
    top 320ms var(--ease-out),
    border-color 220ms ease,
    background 220ms ease,
    box-shadow 220ms ease;
}

.site-header.is-scrolled {
  top: 10px;
  width: min(1100px, calc(100% - 28px));
  border-color: rgba(220, 234, 250, 0.2);
  background: rgba(3, 9, 16, 0.91);
  box-shadow:
    0 18px 64px rgba(0, 0, 0, 0.43),
    inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

.brand {
  gap: 11px;
  font-size: 1.08rem;
  letter-spacing: -0.04em;
}

.brand img,
.brand-icon {
  border-radius: 11px;
  box-shadow:
    0 10px 28px rgba(255, 114, 95, 0.18),
    0 0 0 1px rgba(255, 255, 255, 0.18),
    inset 0 0 22px rgba(255, 255, 255, 0.08);
}

.nav-links {
  gap: 3px;
}

.nav-links a {
  position: relative;
  border-radius: 999px;
  padding: 10px 14px;
  color: #9dafc2;
  font-size: 0.83rem;
  font-weight: 720;
  transition: color 180ms ease, background 180ms ease;
}

.nav-links a:hover,
.nav-links a:focus-visible,
.nav-links a.is-active {
  color: var(--ink);
  background: rgba(255, 255, 255, 0.055);
}

.nav-links a.is-active::after {
  position: absolute;
  right: 11px;
  bottom: 5px;
  left: 11px;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--cyan), transparent);
  content: "";
}

.header-cta {
  position: relative;
  overflow: hidden;
  min-height: 46px;
  gap: 10px;
  padding-inline: 20px 16px;
  background: linear-gradient(135deg, #6d9cff 0%, #496ff0 52%, #805ff0 100%);
  box-shadow:
    0 14px 36px rgba(72, 107, 238, 0.32),
    inset 0 1px 0 rgba(255, 255, 255, 0.25);
}

.header-cta::before,
.primary-action::before {
  position: absolute;
  inset: 0;
  background: linear-gradient(110deg, transparent 30%, rgba(255, 255, 255, 0.22) 50%, transparent 70%);
  content: "";
  translate: -130% 0;
  transition: translate 650ms var(--ease-out);
}

.header-cta:hover::before,
.header-cta:focus-visible::before,
.primary-action:hover::before,
.primary-action:focus-visible::before {
  translate: 130% 0;
}

.header-cta span,
.header-cta svg,
.primary-action > span {
  position: relative;
  z-index: 1;
}

.header-cta svg,
.secondary-action svg,
.carousel-button svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.primary-action,
.secondary-action {
  position: relative;
  overflow: hidden;
  min-height: 56px;
  padding-inline: 24px;
}

.primary-action {
  justify-content: space-between;
  min-width: 245px;
  background: linear-gradient(135deg, #6d9cff 0%, #476fe9 48%, #765de9 100%);
  box-shadow:
    0 18px 46px rgba(67, 107, 232, 0.32),
    inset 0 1px 0 rgba(255, 255, 255, 0.24);
}

.action-icon {
  display: inline-grid;
  width: 31px;
  height: 31px;
  place-items: center;
  border-radius: 50%;
  color: #15233c;
  background: rgba(255, 255, 255, 0.9);
  font-size: 1rem;
}

.secondary-action {
  border-color: rgba(213, 229, 247, 0.16);
  background: rgba(255, 255, 255, 0.035);
  backdrop-filter: blur(12px);
}

/* Homepage hero */
.home-page .hero {
  isolation: isolate;
  min-height: max(820px, 100svh);
  grid-template-columns: minmax(0, 1.02fr) minmax(430px, 0.88fr);
  gap: clamp(34px, 5.5vw, 82px);
  padding: 158px 0 94px;
}

.home-page .hero::before {
  display: none;
}

.hero-atmosphere {
  position: absolute;
  z-index: -2;
  inset: 0 calc((100vw - 100%) / -2);
  overflow: hidden;
  pointer-events: none;
}

.hero-grid {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.025) 1px, transparent 1px);
  background-size: 76px 76px;
  mask-image: radial-gradient(ellipse at 65% 42%, #000 0%, transparent 68%);
  transform: perspective(700px) rotateX(62deg) translateY(18%);
  transform-origin: center bottom;
  opacity: 0.75;
}

.hero-orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(16px);
  opacity: 0.5;
}

.hero-orb-one {
  top: 4%;
  right: 3%;
  width: min(48vw, 720px);
  aspect-ratio: 1;
  background: radial-gradient(circle at 42% 40%, rgba(78, 113, 255, 0.34), rgba(98, 76, 207, 0.13) 42%, transparent 70%);
  animation: orb-drift 12s ease-in-out infinite alternate;
}

.hero-orb-two {
  bottom: 3%;
  left: -14%;
  width: min(42vw, 620px);
  aspect-ratio: 1;
  background: radial-gradient(circle, rgba(125, 226, 230, 0.15), transparent 68%);
  animation: orb-drift-reverse 15s ease-in-out infinite alternate;
}

@keyframes orb-drift {
  to { translate: -4% 6%; scale: 1.08; }
}

@keyframes orb-drift-reverse {
  to { translate: 8% -5%; scale: 0.94; }
}

.home-page .hero-copy {
  z-index: 4;
  padding-top: 18px;
}

.home-page .hero h1 {
  max-width: 770px;
  margin-bottom: 28px;
  font-size: clamp(4rem, 7.15vw, 7.2rem);
  letter-spacing: -0.068em;
  line-height: 0.92;
}

.gradient-text {
  display: block;
  margin-top: 0.12em;
  padding-bottom: 0.08em;
  color: transparent;
  background: linear-gradient(110deg, #f8fbff 0%, #a9c7ff 28%, #8fe7ea 58%, #b291ff 82%, #ff9b8b 100%);
  background-clip: text;
  -webkit-background-clip: text;
}

.home-page .hero .lead {
  max-width: 680px;
  margin-bottom: 34px;
  color: #b8c7d7;
  font-size: clamp(1.08rem, 1.65vw, 1.3rem);
  line-height: 1.66;
}

.home-page .hero-actions {
  gap: 11px;
  margin-bottom: 32px;
}

.hero-facts {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 28px;
}

.hero-fact {
  display: flex;
  align-items: center;
  gap: 11px;
  min-width: 190px;
}

.hero-fact > svg {
  width: 29px;
  height: 29px;
  padding: 6px;
  border: 1px solid rgba(125, 226, 230, 0.18);
  border-radius: 9px;
  fill: none;
  stroke: var(--cyan);
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
  background: rgba(125, 226, 230, 0.07);
}

.hero-fact strong,
.hero-fact small {
  display: block;
}

.hero-fact strong {
  color: #eaf2fb;
  font-size: 0.83rem;
  line-height: 1.35;
}

.hero-fact small {
  margin-top: 2px;
  color: var(--ink-muted);
  font-size: 0.72rem;
  line-height: 1.35;
}

.fact-dot {
  position: relative;
  display: inline-grid;
  width: 29px;
  height: 29px;
  place-items: center;
  border: 1px solid rgba(113, 230, 177, 0.18);
  border-radius: 9px;
  background: rgba(113, 230, 177, 0.07);
}

.fact-dot::before,
.fact-dot::after {
  position: absolute;
  border-radius: 50%;
  content: "";
}

.fact-dot::before {
  width: 8px;
  height: 8px;
  background: var(--green);
  box-shadow: 0 0 12px rgba(113, 230, 177, 0.7);
}

.fact-dot::after {
  width: 16px;
  height: 16px;
  border: 1px solid rgba(113, 230, 177, 0.45);
  animation: status-ring 2.2s ease-out infinite;
}

@keyframes status-ring {
  from { opacity: 0.8; scale: 0.5; }
  to { opacity: 0; scale: 1.45; }
}

.home-page .hero-stage {
  min-height: 690px;
  transform-style: preserve-3d;
}

.home-page .hero-stage::before,
.home-page .hero-stage::after {
  display: none;
}

.stage-halo {
  position: absolute;
  width: min(590px, 104%);
  aspect-ratio: 1;
  border-radius: 50%;
  background:
    radial-gradient(circle, rgba(77, 116, 255, 0.25) 0%, rgba(93, 77, 206, 0.1) 38%, transparent 69%);
  filter: blur(2px);
}

.stage-ring {
  position: absolute;
  border: 1px solid rgba(159, 190, 255, 0.14);
  border-radius: 50%;
}

.stage-ring-one {
  width: 540px;
  height: 540px;
  animation: stage-spin 34s linear infinite;
}

.stage-ring-one::before,
.stage-ring-two::before {
  position: absolute;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--cyan);
  box-shadow: 0 0 18px rgba(125, 226, 230, 0.8);
  content: "";
}

.stage-ring-one::before {
  top: 51px;
  left: 86px;
}

.stage-ring-two {
  width: 418px;
  height: 418px;
  border-style: dashed;
  border-color: rgba(154, 124, 255, 0.17);
  animation: stage-spin-reverse 28s linear infinite;
}

.stage-ring-two::before {
  right: 15px;
  bottom: 96px;
  background: var(--violet);
  box-shadow: 0 0 18px rgba(154, 124, 255, 0.8);
}

@keyframes stage-spin { to { rotate: 360deg; } }
@keyframes stage-spin-reverse { to { rotate: -360deg; } }

.home-page .device {
  border-color: rgba(225, 237, 252, 0.2);
  background: linear-gradient(145deg, #17212d, #030508 28%, #05070b 74%, #1a2632);
  box-shadow:
    0 55px 140px rgba(0, 0, 0, 0.64),
    0 0 0 1px rgba(255, 255, 255, 0.035),
    -24px 12px 70px rgba(68, 101, 221, 0.12);
}

.home-page .device::after {
  position: absolute;
  z-index: 2;
  inset: 7px;
  border-radius: inherit;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.045);
  content: "";
  pointer-events: none;
}

.home-page .device-hero {
  z-index: 2;
  width: min(388px, 78vw);
  transform: rotate(2.7deg) translateZ(30px);
}

.device-button {
  position: absolute;
  left: -4px;
  width: 3px;
  border-radius: 3px 0 0 3px;
  background: linear-gradient(#263442, #0a0e14);
}

.device-button-one {
  top: 126px;
  height: 54px;
}

.device-button-two {
  top: 197px;
  height: 78px;
}

.hero-signal {
  position: absolute;
  z-index: 4;
  display: flex;
  align-items: center;
  gap: 11px;
  min-width: 202px;
  border: 1px solid rgba(221, 235, 252, 0.17);
  border-radius: 18px;
  padding: 11px 13px;
  background:
    linear-gradient(135deg, rgba(21, 36, 53, 0.88), rgba(6, 13, 22, 0.82));
  box-shadow:
    0 22px 60px rgba(0, 0, 0, 0.38),
    inset 0 1px 0 rgba(255, 255, 255, 0.06);
  backdrop-filter: blur(20px) saturate(140%);
}

.hero-signal small,
.hero-signal strong {
  display: block;
}

.hero-signal small {
  margin-bottom: 2px;
  color: var(--ink-muted);
  font-size: 0.66rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.hero-signal strong {
  font-size: 0.82rem;
  line-height: 1.25;
}

.signal-icon {
  display: inline-grid;
  width: 38px;
  height: 38px;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 12px;
}

.signal-icon svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.signal-icon-green {
  color: var(--green);
  background: rgba(113, 230, 177, 0.1);
}

.signal-icon-blue {
  color: #90adff;
  background: rgba(111, 141, 255, 0.12);
}

.hero-signal-readiness {
  top: 14%;
  left: -12%;
  animation: signal-float-one 5.8s ease-in-out infinite alternate;
}

.hero-signal-mission {
  right: -14%;
  bottom: 22%;
  animation: signal-float-two 6.6s ease-in-out infinite alternate;
}

.hero-signal-report {
  right: -6%;
  top: 29%;
  min-width: 178px;
  animation: signal-float-one 7.4s ease-in-out -2s infinite alternate;
}

@keyframes signal-float-one {
  to { translate: 0 -12px; rotate: -1deg; }
}

@keyframes signal-float-two {
  to { translate: 0 13px; rotate: 1deg; }
}

.signal-wave {
  display: flex;
  width: 38px;
  height: 38px;
  align-items: center;
  justify-content: center;
  gap: 3px;
  border-radius: 12px;
  background: rgba(154, 124, 255, 0.12);
}

.signal-wave i {
  width: 3px;
  border-radius: 99px;
  background: #ad94ff;
  animation: wave-pulse 1.3s ease-in-out infinite alternate;
}

.signal-wave i:nth-child(1) { height: 9px; }
.signal-wave i:nth-child(2) { height: 18px; animation-delay: 160ms; }
.signal-wave i:nth-child(3) { height: 13px; animation-delay: 320ms; }
.signal-wave i:nth-child(4) { height: 7px; animation-delay: 480ms; }

@keyframes wave-pulse {
  to { height: 22px; opacity: 0.6; }
}

.stage-status {
  position: absolute;
  z-index: 4;
  bottom: 5.5%;
  display: flex;
  min-height: 40px;
  align-items: center;
  gap: 10px;
  border: 1px solid rgba(220, 235, 252, 0.13);
  border-radius: 999px;
  padding: 7px 14px;
  color: #aab9c9;
  background: rgba(4, 10, 17, 0.76);
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.28);
  backdrop-filter: blur(18px);
  font-size: 0.68rem;
  font-weight: 750;
}

.status-pulse {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--green);
  box-shadow: 0 0 12px rgba(113, 230, 177, 0.65);
}

.status-separator {
  width: 1px;
  height: 14px;
  background: var(--line-strong);
}

.scroll-cue {
  position: absolute;
  bottom: 30px;
  left: 0;
  display: flex;
  align-items: center;
  gap: 12px;
  color: var(--ink-muted);
  font-size: 0.7rem;
  font-weight: 760;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.scroll-cue i {
  position: relative;
  display: inline-block;
  width: 40px;
  height: 1px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.15);
}

.scroll-cue i::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent, var(--cyan));
  content: "";
  animation: scroll-cue 1.8s ease-in-out infinite;
  translate: -100% 0;
}

@keyframes scroll-cue {
  65%, 100% { translate: 120% 0; }
}

.capability-rail {
  position: relative;
  overflow: hidden;
  border-block: 1px solid rgba(217, 232, 249, 0.09);
  background: rgba(255, 255, 255, 0.018);
}

.capability-rail::before,
.capability-rail::after {
  position: absolute;
  z-index: 2;
  top: 0;
  bottom: 0;
  width: min(12vw, 160px);
  content: "";
  pointer-events: none;
}

.capability-rail::before {
  left: 0;
  background: linear-gradient(90deg, var(--bg), transparent);
}

.capability-rail::after {
  right: 0;
  background: linear-gradient(-90deg, var(--bg), transparent);
}

.capability-track {
  display: flex;
  width: max-content;
  min-height: 76px;
  align-items: center;
  gap: 28px;
  padding-inline: 28px;
  color: #b8c7d8;
  font-family: var(--display);
  font-size: clamp(0.86rem, 1.15vw, 1.02rem);
  font-weight: 720;
  letter-spacing: -0.015em;
  animation: capability-marquee 28s linear infinite;
}

.capability-track i {
  width: 5px;
  height: 5px;
  flex: 0 0 auto;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--cyan), var(--violet));
  box-shadow: 0 0 12px rgba(125, 226, 230, 0.4);
}

@keyframes capability-marquee {
  to { translate: -50% 0; }
}

/* Wake-system story */
.home-page .section,
.home-page .showcase,
.home-page .mission-feature,
.home-page .final-cta {
  width: var(--page);
}

.home-page .section {
  padding: clamp(105px, 13vw, 178px) 0;
}

.home-page .section-heading {
  grid-template-columns: minmax(0, 1fr) minmax(280px, 0.48fr);
  gap: clamp(36px, 7vw, 96px);
  margin-bottom: clamp(50px, 7vw, 88px);
}

.home-page .section-heading h2 {
  max-width: 880px;
  text-wrap: balance;
}

.home-page .section-heading > p,
.home-page .section-heading div + p {
  max-width: 510px;
  color: #aebdcd;
  font-size: clamp(1rem, 1.45vw, 1.15rem);
  line-height: 1.72;
}

.section-heading-centered {
  grid-template-columns: minmax(0, 1fr) minmax(280px, 0.46fr);
}

.wake-system {
  position: relative;
}

.wake-system::before {
  position: absolute;
  z-index: -1;
  top: 16%;
  left: -24%;
  width: 570px;
  height: 570px;
  border-radius: 50%;
  background: rgba(66, 103, 235, 0.08);
  filter: blur(100px);
  content: "";
  pointer-events: none;
}

.system-story {
  display: grid;
  grid-template-columns: minmax(350px, 0.83fr) minmax(0, 1.17fr);
  align-items: start;
  gap: clamp(46px, 8vw, 116px);
}

.system-visual {
  position: sticky;
  top: 128px;
}

.system-visual::before {
  position: absolute;
  z-index: -1;
  inset: 8% -8% -8%;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(96, 119, 255, 0.17), transparent 66%);
  filter: blur(18px);
  content: "";
}

.system-visual-shell {
  position: relative;
  overflow: hidden;
  min-height: 580px;
  border: 1px solid rgba(218, 233, 250, 0.15);
  border-radius: 38px;
  padding: clamp(28px, 4vw, 42px);
  background:
    radial-gradient(circle at 95% 0%, rgba(111, 141, 255, 0.17), transparent 22rem),
    linear-gradient(155deg, rgba(17, 34, 52, 0.92), rgba(5, 12, 20, 0.97));
  box-shadow:
    0 38px 100px rgba(0, 0, 0, 0.34),
    inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

.system-visual-shell::after {
  position: absolute;
  right: -26%;
  bottom: -24%;
  width: 360px;
  height: 360px;
  border: 1px solid rgba(125, 226, 230, 0.09);
  border-radius: 50%;
  box-shadow:
    0 0 0 46px rgba(125, 226, 230, 0.018),
    0 0 0 92px rgba(125, 226, 230, 0.012);
  content: "";
}

.system-visual-topline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: var(--ink-muted);
  font-size: 0.74rem;
  font-weight: 760;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.system-ready {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  border: 1px solid rgba(113, 230, 177, 0.17);
  border-radius: 999px;
  padding: 6px 9px;
  color: var(--green);
  background: rgba(113, 230, 177, 0.06);
  font-size: 0.66rem;
}

.system-ready i {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: currentColor;
  box-shadow: 0 0 10px currentColor;
}

.system-time {
  margin-top: 46px;
  color: #f6f9ff;
  font-family: var(--display);
  font-size: clamp(5.2rem, 9.2vw, 8rem);
  font-weight: 740;
  letter-spacing: -0.09em;
  line-height: 0.88;
  text-shadow: 0 0 50px rgba(125, 170, 255, 0.16);
}

.system-time + p {
  margin: 15px 0 42px;
  color: #9eb0c3;
  font-size: 0.88rem;
  font-weight: 700;
}

.system-route {
  display: grid;
  grid-template-columns: auto 1fr auto 1fr auto;
  align-items: start;
  margin-bottom: 34px;
}

.route-node {
  display: grid;
  place-items: center;
  gap: 8px;
  color: #718399;
  font-size: 0.63rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.route-node i {
  display: grid;
  width: 20px;
  height: 20px;
  place-items: center;
  border: 1px solid rgba(213, 230, 249, 0.2);
  border-radius: 50%;
  background: #0a1420;
}

.route-node i::after {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #56697d;
  content: "";
}

.route-node.is-active {
  color: #b9cbdd;
}

.route-node.is-active i {
  border-color: rgba(125, 226, 230, 0.42);
  box-shadow: 0 0 20px rgba(125, 226, 230, 0.12);
}

.route-node.is-active i::after {
  background: var(--cyan);
  box-shadow: 0 0 10px rgba(125, 226, 230, 0.68);
}

.route-line {
  height: 1px;
  margin-top: 10px;
  background: linear-gradient(90deg, rgba(125, 226, 230, 0.35), rgba(213, 230, 249, 0.1));
}

.system-mini-card {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 12px;
  margin-top: 10px;
  border: 1px solid rgba(215, 231, 250, 0.11);
  border-radius: 18px;
  padding: 12px 13px;
  background: rgba(255, 255, 255, 0.025);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.025);
}

.system-mini-card .feature-icon {
  width: 38px;
  height: 38px;
  border-radius: 12px;
}

.system-mini-card small,
.system-mini-card strong {
  display: block;
}

.system-mini-card small {
  margin-bottom: 2px;
  color: var(--ink-muted);
  font-size: 0.67rem;
}

.system-mini-card strong {
  font-size: 0.8rem;
}

.mini-check {
  display: inline-grid;
  width: 24px;
  height: 24px;
  place-items: center;
  border-radius: 50%;
  color: var(--green);
  background: rgba(113, 230, 177, 0.09);
  font-size: 0.72rem;
  font-weight: 900;
}

.system-steps {
  border-top: 1px solid var(--line);
}

.system-step {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  gap: 24px;
  min-height: 265px;
  align-items: start;
  padding: 44px 0;
  border-bottom: 1px solid var(--line);
}

.system-step-number {
  display: inline-grid;
  width: 46px;
  height: 46px;
  place-items: center;
  border: 1px solid rgba(125, 226, 230, 0.19);
  border-radius: 15px;
  color: var(--cyan);
  background: rgba(125, 226, 230, 0.055);
  font-family: var(--display);
  font-size: 0.72rem;
  font-weight: 820;
}

.system-step-label {
  margin-bottom: 10px;
  color: #8194aa;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.system-step h3 {
  max-width: 590px;
  margin-bottom: 15px;
  font-size: clamp(1.85rem, 3.2vw, 3rem);
}

.system-step h3 + p {
  max-width: 630px;
  margin-bottom: 19px;
  color: #aebdcd;
  font-size: 1.02rem;
  line-height: 1.72;
}

.system-step .text-link {
  font-size: 0.86rem;
}

/* Bento experience grid */
.experience-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  grid-auto-flow: dense;
  gap: 16px;
}

.experience-card {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: 300px;
  grid-column: span 5;
  border: 1px solid rgba(215, 231, 249, 0.12);
  border-radius: 30px;
  padding: clamp(26px, 3vw, 36px);
  background: linear-gradient(150deg, rgba(16, 31, 48, 0.91), rgba(5, 12, 20, 0.96));
  box-shadow:
    0 24px 70px rgba(0, 0, 0, 0.2),
    inset 0 1px 0 rgba(255, 255, 255, 0.035);
  transition:
    transform 420ms var(--ease-out),
    border-color 300ms ease,
    box-shadow 420ms var(--ease-out);
}

.experience-card::before {
  position: absolute;
  z-index: -1;
  inset: 0;
  background: radial-gradient(circle at 85% 12%, rgba(115, 142, 255, 0.12), transparent 45%);
  content: "";
  opacity: 0.8;
  transition: opacity 300ms ease, scale 600ms var(--ease-out);
  transform-origin: right top;
}

.experience-card:hover,
.experience-card:focus-within {
  border-color: rgba(148, 181, 255, 0.27);
  box-shadow:
    0 34px 90px rgba(0, 0, 0, 0.32),
    0 0 0 1px rgba(125, 226, 230, 0.035) inset;
  transform: translateY(-8px);
}

.experience-card:hover::before,
.experience-card:focus-within::before {
  opacity: 1;
  scale: 1.14;
}

.experience-card-large {
  min-height: 616px;
  grid-column: span 7;
  grid-row: span 2;
}

.experience-card-wide {
  min-height: 340px;
  grid-column: span 6;
}

.experience-content {
  position: relative;
  z-index: 4;
  max-width: 540px;
}

.experience-index {
  display: inline-block;
  margin-bottom: 28px;
  color: #8093aa;
  font-size: 0.67rem;
  font-weight: 820;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.experience-card h3 {
  max-width: 530px;
  margin-bottom: 14px;
  font-size: clamp(1.7rem, 2.8vw, 2.75rem);
  line-height: 1.05;
}

.experience-card h3 a::after {
  position: absolute;
  z-index: 10;
  inset: 0;
  content: "";
}

.experience-card p {
  max-width: 510px;
  margin-bottom: 20px;
  color: #a9b9c9;
  font-size: 0.95rem;
  line-height: 1.68;
}

.experience-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #bcd1e6;
  font-size: 0.78rem;
  font-weight: 760;
}

.experience-link b {
  color: var(--cyan);
  font-size: 0.95rem;
  transition: translate 220ms var(--ease-out);
}

.experience-card:hover .experience-link b,
.experience-card:focus-within .experience-link b {
  translate: 4px -4px;
}

.experience-card-sleep {
  background:
    radial-gradient(circle at 78% 72%, rgba(104, 91, 232, 0.22), transparent 35%),
    linear-gradient(150deg, rgba(20, 31, 57, 0.96), rgba(5, 10, 21, 0.98));
}

.sleep-visual {
  position: absolute;
  right: -3%;
  bottom: -4%;
  width: 74%;
  aspect-ratio: 1;
}

.sleep-moon {
  position: absolute;
  right: 16%;
  bottom: 10%;
  width: 47%;
  aspect-ratio: 1;
  border-radius: 50%;
  background:
    radial-gradient(circle at 35% 30%, #f8fbff, #aecaff 40%, #6f78d9 72%, #3d3c88);
  box-shadow:
    0 0 80px rgba(125, 160, 255, 0.25),
    inset -24px -20px 50px rgba(52, 43, 120, 0.4);
}

.sleep-moon::before,
.sleep-moon::after {
  position: absolute;
  border-radius: 50%;
  background: rgba(75, 69, 151, 0.2);
  content: "";
}

.sleep-moon::before {
  top: 24%;
  left: 17%;
  width: 18%;
  height: 18%;
}

.sleep-moon::after {
  right: 20%;
  bottom: 26%;
  width: 27%;
  height: 27%;
}

.sleep-arc {
  position: absolute;
  border: 1px solid rgba(174, 202, 255, 0.18);
  border-radius: 50%;
}

.sleep-arc-one {
  right: 3%;
  bottom: -2%;
  width: 74%;
  height: 74%;
}

.sleep-arc-two {
  right: -9%;
  bottom: -14%;
  width: 98%;
  height: 98%;
  border-style: dashed;
}

.sleep-card {
  position: absolute;
  z-index: 2;
  bottom: 13%;
  left: 0;
  min-width: 196px;
  border: 1px solid rgba(220, 233, 250, 0.14);
  border-radius: 18px;
  padding: 15px 17px;
  background: rgba(7, 13, 29, 0.74);
  box-shadow: 0 22px 54px rgba(0, 0, 0, 0.34);
  backdrop-filter: blur(18px);
}

.sleep-card small,
.sleep-card strong,
.sleep-card span {
  display: block;
}

.sleep-card small {
  color: #889ab1;
  font-size: 0.65rem;
  text-transform: uppercase;
}

.sleep-card strong {
  margin: 4px 0 9px;
  font-size: 1.05rem;
}

.sleep-card span {
  color: #aabbd0;
  font-size: 0.7rem;
}

.sleep-card i {
  display: inline-block;
  width: 6px;
  height: 6px;
  margin-right: 6px;
  border-radius: 50%;
  background: var(--green);
  box-shadow: 0 0 9px rgba(113, 230, 177, 0.6);
}

.experience-card-readiness {
  background:
    radial-gradient(circle at 82% 85%, rgba(84, 213, 158, 0.13), transparent 42%),
    linear-gradient(155deg, rgba(14, 34, 38, 0.94), rgba(5, 13, 20, 0.98));
}

.readiness-visual {
  position: absolute;
  right: 30px;
  bottom: 28px;
  left: 30px;
  display: flex;
  align-items: center;
  gap: 15px;
  border: 1px solid rgba(113, 230, 177, 0.14);
  border-radius: 18px;
  padding: 13px 15px;
  background: rgba(113, 230, 177, 0.045);
}

.readiness-ring {
  display: inline-grid;
  width: 44px;
  height: 44px;
  flex: 0 0 auto;
  place-items: center;
  border: 1px solid rgba(113, 230, 177, 0.36);
  border-radius: 50%;
  box-shadow: 0 0 22px rgba(113, 230, 177, 0.12);
}

.readiness-ring i {
  display: grid;
  width: 29px;
  height: 29px;
  place-items: center;
  border-radius: 50%;
  color: #082018;
  background: var(--green);
  font-size: 0.75rem;
  font-style: normal;
  font-weight: 900;
}

.readiness-visual strong,
.readiness-visual small {
  display: block;
}

.readiness-visual strong {
  color: #dff8ed;
  font-size: 0.88rem;
}

.readiness-visual small {
  margin-top: 2px;
  color: #78978c;
  font-size: 0.68rem;
}

.experience-card-math {
  background:
    radial-gradient(circle at 92% 96%, rgba(255, 178, 91, 0.13), transparent 44%),
    linear-gradient(155deg, rgba(39, 28, 25, 0.93), rgba(11, 12, 18, 0.98));
}

.math-visual {
  position: absolute;
  right: 28px;
  bottom: 26px;
  left: 28px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.math-visual span,
.math-visual strong {
  display: grid;
  width: 58px;
  height: 58px;
  place-items: center;
  border: 1px solid rgba(245, 194, 118, 0.16);
  border-radius: 17px;
  background: rgba(245, 194, 118, 0.055);
  font-family: var(--display);
  font-size: 1.12rem;
}

.math-visual strong {
  color: var(--amber);
  border-color: rgba(245, 194, 118, 0.34);
  box-shadow: 0 0 26px rgba(245, 194, 118, 0.08);
}

.math-visual i {
  color: #8a7e78;
  font-style: normal;
  font-weight: 800;
}

.experience-card-missions {
  background:
    radial-gradient(circle at 76% 60%, rgba(125, 226, 230, 0.12), transparent 42%),
    linear-gradient(150deg, rgba(13, 35, 44, 0.94), rgba(5, 13, 21, 0.98));
}

.mission-cloud {
  position: absolute;
  right: 4%;
  bottom: 7%;
  width: 45%;
  height: 72%;
}

.mission-chip {
  position: absolute;
  display: inline-flex;
  min-height: 40px;
  align-items: center;
  border: 1px solid rgba(125, 226, 230, 0.17);
  border-radius: 999px;
  padding: 8px 14px;
  color: #c5e7e8;
  background: rgba(125, 226, 230, 0.055);
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.18);
  font-size: 0.73rem;
  font-weight: 790;
}

.chip-math { top: 8%; left: 23%; rotate: -5deg; }
.chip-walk { top: 39%; right: 4%; rotate: 4deg; }
.chip-scan { bottom: 3%; left: 25%; rotate: -2deg; }
.chip-type { top: 47%; left: -2%; rotate: 3deg; }
.chip-shake { top: 10%; right: -1%; rotate: 5deg; }

.experience-card-plan {
  background:
    radial-gradient(circle at 85% 80%, rgba(141, 113, 255, 0.16), transparent 42%),
    linear-gradient(150deg, rgba(29, 24, 50, 0.94), rgba(8, 11, 22, 0.98));
}

.plan-visual {
  position: absolute;
  right: 6%;
  bottom: 12%;
  width: 43%;
  height: 54%;
}

.plan-line {
  position: absolute;
  top: 45%;
  right: 15%;
  left: 15%;
  height: 1px;
  background: linear-gradient(90deg, rgba(154, 124, 255, 0.25), #a98fff, rgba(154, 124, 255, 0.25));
}

.plan-point {
  position: absolute;
  top: 24%;
  display: grid;
  gap: 3px;
}

.plan-point-night { left: 0; }
.plan-point-morning { right: 0; text-align: right; }

.plan-point i {
  position: absolute;
  top: 28px;
  width: 14px;
  height: 14px;
  border: 3px solid #18122b;
  border-radius: 50%;
  background: #a88fff;
  box-shadow: 0 0 18px rgba(168, 143, 255, 0.68);
}

.plan-point-night i { left: 15%; }
.plan-point-morning i { right: 15%; }

.plan-point small {
  color: #81759b;
  font-size: 0.64rem;
  font-weight: 750;
  text-transform: uppercase;
}

.plan-point strong {
  font-size: 0.95rem;
}

/* Product screenshot gallery */
.home-page .showcase {
  position: relative;
  padding: clamp(100px, 13vw, 170px) 0;
}

.home-page .showcase::before {
  position: absolute;
  z-index: -1;
  top: 10%;
  right: -20%;
  width: 620px;
  height: 620px;
  border-radius: 50%;
  background: rgba(104, 90, 232, 0.09);
  filter: blur(110px);
  content: "";
}

.home-page .showcase-header {
  align-items: end;
  margin-bottom: 54px;
}

.home-page .showcase-header > div:first-child {
  max-width: 880px;
}

.home-page .showcase-header h2 {
  max-width: 850px;
  text-wrap: balance;
}

.carousel-controls {
  gap: 10px;
}

.home-page .carousel-button {
  width: 50px;
  height: 50px;
  border-color: rgba(220, 234, 250, 0.17);
  background: rgba(255, 255, 255, 0.035);
  backdrop-filter: blur(12px);
}

.home-page .carousel-button:hover,
.home-page .carousel-button:focus-visible {
  border-color: rgba(125, 226, 230, 0.34);
  background: rgba(125, 226, 230, 0.08);
}

.home-page .showcase-track {
  grid-auto-columns: minmax(255px, 0.27fr);
  gap: 30px;
  padding: 18px 10px 34px;
  margin-inline: -10px;
  scrollbar-width: none;
}

.home-page .showcase-track::-webkit-scrollbar {
  display: none;
}

.home-page .screen-card {
  position: relative;
}

.home-page .screen-card:nth-child(even) {
  padding-top: 58px;
}

.home-page .device-gallery {
  border-radius: 46px;
  padding: 7px;
  background: linear-gradient(145deg, #17212d, #030508 30%, #05070b 72%, #1a2632);
  transition:
    transform 500ms var(--ease-out),
    border-color 300ms ease,
    box-shadow 500ms var(--ease-out);
}

.home-page .device-gallery .device-screen {
  border-radius: 39px;
}

.home-page .screen-card:hover .device-gallery {
  border-color: rgba(145, 177, 255, 0.34);
  box-shadow:
    0 58px 120px rgba(0, 0, 0, 0.52),
    -16px 12px 60px rgba(77, 111, 235, 0.12);
  transform: translateY(-12px) rotate(-0.75deg);
}

.home-page .screen-card:nth-child(even):hover .device-gallery {
  transform: translateY(-12px) rotate(0.75deg);
}

.home-page .screen-card figcaption {
  display: grid;
  grid-template-columns: 1fr;
  gap: 6px;
  padding: 20px 5px 0;
}

.home-page .screen-card figcaption > span {
  display: flex;
  align-items: center;
  gap: 10px;
}

.home-page .screen-card figcaption small {
  color: #6e8299;
  font-size: 0.62rem;
  font-weight: 820;
  letter-spacing: 0.1em;
}

.home-page .screen-card figcaption strong {
  color: #edf4fb;
  font-size: 0.94rem;
}

.home-page .screen-card figcaption em {
  color: #7f92a8;
  font-size: 0.72rem;
  font-style: normal;
}

/* Wake profiles */
.home-page .profiles-panel {
  position: relative;
  overflow: hidden;
  border-color: rgba(217, 232, 249, 0.13);
  border-radius: 44px;
  padding: clamp(38px, 6.5vw, 78px);
  background:
    radial-gradient(circle at 100% 0%, rgba(101, 132, 255, 0.18), transparent 38rem),
    radial-gradient(circle at 0% 100%, rgba(125, 226, 230, 0.07), transparent 28rem),
    linear-gradient(145deg, rgba(15, 31, 49, 0.96), rgba(4, 11, 18, 0.98));
  box-shadow:
    0 40px 110px rgba(0, 0, 0, 0.28),
    inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.home-page .profiles-panel::before {
  position: absolute;
  right: -140px;
  bottom: -210px;
  width: 520px;
  height: 520px;
  border: 1px solid rgba(139, 166, 255, 0.09);
  border-radius: 50%;
  box-shadow:
    0 0 0 55px rgba(139, 166, 255, 0.018),
    0 0 0 110px rgba(139, 166, 255, 0.012);
  content: "";
}

.profiles-intro {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 0.42fr);
  align-items: end;
  gap: 48px;
  margin-bottom: 48px;
}

.profiles-intro h2 {
  max-width: 820px;
  margin-bottom: 0;
}

.profiles-intro > p {
  margin-bottom: 0;
  color: #a9b9ca;
  font-size: 1.02rem;
  line-height: 1.72;
}

.home-page .profile-grid {
  position: relative;
  z-index: 1;
  gap: 13px;
}

.home-page .profile-card {
  min-height: 248px;
  border-color: rgba(215, 231, 249, 0.1);
  border-radius: 24px;
  padding: 25px;
  background: rgba(255, 255, 255, 0.024);
  transition:
    transform 360ms var(--ease-out),
    border-color 260ms ease,
    background 260ms ease;
}

.home-page .profile-card:hover {
  border-color: rgba(146, 177, 255, 0.24);
  background: rgba(255, 255, 255, 0.045);
  transform: translateY(-7px);
}

.profile-number {
  position: absolute;
  top: 24px;
  right: 24px;
  color: #61758d;
  font-family: var(--display);
  font-size: 0.64rem;
  font-weight: 800;
  letter-spacing: 0.12em;
}

.home-page .profile-card .feature-icon {
  width: 46px;
  height: 46px;
  margin-bottom: 38px;
  border-radius: 14px;
}

.home-page .profile-card h3 {
  font-size: 1.18rem;
}

.home-page .profile-card p {
  color: #9dafc1;
  font-size: 0.86rem;
  line-height: 1.65;
}

.profile-card-urgent .feature-icon { color: #ff9a8c; border-color: rgba(255, 114, 95, 0.18); background: rgba(255, 114, 95, 0.07); }
.profile-card-routine .feature-icon { color: #8facff; border-color: rgba(111, 141, 255, 0.2); background: rgba(111, 141, 255, 0.08); }
.profile-card-gentle .feature-icon { color: var(--cyan); }
.profile-card-rest .feature-icon { color: #b49dff; border-color: rgba(154, 124, 255, 0.2); background: rgba(154, 124, 255, 0.08); }

/* Mission feature */
.home-page .mission-feature {
  position: relative;
  grid-template-columns: minmax(360px, 0.82fr) minmax(0, 1.08fr);
  gap: clamp(54px, 9vw, 132px);
  padding: clamp(110px, 14vw, 190px) 0;
}

.home-page .mission-feature::before {
  position: absolute;
  z-index: -1;
  top: 12%;
  left: -26%;
  width: 620px;
  height: 620px;
  border-radius: 50%;
  background: rgba(67, 108, 235, 0.09);
  filter: blur(110px);
  content: "";
}

.home-page .mission-device-wrap {
  min-height: 690px;
}

.home-page .mission-device-wrap::before {
  display: none;
}

.mission-glow {
  position: absolute;
  width: min(560px, 112%);
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(62, 113, 238, 0.24), rgba(73, 86, 188, 0.08) 44%, transparent 70%);
}

.mission-orbit {
  position: absolute;
  width: 500px;
  height: 500px;
  border: 1px solid rgba(127, 167, 255, 0.14);
  border-radius: 50%;
  animation: stage-spin 38s linear infinite;
}

.mission-orbit::before {
  position: absolute;
  inset: 54px;
  border: 1px dashed rgba(125, 226, 230, 0.11);
  border-radius: 50%;
  content: "";
}

.mission-orbit i {
  position: absolute;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--cyan);
  box-shadow: 0 0 16px rgba(125, 226, 230, 0.7);
}

.mission-orbit i:nth-child(1) { top: 74px; left: 70px; }
.mission-orbit i:nth-child(2) { right: 35px; top: 230px; background: var(--violet); }
.mission-orbit i:nth-child(3) { bottom: 52px; left: 172px; background: var(--coral); }

.home-page .device-feature {
  z-index: 2;
  width: min(356px, 79vw);
  transform: rotate(-3.2deg);
}

.mission-float {
  position: absolute;
  z-index: 4;
  display: inline-flex;
  min-height: 39px;
  align-items: center;
  border: 1px solid rgba(217, 232, 249, 0.14);
  border-radius: 999px;
  padding: 7px 14px;
  color: #c5d4e3;
  background: rgba(6, 14, 24, 0.78);
  box-shadow: 0 16px 38px rgba(0, 0, 0, 0.26);
  backdrop-filter: blur(16px);
  font-size: 0.7rem;
  font-weight: 790;
}

.mission-float::before {
  width: 6px;
  height: 6px;
  margin-right: 7px;
  border-radius: 50%;
  background: var(--cyan);
  box-shadow: 0 0 10px rgba(125, 226, 230, 0.6);
  content: "";
}

.mission-float-one { top: 20%; left: -2%; animation: signal-float-one 6s ease-in-out infinite alternate; }
.mission-float-two { top: 42%; right: -2%; animation: signal-float-two 7s ease-in-out infinite alternate; }
.mission-float-three { bottom: 20%; left: 1%; animation: signal-float-one 8s ease-in-out -2s infinite alternate; }

.home-page .mission-copy h2 {
  max-width: 740px;
  margin-bottom: 26px;
  font-size: clamp(2.7rem, 5.4vw, 5.25rem);
  text-wrap: balance;
}

.home-page .mission-copy > p:not(.eyebrow) {
  max-width: 680px;
  margin-bottom: 36px;
  color: #afbece;
  font-size: clamp(1.02rem, 1.55vw, 1.18rem);
  line-height: 1.72;
}

.mission-groups {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 38px;
}

.mission-groups article {
  display: grid;
  min-height: 126px;
  grid-template-columns: 1fr;
  align-content: space-between;
  gap: 16px;
  border: 1px solid rgba(215, 231, 249, 0.11);
  border-radius: 20px;
  padding: 17px;
  background: rgba(255, 255, 255, 0.024);
  transition: transform 300ms var(--ease-out), border-color 220ms ease, background 220ms ease;
}

.mission-groups article:hover {
  border-color: rgba(125, 226, 230, 0.22);
  background: rgba(125, 226, 230, 0.04);
  transform: translateY(-5px);
}

.mission-groups article > span {
  color: #687c94;
  font-size: 0.62rem;
  font-weight: 820;
  letter-spacing: 0.1em;
}

.mission-groups strong,
.mission-groups small {
  display: block;
}

.mission-groups strong {
  margin-bottom: 4px;
  font-size: 0.9rem;
}

.mission-groups small {
  color: #8497ad;
  font-size: 0.67rem;
  line-height: 1.45;
}

.home-page .mission-points {
  gap: 16px;
}

.home-page .mission-points li {
  color: #a9b9c9;
  font-size: 0.91rem;
}

.home-page .mission-points .check {
  width: 25px;
  height: 25px;
  color: #071710;
  background: var(--green);
  box-shadow: 0 0 18px rgba(113, 230, 177, 0.14);
}

/* Privacy */
.home-page .privacy-panel {
  position: relative;
  overflow: hidden;
  border-color: rgba(217, 232, 249, 0.13);
  border-radius: 46px;
  padding: clamp(40px, 7vw, 84px);
  background:
    radial-gradient(circle at 12% 0%, rgba(84, 214, 190, 0.12), transparent 33rem),
    radial-gradient(circle at 100% 100%, rgba(71, 110, 235, 0.12), transparent 33rem),
    linear-gradient(150deg, rgba(10, 29, 34, 0.98), rgba(4, 11, 18, 0.99));
  box-shadow:
    0 42px 120px rgba(0, 0, 0, 0.3),
    inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.privacy-orb {
  position: absolute;
  top: -82px;
  right: -70px;
  display: grid;
  width: 290px;
  height: 290px;
  place-items: center;
  border: 1px solid rgba(125, 226, 230, 0.11);
  border-radius: 50%;
  box-shadow:
    0 0 0 46px rgba(125, 226, 230, 0.018),
    0 0 0 92px rgba(125, 226, 230, 0.012);
}

.privacy-orb svg {
  width: 82px;
  height: 82px;
  fill: none;
  stroke: rgba(125, 226, 230, 0.22);
  stroke-width: 0.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.home-page .privacy-intro {
  position: relative;
  z-index: 1;
  align-items: end;
  margin-bottom: 26px;
}

.home-page .privacy-intro h2 {
  max-width: 850px;
}

.privacy-lead {
  position: relative;
  z-index: 1;
  max-width: 850px;
  margin-bottom: 48px;
  color: #aebdcd;
  font-size: clamp(1.02rem, 1.6vw, 1.18rem);
  line-height: 1.76;
}

.home-page .privacy-grid {
  position: relative;
  z-index: 1;
  gap: 12px;
}

.home-page .privacy-card {
  min-height: 250px;
  border-color: rgba(215, 231, 249, 0.1);
  border-radius: 23px;
  padding: 25px;
  background: rgba(255, 255, 255, 0.022);
  transition: transform 340ms var(--ease-out), border-color 220ms ease, background 220ms ease;
}

.home-page .privacy-card:hover {
  border-color: rgba(125, 226, 230, 0.2);
  background: rgba(125, 226, 230, 0.035);
  transform: translateY(-6px);
}

.privacy-index {
  position: absolute;
  top: 24px;
  right: 24px;
  color: #587184;
  font-size: 0.62rem;
  font-weight: 820;
  letter-spacing: 0.1em;
}

.home-page .privacy-card .feature-icon {
  width: 45px;
  height: 45px;
  margin-bottom: 38px;
  border-radius: 14px;
}

.home-page .privacy-card h3 {
  font-size: 1.13rem;
}

.home-page .privacy-card p {
  color: #91a6b8;
  font-size: 0.82rem;
  line-height: 1.65;
}

/* FAQ */
.faq-section {
  position: relative;
}

.home-page .faq-layout {
  grid-template-columns: minmax(290px, 0.56fr) minmax(0, 1fr);
  gap: clamp(54px, 9vw, 126px);
}

.home-page .faq-copy {
  position: sticky;
  top: 132px;
  align-self: start;
}

.home-page .faq-copy h2 {
  max-width: 570px;
  font-size: clamp(2.8rem, 5vw, 4.9rem);
  text-wrap: balance;
}

.home-page .faq-copy p:last-child {
  max-width: 440px;
  color: #a3b3c3;
  line-height: 1.7;
}

.home-page .faq-list {
  border-top-color: rgba(215, 231, 249, 0.12);
}

.home-page .faq-list details {
  border-bottom-color: rgba(215, 231, 249, 0.12);
}

.home-page .faq-list summary {
  min-height: 96px;
  padding: 29px 58px 29px 0;
  font-size: clamp(1rem, 1.4vw, 1.16rem);
  transition: color 180ms ease;
}

.home-page .faq-list summary:hover,
.home-page .faq-list details[open] summary {
  color: var(--cyan);
}

.home-page .faq-list summary::before,
.home-page .faq-list summary::after {
  right: 8px;
  width: 20px;
  background: linear-gradient(90deg, var(--cyan), #9ea9ff);
}

.home-page .faq-list details p {
  max-width: 740px;
  margin: -4px 0 32px;
  color: #a0b1c2;
  line-height: 1.75;
}

/* Final CTA */
.home-page .final-cta {
  isolation: isolate;
  min-height: 570px;
  grid-template-columns: minmax(0, 1.1fr) minmax(330px, 0.62fr);
  gap: 48px;
  margin-top: 24px;
  margin-bottom: 92px;
  border-color: rgba(220, 234, 250, 0.14);
  border-radius: 48px;
  padding: clamp(42px, 7.5vw, 92px);
  background:
    radial-gradient(circle at 82% 30%, rgba(91, 117, 255, 0.26), transparent 30rem),
    radial-gradient(circle at 8% 100%, rgba(125, 226, 230, 0.1), transparent 27rem),
    linear-gradient(140deg, #12233a 0%, #091424 48%, #080d18 100%);
  box-shadow:
    0 52px 150px rgba(0, 0, 0, 0.42),
    inset 0 1px 0 rgba(255, 255, 255, 0.055);
}

.cta-grid {
  position: absolute;
  z-index: -1;
  inset: 0;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.025) 1px, transparent 1px);
  background-size: 56px 56px;
  mask-image: linear-gradient(90deg, rgba(0, 0, 0, 0.6), transparent 80%);
}

.cta-copy {
  position: relative;
  z-index: 2;
}

.home-page .final-cta h2 {
  max-width: 800px;
  margin-bottom: 22px;
  font-size: clamp(3.2rem, 6.2vw, 6.3rem);
  line-height: 0.95;
  text-wrap: balance;
}

.home-page .final-cta p {
  max-width: 660px;
  margin-bottom: 32px;
  color: #b3c3d3;
  font-size: clamp(1.02rem, 1.55vw, 1.2rem);
  line-height: 1.7;
}

.cta-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 18px;
}

.cta-note {
  max-width: 330px;
  color: #788ba2;
  font-size: 0.7rem;
  line-height: 1.55;
}

.home-page .final-visual {
  min-height: 400px;
}

.home-page .final-visual img {
  position: relative;
  z-index: 3;
  width: min(250px, 70%);
  border-radius: 27%;
  box-shadow:
    0 48px 100px rgba(0, 0, 0, 0.48),
    0 0 0 1px rgba(255, 255, 255, 0.15),
    -20px 18px 70px rgba(91, 117, 255, 0.2);
  transform: rotate(5deg);
  animation: icon-float 6.5s ease-in-out infinite alternate;
}

@keyframes icon-float {
  to { transform: translateY(-16px) rotate(2deg); }
}

.home-page .final-visual::before,
.home-page .final-visual::after {
  display: none;
}

.final-ring {
  position: absolute;
  border: 1px solid rgba(151, 178, 255, 0.16);
  border-radius: 50%;
}

.final-ring-one {
  width: 370px;
  height: 370px;
  animation: stage-spin 32s linear infinite;
}

.final-ring-two {
  width: 275px;
  height: 275px;
  border-style: dashed;
  animation: stage-spin-reverse 24s linear infinite;
}

.final-badge {
  position: absolute;
  z-index: 4;
  bottom: 8%;
  border: 1px solid rgba(220, 234, 250, 0.15);
  border-radius: 999px;
  padding: 9px 14px;
  color: #b7c8da;
  background: rgba(6, 13, 22, 0.78);
  box-shadow: 0 14px 40px rgba(0, 0, 0, 0.3);
  backdrop-filter: blur(14px);
  font-size: 0.68rem;
  font-weight: 780;
}

/* Footer refresh */
.site-footer {
  padding: 58px 0 46px;
  border-top-color: rgba(215, 231, 249, 0.1);
}

.footer-main {
  grid-template-columns: minmax(220px, 0.62fr) minmax(0, 1fr);
  gap: 70px;
}

.footer-brand p {
  max-width: 380px;
  color: #7f92a7;
  line-height: 1.65;
}

.footer-store-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 18px;
  color: #b7c8da;
  font-size: 0.78rem;
  font-weight: 760;
}

.footer-store-link span {
  color: var(--cyan);
}

.footer-links {
  gap: 10px 30px;
}

.footer-links a {
  color: #8396aa;
  font-size: 0.82rem;
}

.footer-meta {
  margin-top: 48px;
  padding-top: 24px;
  border-top-color: rgba(215, 231, 249, 0.09);
  color: #64788e;
  font-size: 0.7rem;
}

/* Shared inner-page polish */
.content-page,
.legal-page,
.error-page {
  background:
    radial-gradient(circle at 82% -10%, rgba(77, 112, 255, 0.16), transparent 34rem),
    radial-gradient(circle at 0% 38%, rgba(125, 226, 230, 0.055), transparent 28rem),
    var(--bg);
}

.content-shell,
.legal-shell,
.error-shell {
  width: min(1100px, calc(100% - 44px));
}

.content-hero,
.legal-hero {
  position: relative;
  overflow: hidden;
  padding: 176px 0 78px;
  border-bottom-color: rgba(215, 231, 249, 0.11);
}

.content-hero::after,
.legal-hero::after {
  position: absolute;
  right: -7%;
  bottom: -180px;
  width: 420px;
  height: 420px;
  border: 1px solid rgba(139, 167, 255, 0.08);
  border-radius: 50%;
  box-shadow:
    0 0 0 54px rgba(139, 167, 255, 0.012),
    0 0 0 108px rgba(139, 167, 255, 0.008);
  content: "";
}

.content-hero h1,
.legal-hero h1,
.legal-shell > h1 {
  max-width: 1000px;
  font-size: clamp(3.2rem, 7vw, 6.4rem);
  letter-spacing: -0.06em;
  line-height: 0.98;
}

.content-hero .kicker,
.legal-hero .kicker {
  position: relative;
  z-index: 1;
  max-width: 820px;
  color: #adbdcd;
  font-size: clamp(1.04rem, 1.8vw, 1.26rem);
  line-height: 1.7;
}

.content-layout {
  grid-template-columns: minmax(0, 1fr) 270px;
  gap: clamp(52px, 8vw, 104px);
  padding: 82px 0 118px;
}

.content-main h2,
.legal-shell h2 {
  margin-top: 68px;
  font-size: clamp(1.85rem, 3.4vw, 2.75rem);
  letter-spacing: -0.04em;
}

.content-main p,
.content-main li,
.legal-shell p,
.legal-shell li {
  color: #aebdcd;
  line-height: 1.82;
}

.aside-card {
  border-color: rgba(215, 231, 249, 0.12);
  border-radius: 22px;
  padding: 22px;
  background: rgba(11, 24, 38, 0.72);
  box-shadow:
    0 24px 70px rgba(0, 0, 0, 0.22),
    inset 0 1px 0 rgba(255, 255, 255, 0.035);
  backdrop-filter: blur(18px);
}

.aside-card a {
  border-radius: 11px;
  color: #92a5b9;
}

.content-card,
.related-card {
  border-color: rgba(215, 231, 249, 0.11);
  border-radius: 24px;
  background: linear-gradient(150deg, rgba(16, 31, 48, 0.86), rgba(5, 12, 20, 0.94));
  box-shadow: 0 22px 65px rgba(0, 0, 0, 0.18);
  transition: transform 340ms var(--ease-out), border-color 220ms ease, background 220ms ease;
}

.content-card:hover,
.related-card:hover,
.related-card:focus-within {
  border-color: rgba(125, 226, 230, 0.24);
  background: linear-gradient(150deg, rgba(20, 39, 58, 0.92), rgba(6, 15, 24, 0.97));
  transform: translateY(-6px);
}

.callout {
  border-color: rgba(125, 226, 230, 0.2);
  border-left-color: var(--cyan);
  border-radius: 0 22px 22px 0;
  background: rgba(125, 226, 230, 0.06);
}

.page-cta {
  position: relative;
  overflow: hidden;
  border-color: rgba(215, 231, 249, 0.13);
  border-radius: 32px;
  background:
    radial-gradient(circle at 92% 8%, rgba(111, 141, 255, 0.17), transparent 19rem),
    linear-gradient(145deg, rgba(20, 41, 64, 0.96), rgba(6, 15, 25, 0.98));
  box-shadow: 0 28px 82px rgba(0, 0, 0, 0.24);
}

.related-section {
  margin-bottom: 118px;
}

.related-section h2 {
  font-size: clamp(2rem, 4.2vw, 3.6rem);
}

/* Optional native scroll-linked depth for supporting browsers. */
@supports (animation-timeline: view()) {
  .home-page .device-hero {
    animation: hero-device-depth linear both;
    animation-timeline: view(block);
    animation-range: entry 0% exit 100%;
  }

  .sleep-moon {
    animation: moon-depth linear both;
    animation-timeline: view(block);
    animation-range: entry 0% exit 100%;
  }

  @keyframes hero-device-depth {
    0% { transform: translateY(26px) rotate(3.2deg); }
    50% { transform: translateY(0) rotate(2.2deg); }
    100% { transform: translateY(-48px) rotate(-0.6deg); }
  }

  @keyframes moon-depth {
    from { transform: translateY(32px) rotate(-8deg); }
    to { transform: translateY(-24px) rotate(8deg); }
  }
}

@supports not (animation-timeline: scroll()) {
  .scroll-progress {
    display: none;
  }
}

@media (max-width: 1180px) {
  .home-page .hero {
    grid-template-columns: minmax(0, 1fr) minmax(380px, 0.78fr);
    gap: 34px;
  }

  .home-page .hero h1 {
    font-size: clamp(3.9rem, 7vw, 6.4rem);
  }

  .hero-signal-readiness { left: -5%; }
  .hero-signal-mission { right: -5%; }
  .hero-signal-report { right: -1%; }

  .experience-card h3 {
    font-size: clamp(1.55rem, 2.5vw, 2.35rem);
  }

  .mission-cloud,
  .plan-visual {
    opacity: 0.82;
  }
}

@media (max-width: 1020px) {
  :root {
    --page: min(100% - 36px, 1240px);
  }

  .site-header,
  .site-header.is-scrolled {
    grid-template-columns: auto auto;
    width: calc(100% - 28px);
  }

  .site-nav {
    position: fixed;
    top: 96px;
    right: 14px;
    left: 14px;
    display: none;
    overflow: auto;
    max-height: calc(100svh - 112px);
    border: 1px solid rgba(220, 234, 250, 0.17);
    border-radius: 26px;
    padding: 14px;
    background: rgba(4, 11, 19, 0.96);
    box-shadow: 0 34px 100px rgba(0, 0, 0, 0.56);
    backdrop-filter: blur(24px) saturate(140%);
  }

  .site-nav[data-open="true"] {
    display: block;
    animation: nav-enter 260ms var(--ease-out) both;
  }

  @keyframes nav-enter {
    from { opacity: 0; translate: 0 -12px; scale: 0.98; }
    to { opacity: 1; translate: 0 0; scale: 1; }
  }

  .nav-links {
    display: grid;
    gap: 4px;
  }

  .nav-links a {
    display: block;
    border-radius: 14px;
    padding: 14px 15px;
    font-size: 0.96rem;
  }

  .nav-links a.is-active::after {
    display: none;
  }

  .header-actions {
    justify-self: end;
  }

  .nav-toggle {
    position: relative;
    display: inline-grid;
  }

  .home-page .hero {
    grid-template-columns: minmax(0, 1fr) minmax(350px, 0.68fr);
    gap: 18px;
    padding-top: 144px;
  }

  .home-page .hero h1 {
    font-size: clamp(3.6rem, 7.5vw, 5.7rem);
  }

  .home-page .hero-stage {
    min-height: 630px;
  }

  .home-page .device-hero {
    width: min(350px, 75vw);
  }

  .hero-signal {
    min-width: 180px;
  }

  .hero-signal-report {
    display: none;
  }

  .stage-ring-one { width: 480px; height: 480px; }
  .stage-ring-two { width: 370px; height: 370px; }

  .system-story {
    grid-template-columns: 1fr;
  }

  .system-visual {
    position: relative;
    top: auto;
    width: min(650px, 100%);
    margin-inline: auto;
  }

  .system-visual-shell {
    min-height: 540px;
  }

  .system-steps {
    width: min(760px, 100%);
    margin-inline: auto;
  }

  .experience-card,
  .experience-card-large,
  .experience-card-wide {
    min-height: 360px;
    grid-column: span 6;
    grid-row: auto;
  }

  .experience-card-large {
    min-height: 560px;
  }

  .sleep-visual {
    width: 82%;
  }

  .experience-card-wide .experience-content {
    max-width: 100%;
  }

  .mission-cloud,
  .plan-visual {
    width: 54%;
    opacity: 0.68;
  }

  .home-page .showcase-track {
    grid-auto-columns: minmax(250px, 34%);
  }

  .home-page .profile-grid,
  .home-page .privacy-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .home-page .mission-feature {
    grid-template-columns: 1fr;
  }

  .home-page .mission-device-wrap {
    order: 2;
  }

  .home-page .mission-copy {
    width: min(820px, 100%);
    margin-inline: auto;
  }

  .home-page .faq-layout {
    grid-template-columns: 1fr;
  }

  .home-page .faq-copy {
    position: static;
    width: min(720px, 100%);
  }

  .home-page .faq-list {
    width: min(840px, 100%);
    margin-left: auto;
  }

  .home-page .final-cta {
    grid-template-columns: 1fr;
  }

  .home-page .final-visual {
    min-height: 360px;
  }

  .content-layout {
    grid-template-columns: 1fr;
  }

  .content-aside {
    position: static;
    order: -1;
  }

  .aside-card nav {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .related-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  :root {
    --page: min(100% - 28px, 1240px);
    --radius-xl: 34px;
  }

  html {
    scroll-padding-top: 92px;
  }

  body::before {
    background-size: 44px 44px;
  }

  .site-header,
  .site-header.is-scrolled {
    top: 10px;
    width: calc(100% - 20px);
    min-height: 60px;
    padding: 8px 9px 8px 11px;
  }

  .site-nav {
    top: 80px;
    right: 10px;
    left: 10px;
  }

  .brand img,
  .brand-icon {
    width: 36px;
    height: 36px;
  }

  .header-cta {
    display: none;
  }

  .home-page .hero {
    min-height: auto;
    grid-template-columns: 1fr;
    gap: 36px;
    padding: 124px 0 82px;
  }

  .home-page .hero-copy {
    padding-top: 0;
  }

  .home-page .hero h1 {
    max-width: 620px;
    font-size: clamp(3.45rem, 15vw, 5.15rem);
    line-height: 0.94;
  }

  .home-page .hero .lead {
    font-size: 1.04rem;
  }

  .home-page .hero-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .home-page .hero-actions .primary-action,
  .home-page .hero-actions .secondary-action {
    width: 100%;
  }

  .hero-facts {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
  }

  .hero-fact {
    min-width: 0;
  }

  .home-page .hero-stage {
    min-height: 600px;
    margin-top: 4px;
  }

  .home-page .device-hero {
    width: min(342px, 80vw);
  }

  .stage-ring-one { width: min(470px, 110vw); height: min(470px, 110vw); }
  .stage-ring-two { width: min(360px, 88vw); height: min(360px, 88vw); }

  .hero-signal {
    min-width: 0;
    max-width: 190px;
  }

  .hero-signal-readiness {
    top: 14%;
    left: 0;
  }

  .hero-signal-mission {
    right: 0;
    bottom: 20%;
  }

  .stage-status {
    bottom: 3%;
  }

  .scroll-cue {
    display: none;
  }

  .capability-track {
    min-height: 66px;
    gap: 22px;
    padding-inline: 22px;
    animation-duration: 23s;
  }

  .home-page .section,
  .home-page .showcase,
  .home-page .mission-feature {
    padding-top: 100px;
    padding-bottom: 100px;
  }

  .home-page .section-heading,
  .section-heading-centered,
  .profiles-intro {
    grid-template-columns: 1fr;
    align-items: start;
    gap: 18px;
  }

  .home-page .section-heading {
    margin-bottom: 46px;
  }

  .home-page .section-heading h2,
  .profiles-intro h2 {
    font-size: clamp(2.65rem, 12.5vw, 4.2rem);
  }

  .system-story {
    gap: 56px;
  }

  .system-visual-shell {
    min-height: 500px;
    border-radius: 30px;
    padding: 28px;
  }

  .system-time {
    margin-top: 38px;
    font-size: clamp(4.9rem, 22vw, 7rem);
  }

  .system-step {
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 16px;
    min-height: 0;
    padding: 36px 0;
  }

  .system-step-number {
    width: 42px;
    height: 42px;
    border-radius: 13px;
  }

  .system-step h3 {
    font-size: 1.75rem;
  }

  .system-step h3 + p {
    font-size: 0.95rem;
  }

  .experience-grid {
    grid-template-columns: 1fr;
  }

  .experience-card,
  .experience-card-large,
  .experience-card-wide {
    min-height: 390px;
    grid-column: auto;
    border-radius: 26px;
  }

  .experience-card-large {
    min-height: 570px;
  }

  .experience-card h3 {
    max-width: 500px;
    font-size: clamp(1.7rem, 8vw, 2.35rem);
  }

  .experience-card-sleep .experience-content {
    max-width: 90%;
  }

  .sleep-visual {
    right: -11%;
    width: 98%;
  }

  .sleep-card {
    left: 7%;
  }

  .mission-cloud,
  .plan-visual {
    right: 3%;
    width: 62%;
    opacity: 0.58;
  }

  .home-page .showcase-header {
    align-items: center;
    gap: 18px;
  }

  .home-page .showcase-track {
    width: calc(100% + 14px);
    grid-auto-columns: minmax(238px, 72%);
    gap: 22px;
    margin-right: -14px;
  }

  .home-page .screen-card:nth-child(even) {
    padding-top: 34px;
  }

  .home-page .profiles-panel,
  .home-page .privacy-panel,
  .home-page .final-cta {
    border-radius: 32px;
  }

  .home-page .profiles-panel,
  .home-page .privacy-panel {
    padding: 32px 22px;
  }

  .profiles-intro {
    margin-bottom: 34px;
  }

  .home-page .profile-grid,
  .home-page .privacy-grid {
    grid-template-columns: 1fr;
  }

  .home-page .profile-card,
  .home-page .privacy-card {
    min-height: 215px;
  }

  .home-page .mission-device-wrap {
    min-height: 610px;
  }

  .mission-orbit {
    width: min(480px, 108vw);
    height: min(480px, 108vw);
  }

  .home-page .mission-copy h2 {
    font-size: clamp(2.7rem, 12vw, 4.25rem);
  }

  .mission-groups {
    grid-template-columns: 1fr;
  }

  .mission-groups article {
    min-height: 96px;
    grid-template-columns: 38px 1fr;
    align-items: center;
  }

  .home-page .privacy-intro {
    align-items: start;
    flex-direction: column;
  }

  .home-page .privacy-intro .secondary-action {
    width: 100%;
  }

  .privacy-orb {
    top: -125px;
    right: -110px;
  }

  .home-page .faq-copy h2 {
    font-size: clamp(2.65rem, 12vw, 4rem);
  }

  .home-page .faq-list {
    width: 100%;
  }

  .home-page .faq-list summary {
    min-height: 88px;
    padding-block: 25px;
  }

  .home-page .final-cta {
    min-height: 0;
    padding: 38px 24px;
  }

  .home-page .final-cta h2 {
    font-size: clamp(3rem, 13.5vw, 4.7rem);
  }

  .cta-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .cta-actions .primary-action {
    width: 100%;
  }

  .home-page .final-visual {
    min-height: 330px;
  }

  .footer-main {
    grid-template-columns: 1fr;
    gap: 42px;
  }

  .footer-links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .footer-meta {
    align-items: flex-start;
    flex-direction: column;
  }

  .content-shell,
  .legal-shell,
  .error-shell {
    width: min(100% - 30px, 1100px);
  }

  .content-hero,
  .legal-hero {
    padding-top: 132px;
  }

  .content-hero h1,
  .legal-hero h1,
  .legal-shell > h1 {
    font-size: clamp(3rem, 13vw, 4.8rem);
  }

  .content-layout {
    padding-top: 50px;
  }

  .content-card-grid,
  .related-grid {
    grid-template-columns: 1fr;
  }

  .aside-card nav {
    grid-template-columns: 1fr 1fr;
  }

  .legal-shell {
    padding-top: 124px;
  }
}

@media (max-width: 480px) {
  .home-page .hero h1 {
    font-size: clamp(3rem, 15vw, 3.8rem);
  }

  .hero-facts {
    grid-template-columns: 1fr;
  }

  .home-page .hero-stage {
    min-height: 525px;
  }

  .home-page .device-hero {
    width: min(306px, 78vw);
  }

  .hero-signal {
    padding: 9px 10px;
  }

  .signal-icon {
    width: 33px;
    height: 33px;
  }

  .hero-signal small {
    font-size: 0.56rem;
  }

  .hero-signal strong {
    font-size: 0.72rem;
  }

  .hero-signal-readiness { top: 12%; }
  .hero-signal-mission { bottom: 18%; }

  .stage-status {
    gap: 7px;
    padding-inline: 10px;
    font-size: 0.59rem;
  }

  .system-visual-shell {
    min-height: 455px;
    padding: 24px 20px;
  }

  .system-time {
    font-size: 4.9rem;
  }

  .system-route {
    margin-bottom: 26px;
  }

  .system-mini-card {
    padding: 10px;
  }

  .system-step {
    grid-template-columns: 1fr;
  }

  .system-step-number {
    width: 38px;
    height: 38px;
  }

  .experience-card,
  .experience-card-wide {
    min-height: 410px;
  }

  .experience-card-large {
    min-height: 540px;
  }

  .experience-card {
    padding: 25px 21px;
  }

  .readiness-visual,
  .math-visual {
    right: 20px;
    left: 20px;
  }

  .math-visual span,
  .math-visual strong {
    width: 52px;
    height: 52px;
  }

  .mission-cloud,
  .plan-visual {
    width: 72%;
  }

  .home-page .showcase-track {
    grid-auto-columns: 79%;
  }

  .carousel-controls {
    display: none;
  }

  .home-page .mission-device-wrap {
    min-height: 520px;
  }

  .home-page .device-feature {
    width: min(310px, 78vw);
  }

  .mission-float-one { left: -1%; }
  .mission-float-two { right: -1%; }
  .mission-float-three { left: 0; }

  .privacy-lead {
    font-size: 0.97rem;
  }

  .home-page .faq-list summary {
    padding-right: 44px;
  }

  .home-page .final-visual {
    min-height: 290px;
  }

  .final-ring-one { width: 300px; height: 300px; }
  .final-ring-two { width: 220px; height: 220px; }

  .footer-links {
    gap: 9px 18px;
  }

  .aside-card nav {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  .scroll-progress,
  .scroll-cue,
  .capability-rail {
    display: none;
  }

  .motion-ready [data-reveal],
  .motion-ready [data-stagger] > * {
    opacity: 1 !important;
    translate: none !important;
    scale: 1 !important;
  }

  .hero-orb,
  .stage-ring,
  .hero-signal,
  .signal-wave i,
  .fact-dot::after,
  .mission-orbit,
  .home-page .final-visual img,
  .final-ring {
    animation: none !important;
  }
}

/* Keep bento visuals in dedicated space instead of crossing copy. */
.experience-card-readiness,
.experience-card-math {
  min-height: 330px;
  padding-bottom: 118px;
}

.experience-card-missions .experience-content,
.experience-card-plan .experience-content {
  max-width: 54%;
}

.experience-card-missions .mission-cloud,
.experience-card-plan .plan-visual {
  width: 40%;
}

@media (max-width: 1020px) {
  .experience-card-readiness,
  .experience-card-math {
    min-height: 390px;
    padding-bottom: 124px;
  }

  .experience-card-missions,
  .experience-card-plan {
    min-height: 490px;
  }

  .experience-card-missions .experience-content,
  .experience-card-plan .experience-content {
    max-width: 100%;
  }

  .experience-card-missions .mission-cloud,
  .experience-card-plan .plan-visual {
    right: 24px;
    bottom: 25px;
    width: calc(100% - 48px);
    height: 158px;
    opacity: 0.78;
  }
}

@media (max-width: 760px) {
  .experience-card-readiness,
  .experience-card-math {
    min-height: 410px;
    padding-bottom: 126px;
  }

  .experience-card-missions,
  .experience-card-plan {
    min-height: 510px;
  }

  .experience-card-missions .mission-cloud,
  .experience-card-plan .plan-visual {
    right: 20px;
    bottom: 24px;
    width: calc(100% - 40px);
    height: 172px;
  }
}

@media (max-width: 480px) {
  .experience-card-missions,
  .experience-card-plan {
    min-height: 525px;
  }
}

.showcase-track {
  cursor: grab;
}

.showcase-track.is-dragging {
  cursor: grabbing;
  scroll-snap-type: none;
  user-select: none;
}

/* ==========================================================================
   Ringly homepage reimagination — cinematic product system
   ========================================================================== */
.neo-home {
  --neo-bg:#020408;--neo-bg-soft:#070b12;--neo-surface:rgba(13,20,31,.84);--neo-ink:#f7f9fc;--neo-copy:#b4bfcd;--neo-muted:#748195;--neo-line:rgba(221,232,246,.12);--neo-blue:#8fb8ff;--neo-blue-strong:#5e8fff;--neo-violet:#9c8cff;--neo-cyan:#7ee5e7;--neo-red:#ff675c;--neo-green:#72e0ab;--neo-page:min(1320px,calc(100% - 56px));
  color:var(--neo-ink);background:var(--neo-bg);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display",Inter,"Segoe UI",sans-serif;line-height:1.55;
}
.neo-home::before{position:fixed;z-index:-3;inset:0;background:radial-gradient(circle at 78% 0%,rgba(72,105,210,.12),transparent 34rem),radial-gradient(circle at 4% 32%,rgba(255,82,72,.055),transparent 32rem),#020408;content:"";pointer-events:none}
.neo-home main{overflow:clip}.neo-home h1,.neo-home h2,.neo-home h3{margin-bottom:0;color:var(--neo-ink);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display",Inter,"Segoe UI",sans-serif;font-weight:760;letter-spacing:-.055em;line-height:.98}.neo-home p{color:var(--neo-copy)}
.neo-home .scroll-progress{z-index:400;height:2px}.neo-home .scroll-progress::after{background:linear-gradient(90deg,var(--neo-cyan),var(--neo-blue-strong),var(--neo-violet),var(--neo-red));box-shadow:0 0 18px rgba(126,229,231,.58)}
.neo-home .site-header{top:18px;grid-template-columns:auto minmax(0,1fr) auto;width:min(1180px,calc(100% - 40px));min-height:66px;gap:24px;padding:9px 10px 9px 13px;border:1px solid rgba(226,236,248,.11);border-radius:999px;background:rgba(4,8,14,.62);box-shadow:0 22px 70px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.035);backdrop-filter:blur(28px) saturate(145%)}
.neo-home .site-header.is-scrolled{width:min(1100px,calc(100% - 36px));border-color:rgba(226,236,248,.17);background:rgba(4,8,14,.88);box-shadow:0 20px 70px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.045)}
.neo-home .brand{gap:10px;color:#f8fbff;font-size:1.02rem;font-weight:760;letter-spacing:-.035em}.neo-home .brand-mark{display:grid;width:40px;height:40px;overflow:hidden;place-items:center;border:1px solid rgba(255,255,255,.18);border-radius:12px;background:#fff;box-shadow:0 9px 26px rgba(255,78,63,.18),inset 0 1px 0 rgba(255,255,255,.5)}.neo-home .brand-mark img,.neo-home .brand img{width:100%;height:100%;border-radius:inherit;object-fit:cover;box-shadow:none}
.neo-home .site-nav{justify-self:center}.neo-home .nav-links{gap:4px}.neo-home .nav-links a{position:relative;border-radius:999px;padding:9px 12px;color:#95a2b3;font-size:.78rem;font-weight:680;letter-spacing:-.01em;transition:color 180ms ease,background 180ms ease}.neo-home .nav-links a::after{display:none}.neo-home .nav-links a:hover,.neo-home .nav-links a:focus-visible,.neo-home .nav-links a.is-active{color:#f6f9fc;background:rgba(255,255,255,.055)}
.neo-home .header-actions{gap:8px}.neo-home .header-cta{display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:8px;border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:0 17px;color:#07101a;background:linear-gradient(135deg,#f8fbff,#cbd9ef);box-shadow:0 12px 30px rgba(85,128,224,.18),inset 0 1px 0 #fff;font-size:.78rem;font-weight:800;transition:transform 220ms var(--ease-out),box-shadow 220ms ease}.neo-home .header-cta:hover,.neo-home .header-cta:focus-visible{box-shadow:0 16px 38px rgba(85,128,224,.28),inset 0 1px 0 #fff;transform:translateY(-2px)}.neo-home .header-cta svg{width:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.neo-home .nav-toggle{display:none}
.neo-kicker{display:inline-flex;align-items:center;gap:10px;margin:0 0 18px;color:var(--neo-cyan)!important;font-size:.72rem;font-weight:800;letter-spacing:.155em;line-height:1.3;text-transform:uppercase}.neo-kicker::before{width:25px;height:1px;background:currentColor;content:""}.neo-section-head{width:var(--neo-page);margin-inline:auto}.neo-section-head h2{font-size:clamp(3.1rem,6vw,6.25rem);text-wrap:balance}.neo-section-head>p:last-child,.neo-section-head-split>p{max-width:600px;margin:24px 0 0;color:var(--neo-copy);font-size:clamp(1rem,1.55vw,1.18rem);line-height:1.72}.neo-section-head-centered{max-width:1020px;text-align:center}.neo-section-head-centered .neo-kicker{justify-content:center}.neo-section-head-centered>p:last-child{margin-inline:auto}.neo-section-head-split{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.55fr);align-items:end;gap:60px}.neo-section-head-split>p{margin:0 0 8px}
.neo-button{display:inline-flex;min-height:58px;align-items:center;justify-content:center;gap:12px;border:1px solid rgba(228,238,249,.13);border-radius:999px;padding:0 20px;font-weight:760;transition:transform 220ms var(--ease-out),border-color 220ms ease,background 220ms ease,box-shadow 220ms ease}.neo-button:hover,.neo-button:focus-visible{transform:translateY(-3px)}.neo-button-primary{min-width:210px;justify-content:flex-start;gap:13px;color:#050a11;background:linear-gradient(135deg,#fff 0%,#dbe7f7 58%,#b8c9e4 100%);box-shadow:0 18px 46px rgba(74,105,188,.2),inset 0 1px 0 #fff}.neo-button-primary:hover,.neo-button-primary:focus-visible{box-shadow:0 24px 58px rgba(74,105,188,.32),inset 0 1px 0 #fff}.neo-button-primary>span:last-child{display:grid;line-height:1.02}.neo-button-primary small{margin-bottom:3px;font-size:.62rem;font-weight:650;letter-spacing:.01em}.neo-button-primary strong{font-size:1.05rem;font-weight:820;letter-spacing:-.035em}.neo-apple-mark{display:grid;width:27px;height:27px;flex:0 0 auto;place-items:center}.neo-apple-mark svg{width:24px;fill:currentColor}.neo-button-quiet{color:#d5dfeb;background:rgba(255,255,255,.045);backdrop-filter:blur(16px)}.neo-button-quiet:hover,.neo-button-quiet:focus-visible{border-color:rgba(143,184,255,.34);background:rgba(143,184,255,.095)}.neo-button-quiet svg{width:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.neo-text-link,.neo-card-link,.neo-step-links a{display:inline-flex;align-items:center;gap:7px;color:#b8d7ff;font-size:.79rem;font-weight:760;transition:color 180ms ease}.neo-text-link:hover,.neo-text-link:focus-visible,.neo-card-link:hover,.neo-card-link:focus-visible,.neo-step-links a:hover,.neo-step-links a:focus-visible{color:var(--neo-cyan)}
.neo-phone{--phone-width:350px;position:relative;width:var(--phone-width);aspect-ratio:660/1434;flex:0 0 auto;padding:clamp(6px,calc(var(--phone-width)*.024),10px);border:1px solid rgba(238,244,251,.42);border-radius:14.7%/6.8%;background:linear-gradient(104deg,#a8b0bb 0%,#3f464f 2.2%,#101318 5.5%,#020304 12%,#11161c 50%,#020304 87%,#464e58 95%,#a4adb8 99%);box-shadow:0 52px 120px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.05),inset 1px 0 0 rgba(255,255,255,.24),inset -1px 0 0 rgba(255,255,255,.1);isolation:isolate;transform-style:preserve-3d}.neo-phone::before{position:absolute;z-index:1;inset:2px;border:1px solid rgba(255,255,255,.065);border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(0,0,0,.74),inset 0 8px 14px rgba(255,255,255,.025);content:"";pointer-events:none}.neo-phone::after{position:absolute;z-index:4;inset:0;border-radius:inherit;background:linear-gradient(112deg,rgba(255,255,255,.19),transparent 7%,transparent 83%,rgba(255,255,255,.08) 96%,transparent),linear-gradient(to bottom,rgba(255,255,255,.08),transparent 5%,transparent 93%,rgba(255,255,255,.035));content:"";opacity:.58;pointer-events:none}.neo-phone-screen{position:relative;z-index:2;width:100%;height:100%;overflow:hidden;border:1px solid rgba(0,0,0,.85);border-radius:13.25%/6.15%;background:#05080d;box-shadow:inset 0 0 0 1px rgba(255,255,255,.045),0 0 0 1px rgba(0,0,0,.9)}.neo-phone-screen picture,.neo-phone-screen img{display:block;width:100%;height:100%}.neo-phone-screen img{object-fit:cover}.neo-phone-button{position:absolute;z-index:0;width:5px;border:1px solid rgba(255,255,255,.1);background:linear-gradient(90deg,#11151a,#555d67 45%,#171b21);box-shadow:0 3px 8px rgba(0,0,0,.45)}.neo-phone-action,.neo-phone-volume-up,.neo-phone-volume-down{left:-5px;border-radius:4px 0 0 4px}.neo-phone-action{top:15.5%;height:4.8%}.neo-phone-volume-up{top:24.2%;height:7.5%}.neo-phone-volume-down{top:33.5%;height:7.5%}.neo-phone-power{top:25.2%;right:-5px;height:12.4%;border-radius:0 4px 4px 0}
.neo-hero{position:relative;display:grid;min-height:980px;align-items:center;overflow:hidden;padding:136px 0 72px;background:linear-gradient(to bottom,rgba(2,4,8,.1),rgba(2,4,8,.96) 96%)}.neo-hero::after{position:absolute;right:0;bottom:0;left:0;height:210px;background:linear-gradient(to bottom,transparent,var(--neo-bg));content:"";pointer-events:none}.neo-hero-ambient,.neo-hero-ambient>span{position:absolute;pointer-events:none}.neo-hero-ambient{z-index:0;inset:0;overflow:hidden}.neo-hero-aurora{border-radius:50%;filter:blur(25px);opacity:.9}.neo-hero-aurora-blue{top:-330px;right:-190px;width:900px;height:900px;background:radial-gradient(circle,rgba(75,107,220,.28),rgba(40,68,145,.09) 48%,transparent 72%);animation:neo-aurora-drift 12s ease-in-out infinite alternate}.neo-hero-aurora-red{top:46%;left:-310px;width:680px;height:680px;background:radial-gradient(circle,rgba(255,72,59,.14),rgba(138,34,45,.05) 52%,transparent 72%);animation:neo-aurora-drift-reverse 15s ease-in-out infinite alternate}.neo-hero-grid{inset:0;background-image:linear-gradient(rgba(145,171,205,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(145,171,205,.045) 1px,transparent 1px);background-size:76px 76px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.58),transparent 86%);opacity:.46;transform:perspective(900px) rotateX(62deg) scale(1.6) translateY(19%);transform-origin:bottom center}.neo-hero-noise{inset:0;background-image:radial-gradient(circle at 20% 20%,rgba(255,255,255,.14) 0 .55px,transparent .75px),radial-gradient(circle at 70% 55%,rgba(255,255,255,.1) 0 .45px,transparent .7px);background-position:0 0,13px 17px;background-size:23px 23px,29px 29px;mix-blend-mode:soft-light;opacity:.14}@keyframes neo-aurora-drift{to{transform:translate(-50px,54px) scale(1.08)}}@keyframes neo-aurora-drift-reverse{to{transform:translate(55px,-42px) scale(.94)}}
.neo-hero-inner{position:relative;z-index:2;display:grid;width:var(--neo-page);grid-template-columns:minmax(0,.93fr) minmax(540px,1.07fr);align-items:center;gap:clamp(34px,5vw,84px);margin-inline:auto}.neo-hero-copy{position:relative;z-index:5;padding-bottom:34px}.neo-product-pill{display:inline-flex;align-items:center;gap:9px;margin:0 0 28px;border:1px solid rgba(222,234,249,.13);border-radius:999px;padding:6px 11px 6px 6px;color:#b8c4d3!important;background:rgba(255,255,255,.035);box-shadow:inset 0 1px 0 rgba(255,255,255,.035);font-size:.72rem;font-weight:690;backdrop-filter:blur(15px)}.neo-product-pill-icon{display:grid;width:27px;height:27px;overflow:hidden;place-items:center;border-radius:8px;background:#fff}.neo-product-pill-icon img{width:100%;height:100%;object-fit:cover}.neo-product-pill>i{width:3px;height:3px;border-radius:50%;background:#5d6c7f}.neo-hero h1{max-width:720px;margin:0;font-size:clamp(4.1rem,7.5vw,7.6rem);line-height:.88;text-wrap:balance}.neo-hero h1 span{display:block;margin-top:.06em;color:transparent;background:linear-gradient(100deg,#f6f9fd 0%,#b6c9ec 36%,#8fb8ff 70%,#a99bff 100%);background-clip:text;-webkit-background-clip:text}.neo-hero-lead{max-width:620px;margin:30px 0 0;color:#aab7c7!important;font-size:clamp(1.06rem,1.55vw,1.22rem);line-height:1.72}.neo-hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:34px}.neo-hero-proof{display:flex;flex-wrap:wrap;gap:9px 20px;margin-top:28px}.neo-hero-proof>span{display:inline-flex;align-items:center;gap:8px;color:#7e8b9c;font-size:.72rem;font-weight:680}.neo-proof-dot{width:6px;height:6px;border-radius:50%;background:currentColor;box-shadow:0 0 12px currentColor}.neo-proof-ready{color:var(--neo-green)}.neo-proof-mission{color:var(--neo-blue)}.neo-proof-private{color:var(--neo-violet)}
.neo-hero-stage{position:relative;min-height:730px;perspective:1400px;transform-style:preserve-3d}.neo-stage-orbit,.neo-stage-floor{position:absolute;pointer-events:none}.neo-stage-orbit{top:50%;left:50%;border:1px solid rgba(143,184,255,.13);border-radius:50%;transform:translate(-50%,-50%) rotateX(67deg)}.neo-stage-orbit::before,.neo-stage-orbit::after{position:absolute;border-radius:50%;content:""}.neo-stage-orbit::before{top:13%;left:15%;width:7px;height:7px;background:var(--neo-cyan);box-shadow:0 0 20px rgba(126,229,231,.84)}.neo-stage-orbit::after{right:12%;bottom:18%;width:5px;height:5px;background:var(--neo-violet);box-shadow:0 0 18px rgba(156,140,255,.82)}.neo-stage-orbit-one{width:690px;height:690px;animation:neo-orbit-spin 34s linear infinite}.neo-stage-orbit-two{width:510px;height:510px;border-style:dashed;border-color:rgba(156,140,255,.14);animation:neo-orbit-spin-reverse 26s linear infinite}@keyframes neo-orbit-spin{from{transform:translate(-50%,-50%) rotateX(67deg) rotateZ(0)}to{transform:translate(-50%,-50%) rotateX(67deg) rotateZ(360deg)}}@keyframes neo-orbit-spin-reverse{from{transform:translate(-50%,-50%) rotateX(67deg) rotateZ(360deg)}to{transform:translate(-50%,-50%) rotateX(67deg) rotateZ(0)}}.neo-stage-floor{right:3%;bottom:3%;width:600px;height:160px;border-radius:50%;background:radial-gradient(ellipse,rgba(67,91,173,.28),rgba(21,31,65,.08) 48%,transparent 72%);filter:blur(16px);transform:rotate(-5deg)}
.neo-phone-hero-back{--phone-width:285px;position:absolute;z-index:1;top:70px;right:12px;opacity:.74;filter:saturate(.82) brightness(.8);transform:rotateY(-10deg) rotateZ(10deg) translateZ(-90px);animation:neo-phone-back-float 8.5s ease-in-out infinite alternate}.neo-phone-hero-front{--phone-width:372px;position:absolute;z-index:3;top:4px;left:44px;transform:rotateY(7deg) rotateZ(-3.4deg) translateZ(35px);animation:neo-phone-front-float 7s ease-in-out infinite alternate}@keyframes neo-phone-front-float{to{transform:translateY(-14px) rotateY(4deg) rotateZ(-1.8deg) translateZ(45px)}}@keyframes neo-phone-back-float{to{transform:translateY(12px) rotateY(-7deg) rotateZ(8deg) translateZ(-75px)}}
.neo-float-card{position:absolute;z-index:7;display:flex;min-width:205px;align-items:center;gap:11px;border:1px solid rgba(224,235,248,.15);border-radius:18px;padding:11px 13px;background:linear-gradient(135deg,rgba(20,29,42,.86),rgba(5,9,15,.76));box-shadow:0 22px 65px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.055);backdrop-filter:blur(22px) saturate(145%);animation:neo-float-card 5.5s ease-in-out infinite alternate}@keyframes neo-float-card{to{transform:translateY(-9px)}}.neo-float-card small,.neo-float-card strong{display:block}.neo-float-card small{margin-bottom:2px;color:#7f8ea1;font-size:.61rem;font-weight:780;letter-spacing:.07em;text-transform:uppercase}.neo-float-card strong{color:#eef4fa;font-size:.78rem;line-height:1.25}.neo-float-icon{display:grid;width:38px;height:38px;flex:0 0 auto;place-items:center;border:1px solid rgba(255,255,255,.11);border-radius:12px}.neo-float-icon svg{width:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.neo-float-icon-ready{color:var(--neo-green);background:rgba(75,205,145,.1)}.neo-float-icon-mission{color:var(--neo-blue);background:rgba(95,143,255,.1)}.neo-float-readiness{top:17%;left:-1%;animation-delay:-1.3s}.neo-float-mission{right:-3%;bottom:27%;animation-delay:-2.8s}.neo-float-report{right:19%;bottom:4%;min-width:215px;animation-delay:-4.1s}.neo-report-wave{display:flex;width:38px;height:38px;align-items:center;justify-content:center;gap:2px;border:1px solid rgba(156,140,255,.2);border-radius:12px;background:rgba(156,140,255,.08)}.neo-report-wave i{width:2px;border-radius:999px;background:#b4a8ff;animation:neo-wave 1.35s ease-in-out infinite alternate}.neo-report-wave i:nth-child(1){height:8px;animation-delay:-.6s}.neo-report-wave i:nth-child(2){height:16px;animation-delay:-.4s}.neo-report-wave i:nth-child(3){height:22px;animation-delay:-.2s}.neo-report-wave i:nth-child(4){height:13px;animation-delay:-.5s}.neo-report-wave i:nth-child(5){height:7px;animation-delay:-.1s}@keyframes neo-wave{to{transform:scaleY(.42);opacity:.55}}
.neo-hero-foot{position:relative;z-index:3;display:flex;width:var(--neo-page);align-items:center;justify-content:space-between;gap:18px;margin:32px auto 0;color:#667487;font-size:.68rem;font-weight:700;letter-spacing:.03em}.neo-hero-foot>i{position:relative;width:84px;height:1px;margin-right:auto;background:linear-gradient(90deg,#4b5c71,transparent)}.neo-hero-foot>i::before{position:absolute;top:-2px;left:0;width:5px;height:5px;border-radius:50%;background:var(--neo-cyan);box-shadow:0 0 12px rgba(126,229,231,.8);content:"";animation:neo-scroll-dot 2.2s ease-in-out infinite}@keyframes neo-scroll-dot{50%{transform:translateX(75px);opacity:.65}}
.neo-capability-bar{position:relative;z-index:5;overflow:hidden;border-block:1px solid rgba(221,232,246,.08);background:rgba(255,255,255,.018)}.neo-capability-bar::before,.neo-capability-bar::after{position:absolute;z-index:2;top:0;bottom:0;width:130px;content:"";pointer-events:none}.neo-capability-bar::before{left:0;background:linear-gradient(90deg,var(--neo-bg),transparent)}.neo-capability-bar::after{right:0;background:linear-gradient(-90deg,var(--neo-bg),transparent)}.neo-capability-track{display:flex;width:max-content;align-items:center;gap:28px;padding:19px 0;animation:neo-rail 34s linear infinite}.neo-capability-track span{color:#77869a;font-size:.7rem;font-weight:760;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}.neo-capability-track i{width:4px;height:4px;border-radius:50%;background:linear-gradient(135deg,var(--neo-cyan),var(--neo-violet));box-shadow:0 0 12px rgba(126,229,231,.48)}@keyframes neo-rail{to{transform:translateX(-50%)}}
/* Hero remains visible even if observers or scripting are delayed. */
.motion-ready .neo-hero [data-reveal],.motion-ready .neo-hero [data-stagger]>*{opacity:1;translate:0 0;scale:1}
.neo-journey{position:relative;padding:clamp(130px,13vw,210px) 0 110px}.neo-journey::before{position:absolute;z-index:-1;top:19%;left:-280px;width:680px;height:680px;border-radius:50%;background:radial-gradient(circle,rgba(65,89,185,.11),transparent 70%);content:"";filter:blur(20px);pointer-events:none}.neo-journey-layout{display:grid;width:var(--neo-page);grid-template-columns:minmax(450px,.9fr) minmax(0,1.05fr);gap:clamp(70px,8vw,132px);margin:80px auto 0}.neo-journey-visual{position:sticky;top:114px;align-self:start;min-height:720px}.neo-journey-sticky{position:relative;display:grid;min-height:720px;place-items:center;perspective:1200px}.neo-journey-halo{position:absolute;width:600px;height:600px;border:1px solid rgba(143,184,255,.11);border-radius:50%;background:radial-gradient(circle,rgba(74,103,211,.16),rgba(21,33,76,.035) 51%,transparent 70%);box-shadow:inset 0 0 90px rgba(77,109,214,.08);transition:border-color 700ms ease,background 700ms ease,transform 900ms var(--ease-out)}.neo-journey-halo::before,.neo-journey-halo::after{position:absolute;border-radius:50%;content:""}.neo-journey-halo::before{inset:72px;border:1px dashed rgba(226,236,249,.1);animation:neo-halo-spin 28s linear infinite}.neo-journey-halo::after{inset:142px;border:1px solid rgba(226,236,249,.07)}@keyframes neo-halo-spin{to{transform:rotate(360deg)}}.neo-phone-journey{--phone-width:350px;z-index:4;transform:rotateY(2deg) rotateZ(-1.4deg);transition:transform 900ms var(--ease-out),filter 700ms ease,box-shadow 700ms ease}.neo-journey-screen-stack picture{position:absolute;inset:0;opacity:0;transform:scale(1.035) translateY(18px);transition:opacity 650ms ease,transform 900ms var(--ease-out),filter 650ms ease}.neo-journey-screen-stack img{width:100%;height:100%;object-fit:cover}.neo-journey[data-active-step="1"] .neo-journey-screen-one,.neo-journey[data-active-step="2"] .neo-journey-screen-two,.neo-journey[data-active-step="3"] .neo-journey-screen-three{z-index:2;opacity:1;transform:scale(1) translateY(0)}.neo-journey-state{position:absolute;z-index:8;right:0;bottom:15%;display:flex;min-width:190px;align-items:center;gap:11px;border:1px solid rgba(225,235,248,.15);border-radius:17px;padding:11px 13px;background:rgba(7,12,20,.84);box-shadow:0 24px 66px rgba(0,0,0,.42);backdrop-filter:blur(22px);opacity:0;transform:translate(22px,18px) scale(.94);transition:opacity 500ms ease,transform 700ms var(--ease-out)}.neo-journey-state>i{width:12px;height:12px;border:3px solid rgba(255,255,255,.18);border-top-color:var(--neo-cyan);border-radius:50%;box-shadow:0 0 14px rgba(126,229,231,.4)}.neo-journey-state small,.neo-journey-state strong{display:block}.neo-journey-state small{margin-bottom:2px;color:#738196;font-size:.58rem;font-weight:780;letter-spacing:.08em;text-transform:uppercase}.neo-journey-state strong{color:#edf3fa;font-size:.75rem}.neo-journey[data-active-step="1"] .neo-journey-state-one,.neo-journey[data-active-step="2"] .neo-journey-state-two,.neo-journey[data-active-step="3"] .neo-journey-state-three{opacity:1;transform:translate(0,0) scale(1)}.neo-journey-copy-layer{position:absolute;z-index:0;left:-8%;display:grid;color:rgba(236,243,251,.032);font-weight:800;letter-spacing:-.07em;line-height:.78;text-transform:uppercase;opacity:0;transform:translateX(-28px);transition:opacity 700ms ease,transform 900ms var(--ease-out)}.neo-journey-copy-layer span{font-size:3rem}.neo-journey-copy-layer strong{font-size:8.8rem}.neo-journey-copy-one{top:11%}.neo-journey-copy-two{top:37%}.neo-journey-copy-three{top:63%}.neo-journey[data-active-step="1"] .neo-journey-copy-one,.neo-journey[data-active-step="2"] .neo-journey-copy-two,.neo-journey[data-active-step="3"] .neo-journey-copy-three{opacity:1;transform:translateX(0)}.neo-journey[data-active-step="2"] .neo-journey-halo{border-color:rgba(107,145,255,.19);background:radial-gradient(circle,rgba(56,99,220,.22),rgba(15,32,80,.05) 54%,transparent 71%);transform:scale(1.035)}.neo-journey[data-active-step="3"] .neo-journey-halo{border-color:rgba(156,140,255,.18);background:radial-gradient(circle,rgba(137,93,218,.19),rgba(45,25,82,.045) 54%,transparent 71%);transform:scale(.97)}.neo-journey[data-active-step="2"] .neo-phone-journey{transform:rotateY(-2deg) rotateZ(1.2deg) translateY(-7px)}.neo-journey[data-active-step="3"] .neo-phone-journey{transform:rotateY(3deg) rotateZ(-.2deg) translateY(5px)}.neo-journey-steps{border-top:1px solid var(--neo-line)}.neo-journey-step{position:relative;display:flex;min-height:77vh;max-width:620px;flex-direction:column;justify-content:center;border-bottom:1px solid var(--neo-line);padding:80px 0;opacity:.42;transition:opacity 550ms ease,transform 700ms var(--ease-out)}.neo-journey[data-active-step="1"] .neo-journey-step[data-journey-step="1"],.neo-journey[data-active-step="2"] .neo-journey-step[data-journey-step="2"],.neo-journey[data-active-step="3"] .neo-journey-step[data-journey-step="3"]{opacity:1;transform:translateX(10px)}.neo-step-number{display:grid;width:44px;height:44px;margin-bottom:28px;place-items:center;border:1px solid rgba(222,234,249,.13);border-radius:14px;color:#8491a4;background:rgba(255,255,255,.025);font-size:.68rem;font-weight:820;letter-spacing:.08em}.neo-journey-step .neo-kicker{margin-bottom:17px}.neo-journey-step h3{max-width:610px;font-size:clamp(2.35rem,4vw,4.2rem);line-height:.99;text-wrap:balance}.neo-journey-step>p:not(.neo-kicker){max-width:560px;margin:27px 0 0;color:#9ba9bb;font-size:1.02rem;line-height:1.72}.neo-step-links{display:flex;flex-wrap:wrap;gap:9px 22px;margin-top:28px}
.neo-feature-world{position:relative;padding:150px 0 180px}.neo-feature-world::before{position:absolute;z-index:-1;top:28%;right:-280px;width:720px;height:720px;border-radius:50%;background:radial-gradient(circle,rgba(115,78,201,.1),transparent 70%);content:"";filter:blur(20px)}.neo-feature-grid{display:grid;width:var(--neo-page);grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:68px auto 0}.neo-feature-card{position:relative;min-height:470px;overflow:hidden;border:1px solid rgba(221,233,247,.105);border-radius:34px;padding:clamp(30px,4vw,48px);background:linear-gradient(145deg,rgba(18,28,43,.88),rgba(5,10,17,.93));box-shadow:0 32px 100px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.035);isolation:isolate;transition:transform 550ms var(--ease-out),border-color 350ms ease,box-shadow 550ms var(--ease-out)}.neo-feature-card::before{position:absolute;z-index:-1;inset:0;background:linear-gradient(115deg,rgba(255,255,255,.038),transparent 28%,transparent 72%,rgba(255,255,255,.018));content:"";pointer-events:none}.neo-feature-card:hover{border-color:rgba(143,184,255,.23);box-shadow:0 42px 120px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.05);transform:translateY(-8px)}.neo-feature-copy{position:relative;z-index:4;max-width:430px}.neo-feature-index{display:block;margin-bottom:25px;color:#718095;font-size:.66rem;font-weight:820;letter-spacing:.11em;text-transform:uppercase}.neo-feature-card h3{font-size:clamp(2rem,3.2vw,3.25rem);line-height:.99;text-wrap:balance}.neo-feature-card h3 a{transition:color 180ms ease}.neo-feature-card h3 a:hover,.neo-feature-card h3 a:focus-visible{color:#c4dbff}.neo-feature-card .neo-feature-copy>p{max-width:420px;margin:20px 0 0;color:#91a0b2;font-size:.91rem;line-height:1.65}.neo-feature-card .neo-card-link{margin-top:23px}
.neo-feature-card-readiness{background:radial-gradient(circle at 86% 78%,rgba(56,191,133,.15),transparent 24rem),linear-gradient(145deg,#101c29,#060b12 72%)}.neo-readiness-ui{position:absolute;right:7%;bottom:8%;left:7%;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;border:1px solid rgba(102,227,170,.17);border-radius:20px;padding:16px;background:rgba(36,133,94,.105);box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 18px 42px rgba(0,0,0,.2)}.neo-readiness-ring{display:grid;width:52px;height:52px;place-items:center;border:1px solid rgba(114,224,171,.24);border-radius:50%;background:radial-gradient(circle,rgba(114,224,171,.22),rgba(114,224,171,.045));box-shadow:0 0 30px rgba(68,201,139,.14)}.neo-readiness-ring span{display:grid;width:25px;height:25px;place-items:center;border-radius:50%;color:#062016;background:var(--neo-green);font-size:.82rem;font-weight:900}.neo-readiness-ui small,.neo-readiness-ui strong,.neo-readiness-ui div>span{display:block}.neo-readiness-ui small{color:#80a99a;font-size:.62rem;font-weight:760;letter-spacing:.06em;text-transform:uppercase}.neo-readiness-ui strong{margin:2px 0;color:#eefaf5;font-size:1.02rem}.neo-readiness-ui div>span{color:#7f978e;font-size:.68rem}.neo-readiness-ui>i{width:8px;height:8px;border-radius:50%;background:var(--neo-green);box-shadow:0 0 16px rgba(114,224,171,.75);animation:neo-ready-pulse 1.9s ease-out infinite}@keyframes neo-ready-pulse{50%{box-shadow:0 0 0 8px rgba(114,224,171,.04),0 0 18px rgba(114,224,171,.65)}}
.neo-feature-card-profiles{background:radial-gradient(circle at 88% 16%,rgba(91,128,235,.17),transparent 22rem),linear-gradient(145deg,#111a2d,#060a12 72%)}.neo-profile-stack{position:absolute;right:5%;bottom:6%;left:5%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.neo-profile-pill{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;gap:1px 10px;border:1px solid rgba(220,232,247,.09);border-radius:17px;padding:14px;color:#a8b4c5;background:rgba(255,255,255,.025)}.neo-profile-pill i{grid-row:1/3;width:9px;height:9px;align-self:center;border:2px solid currentColor;border-radius:50%}.neo-profile-pill strong{color:#dfe7f2;font-size:.77rem}.neo-profile-pill small{color:#6e7d91;font-size:.61rem}.neo-profile-pill-active{border-color:rgba(143,184,255,.2);color:var(--neo-blue);background:rgba(90,130,233,.09);box-shadow:inset 0 1px 0 rgba(255,255,255,.035)}
.neo-feature-card-missions{background:radial-gradient(circle at 73% 82%,rgba(126,229,231,.12),transparent 25rem),linear-gradient(145deg,#0c1c27,#050b12 72%)}.neo-mission-map{position:absolute;right:2%;bottom:4%;width:50%;height:58%}.neo-mission-map::before{position:absolute;top:50%;left:50%;width:160px;height:160px;border:1px solid rgba(126,229,231,.09);border-radius:50%;box-shadow:0 0 0 38px rgba(126,229,231,.018),0 0 0 78px rgba(126,229,231,.012);content:"";transform:translate(-50%,-50%)}.neo-mission-chip{position:absolute;z-index:2;border:1px solid rgba(126,229,231,.14);border-radius:999px;padding:8px 12px;color:#b9d9dc;background:rgba(29,94,103,.15);box-shadow:0 12px 30px rgba(0,0,0,.18);font-size:.65rem;font-weight:760;animation:neo-chip-float 4.8s ease-in-out infinite alternate}.neo-mission-chip-math{top:12%;left:38%}.neo-mission-chip-type{top:40%;right:8%;animation-delay:-1.3s}.neo-mission-chip-walk{right:28%;bottom:8%;animation-delay:-2.1s}.neo-mission-chip-shake{bottom:18%;left:7%;animation-delay:-3s}.neo-mission-chip-scan{top:30%;left:3%;animation-delay:-3.7s}@keyframes neo-chip-float{to{transform:translateY(-9px)}}.neo-mission-path{position:absolute;top:50%;left:50%;width:53%;height:1px;background:linear-gradient(90deg,transparent,rgba(126,229,231,.19),transparent);transform-origin:left}.neo-mission-path-one{transform:rotate(32deg)}.neo-mission-path-two{transform:rotate(-43deg)}
.neo-feature-card-sleep{background:radial-gradient(circle at 78% 76%,rgba(140,118,239,.2),transparent 24rem),linear-gradient(145deg,#12152d,#070912 72%)}.neo-sleep-orbit{position:absolute;right:2%;bottom:0;width:52%;height:72%}.neo-sleep-orbit::before,.neo-sleep-orbit::after{position:absolute;right:10%;bottom:-18%;border:1px solid rgba(161,147,255,.12);border-radius:50%;content:""}.neo-sleep-orbit::before{width:320px;height:320px}.neo-sleep-orbit::after{right:22%;bottom:-2%;width:210px;height:210px;border-style:dashed}.neo-sleep-moon{position:absolute;z-index:2;right:18%;bottom:7%;width:138px;height:138px;border:1px solid rgba(255,255,255,.16);border-radius:50%;background:radial-gradient(circle at 34% 29%,rgba(238,240,255,.92) 0 8%,transparent 9%),radial-gradient(circle at 69% 61%,rgba(113,108,207,.38) 0 12%,transparent 13%),radial-gradient(circle at 39% 72%,rgba(112,108,204,.28) 0 8%,transparent 9%),radial-gradient(circle at 42% 38%,#cbd2ff,#8491ed 52%,#5d5fb2 100%);box-shadow:0 0 60px rgba(128,123,238,.28),inset -22px -17px 42px rgba(47,46,117,.26);animation:neo-moon-float 6.2s ease-in-out infinite alternate}@keyframes neo-moon-float{to{transform:translateY(-13px) rotate(4deg)}}.neo-sleep-time{position:absolute;z-index:3;display:grid;border:1px solid rgba(220,228,249,.12);border-radius:14px;padding:10px 12px;background:rgba(8,10,22,.68);backdrop-filter:blur(14px)}.neo-sleep-time small{color:#747591;font-size:.56rem;font-weight:760;letter-spacing:.08em;text-transform:uppercase}.neo-sleep-time strong{color:#eef0ff;font-size:.83rem}.neo-sleep-time-bed{top:14%;left:2%}.neo-sleep-time-wake{top:23%;right:4%}.neo-sleep-line{position:absolute;top:40%;right:14%;left:14%;height:1px;background:linear-gradient(90deg,rgba(161,147,255,.06),rgba(161,147,255,.56),rgba(161,147,255,.06));box-shadow:0 0 13px rgba(161,147,255,.22)}

/* Product gallery */
.neo-screens {
  position: relative;
  padding: 132px 0 176px;
  background:
    linear-gradient(180deg, transparent 0%, rgba(7, 11, 18, 0.72) 15%, rgba(7, 11, 18, 0.82) 84%, transparent 100%);
}
.neo-screens::before {
  position: absolute;
  z-index: -1;
  top: 4%;
  left: 50%;
  width: min(1100px, 88vw);
  height: 460px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(83, 112, 215, 0.11), transparent 70%);
  content: "";
  filter: blur(44px);
  pointer-events: none;
  transform: translateX(-50%);
}
.neo-screen-head {
  display: flex;
  width: var(--neo-page);
  align-items: end;
  justify-content: space-between;
  gap: 32px;
  margin: 0 auto 58px;
}
.neo-screen-head .neo-section-head {
  width: auto;
  max-width: 940px;
  margin: 0;
}
.neo-carousel-controls {
  display: flex;
  flex: 0 0 auto;
  gap: 9px;
  padding-bottom: 9px;
}
.neo-carousel-controls button {
  display: grid;
  width: 52px;
  height: 52px;
  place-items: center;
  border: 1px solid rgba(225, 235, 248, 0.13);
  border-radius: 50%;
  color: #e8eef6;
  background: rgba(255, 255, 255, 0.035);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.035);
  transition: border-color 180ms ease, background 180ms ease, transform 220ms var(--ease-out);
}
.neo-carousel-controls button:hover,
.neo-carousel-controls button:focus-visible {
  border-color: rgba(143, 184, 255, 0.34);
  background: rgba(143, 184, 255, 0.09);
  transform: translateY(-2px);
}
.neo-carousel-controls svg {
  width: 19px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.neo-screen-track {
  display: grid;
  grid-auto-columns: minmax(680px, 61vw);
  grid-auto-flow: column;
  gap: 18px;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  padding: 6px max(28px, calc((100vw - 1320px) / 2)) 42px;
  scroll-behavior: smooth;
  scroll-padding-inline: max(28px, calc((100vw - 1320px) / 2));
  scroll-snap-type: inline mandatory;
  scrollbar-width: none;
}
.neo-screen-track::-webkit-scrollbar { display: none; }
.neo-screen-track.is-dragging {
  cursor: grabbing;
  scroll-behavior: auto;
  scroll-snap-type: none;
  user-select: none;
}
.neo-screen-slide {
  position: relative;
  display: grid;
  min-height: 650px;
  grid-template-columns: minmax(0, 1fr) 310px;
  align-items: center;
  gap: clamp(26px, 5vw, 74px);
  overflow: hidden;
  border: 1px solid rgba(226, 236, 249, 0.11);
  border-radius: 38px;
  padding: clamp(38px, 5vw, 70px);
  background: linear-gradient(145deg, #101724, #060a11 75%);
  box-shadow: 0 38px 110px rgba(0, 0, 0, 0.27), inset 0 1px 0 rgba(255, 255, 255, 0.04);
  isolation: isolate;
  scroll-snap-align: start;
}
.neo-screen-slide::before,
.neo-screen-slide::after {
  position: absolute;
  z-index: -1;
  border-radius: 50%;
  content: "";
  pointer-events: none;
}
.neo-screen-slide::before {
  top: -38%;
  right: -16%;
  width: 560px;
  height: 560px;
  background: radial-gradient(circle, rgba(103, 138, 233, 0.16), transparent 70%);
}
.neo-screen-slide::after {
  right: 3%;
  bottom: -19%;
  width: 430px;
  height: 430px;
  border: 1px solid rgba(167, 191, 228, 0.07);
  box-shadow: 0 0 0 58px rgba(167, 191, 228, 0.018), 0 0 0 116px rgba(167, 191, 228, 0.011);
}
.neo-screen-slide figcaption {
  position: relative;
  z-index: 3;
  max-width: 560px;
}
.neo-slide-index {
  display: grid;
  width: 42px;
  height: 42px;
  margin-bottom: 46px;
  place-items: center;
  border: 1px solid rgba(226, 236, 249, 0.12);
  border-radius: 14px;
  color: #8795a9;
  background: rgba(255, 255, 255, 0.027);
  font-size: 0.64rem;
  font-weight: 820;
  letter-spacing: 0.08em;
}
.neo-screen-slide .neo-kicker { margin-bottom: 16px; }
.neo-screen-slide h3 {
  max-width: 540px;
  font-size: clamp(2.65rem, 4.7vw, 5rem);
  line-height: 0.97;
  text-wrap: balance;
}
.neo-screen-slide figcaption > p:last-child {
  max-width: 500px;
  margin: 25px 0 0;
  color: #9eacbd;
  font-size: 1rem;
  line-height: 1.72;
}
.neo-phone-gallery {
  --phone-width: 276px;
  z-index: 2;
  justify-self: center;
  filter: drop-shadow(0 32px 50px rgba(0, 0, 0, 0.35));
  transform: rotate(2deg) translateZ(0);
  transition: transform 700ms var(--ease-out), filter 500ms ease;
}
.neo-screen-slide:hover .neo-phone-gallery {
  filter: drop-shadow(0 44px 70px rgba(0, 0, 0, 0.48));
  transform: rotate(0deg) translateY(-9px) scale(1.018);
}
.neo-screen-slide-editor {
  background: radial-gradient(circle at 82% 35%, rgba(94, 143, 242, 0.18), transparent 28rem), linear-gradient(145deg, #10182b, #060a12 74%);
}
.neo-screen-slide-mission {
  background: radial-gradient(circle at 84% 40%, rgba(64, 151, 229, 0.17), transparent 27rem), linear-gradient(145deg, #0b1b29, #050a11 74%);
}
.neo-screen-slide-plan {
  background: radial-gradient(circle at 82% 40%, rgba(149, 116, 239, 0.19), transparent 27rem), linear-gradient(145deg, #15152e, #070911 74%);
}
.neo-screen-slide-report {
  background: radial-gradient(circle at 82% 40%, rgba(86, 200, 187, 0.13), transparent 27rem), linear-gradient(145deg, #0c1d25, #050a10 74%);
}

/* Mission cinematic */
.neo-mission-cinema {
  position: relative;
  width: var(--neo-page);
  margin-inline: auto;
  padding: 106px 0 180px;
}
.neo-mission-panel {
  position: relative;
  display: grid;
  min-height: 850px;
  grid-template-columns: minmax(360px, 430px) minmax(0, 1fr);
  align-items: center;
  gap: clamp(60px, 8vw, 132px);
  overflow: hidden;
  border: 1px solid rgba(214, 231, 249, 0.12);
  border-radius: 46px;
  padding: clamp(58px, 7vw, 100px);
  background:
    radial-gradient(circle at 18% 56%, rgba(64, 141, 229, 0.22), transparent 31rem),
    radial-gradient(circle at 78% 7%, rgba(110, 103, 227, 0.15), transparent 34rem),
    linear-gradient(145deg, #0b1725 0%, #07101b 44%, #04080e 100%);
  box-shadow: 0 54px 160px rgba(0, 0, 0, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.045);
  isolation: isolate;
}
.neo-mission-panel::after {
  position: absolute;
  z-index: -1;
  inset: 0;
  background-image:
    linear-gradient(rgba(144, 177, 213, 0.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(144, 177, 213, 0.045) 1px, transparent 1px);
  background-size: 70px 70px;
  content: "";
  mask-image: linear-gradient(120deg, rgba(0, 0, 0, 0.72), transparent 71%);
  opacity: 0.55;
}
.neo-mission-atmosphere,
.neo-mission-atmosphere span,
.neo-mission-atmosphere i {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
}
.neo-mission-atmosphere { z-index: -1; inset: 0; }
.neo-mission-atmosphere span {
  top: 52%;
  left: 23%;
  width: 610px;
  height: 610px;
  border: 1px solid rgba(102, 172, 237, 0.08);
  box-shadow: 0 0 0 64px rgba(102, 172, 237, 0.018), 0 0 0 128px rgba(102, 172, 237, 0.009);
  transform: translate(-50%, -50%);
}
.neo-mission-atmosphere i {
  top: 12%;
  right: 14%;
  width: 360px;
  height: 360px;
  background: radial-gradient(circle, rgba(88, 95, 222, 0.13), transparent 70%);
  filter: blur(28px);
}
.neo-mission-phone-wrap {
  position: relative;
  display: grid;
  min-height: 690px;
  place-items: center;
  perspective: 1300px;
}
.neo-phone-cinema {
  --phone-width: 366px;
  z-index: 3;
  transform: rotateY(7deg) rotateZ(-4deg);
  animation: neo-cinema-float 7s ease-in-out infinite alternate;
}
@keyframes neo-cinema-float {
  to { transform: rotateY(2deg) rotateZ(-1.8deg) translateY(-15px); }
}
.neo-mission-label {
  position: absolute;
  z-index: 5;
  border: 1px solid rgba(186, 220, 246, 0.16);
  border-radius: 999px;
  padding: 10px 15px;
  color: #c0d9ed;
  background: rgba(8, 24, 38, 0.72);
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.28);
  backdrop-filter: blur(18px);
  font-size: 0.67rem;
  font-weight: 760;
  letter-spacing: 0.025em;
  animation: neo-label-float 5s ease-in-out infinite alternate;
}
.neo-mission-label-one { top: 17%; left: -2%; }
.neo-mission-label-two { top: 46%; right: -4%; animation-delay: -1.7s; }
.neo-mission-label-three { bottom: 14%; left: 0; animation-delay: -3.1s; }
@keyframes neo-label-float { to { transform: translateY(-9px); } }
.neo-mission-copy { position: relative; z-index: 3; }
.neo-mission-copy h2 {
  max-width: 760px;
  font-size: clamp(3.25rem, 5.65vw, 6rem);
  line-height: 0.95;
  text-wrap: balance;
}
.neo-mission-copy > p:not(.neo-kicker) {
  max-width: 610px;
  margin: 28px 0 0;
  color: #9eacbd;
  font-size: 1.05rem;
  line-height: 1.72;
}
.neo-mission-groups {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-top: 42px;
}
.neo-mission-groups article {
  min-width: 0;
  border: 1px solid rgba(214, 230, 247, 0.1);
  border-radius: 18px;
  padding: 15px;
  background: rgba(255, 255, 255, 0.027);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.025);
}
.neo-mission-groups article > span {
  display: block;
  margin-bottom: 18px;
  color: #708197;
  font-size: 0.58rem;
  font-weight: 820;
  letter-spacing: 0.09em;
}
.neo-mission-groups strong,
.neo-mission-groups small { display: block; }
.neo-mission-groups strong { color: #eef4fb; font-size: 0.83rem; }
.neo-mission-groups small { margin-top: 3px; color: #76869a; font-size: 0.59rem; line-height: 1.45; }
.neo-check-list {
  display: grid;
  gap: 12px;
  margin: 32px 0 0;
  padding: 0;
  list-style: none;
}
.neo-check-list li {
  display: flex;
  align-items: flex-start;
  gap: 11px;
  color: #9daabc;
  font-size: 0.82rem;
  line-height: 1.55;
}
.neo-check-list i {
  display: grid;
  width: 19px;
  height: 19px;
  flex: 0 0 auto;
  place-items: center;
  border: 1px solid rgba(114, 224, 171, 0.22);
  border-radius: 50%;
  color: #062118;
  background: var(--neo-green);
  box-shadow: 0 0 18px rgba(114, 224, 171, 0.14);
  font-size: 0.6rem;
  font-style: normal;
  font-weight: 900;
}
.neo-mission-copy > .neo-text-link { margin-top: 32px; }

/* Privacy */
.neo-privacy {
  position: relative;
  width: var(--neo-page);
  margin-inline: auto;
  padding-bottom: 164px;
}
.neo-privacy-panel {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(210, 236, 244, 0.13);
  border-radius: 42px;
  padding: clamp(48px, 6vw, 84px);
  background:
    radial-gradient(circle at 7% 0%, rgba(45, 155, 176, 0.18), transparent 32rem),
    radial-gradient(circle at 90% 100%, rgba(45, 96, 188, 0.14), transparent 34rem),
    linear-gradient(145deg, #0b1b25, #060d14 72%);
  box-shadow: 0 44px 130px rgba(0, 0, 0, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.045);
}
.neo-privacy-panel::after {
  position: absolute;
  top: -160px;
  right: -120px;
  width: 430px;
  height: 430px;
  border: 1px solid rgba(126, 229, 231, 0.07);
  border-radius: 50%;
  box-shadow: 0 0 0 65px rgba(126, 229, 231, 0.013), 0 0 0 130px rgba(126, 229, 231, 0.008);
  content: "";
  pointer-events: none;
}
.neo-privacy-head {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 42px;
}
.neo-privacy-head h2 {
  max-width: 970px;
  font-size: clamp(3rem, 5.5vw, 5.8rem);
  line-height: 0.96;
  text-wrap: balance;
}
.neo-privacy-lead {
  position: relative;
  z-index: 2;
  max-width: 900px;
  margin: 33px 0 0;
  color: #a8bac5 !important;
  font-size: clamp(1rem, 1.5vw, 1.16rem);
  line-height: 1.75;
}
.neo-privacy-grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-top: 54px;
}
.neo-privacy-grid article {
  display: grid;
  min-height: 196px;
  align-content: start;
  border: 1px solid rgba(212, 235, 243, 0.1);
  border-radius: 23px;
  padding: 22px;
  background: rgba(255, 255, 255, 0.025);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.025);
  transition: border-color 250ms ease, background 250ms ease, transform 350ms var(--ease-out);
}
.neo-privacy-grid article:hover {
  border-color: rgba(126, 229, 231, 0.21);
  background: rgba(126, 229, 231, 0.045);
  transform: translateY(-5px);
}
.neo-privacy-icon {
  display: grid;
  width: 42px;
  height: 42px;
  margin-bottom: 32px;
  place-items: center;
  border: 1px solid rgba(126, 229, 231, 0.17);
  border-radius: 14px;
  color: var(--neo-cyan);
  background: rgba(126, 229, 231, 0.07);
}
.neo-privacy-icon svg {
  width: 21px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.45;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.neo-privacy-grid strong,
.neo-privacy-grid small { display: block; }
.neo-privacy-grid strong { color: #eef8fa; font-size: 0.9rem; }
.neo-privacy-grid small { margin-top: 8px; color: #7f929c; font-size: 0.72rem; line-height: 1.55; }

/* FAQ */
.neo-faq {
  position: relative;
  width: var(--neo-page);
  margin-inline: auto;
  padding: 88px 0 172px;
}
.neo-faq-layout {
  display: grid;
  grid-template-columns: minmax(300px, 0.72fr) minmax(0, 1.28fr);
  align-items: start;
  gap: clamp(70px, 10vw, 150px);
}
.neo-faq-copy {
  position: sticky;
  top: 128px;
}
.neo-faq-copy h2 {
  max-width: 580px;
  font-size: clamp(3rem, 5vw, 5.15rem);
  line-height: 0.96;
  text-wrap: balance;
}
.neo-faq-copy > p:last-child {
  max-width: 490px;
  margin: 28px 0 0;
  color: #909fb1;
  line-height: 1.72;
}
.neo-faq-list {
  border-top: 1px solid var(--neo-line);
}
.neo-faq-list details {
  border-bottom: 1px solid var(--neo-line);
  background: transparent;
}
.neo-faq-list summary {
  position: relative;
  display: flex;
  min-height: 96px;
  align-items: center;
  padding: 23px 62px 23px 0;
  color: #eef3fa;
  cursor: pointer;
  font-size: clamp(1.05rem, 1.7vw, 1.35rem);
  font-weight: 690;
  letter-spacing: -0.025em;
  list-style: none;
}
.neo-faq-list summary::-webkit-details-marker { display: none; }
.neo-faq-list summary::before,
.neo-faq-list summary::after {
  position: absolute;
  top: 50%;
  right: 10px;
  width: 18px;
  height: 1px;
  background: #91a1b6;
  content: "";
  transition: background 180ms ease, transform 260ms var(--ease-out);
}
.neo-faq-list summary::after { transform: rotate(90deg); }
.neo-faq-list details[open] summary::after { transform: rotate(0); }
.neo-faq-list details[open] summary::before,
.neo-faq-list details[open] summary::after { background: var(--neo-cyan); }
.neo-faq-list details > div {
  overflow: hidden;
}
.neo-faq-list details p {
  max-width: 720px;
  margin: -4px 0 0;
  padding: 0 60px 31px 0;
  color: #8998aa;
  font-size: 0.95rem;
  line-height: 1.72;
}

/* Final download */
.neo-final {
  position: relative;
  display: grid;
  width: var(--neo-page);
  min-height: 690px;
  grid-template-columns: minmax(0, 1.1fr) minmax(330px, 430px);
  align-items: center;
  gap: clamp(50px, 8vw, 120px);
  overflow: hidden;
  margin: 0 auto 28px;
  border: 1px solid rgba(224, 235, 249, 0.13);
  border-radius: 46px;
  padding: clamp(54px, 7.2vw, 98px);
  background:
    radial-gradient(circle at 85% 15%, rgba(85, 118, 231, 0.31), transparent 32rem),
    radial-gradient(circle at 12% 95%, rgba(255, 79, 68, 0.13), transparent 29rem),
    linear-gradient(135deg, #0f1b33, #080d18 49%, #07080e 100%);
  box-shadow: 0 50px 160px rgba(0, 0, 0, 0.38), inset 0 1px 0 rgba(255, 255, 255, 0.05);
  isolation: isolate;
}
.neo-final-grid {
  position: absolute;
  z-index: -1;
  inset: 0;
  background-image:
    linear-gradient(rgba(144, 169, 209, 0.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(144, 169, 209, 0.055) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: radial-gradient(circle at 76% 45%, #000, transparent 66%);
  opacity: 0.58;
  transform: perspective(900px) rotateX(58deg) scale(1.5) translateY(22%);
  transform-origin: bottom;
}
.neo-final-copy { position: relative; z-index: 4; }
.neo-final-copy h2 {
  max-width: 760px;
  font-size: clamp(3.9rem, 6.8vw, 7rem);
  line-height: 0.9;
  text-wrap: balance;
}
.neo-final-copy > p:not(.neo-kicker) {
  max-width: 610px;
  margin: 28px 0 0;
  color: #a5b2c4;
  font-size: 1.05rem;
  line-height: 1.72;
}
.neo-final-actions {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-top: 36px;
}
.neo-final-note {
  max-width: 250px;
  color: #718096;
  font-size: 0.64rem;
  line-height: 1.5;
}
.neo-final-visual {
  position: relative;
  min-height: 520px;
  perspective: 1200px;
}
.neo-phone-final {
  --phone-width: 260px;
  position: absolute;
  z-index: 3;
  top: 50%;
  left: 50%;
  transform: translate(-42%, -49%) rotateY(-8deg) rotateZ(5deg);
  animation: neo-final-phone 7.5s ease-in-out infinite alternate;
}
@keyframes neo-final-phone {
  to { transform: translate(-42%, -52%) rotateY(-3deg) rotateZ(2.5deg); }
}
.neo-final-icon {
  position: absolute;
  z-index: 6;
  top: 9%;
  right: 0;
  display: block;
  width: 92px;
  height: 92px;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 23%;
  background: #fff;
  box-shadow: 0 26px 70px rgba(255, 75, 61, 0.28), 0 0 0 8px rgba(255, 255, 255, 0.035), inset 0 1px 0 #fff;
  transform: rotate(5deg);
  animation: neo-final-icon-float 5.7s ease-in-out infinite alternate;
}
.neo-final-icon img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  aspect-ratio: 1 / 1;
  border-radius: inherit;
  object-fit: cover;
  object-position: center;
}
@keyframes neo-final-icon-float { to { transform: translateY(-10px) rotate(1deg); } }
.neo-final-badge {
  position: absolute;
  z-index: 6;
  right: -4%;
  bottom: 14%;
  display: flex;
  align-items: center;
  gap: 9px;
  border: 1px solid rgba(205, 231, 247, 0.15);
  border-radius: 999px;
  padding: 11px 15px;
  color: #d8e6f2;
  background: rgba(7, 15, 25, 0.78);
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.38);
  backdrop-filter: blur(18px);
  font-size: 0.69rem;
  font-weight: 760;
}
.neo-final-badge i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--neo-green);
  box-shadow: 0 0 16px rgba(114, 224, 171, 0.72);
}

/* Homepage footer */
.neo-home .site-footer {
  width: var(--neo-page);
  margin: 0 auto;
  border: 0;
  background: transparent;
}
.neo-home .footer-main {
  display: grid;
  grid-template-columns: minmax(260px, 0.72fr) minmax(0, 1.28fr);
  gap: 90px;
  padding: 96px 0 62px;
}
.neo-home .footer-brand { max-width: 360px; }
.neo-home .footer-brand > p {
  margin: 24px 0 0;
  color: #78869a;
  font-size: 0.82rem;
  line-height: 1.65;
}
.neo-home .footer-store-link {
  display: inline-flex;
  gap: 7px;
  margin-top: 22px;
  color: #b6d1f7;
  font-size: 0.77rem;
  font-weight: 760;
}
.neo-home .footer-links {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-content: start;
  gap: 13px 28px;
}
.neo-home .footer-links a {
  color: #8190a3;
  font-size: 0.79rem;
  transition: color 180ms ease;
}
.neo-home .footer-links a:hover,
.neo-home .footer-links a:focus-visible { color: #edf4fc; }
.neo-home .footer-meta {
  display: flex;
  justify-content: space-between;
  gap: 36px;
  border-top: 1px solid var(--neo-line);
  padding: 25px 0 38px;
  color: #5f6d7f;
  font-size: 0.65rem;
  line-height: 1.5;
}

/* Make the app icon mathematically square everywhere. */
.neo-home .brand-mark,
.neo-product-pill-icon {
  aspect-ratio: 1 / 1;
  flex: 0 0 auto;
  overflow: hidden;
}
.neo-home .brand-mark img,
.neo-product-pill-icon img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  object-position: center;
}

/* Desktop refinements */
@media (max-width: 1220px) {
  .neo-home { --neo-page: min(100% - 44px, 1160px); }
  .neo-hero-inner { grid-template-columns: minmax(0, 1fr) minmax(420px, 0.78fr); gap: 40px; }
  .neo-phone-hero-front { --phone-width: 344px; }
  .neo-phone-hero-back { --phone-width: 258px; }
  .neo-journey-layout { grid-template-columns: minmax(390px, 0.82fr) minmax(0, 1fr); gap: 76px; }
  .neo-phone-journey { --phone-width: 330px; }
  .neo-journey-halo { width: 540px; height: 540px; }
  .neo-screen-track { grid-auto-columns: minmax(650px, 70vw); padding-inline: 22px; scroll-padding-inline: 22px; }
  .neo-mission-panel { grid-template-columns: 370px minmax(0, 1fr); gap: 74px; }
  .neo-phone-cinema { --phone-width: 332px; }
}

@media (max-width: 1020px) {
  .neo-home .site-header { grid-template-columns: auto 1fr auto; }
  .neo-home .site-nav {
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    left: 0;
    overflow: hidden;
    border: 1px solid rgba(226, 236, 248, 0.12);
    border-radius: 23px;
    background: rgba(4, 8, 14, 0.96);
    box-shadow: 0 28px 80px rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(28px);
    opacity: 0;
    pointer-events: none;
    transform: translateY(-8px) scale(0.985);
    transform-origin: top;
    transition: opacity 190ms ease, transform 240ms var(--ease-out);
  }
  .neo-home .site-nav[data-open="true"] { opacity: 1; pointer-events: auto; transform: none; }
  .neo-home .nav-links { display: grid; gap: 2px; padding: 10px; }
  .neo-home .nav-links a { display: block; padding: 13px 15px; font-size: 0.86rem; }
  .neo-home .nav-toggle {
    position: relative;
    display: grid;
    width: 44px;
    height: 44px;
    place-items: center;
    border: 1px solid rgba(226, 236, 248, 0.11);
    border-radius: 50%;
    color: #e7eef7;
    background: rgba(255, 255, 255, 0.035);
  }
  .neo-home .nav-toggle::before,
  .neo-home .nav-toggle::after,
  .neo-home .nav-toggle span {
    position: absolute;
    width: 16px;
    height: 1px;
    background: currentColor;
    content: "";
    transition: transform 220ms var(--ease-out), opacity 180ms ease;
  }
  .neo-home .nav-toggle::before { transform: translateY(-5px); }
  .neo-home .nav-toggle::after { transform: translateY(5px); }
  .neo-home .nav-toggle[aria-expanded="true"] span { opacity: 0; }
  .neo-home .nav-toggle[aria-expanded="true"]::before { transform: rotate(45deg); }
  .neo-home .nav-toggle[aria-expanded="true"]::after { transform: rotate(-45deg); }
  .neo-hero { min-height: auto; padding-top: 154px; }
  .neo-hero-inner { grid-template-columns: 1fr; gap: 68px; }
  .neo-hero-copy { max-width: 900px; }
  .neo-hero-copy h1 { max-width: 850px; }
  .neo-hero-stage { min-height: 760px; }
  .neo-phone-hero-front { --phone-width: 356px; left: 51%; }
  .neo-phone-hero-back { --phone-width: 270px; left: 31%; }
  .neo-journey-layout { grid-template-columns: minmax(320px, 370px) minmax(0, 1fr); gap: 58px; }
  .neo-journey-visual,
  .neo-journey-sticky { min-height: 660px; }
  .neo-phone-journey { --phone-width: 294px; }
  .neo-journey-halo { width: 460px; height: 460px; }
  .neo-journey-state { right: -8%; }
  .neo-feature-grid { grid-template-columns: 1fr; }
  .neo-feature-card { min-height: 500px; }
  .neo-screen-track { grid-auto-columns: minmax(600px, 82vw); }
  .neo-mission-panel { grid-template-columns: 1fr; gap: 34px; padding: 72px 7vw 86px; }
  .neo-mission-phone-wrap { min-height: 650px; }
  .neo-mission-copy { max-width: 820px; }
  .neo-privacy-head { grid-template-columns: 1fr; }
  .neo-privacy-head .neo-button { justify-self: start; }
  .neo-privacy-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .neo-faq-layout { grid-template-columns: 1fr; gap: 60px; }
  .neo-faq-copy { position: static; max-width: 820px; }
  .neo-final { grid-template-columns: 1fr; min-height: 1100px; }
  .neo-final-copy { max-width: 850px; }
  .neo-final-visual { min-height: 520px; }
  .neo-phone-final { --phone-width: 275px; left: 48%; }
  .neo-final-icon { right: 18%; }
  .neo-final-badge { right: 12%; }
}

@media (max-width: 780px) {
  .neo-home { --neo-page: calc(100% - 28px); }
  .neo-home .site-header { top: 10px; width: calc(100% - 20px); min-height: 58px; padding: 7px 8px 7px 10px; }
  .neo-home .site-header.is-scrolled { width: calc(100% - 20px); }
  .neo-home .brand-mark { width: 36px; height: 36px; border-radius: 11px; }
  .neo-home .brand > span:last-child { display: none; }
  .neo-home .header-cta { min-height: 40px; padding: 0 13px; }
  .neo-home .nav-toggle { width: 40px; height: 40px; }
  .neo-section-head h2 { font-size: clamp(2.75rem, 12vw, 4.65rem); }
  .neo-section-head-split { grid-template-columns: 1fr; gap: 22px; }
  .neo-section-head-split > p { margin: 0; }
  .neo-hero { padding: 128px 0 54px; }
  .neo-hero-inner { width: var(--neo-page); gap: 50px; }
  .neo-product-pill { max-width: 100%; }
  .neo-product-pill > span:nth-of-type(3),
  .neo-product-pill > i { display: none; }
  .neo-hero-copy h1 { font-size: clamp(4rem, 16vw, 7rem); line-height: 0.88; }
  .neo-hero-lead { font-size: 1rem; }
  .neo-hero-actions { align-items: stretch; flex-direction: column; }
  .neo-hero-actions .neo-button { width: 100%; }
  .neo-hero-proof { grid-template-columns: 1fr; gap: 9px; }
  .neo-hero-stage { min-height: 590px; }
  .neo-phone-hero-front { --phone-width: min(300px, 72vw); left: 56%; }
  .neo-phone-hero-back { --phone-width: min(220px, 54vw); left: 26%; top: 53%; }
  .neo-float-card { transform: scale(0.9); }
  .neo-float-readiness { top: 10%; right: 0; }
  .neo-float-mission { bottom: 16%; left: -3%; }
  .neo-float-report { right: -3%; bottom: 4%; }
  .neo-stage-orbit-one { width: 440px; height: 440px; }
  .neo-stage-orbit-two { width: 320px; height: 320px; }
  .neo-hero-foot { display: none; }
  .neo-capability-bar { margin-top: 0; }
  .neo-journey { padding: 116px 0 70px; }
  .neo-journey-layout { display: block; margin-top: 58px; }
  .neo-journey-visual { position: relative; top: auto; min-height: auto; }
  .neo-journey-sticky { min-height: 610px; }
  .neo-phone-journey { --phone-width: min(295px, 71vw); }
  .neo-journey-halo { width: min(500px, 112vw); height: min(500px, 112vw); }
  .neo-journey-state { right: 0; bottom: 12%; min-width: 168px; }
  .neo-journey-copy-layer { display: none; }
  .neo-journey-steps { margin-top: 10px; }
  .neo-journey-step { min-height: auto; max-width: none; padding: 70px 0; opacity: 1; }
  .neo-journey[data-active-step] .neo-journey-step { transform: none; }
  .neo-feature-world { padding: 112px 0 126px; }
  .neo-feature-grid { margin-top: 48px; }
  .neo-feature-card { min-height: 520px; border-radius: 28px; padding: 31px; }
  .neo-feature-card-readiness { min-height: 440px; }
  .neo-readiness-ui { right: 22px; bottom: 24px; left: 22px; }
  .neo-profile-stack { right: 22px; bottom: 24px; left: 22px; grid-template-columns: 1fr; }
  .neo-mission-map,
  .neo-sleep-orbit { width: 86%; height: 51%; }
  .neo-screens { padding: 110px 0 126px; }
  .neo-screen-head { align-items: start; flex-direction: column; margin-bottom: 42px; }
  .neo-carousel-controls { align-self: flex-end; }
  .neo-screen-track { grid-auto-columns: 88vw; gap: 12px; padding-inline: 14px; scroll-padding-inline: 14px; }
  .neo-screen-slide { min-height: 760px; grid-template-columns: 1fr; align-content: space-between; border-radius: 30px; padding: 34px 28px 44px; }
  .neo-slide-index { margin-bottom: 30px; }
  .neo-screen-slide h3 { font-size: clamp(2.55rem, 10vw, 4rem); }
  .neo-phone-gallery { --phone-width: min(225px, 57vw); justify-self: center; }
  .neo-mission-cinema { padding: 70px 0 128px; }
  .neo-mission-panel { border-radius: 32px; padding: 52px 24px 64px; }
  .neo-mission-phone-wrap { min-height: 580px; }
  .neo-phone-cinema { --phone-width: min(300px, 72vw); }
  .neo-mission-label-one { left: 0; }
  .neo-mission-label-two { right: 0; }
  .neo-mission-copy h2 { font-size: clamp(3rem, 12vw, 4.9rem); }
  .neo-mission-groups { grid-template-columns: 1fr; }
  .neo-mission-groups article { display: grid; grid-template-columns: 35px 1fr; align-items: center; }
  .neo-mission-groups article > span { margin: 0; }
  .neo-privacy { padding-bottom: 122px; }
  .neo-privacy-panel { border-radius: 30px; padding: 42px 25px; }
  .neo-privacy-head h2 { font-size: clamp(2.8rem, 11.4vw, 4.7rem); }
  .neo-privacy-head .neo-button { width: 100%; }
  .neo-privacy-grid { grid-template-columns: 1fr; margin-top: 40px; }
  .neo-privacy-grid article { min-height: 170px; }
  .neo-faq { padding: 58px 0 126px; }
  .neo-faq-copy h2 { font-size: clamp(2.8rem, 11.4vw, 4.7rem); }
  .neo-faq-list summary { min-height: 84px; padding-right: 45px; font-size: 1.02rem; }
  .neo-faq-list summary::before,
  .neo-faq-list summary::after { right: 4px; }
  .neo-faq-list details p { padding-right: 32px; }
  .neo-final { min-height: 980px; gap: 22px; border-radius: 32px; padding: 48px 26px; }
  .neo-final-copy h2 { font-size: clamp(3.7rem, 14vw, 5.8rem); }
  .neo-final-actions { align-items: stretch; flex-direction: column; }
  .neo-final-actions .neo-button { width: 100%; }
  .neo-final-note { max-width: none; }
  .neo-final-visual { min-height: 480px; }
  .neo-phone-final { --phone-width: min(225px, 58vw); left: 47%; }
  .neo-final-icon { top: 10%; right: 4%; width: 76px; height: 76px; }
  .neo-final-badge { right: 0; bottom: 10%; }
  .neo-home .footer-main { grid-template-columns: 1fr; gap: 48px; padding-top: 74px; }
  .neo-home .footer-links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .neo-home .footer-meta { align-items: flex-start; flex-direction: column; gap: 10px; }
}

@media (max-width: 460px) {
  .neo-home { --neo-page: calc(100% - 20px); }
  .neo-home .site-header { width: calc(100% - 14px); }
  .neo-home .site-header.is-scrolled { width: calc(100% - 14px); }
  .neo-home .header-cta span { display: none; }
  .neo-home .header-cta { width: 40px; min-width: 40px; padding: 0; }
  .neo-product-pill { font-size: 0.62rem; }
  .neo-hero-copy h1 { font-size: 15.5vw; }
  .neo-hero-stage { min-height: 520px; }
  .neo-phone-hero-front { --phone-width: 68vw; }
  .neo-phone-hero-back { --phone-width: 48vw; }
  .neo-float-card { padding: 9px 10px; transform: scale(0.78); }
  .neo-float-readiness { right: -8%; }
  .neo-float-mission { left: -9%; }
  .neo-float-report { right: -9%; }
  .neo-journey-sticky { min-height: 545px; }
  .neo-journey-state { right: -3%; transform: scale(0.88); transform-origin: right; }
  .neo-feature-card { min-height: 540px; padding: 27px 22px; }
  .neo-profile-pill:nth-child(n+4) { display: none; }
  .neo-sleep-moon { right: 10%; width: 116px; height: 116px; }
  .neo-screen-track { grid-auto-columns: 92vw; }
  .neo-screen-slide { min-height: 710px; padding-inline: 22px; }
  .neo-phone-gallery { --phone-width: 52vw; }
  .neo-mission-phone-wrap { min-height: 510px; }
  .neo-mission-label { padding: 8px 11px; font-size: 0.59rem; }
  .neo-privacy-panel,
  .neo-final { padding-inline: 20px; }
  .neo-final { min-height: 910px; }
  .neo-final-visual { min-height: 420px; }
  .neo-phone-final { --phone-width: 53vw; }
  .neo-final-icon { width: 68px; height: 68px; }
  .neo-final-badge { font-size: 0.61rem; }
}

@supports (animation-timeline: view()) {
  @media (prefers-reduced-motion: no-preference) {
    .neo-feature-card,
    .neo-privacy-grid article {
      animation: neo-view-rise both linear;
      animation-range: entry 4% cover 28%;
      animation-timeline: view();
    }
    @keyframes neo-view-rise {
      from { opacity: 0.35; transform: translateY(44px) scale(0.975); }
      to { opacity: 1; transform: translateY(0) scale(1); }
    }
  }
}

@media (prefers-reduced-motion: reduce) {
  .neo-home *,
  .neo-home *::before,
  .neo-home *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.001ms !important;
  }
  .neo-screen-track { scroll-behavior: auto; }
}
