
/* Local system fonts keep these legal/support pages independent of remote font requests. */
body { --display: ui-rounded, "Avenir Next", system-ui, sans-serif; --body: "Avenir Next", system-ui, sans-serif; --mono: ui-monospace, monospace; }
.legal { max-width: 1000px; padding-bottom: 4rem; }
.legal p, .legal li { max-width: 74ch; color: #33373c; }
.legal p + p { margin-top: 1rem; }
.legal h2 { font-size: clamp(1.35rem,3vw,1.75rem); margin: 2.5rem 0 1rem; }
.table-scroll { overflow-x:auto; margin:1.5rem 0; }
.legal table { border-collapse:collapse; width:100%; min-width:580px; }
.legal th, .legal td { padding:.8rem; border-bottom:1px solid var(--line); text-align:left; vertical-align:top; }
.legal caption { text-align:left; margin-bottom:1rem; font-weight:600; }
.legal details { margin:1.2rem 0; }
.legal summary { cursor:pointer; font-weight:600; }
.legal h3 { font-size: 1.15rem; margin-bottom: .8rem; }
.legal ul { padding-left: 1.4rem; margin: 1rem 0; }
.legal li + li { margin-top: .5rem; }
.description { margin-top: 1.1rem; font-size: 1.1rem; }
.effective { margin-top: .8rem; font-size: .875rem; color: #5b605b; }
.eyebrow { font-size: .875rem; margin-bottom: 1rem; }
.nav-links a, .brand { font-size: .875rem; }
.legal-nav, .document-links { display:flex; flex-wrap:wrap; gap: .8rem 1.4rem; margin-top: 1.4rem; }
.legal-nav a { padding-block: .4rem; }
[aria-current=page] { font-weight:700; }
.notice { padding: 1rem 1.2rem; border-left:3px solid var(--groei); background: var(--groei-soft); margin-top: 1.5rem; }
.intro-grid { display:grid; grid-template-columns: 1fr 240px; gap: 3rem; align-items:start; margin-top:2.5rem; }
.intro-grid h2 { margin-top:0; }
.app-screen { width:100%; height:auto; border:1px solid #d2d7d3; border-radius: 1.5rem; box-shadow:0 12px 35px #152b1917; }
.plans { display:grid; grid-template-columns:repeat(2,1fr); gap:1.2rem; margin:1.5rem 0; max-width:650px; }
.plans > div { padding:1.5rem; border:1px solid var(--line); border-radius:14px; background:white; }
.price { font-size:2rem; font-weight:650; }.price span { font-size:1rem; font-weight:400; }
.skip { position:absolute; left:1rem; top:-8rem; z-index:100; background:white; padding:1rem; }.skip:focus { top:1rem; }
a:focus-visible { outline:3px solid var(--groei); outline-offset:4px; }
footer p { font-size:.9rem; } footer p + p { margin-top:.7rem; }
@media(max-width:650px) { .intro-grid { grid-template-columns:1fr; gap:2rem; }.app-screen { max-width:260px; justify-self:center; }.plans { grid-template-columns:1fr; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
