/* ── Shared reset ─────────────────────────────────────────────── */
*, *::before, *::after { box-sizing:border-box; }
html, body { margin:0; overflow-x:hidden; max-width:100%; }
body { margin:0; }
a { color:#1a1a1a; }
a:hover { opacity:0.65; }

/* ── Nav bar ──────────────────────────────────────────────────── */
.site-nav {
  width:100%;
  background:rgba(255,255,255,0.09);
  backdrop-filter:blur(12px) saturate(150%);
  -webkit-backdrop-filter:blur(12px) saturate(150%);
  border-bottom:1px solid transparent;
  transition:background 0.4s ease, backdrop-filter 0.4s ease, box-shadow 0.4s ease, border-color 0.4s ease;
}
.site-nav.scrolled {
  background:rgba(255,255,255,0.16);
  backdrop-filter:blur(28px) saturate(180%);
  -webkit-backdrop-filter:blur(28px) saturate(180%);
  border-bottom:1px solid rgba(255,255,255,0.4);
  box-shadow:inset 0 1px 1px rgba(255,255,255,0.5), 0 8px 30px rgba(0,0,0,0.05);
}
.site-nav-inner { display:flex; align-items:center; gap:28px; width:100%; max-width:1200px; margin:0 auto; box-sizing:border-box; padding:14px clamp(20px,4vw,40px); }
.site-nav-logo { display:flex; align-items:center; gap:9px; text-decoration:none; color:#1a1a1a; flex-shrink:0; font-size:1.1rem; letter-spacing:-0.02em; }
.site-nav-spacer { flex:1; }
.site-nav-links { list-style:none; display:flex; align-items:center; gap:4px; margin:0; padding:0; flex-shrink:0; }
.site-nav-links > li > a { display:block; padding:8px 14px; border-radius:100px; color:rgba(26,26,26,0.6); text-decoration:none; font-size:0.9rem; }
.site-nav-ctas { display:flex; align-items:center; gap:8px; flex-shrink:0; }
.site-nav-login { display:inline-flex; align-items:center; gap:6px; font-size:0.9rem; text-decoration:none; border-radius:100px; padding:11px 22px; color:rgba(26,26,26,0.7); background:rgba(255,255,255,0.5); border:1px solid rgba(0,0,0,0.1); backdrop-filter:blur(8px); white-space:nowrap; letter-spacing:0.3px; }
.site-nav-signup { display:inline-flex; align-items:center; gap:6px; font-size:0.9rem; text-decoration:none; border-radius:100px; padding:11px 22px; color:#fff; background:#1a1a1a; white-space:nowrap; letter-spacing:0.3px; }
.site-nav-burger { display:none; flex-direction:column; justify-content:center; gap:4px; width:34px; height:34px; border-radius:50%; border:none; background:rgba(0,0,0,0.06); cursor:pointer; flex-shrink:0; margin-left:auto; }
.site-nav-burger span { width:15px; height:2px; margin:0 auto; background:#1a1a1a; border-radius:2px; transition:transform 0.25s ease, opacity 0.25s ease; display:block; }
.site-nav-mobile-menu { display:none; list-style:none; margin:0; padding:14px clamp(20px,4vw,40px); width:100%; background:rgba(255,255,255,0.96); backdrop-filter:blur(28px) saturate(180%); -webkit-backdrop-filter:blur(28px) saturate(180%); border-top:1px solid rgba(255,255,255,0.4); box-shadow:inset 0 1px 1px rgba(255,255,255,0.5), 0 10px 30px rgba(0,0,0,0.05); flex-direction:column; gap:2px; }
.site-nav-mobile-menu.open { display:flex; }
.site-nav-mobile-menu li a { display:block; padding:11px 6px; color:#1a1a1a; text-decoration:none; border-bottom:1px solid rgba(0,0,0,0.07); }
.site-nav-mobile-cta { margin-top:6px; display:flex; flex-direction:column; gap:8px; }
.site-nav-mobile-cta a { border-bottom:none !important; border-radius:100px; text-align:center; padding:11px 22px !important; }
.site-nav-mobile-cta .site-nav-login { color:rgba(26,26,26,0.7); }
.site-nav-mobile-cta .site-nav-signup { color:#fff; }
@media (max-width:860px) {
  .site-nav-links, .site-nav-ctas { display:none; }
  .site-nav-burger { display:flex; }
}

/* ── Features dropdown ───────────────────────────────────────── */
.nav-dropdown { position:relative; }
.nav-dropdown-trigger { display:flex; align-items:center; gap:4px; cursor:pointer; }
.nav-dropdown-panel {
  display:none; position:absolute; top:100%; left:0; margin-top:8px; min-width:190px;
  background:rgba(255,255,255,0.85); backdrop-filter:blur(24px) saturate(180%); -webkit-backdrop-filter:blur(24px) saturate(180%);
  border:1px solid rgba(255,255,255,0.6); border-radius:14px; padding:6px;
  box-shadow:0 1px 1px rgba(255,255,255,0.6) inset, 0 16px 40px rgba(0,0,0,0.12);
}
.nav-dropdown.open .nav-dropdown-panel { display:block; }
.nav-dropdown-panel a { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:9px 12px; border-radius:9px; font-size:0.88rem; color:rgba(26,26,26,0.75); text-decoration:none; }
.nav-dropdown-panel a:hover { background:rgba(0,0,0,0.05); color:#1a1a1a; opacity:1; }
.nav-soon-badge { font-size:0.62rem; letter-spacing:0.3px; color:rgba(26,26,26,0.4); border:0.5px solid rgba(0,0,0,0.12); padding:1px 6px; border-radius:4px; flex-shrink:0; }
.nav-mobile-features-label { font-size:0.7rem; text-transform:uppercase; letter-spacing:0.1em; color:rgba(26,26,26,0.35); padding:10px 6px 2px; }

/* ── Shared content building blocks (feature pages) ─────────────── */
.glass-card {
  background:rgba(255,255,255,0.55); backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px);
  border:1px solid rgba(255,255,255,0.6); border-radius:16px; padding:28px;
  box-shadow:0 1px 3px rgba(0,0,0,0.04), inset 0 1px 1px rgba(255,255,255,0.8);
}
.check-list { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:12px; }
.check-list li { display:flex; align-items:flex-start; gap:10px; font-size:0.95rem; color:rgba(26,26,26,0.7); line-height:1.6; }
.check-list li::before { content:'✓'; color:#22c55e; flex-shrink:0; font-size:0.9rem; line-height:1.6; }
.step-row { display:flex; gap:18px; align-items:flex-start; }
.step-num { width:34px; height:34px; border-radius:50%; background:rgba(0,0,0,0.06); display:flex; align-items:center; justify-content:center; font-size:0.88rem; color:#1a1a1a; flex-shrink:0; }
.step-text { font-size:0.98rem; color:rgba(26,26,26,0.65); line-height:1.65; margin:0; padding-top:6px; }
.section-tint { background:#f5f4f0; }
.two-col-grid { display:grid; grid-template-columns:repeat(2, 1fr); gap:16px; }
@media (max-width:640px) {
  .two-col-grid { grid-template-columns:1fr; }
}

/* ── Legal / document pages ──────────────────────────────────── */
.legal-meta { font-size:0.85rem; color:rgba(26,26,26,0.45); margin:0 0 2em; }
.legal-layout { display:grid; grid-template-columns:200px minmax(0,700px); justify-content:center; gap:48px; max-width:988px; margin:0 auto; padding:0 clamp(20px,4vw,40px); align-items:start; }
.legal-toc { position:sticky; top:120px; }
.legal-toc-label { font-size:0.7rem; text-transform:uppercase; letter-spacing:0.1em; color:rgba(26,26,26,0.4); margin:0 0 12px; }
.legal-toc ol { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:9px; counter-reset:none; }
.legal-toc a { display:block; font-size:0.85rem; color:rgba(26,26,26,0.6); text-decoration:none; line-height:1.5; }
.legal-toc a:hover { color:#1a1a1a; opacity:1; }
.legal-content { font-size:1.0625rem; line-height:1.75; color:rgba(26,26,26,0.75); min-width:0; }
.legal-content h2 { font-size:1.2rem; font-weight:500; color:#1a1a1a; letter-spacing:-0.01em; margin:2.2em 0 0.7em; scroll-margin-top:110px; }
.legal-content h2:first-of-type { margin-top:0; }
.legal-content h3 { font-size:1rem; font-weight:500; color:#1a1a1a; margin:1.6em 0 0.6em; }
.legal-content p { margin:0 0 1.2em; }
.legal-content ul, .legal-content ol.legal-list { margin:0 0 1.2em; padding-left:1.25em; display:flex; flex-direction:column; gap:0.55em; }
.legal-content li { line-height:1.7; }
.legal-content strong { color:#1a1a1a; font-weight:500; }
.legal-note { font-size:0.92rem; font-style:italic; color:rgba(26,26,26,0.5); margin:0 0 1.4em; }
.legal-table-wrap { margin:0 0 1.5em; overflow-x:auto; }
.legal-table { width:100%; border-collapse:collapse; font-size:0.92rem; }
.legal-table th, .legal-table td { text-align:left; padding:10px 14px; border-bottom:1px solid rgba(0,0,0,0.08); vertical-align:top; }
.legal-table th { font-weight:500; color:#1a1a1a; }
@media (max-width:860px) {
  .legal-layout { grid-template-columns:1fr; gap:20px; }
  .legal-toc { position:static; padding:16px 18px; background:rgba(255,255,255,0.4); border:1px solid rgba(255,255,255,0.6); border-radius:14px; }
}
@media (max-width:640px) {
  .legal-table thead { display:none; }
  .legal-table, .legal-table tbody, .legal-table tr, .legal-table td { display:block; width:100%; }
  .legal-table { border:1px solid rgba(0,0,0,0.08); border-radius:12px; overflow:hidden; }
  .legal-table tr { padding:12px 14px; border-bottom:1px solid rgba(0,0,0,0.08); }
  .legal-table tr:last-child { border-bottom:none; }
  .legal-table td { border:none; padding:5px 0; }
  .legal-table td::before { content:attr(data-label); display:block; font-size:0.7rem; text-transform:uppercase; letter-spacing:0.08em; color:rgba(26,26,26,0.4); margin-bottom:2px; }
}
