:root, [data-theme="light"] {
  --text-xs: clamp(0.75rem, 0.7rem + 0.25vw, 0.875rem);
  --text-sm: clamp(0.875rem, 0.8rem + 0.35vw, 1rem);
  --text-base: clamp(1rem, 0.95rem + 0.25vw, 1.125rem);
  --text-lg: clamp(1.125rem, 1rem + 0.75vw, 1.5rem);
  --text-xl: clamp(1.5rem, 1.2rem + 1.25vw, 2.25rem);
  --text-2xl: clamp(2rem, 1.2rem + 2.5vw, 3.5rem);
  --space-1: 0.25rem; --space-2: 0.5rem; --space-3: 0.75rem; --space-4: 1rem; --space-5: 1.25rem; --space-6: 1.5rem; --space-8: 2rem; --space-10: 2.5rem; --space-12: 3rem; --space-16: 4rem; --space-20: 5rem;
  --color-bg:#f7f6f2; --color-surface:#f9f8f5; --color-surface-2:#fbfbf9; --color-surface-offset:#f3f0ec; --color-border:#d4d1ca; --color-divider:#dcd9d5;
  --color-text:#28251d; --color-text-muted:#5f5d58; --color-text-faint:#8b8983; --color-text-inverse:#f9f8f4;
  --color-primary:#01696f; --color-primary-hover:#0c4e54; --color-primary-highlight:#cedcd8;
  --radius-sm:0.375rem; --radius-md:0.5rem; --radius-lg:0.75rem; --radius-xl:1rem; --radius-full:9999px;
  --shadow-sm:0 1px 2px rgba(18,18,18,.06); --shadow-md:0 10px 30px rgba(18,18,18,.08);
  --content-narrow:720px; --content-default:1040px;
  --font-body:'General Sans','Inter',sans-serif; --font-display:'Cabinet Grotesk','Inter',sans-serif;
  --transition-interactive:180ms cubic-bezier(.16,1,.3,1);
}
[data-theme="dark"] {
  --color-bg:#171614; --color-surface:#1c1b19; --color-surface-2:#201f1d; --color-surface-offset:#22201d; --color-border:#393836; --color-divider:#262523;
  --color-text:#e5e2dc; --color-text-muted:#b2aea7; --color-text-faint:#8a867f; --color-text-inverse:#171614;
  --color-primary:#4f98a3; --color-primary-hover:#227f8b; --color-primary-highlight:#313b3b;
  --shadow-sm:0 1px 2px rgba(0,0,0,.2); --shadow-md:0 12px 32px rgba(0,0,0,.35);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:none;text-size-adjust:none;scroll-behavior:smooth;scroll-padding-top:5rem}
