/* Site shell shared by the home and legal pages: phone navigation, footer, legal reading layout. */

/* Phone navigation: the links collapse into a menu button below 820px. Without JS the toggle stays hidden and the links wrap. */
.nav-toggle { display:none; align-items:center; gap:10px; min-height:44px; padding:10px 14px; border:1px solid #31535b; border-radius:14px; background:transparent; color:#fff; font-size:14px; font-weight:600; }
.nav-toggle-bars, .nav-toggle-bars::before, .nav-toggle-bars::after { display:block; width:18px; height:2px; border-radius:2px; background:currentColor; transition:transform .2s ease, opacity .2s ease; }
.nav-toggle-bars { position:relative; }
.nav-toggle-bars::before, .nav-toggle-bars::after { content:""; position:absolute; left:0; }
.nav-toggle-bars::before { top:-6px; }
.nav-toggle-bars::after { top:6px; }
.nav-toggle[aria-expanded="true"] .nav-toggle-bars { background:transparent; }
.nav-toggle[aria-expanded="true"] .nav-toggle-bars::before { transform:translateY(6px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] .nav-toggle-bars::after { transform:translateY(-6px) rotate(-45deg); }
.marketing-header nav.site-nav { gap:28px; }

@media (max-width:820px) {
  .js-nav .nav-toggle { display:inline-flex; margin-left:auto; }
  .js-nav .marketing-header nav.site-nav { position:absolute; top:100%; left:0; right:0; display:grid; gap:0; padding:8px 20px 20px; background:var(--field-dark); border-bottom:1px solid #31535b; box-shadow:0 24px 40px #00151c55; }
  .js-nav .marketing-header nav.site-nav[data-open="false"] { display:none; }
  .js-nav .marketing-header nav.site-nav a { min-height:52px; font-size:17px; border-bottom:1px solid #31535b; }
  .js-nav .marketing-header nav.site-nav a.nav-download { justify-content:center; margin-top:16px; border-bottom:0; font-size:17px; }
  .marketing-header nav>a:not(.nav-download) { display:inline-flex; }
  html:not(.js-nav) .marketing-header nav.site-nav { flex-wrap:wrap; justify-content:flex-end; gap:4px 16px; }
}

/* Footer */
.marketing-footer { flex-wrap:wrap; padding-block:48px; }
.footer-links { display:flex; flex-wrap:wrap; gap:4px 24px; }
.footer-links a { display:inline-flex; align-items:center; min-height:44px; color:var(--marketing-ink); font-size:14px; font-weight:600; text-decoration:none; }
.footer-links a:hover { text-decoration:underline; text-underline-offset:4px; }
.footer-legal { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:4px 24px; width:100%; margin:0; padding-top:16px; border-top:1px solid var(--marketing-line); font-size:13px; }
.footer-legal p { margin:0; }
.footer-members { display:flex; flex-wrap:wrap; gap:0 20px; }
.footer-members a { display:inline-flex; align-items:center; min-height:44px; color:var(--marketing-muted); font-size:13px; text-decoration:none; }
.footer-members a:hover { color:var(--marketing-ink); text-decoration:underline; text-underline-offset:3px; }
@media (max-width:700px) {
  .footer-links { gap:0 20px; }
}

/* Legal pages: comfortable long-form reading on a light surface. */
.legal-hero { background:var(--field-dark); color:#fff; }
.legal-hero .page-width { padding-block:72px 56px; }
.legal-hero .eyebrow { color:var(--field-teal-light); margin-bottom:16px; }
.legal-hero h1 { margin:0; font:700 clamp(40px,6vw,72px)/1.04 var(--display-font); letter-spacing:-.05em; }
.legal-hero p.legal-updated { margin:20px 0 0; color:#a6bfbe; font-size:15px; }
.legal-layout { display:grid; grid-template-columns:minmax(0,220px) minmax(0,720px); gap:64px; padding-block:64px 96px; }
.legal-index { position:sticky; top:112px; align-self:start; display:grid; gap:4px; }
.legal-index a { display:flex; align-items:center; min-height:44px; padding:0 14px; border-radius:14px; color:var(--marketing-ink); font-size:15px; font-weight:600; text-decoration:none; }
.legal-index a:hover { background:var(--field-teal-tint); }
.legal-index a[aria-current="page"] { background:var(--field-teal-tint); color:var(--field-teal-deep); box-shadow:inset 3px 0 0 var(--field-teal); }
.legal-body { color:var(--marketing-ink); font-size:17px; line-height:1.75; }
.legal-body>:first-child { margin-top:0; }
.legal-body h2 { margin:56px 0 16px; font:700 clamp(26px,3vw,34px)/1.2 var(--display-font); letter-spacing:-.03em; }
.legal-body h3 { margin:36px 0 12px; font-size:20px; line-height:1.35; }
.legal-body p, .legal-body ul { margin:0 0 18px; }
.legal-body ul { padding-left:24px; }
.legal-body li { margin-bottom:8px; padding-left:4px; }
.legal-body li::marker { color:var(--field-teal); }
.legal-body a { color:var(--field-teal-deep); font-weight:600; text-underline-offset:3px; overflow-wrap:anywhere; }
.legal-body strong { font-weight:700; }
@media (max-width:900px) {
  .legal-layout { grid-template-columns:1fr; gap:24px; padding-block:32px 72px; }
  .legal-index { position:static; display:flex; flex-wrap:wrap; gap:8px; }
  .legal-index a { border:1px solid var(--marketing-line); }
  .legal-body { font-size:16px; }
}

/* 404 */
.not-found .page-width { min-height:min(62vh,560px); display:grid; align-content:center; }
.not-found-home { margin-top:28px; text-decoration:none; }
