/* Shared legal-page styling — consistent across Terms / Privacy / Shipping / Returns / Pre-order */
:root { color-scheme: dark; }
*, *::before, *::after { box-sizing: border-box; }
html, body { margin:0; padding:0; background:#08090a; color:#f5f4ee; font-family:'Inter',system-ui,sans-serif; -webkit-font-smoothing:antialiased; }

body::after {
  content:""; position:fixed; inset:0; pointer-events:none; z-index:2; opacity:.04;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3'/><feColorMatrix values='0 0 0 0 0   0 0 0 0 0   0 0 0 0 0   0 0 0 0.6 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
}

/* Header */
header.legal-top {
  position:fixed; top:0; left:0; right:0; z-index:50;
  background:rgba(8,9,10,.85); backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(255,255,255,.05);
  padding:14px 24px;
  display:flex; align-items:center; justify-content:space-between;
}
header.legal-top a.brand {
  font-family:'Fraunces',serif; font-style:italic; font-weight:600;
  letter-spacing:-.05em; font-size:22px; color:#f5f4ee; text-decoration:none;
}
header.legal-top nav { display:flex; gap:24px; }
header.legal-top nav a {
  color:#7d8794; font-size:11px; letter-spacing:.2em; text-transform:uppercase; text-decoration:none;
}
header.legal-top nav a:hover, header.legal-top nav a.active { color:#f5f4ee; }
header.legal-top .cta {
  background:#ff6a1a; color:#08090a; padding:8px 18px; border-radius:999px;
  font-size:13px; font-weight:600; text-decoration:none;
}

/* Page */
main.legal {
  max-width: 760px; margin: 110px auto 60px; padding: 0 24px;
}

.legal h1.title {
  font-family:'Fraunces',serif; font-weight:500; letter-spacing:-.03em;
  font-size:clamp(2.5rem, 5vw, 4rem); padding-bottom:.05em; line-height:1.05;
  margin: 0 0 12px;
}
.legal .updated {
  font-size:11px; letter-spacing:.32em; text-transform:uppercase; color:#7d8794;
  font-weight:500; margin: 0 0 36px;
}
.legal .lede {
  font-family:'Fraunces',serif; font-weight:400; font-style:italic;
  font-size:clamp(1.05rem, 1.6vw, 1.25rem); line-height:1.55;
  color:#a8b0bb; padding:18px 22px; background:rgba(95,167,255,.04);
  border-left:2px solid #5fa7ff; border-radius: 0 10px 10px 0;
  margin: 0 0 40px;
}

.legal h2 {
  font-family:'Fraunces',serif; font-weight:500; letter-spacing:-.02em;
  font-size:24px; padding-bottom:.05em; line-height:1.2;
  margin: 48px 0 12px;
  scroll-margin-top: 90px;
}
.legal h3 {
  font-family:'Fraunces',serif; font-weight:500; letter-spacing:-.015em;
  font-size:18px; padding-bottom:.05em; line-height:1.25;
  margin: 28px 0 8px;
}
.legal p, .legal li {
  font-size:15px; line-height:1.7; color:#a8b0bb;
}
.legal p { margin: 0 0 14px; }
.legal strong { color:#f5f4ee; font-weight:500; }
.legal em { color:#f5f4ee; }
.legal ul, .legal ol { padding-left:22px; margin:8px 0 18px; }
.legal li { margin-bottom: 6px; }
.legal a { color:#5fa7ff; text-decoration:underline; text-underline-offset:3px; text-decoration-thickness:1px; }
.legal a:hover { color:#9ec8ff; }
.legal hr {
  border:none; border-top:1px solid rgba(255,255,255,.06); margin: 40px 0;
}

.legal .toc {
  background:#0d0e10; border:1px solid rgba(255,255,255,.05);
  border-radius:14px; padding:18px 22px; margin: 0 0 40px;
}
.legal .toc-label { font-size:10px; letter-spacing:.32em; text-transform:uppercase; color:#7d8794; margin-bottom:10px; }
.legal .toc ol { padding-left:18px; margin:0; counter-reset: item; list-style: none; }
.legal .toc li { counter-increment: item; margin-bottom:5px; padding-left:6px; }
.legal .toc li::before { content: counter(item, decimal-leading-zero) "  "; color:#7d8794; font-family:'SFMono-Regular',Menlo,monospace; font-size:13px; }
.legal .toc a { color:#a8b0bb; text-decoration:none; }
.legal .toc a:hover { color:#f5f4ee; }

.legal .callout {
  background:rgba(255,106,26,.06); border-left:2px solid #ff6a1a;
  border-radius:0 10px 10px 0; padding:14px 18px; margin: 18px 0;
  font-size:14px; color:#a8b0bb; line-height:1.6;
}
.legal .callout strong { color:#ff6a1a; }

.legal .contact {
  margin-top:40px; padding:24px; background:#0d0e10;
  border:1px solid rgba(255,255,255,.05); border-radius:14px;
}
.legal .contact h3 { margin-top:0; }
.legal .contact p { margin-bottom:0; }

footer.legal-foot {
  border-top:1px solid rgba(255,255,255,.05);
  padding:24px; text-align:center; color:#7d8794; font-size:12px;
}
footer.legal-foot a { color:#7d8794; text-decoration:none; margin:0 8px; }
footer.legal-foot a:hover { color:#f5f4ee; }
