/* Launch-day polish shared by Home, Nexa, Terms, and Privacy. */
:root {
  --polish-ease: cubic-bezier(.16, 1, .3, 1);
  --polish-fast: 180ms;
}
html {
  scrollbar-gutter: stable;
  text-rendering: optimizeLegibility;
}
body {
  font-kerning: normal;
  font-synthesis: none;
}
button,
a {
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}
:where(a, button, input, summary):focus-visible {
  outline: 2px solid var(--blue);
  outline-offset: 3px;
}
.bar {
  position: sticky;
  top: 0;
  z-index: 50;
  min-height: 78px;
  border-bottom: 1px solid transparent;
  background: color-mix(in srgb, var(--bg) 82%, transparent);
  -webkit-backdrop-filter: blur(18px) saturate(135%);
  backdrop-filter: blur(18px) saturate(135%);
  transition: background-color var(--polish-fast) ease, border-color var(--polish-fast) ease;
}
.bar::after {
  content: "";
  position: absolute;
  right: clamp(22px, 4.5vw, 56px);
  bottom: -1px;
  left: clamp(22px, 4.5vw, 56px);
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--hairline) 14%, var(--hairline) 86%, transparent);
}
.wordmark {
  letter-spacing: .16em;
  transition: opacity var(--polish-fast) ease, transform var(--polish-fast) var(--polish-ease);
}
.wordmark:hover {
  opacity: .78;
  transform: translateY(-1px);
}
.bar-links a:not(.pill) {
  position: relative;
}
.bar-links a:not(.pill)::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -7px;
  left: 0;
  height: 1px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 240ms var(--polish-ease);
}
.bar-links a:not(.pill):hover::after,
.bar-links a:not(.pill):focus-visible::after {
  transform: scaleX(1);
  transform-origin: left;
}
.bar-links .pill,
.theme-tog {
  transition: color var(--polish-fast) ease, background-color var(--polish-fast) ease, border-color var(--polish-fast) ease, box-shadow 260ms ease, transform 260ms var(--polish-ease);
}
.bar-links .pill:active,
.theme-tog:active {
  transform: translateY(0) scale(.98);
}
.home-main {
  padding-top: clamp(28px, 4vh, 54px);
  padding-bottom: clamp(48px, 7vh, 88px);
}
.statement,
.trio,
.nx-h2,
.legal-head h1 {
  text-wrap: balance;
}
.door,
.home-shot,
.meet,
.legal-card {
  transform: translateZ(0);
}
.glass,
.legal-card {
  transition: border-color 260ms ease, box-shadow 320ms ease, background-color 260ms ease;
}
.glass:hover,
.legal-card:hover {
  border-color: color-mix(in srgb, var(--glass-border) 72%, var(--blue) 28%);
}
.door .desc,
.nx-sub,
.legal-card p,
.legal-card li {
  text-wrap: pretty;
}
.legal-main {
  padding-top: clamp(32px, 6vh, 70px);
  padding-bottom: clamp(64px, 9vh, 110px);
}
.legal-card section + section {
  padding-top: 18px;
  border-top: 1px solid var(--hairline);
}
.legal-card h2 {
  line-height: 1.35;
}
.legal-card a {
  text-underline-offset: 3px;
}
.nx > .nx-sec,
.nx > #pricing,
.nx > #waitlist,
.nx > #reviews {
  content-visibility: auto;
  contain-intrinsic-size: auto 780px;
}
.shot-slide img {
  background: color-mix(in srgb, var(--bg) 90%, var(--blue) 10%);
}
.foot a,
.legal-note a {
  transition: color var(--polish-fast) ease;
}
@media (hover: none) {
  .home-shot > .shot-nav {
    opacity: 1;
  }
  .glass:hover,
  .legal-card:hover {
    border-color: var(--glass-border);
  }
}
@media (max-width: 720px) {
  .bar {
    min-height: 68px;
    padding-top: 17px;
    padding-bottom: 17px;
  }
  .bar-links {
    gap: 14px;
  }
  .bar-links a:not(.pill):not(:first-child) {
    display: none;
  }
  .bar-links .pill {
    padding: 8px 14px;
  }
  .foot {
    flex-wrap: wrap;
    gap: 14px 20px;
  }
  .foot .spacer {
    flex-basis: 100%;
    height: 0;
  }
  .legal-card section + section {
    padding-top: 16px;
  }
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}

/* Mac download row is a real link now */
a.dl-row {
  text-decoration: none;
  color: inherit;
  cursor: pointer;
}
a.dl-row .soon { color: var(--blue); }

/* ---------- Nexa door card: "Meet Nexa" call-to-action (replaces the bare arrow) ---------- */
.door .door-cta {
  flex: none; align-self: flex-end; position: relative; overflow: hidden;
  display: inline-flex; align-items: center; gap: 8px;
  padding: 8px 13px 8px 15px; border-radius: 999px;
  font-size: 13px; font-weight: 600; letter-spacing: -0.005em; white-space: nowrap;
  color: #fff; background: var(--blue);
  border: 1px solid color-mix(in srgb, var(--blue) 84%, #fff 16%);
  box-shadow: 0 5px 16px var(--blue-soft), inset 0 1px 0 rgba(255,255,255,0.22);
  transform: translateZ(26px);
  transition: transform 0.35s cubic-bezier(0.2, 0.9, 0.25, 1.4), box-shadow 0.35s ease;
  animation: dc-breathe 2.8s ease-in-out 1.8s infinite;
}
[data-theme="dark"] .door .door-cta { color: #06212f; }
.door .dc-arrow {
  flex: none;
  transition: transform 0.4s cubic-bezier(0.2, 0.9, 0.25, 1.4);
}
.door .dc-shine {
  position: absolute; inset: 0; border-radius: inherit; pointer-events: none;
  background: linear-gradient(105deg, transparent 38%, rgba(255,255,255,0.42) 50%, transparent 62%);
  transform: translateX(-120%);
  animation: dc-shine 4.6s ease-in-out 2.4s infinite;
}
.door:hover .door-cta {
  transform: translateZ(26px) translateY(-1px) scale(1.03);
  box-shadow: 0 10px 26px var(--blue-soft), inset 0 1px 0 rgba(255,255,255,0.34);
  animation-play-state: paused;
}
.door:hover .dc-arrow { transform: translateX(4px); }
.door:active .door-cta { transform: translateZ(26px) scale(0.98); }
@keyframes dc-breathe {
  0%, 62%, 100% { transform: translateZ(26px) scale(1); }
  76% { transform: translateZ(26px) scale(1.045); }
  88% { transform: translateZ(26px) scale(0.995); }
}
@keyframes dc-shine {
  0% { transform: translateX(-120%); }
  36%, 100% { transform: translateX(120%); }
}
@media (max-width: 600px) {
  .door .door-cta { order: 4; width: 100%; justify-content: center; margin-top: 6px; padding: 11px 16px; }
}
