/* Shared look for the Terms, Privacy, Credits, and Welcome pages. */
:root {
  color-scheme: dark;
  --velvet: #160e13;
  --velvet-glow: #2d1a22;
  --panel: #1f161c;
  --seam: #3d2a34;
  --seam-soft: #2a1d24;
  --pearl: #f6ede8;
  --mauve: #c0abb2;
  --dim: #9c8790;
  --rose: #e8ad97;
  --rose-deep: #b9715f;
  --rose-pale: #f8ddd0;
  --ink: #2b1219;
  --foil: linear-gradient(118deg, var(--rose-pale) 0%, var(--rose) 34%, var(--rose-deep) 64%, var(--rose-pale) 100%);
  --font-display: "Playfair Display", Georgia, "Times New Roman", serif;
  --font-script: "Great Vibes", "Snell Roundhand", "Apple Chancery", cursive;
  --logo-rose: #e0a48d;
  --font-body: "Jost", "Futura", "Avenir Next", "Segoe UI", system-ui, sans-serif;
  --font-mono: "DM Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;
}
* { box-sizing: border-box; }
html { background: var(--velvet); }
body {
  margin: 0;
  background: radial-gradient(1100px 620px at 80% -10%, var(--velvet-glow), transparent 62%), var(--velvet);
  color: var(--pearl);
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.65;
  font-variant-numeric: lining-nums;
  -webkit-font-smoothing: antialiased;
}
a { color: var(--rose); text-underline-offset: 3px; }
a:hover { color: var(--rose-pale); }
:focus-visible { outline: 2px solid var(--rose); outline-offset: 3px; border-radius: 4px; }
.page { max-width: 760px; margin: 0 auto; padding: 22px 16px 72px; }
.top { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 20px; padding-bottom: 16px; border-bottom: 1px solid var(--seam); }
.wordmark { display: block; line-height: 0; }
.wordmark img { display: block; width: auto; height: 36px; }
.top nav { display: flex; flex-wrap: wrap; gap: 6px 18px; font-size: 14px; }
.top nav a { color: var(--mauve); }
.top nav a[aria-current="page"] { color: var(--rose); }
h1 { margin: 36px 0 4px; font-family: var(--font-display); font-weight: 500; font-size: clamp(34px, 6vw, 48px); line-height: 1.1; }
.effective { margin: 0 0 28px; font-family: var(--font-mono); font-size: 13px; color: var(--dim); }
.lead { font-size: 18px; color: var(--pearl); }
h2 { margin: 34px 0 8px; font-family: var(--font-display); font-weight: 500; font-size: 23px; }
p, li { color: var(--mauve); }
ul { padding-left: 20px; }
li { margin: 4px 0; }
strong { color: var(--pearl); font-weight: 500; }
.card { margin: 18px 0; padding: 16px 18px; border: 1px solid var(--seam-soft); border-radius: 14px; background: var(--panel); }
.card h3 { margin: 0 0 4px; font-family: var(--font-display); font-style: italic; font-weight: 400; font-size: 21px; color: var(--rose); }
.card p { margin: 4px 0; font-size: 15px; }
.meta { font-family: var(--font-mono); font-size: 12.5px; color: var(--dim); }
.button { display: inline-block; margin-top: 10px; padding: 11px 22px; border-radius: 999px; background: var(--foil); color: var(--ink); font-weight: 550; text-decoration: none; }
.button:hover { color: var(--ink); filter: brightness(1.06); }
.note { margin-top: 40px; padding-top: 16px; border-top: 1px solid var(--seam-soft); font-size: 13px; color: var(--dim); }

/* About page */
.page-wide { max-width: 1000px; }
.about { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: 28px 48px; align-items: center; margin-top: 40px; }
.eyebrow { margin: 0 0 10px; font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--rose); }
.about-title { margin: 0 0 18px; font-family: var(--font-display); font-weight: 500; font-size: clamp(36px, 5vw, 50px); line-height: 1.1; color: var(--pearl); }
.about-title em { font-family: var(--font-script); font-style: normal; font-weight: 400; font-size: 1.3em; line-height: 0.8; color: var(--logo-rose); }
.about-copy p:not(.eyebrow) { margin: 0 0 14px; font-size: 17px; line-height: 1.7; }
.about-photo { margin: 0; justify-self: end; width: min(100%, 380px); }
.about-photo img { display: block; width: 100%; height: auto; border: 1px solid var(--seam); border-radius: 14px; box-shadow: 0 18px 44px rgba(9, 4, 7, 0.45); }
.credits { margin-top: 22px; font-size: 13.5px; line-height: 1.6; color: var(--dim); }
.credits summary { width: fit-content; cursor: pointer; color: var(--mauve); }
.credits summary:hover { color: var(--pearl); }
.about-copy .credits p { margin: 10px 0 0; font-size: 13.5px; line-height: 1.6; color: var(--dim); }
.about-copy p.about-fine { margin: 18px 0 0; font-size: 13px; line-height: 1.6; color: var(--dim); }
.about-cta { margin-top: 36px; }
@media (max-width: 760px) {
  .about { grid-template-columns: minmax(0, 1fr); margin-top: 28px; }
  .about-photo { order: -1; justify-self: start; width: min(100%, 340px); }
}

/* Help guide */
.toc { margin: 22px 0 8px; padding: 16px 20px; border: 1px solid var(--seam-soft); border-radius: 14px; background: var(--panel); }
.toc p { margin: 0 0 6px; font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--dim); }
.toc ol { margin: 0; padding-left: 20px; columns: 2; column-gap: 36px; }
.toc li { margin: 3px 0; break-inside: avoid; }
@media (max-width: 560px) { .toc ol { columns: 1; } }
h2[id] { scroll-margin-top: 18px; }
h3 { margin: 22px 0 4px; font-size: 17px; font-weight: 500; color: var(--pearl); }
h3 + p { margin-top: 0; }
ol.steps { padding-left: 22px; }
ol.steps li { margin: 6px 0; }
.ui { color: var(--pearl); font-weight: 500; }
.tip { margin: 16px 0; padding: 12px 16px; border-left: 2px solid var(--rose); border-radius: 0 10px 10px 0; background: rgba(232, 173, 151, 0.07); color: var(--pearl); }