body{min-height:100vh;font-family:var(--font-body);font-size:var(--text-base);line-height:1.65;color:var(--color-text);background:var(--color-bg)}
a,button{transition:color var(--transition-interactive),background var(--transition-interactive),border-color var(--transition-interactive),box-shadow var(--transition-interactive)}
a{color:inherit;text-decoration:none} button{cursor:pointer;border:none;background:none;color:inherit}
:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px;border-radius:var(--radius-sm)}
.skip-link{position:absolute;left:var(--space-4);top:-3rem;background:var(--color-primary);color:var(--color-text-inverse);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);z-index:1000}.skip-link:focus{top:var(--space-4)}
.container{width:min(calc(100% - 2rem),var(--content-default));margin-inline:auto}.narrow{width:min(calc(100% - 2rem),var(--content-narrow));margin-inline:auto}
.site-header{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--color-bg) 88%,transparent);backdrop-filter:blur(14px);border-bottom:1px solid color-mix(in srgb,var(--color-text) 10%,transparent)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) 0}.brand{display:flex;align-items:center;gap:var(--space-3);font-weight:700}.brand-mark{width:2.25rem;height:2.25rem;border-radius:0.7rem;background:linear-gradient(135deg,var(--color-primary),color-mix(in srgb,var(--color-primary) 58%,white));display:grid;place-items:center;color:var(--color-text-inverse);box-shadow:var(--shadow-sm)}
.brand svg{width:1.3rem;height:1.3rem}.header-actions{display:flex;align-items:center;gap:var(--space-2)}.nav-toggle,.theme-toggle{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border:1px solid color-mix(in srgb,var(--color-text) 11%,transparent);border-radius:var(--radius-md);background:var(--color-surface)}
.primary-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--color-surface);border-bottom:1px solid color-mix(in srgb,var(--color-text) 10%,transparent)}.primary-nav[data-open="true"]{display:block}.primary-nav ul{list-style:none;display:grid;gap:1px;background:var(--color-divider)}.primary-nav a{display:block;padding:var(--space-4);background:var(--color-surface-2);font-size:var(--text-sm);font-weight:600}
.hero,.page-hero{padding:clamp(var(--space-10),8vw,var(--space-20)) 0 var(--space-12)}
.eyebrow{display:inline-flex;gap:var(--space-2);align-items:center;padding:0.4rem 0.75rem;border-radius:var(--radius-full);background:var(--color-primary-highlight);color:var(--color-primary);font-size:var(--text-xs);font-weight:700;letter-spacing:.04em;text-transform:uppercase}
h1,h2,h3{font-family:var(--font-display);line-height:1.08;letter-spacing:-.02em} h1{font-size:var(--text-2xl);max-width:13ch;margin-top:var(--space-5)} h2{font-size:var(--text-xl);margin-bottom:var(--space-4)} h3{font-size:var(--text-lg)}
.hero-grid,.section-grid,.cards,.grid-3,.faq-layout{display:grid;gap:var(--space-6)} .lede{margin-top:var(--space-5);max-width:68ch;color:var(--color-text-muted)}
.hero-card,.card,details,.cta{padding:var(--space-6);background:var(--color-surface);border:1px solid color-mix(in srgb,var(--color-text) 9%,transparent);border-radius:var(--radius-xl)} .hero-card{box-shadow:var(--shadow-md)}
section{padding:var(--space-12) 0;border-top:1px solid color-mix(in srgb,var(--color-text) 8%,transparent)} .kicker{font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.05em;color:var(--color-primary);font-weight:700;margin-bottom:var(--space-3)}
.rich,.faq-group,.meta-list{display:grid;gap:var(--space-4)} .meta-list{list-style:none;margin-top:var(--space-5)} .meta-list li{display:flex;gap:var(--space-3);align-items:flex-start;font-size:var(--text-sm);color:var(--color-text-muted)} .meta-dot{width:.7rem;height:.7rem;border-radius:50%;background:var(--color-primary);margin-top:.45rem;flex:none}
.card p,.rich p,.rich li,details p{color:var(--color-text-muted)} .rich ul{padding-left:1.1rem;display:grid;gap:var(--space-3)}
.breadcrumb{font-size:var(--text-sm);color:var(--color-text-faint);margin-top:var(--space-4)} .breadcrumb ol{list-style:none;display:flex;flex-wrap:wrap;gap:var(--space-2)} .breadcrumb li+li::before{content:'/';margin-right:var(--space-2);color:var(--color-text-faint)}
.faq-cats{display:flex;flex-wrap:wrap;gap:var(--space-2)} .pill{display:inline-flex;align-items:center;min-height:44px;padding:0.6rem 0.9rem;border-radius:var(--radius-full);border:1px solid color-mix(in srgb,var(--color-text) 10%,transparent);background:var(--color-surface-2);font-size:var(--text-sm);font-weight:600}
summary{cursor:pointer;list-style:none;font-weight:700;padding-right:2rem;position:relative;min-height:44px;display:flex;align-items:center} summary::-webkit-details-marker{display:none} summary::after{content:'+';position:absolute;right:0;top:50%;transform:translateY(-50%);font-size:1.25rem;color:var(--color-primary)} details[open] summary::after{content:'–'} details p{padding-top:var(--space-3)}
.cta{background:var(--color-primary);color:var(--color-text-inverse)} .cta p{color:color-mix(in srgb,var(--color-text-inverse) 82%,transparent)}
.site-footer{padding:var(--space-8) 0 var(--space-12);color:var(--color-text-faint)} .footer-grid{display:grid;gap:var(--space-4)}
@media (min-width:860px){.nav-toggle{display:none}.primary-nav{display:block !important;position:static;background:transparent;border:0}.primary-nav ul{display:flex;gap:var(--space-2);background:transparent}.primary-nav a{padding:.75rem .9rem;background:transparent;border-radius:var(--radius-md)}.hero-grid{grid-template-columns:1.4fr .9fr;align-items:start}.section-grid{grid-template-columns:1fr 1fr}.cards{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.faq-layout{grid-template-columns:280px 1fr;align-items:start}.faq-cats{position:sticky;top:6rem;display:grid}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms !important;animation-duration:.01ms !important}}
