/* Shared look for the plain pages (contact, privacy, SMS terms, terms). Same tokens as the home page. */
:root {
  color-scheme: dark;
  --space: #060912; --night: #0b1222; --ink: #e9eef6; --dim: #98a6bb;
  --aurora: #7df0b8; --violet: #b7a2ff; --ember: #ffb066;
  --line: rgba(233, 238, 246, .14);
  --display: "Unbounded", "Avenir Next", "Segoe UI", system-ui, sans-serif;
  --body: "Albert Sans", "Avenir Next", "Segoe UI", system-ui, sans-serif;
  --mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;
  --gutter-l: max(16px, env(safe-area-inset-left, 0px));
  --gutter-r: max(16px, env(safe-area-inset-right, 0px));
}
* { box-sizing: border-box; }
[hidden] { display: none !important; }
html, body { background: var(--space); color: var(--ink); }
body { margin: 0; font: 400 1.0625rem/1.6 var(--body); -webkit-font-smoothing: antialiased; }
a { color: var(--aurora); }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 2px solid var(--aurora); outline-offset: 3px; }
h1, h2, h3 { font-family: var(--display); font-weight: 500; line-height: 1.12; letter-spacing: -.01em; text-wrap: balance; margin: 0; }
h1 { font-size: clamp(1.9rem, 6vw, 3rem); }
h2 { font-size: 1.15rem; margin-top: 2rem; }
p, ul { margin: 0; }
.wrap { padding-left: var(--gutter-l); padding-right: var(--gutter-r); }
.col { max-width: 42rem; margin-inline: auto; display: grid; gap: 1rem; }
.mono { font-family: var(--mono); font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; color: var(--dim); }
.dim { color: var(--dim); }
.top { display: flex; justify-content: space-between; align-items: center; padding-block: 18px; border-bottom: 1px solid var(--line); }
.top a.home { font-family: var(--display); font-size: 1rem; color: var(--ink); text-decoration: none; }
.top a.book { display: inline-flex; align-items: center; min-height: 44px; padding: 0 18px; border-radius: 999px; background: var(--aurora); color: #041a10; font-weight: 600; text-decoration: none; }
main { padding-block: 40px 64px; }
.legal p, .legal li { color: #cdd6e3; }
.legal ul { padding-left: 1.2rem; display: grid; gap: .35rem; }
.legal h2 { color: var(--ink); }
.foot { border-top: 1px solid var(--line); padding-block: 24px 40px; font-size: .9rem; color: var(--dim); }
.foot .row { max-width: 42rem; margin-inline: auto; display: flex; flex-wrap: wrap; gap: 8px 20px; }
.foot a { color: var(--dim); }
.btn { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 22px; border-radius: 999px; font: 600 1rem/1 var(--body); text-decoration: none; border: 1px solid transparent; cursor: pointer; }
.btn-primary { background: var(--aurora); color: #041a10; }
.btn-quiet { background: transparent; color: var(--ink); border-color: var(--line); }
