
:root {
  --bg: #ffffff; --surface: #ffffff; --surface-2: #f6f5f8; --surface-3: #e9e7ef;
  --ink: #302f39; --mute: #655e77; --mute-2: #655e77; --line: #e4e0e9; --line-strong: #d2cbdc;
  --primary: #4f485f; --primary-2: #4f485f; --primary-hover: #40394f; --primary-soft: #e9e7ef;
  --ok: #0f8477; --ok-soft: #e3f8f6; --warn: #a56900; --warn-soft: #faf1e0; --bad: #d34247; --bad-soft: #fce9ea;
  --focus: #655e77; --dark: #332e40; --dark-card: #40394f; --on-dark: #ffffff; --on-dark-muted: #ded9e8; --on-dark-utility: #c6bfd3;
  --radius-sm: 6px; --radius-md: 9px; --radius-lg: 12px; --radius-xl: 16px;
  --shadow-soft: 0 14px 40px rgba(51,46,64,.1); --shadow-cta: none;
  --background: #fff; --foreground: #302f39; --card: #fff; --card-foreground: #302f39;
  --popover: #fff; --popover-foreground: #302f39; --secondary: #f6f5f8; --secondary-foreground: #302f39;
  --muted: #655e77; --muted-foreground: #655e77; --accent: #4f485f; --accent-foreground: #4f485f;
  --destructive: #d34247; --border: #e4e0e9; --input: #d2cbdc; --ring: #4f485f;
}
:where(html:not(.fi)) * { box-sizing: border-box; }
html:not(.fi) { scroll-behavior: smooth; }
:where(html:not(.fi)) body { margin: 0; background: var(--bg); color: var(--ink); font-family: var(--font-sans); -webkit-font-smoothing: antialiased; }
:where(html:not(.fi)) a { color: inherit; text-decoration: none; }
:where(html:not(.fi)) button, :where(html:not(.fi)) input { font: inherit; }

:root { --paper:var(--bg); --annotation:var(--surface-2); --danger:var(--bad); --display: var(--font-sans); --body: var(--font-sans); --code: var(--font-sans); --space-1:.375rem; --space-2:.75rem; --space-3:1.25rem; --space-4:2rem; --space-5:3.5rem; --space-6:6rem; --radius:var(--radius-md); --measure:72.5rem; }
:where(html:not(.fi)) button, :where(html:not(.fi)) input, :where(html:not(.fi)) textarea, :where(html:not(.fi)) select { font:inherit; }
:where(html:not(.fi)) button, :where(html:not(.fi)) a, :where(html:not(.fi)) input, :where(html:not(.fi)) textarea, :where(html:not(.fi)) select { -webkit-tap-highlight-color:transparent; }
:where(html:not(.fi)) button { cursor:pointer; }
:where(html:not(.fi)) img { max-width:100%; height:auto; }
:where(html:not(.fi)) h1, :where(html:not(.fi)) h2, :where(html:not(.fi)) h3, :where(html:not(.fi)) p { margin-top:0; }
:where(html:not(.fi)) h1, :where(html:not(.fi)) h2 { font-family: var(--font-sans); font-weight:500; line-height:1.2; letter-spacing:-.035em; }
:where(html:not(.fi)) h1 { font-size:clamp(2rem,4vw,3.6rem); }
:where(html:not(.fi)) h2 { font-size:clamp(1.5rem,2.5vw,2.1rem); }
:where(html:not(.fi)) h3 { font-size:1.2rem; line-height:1.35; }

.page-content { min-height:65vh; padding-block:3rem; line-height:1.65; overflow-wrap:anywhere; }
.page-content a { color:var(--primary); text-decoration:underline; text-underline-offset:.2em; }
.page-content h1 { max-width:32ch; }
.page-content h2 { margin-top:2rem; }
.page-content p { max-width:75ch; }
.page-content form { max-width:42rem; }
.page-content form:not(.flex) { display:grid; gap:1rem; }
.page-content label { display:block; }
.page-content input:not([type=hidden]):not([type=checkbox]),.page-content select,.page-content textarea { width:100%; min-width:0; padding:.8rem; border:1px solid var(--line-strong); border-radius:var(--radius-md); background:var(--surface); color:var(--ink); }
.page-content .error,.page-content [role=alert] { color:var(--danger); }
.legal-title { margin-block:0 2rem; }
.legal-document { white-space:pre-wrap; overflow-wrap:anywhere; max-width:56rem; padding-bottom:3rem; }
.section-description { max-width:48rem; color:var(--mute); }
.section-heading { margin-block-end:var(--space-4); }
@media(max-width:40rem) { .page-content { padding-block:2rem; } }
.page-content .portal-controls { margin-block:1.5rem; }
