:root {
  --peach:        #F0A055;
  --coral:        #E8732C;
  --cream:        #F7EBD8;
  --soft-peach:   #FFC79E;
  --gold:         #C98B2B;
  --ink:          #2A1A12;
  --ink-2:        #4A2E20;
  --ink-mute:     rgba(42, 26, 18, 0.62);
  --ink-faint:    rgba(42, 26, 18, 0.32);
  --hair:         rgba(42, 26, 18, 0.10);
  --glass-bg:     rgba(255, 251, 241, 0.55);
  --glass-stroke: rgba(255, 255, 255, 0.75);
  --glass-shadow: 0 24px 60px -20px rgba(122, 53, 14, 0.28), 0 2px 6px rgba(122, 53, 14, 0.06);
  --font-display: "Inter Tight", -apple-system, BlinkMacSystemFont, "SF Pro Display", system-ui, sans-serif;
  --font-mono:    "JetBrains Mono", "SF Mono", ui-monospace, Menlo, monospace;
}
* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
  font-family: var(--font-display);
  color: var(--ink);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background:
    radial-gradient(120% 60% at 50% -10%, #FFD7A8 0%, #FFC79E 22%, #F4B07A 42%, #F7EBD8 78%, #F7EBD8 100%);
  background-attachment: fixed;
  min-height: 100vh;
  overflow-x: hidden;
}
body::before {
  content: "";
  position: fixed; inset: auto 0 -20% 0; height: 60%;
  background: radial-gradient(80% 80% at 50% 100%, rgba(232, 115, 44, 0.18), transparent 70%);
  pointer-events: none; z-index: 0;
}
#root { position: relative; z-index: 1; }

h1, h2, h3 { margin: 0; font-weight: 600; letter-spacing: -0.03em; line-height: 1.02; }
h1 { font-size: clamp(56px, 8.2vw, 116px); }
h2 { font-size: clamp(40px, 5.4vw, 76px); }
h3 { font-size: clamp(22px, 2.4vw, 32px); letter-spacing: -0.02em; line-height: 1.15; }
p  { margin: 0; line-height: 1.5; }
a  { color: inherit; text-decoration: none; }
::selection { background: rgba(232, 115, 44, 0.25); }

@keyframes wmbPulse {
  0%, 100% { transform: scale(1);    filter: brightness(1)   saturate(1); }
  50%      { transform: scale(1.035); filter: brightness(1.06) saturate(1.05); }
}
@keyframes wmbHalo {
  0%, 100% { opacity: 0.55; transform: scale(1); }
  50%      { opacity: 0.85; transform: scale(1.06); }
}
@keyframes wmbWave {
  0%, 100% { transform: scaleY(0.35); }
  50%      { transform: scaleY(1); }
}
@keyframes wmbFloat {
  0%, 100% { transform: translateY(0); }
  50%      { transform: translateY(-8px); }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; }
}

/* Static legal / support pages — same palette, simpler typography */
.doc-page {
  max-width: 760px;
  margin: 0 auto;
  padding: 80px 28px 120px;
  position: relative;
  z-index: 1;
}
.doc-page .doc-nav {
  display: flex; align-items: center; gap: 10px;
  font-size: 14px; color: var(--ink-mute);
  margin-bottom: 56px;
}
.doc-page .doc-nav a { display: inline-flex; align-items: center; gap: 8px; color: var(--ink); font-weight: 500; }
.doc-page .doc-nav a:hover { color: var(--coral); }
.doc-page h1 { font-size: clamp(40px, 6vw, 64px); margin-bottom: 8px; }
.doc-page .doc-meta { color: var(--ink-mute); font-size: 14px; margin-bottom: 36px; }
.doc-page h2 { font-size: clamp(24px, 3vw, 32px); margin: 48px 0 12px; letter-spacing: -0.02em; }
.doc-page h3 { font-size: 18px; margin: 28px 0 8px; }
.doc-page p, .doc-page li { font-size: 16px; line-height: 1.65; color: var(--ink-2); }
.doc-page p + p, .doc-page p + ul, .doc-page p + ol { margin-top: 14px; }
.doc-page ul, .doc-page ol { padding-left: 24px; margin: 12px 0; }
.doc-page li { margin: 6px 0; }
.doc-page strong { color: var(--ink); }
.doc-page a { color: var(--coral); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.doc-page hr { border: none; border-top: 1px solid var(--hair); margin: 48px 0; }
.doc-page blockquote {
  margin: 20px 0; padding: 18px 22px;
  background: rgba(255, 251, 241, 0.55);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-radius: 18px;
  border-left: 3px solid var(--coral);
  color: var(--ink-2);
  font-size: 15px;
}
.doc-page table { width: 100%; border-collapse: collapse; margin: 16px 0; font-size: 14px; }
.doc-page th, .doc-page td { text-align: left; padding: 10px 12px; border-bottom: 1px solid var(--hair); vertical-align: top; }
.doc-page th { font-weight: 600; color: var(--ink); }
.doc-page code { font-family: var(--font-mono); font-size: 13px; background: rgba(232, 115, 44, 0.10); padding: 2px 6px; border-radius: 4px; }
.doc-page .doc-footer {
  margin-top: 80px;
  padding-top: 24px;
  border-top: 1px solid var(--hair);
  font-size: 13px;
  color: var(--ink-mute);
  display: flex; gap: 22px; flex-wrap: wrap;
}
.doc-page .doc-footer a { color: var(--ink); text-decoration: none; }
.doc-page .doc-footer a:hover { color: var(--coral); }

/* Smaller heroes for very narrow screens */
@media (max-width: 720px) {
  .doc-page { padding: 56px 20px 80px; }
}
