/* RSG Apply platformpagina's (rsgapply.nl/, /privacy). Eigen, rustige stijl: zelfde tokens
   als cv.css, zodat de homepage en de cv-pagina's als één platform lezen. Geen build. */
:root { --accent:#1544F2; --accent-ink:#ffffff; --ink:#0A0A0D; --mute:#6b6b70; --bg:#F4F3EF; --paper:#ffffff; --line:#E6E4DE; --radius:16px; --max:1040px; }
* { box-sizing:border-box; margin:0; }
html { scroll-behavior:smooth; }
body { font:16px/1.6 Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; background:var(--bg); color:var(--ink); -webkit-font-smoothing:antialiased; }
a { color:var(--accent); }
.wrap { max-width:var(--max); margin:0 auto; padding:0 20px; }

/* kop */
.hdr { position:sticky; top:0; z-index:10; background:color-mix(in srgb, var(--bg) 88%, transparent); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); border-bottom:1px solid var(--line); }
.hdr .wrap { display:flex; align-items:center; justify-content:space-between; height:64px; }
.wm { font-weight:800; letter-spacing:-.02em; font-size:1.15rem; color:var(--ink); text-decoration:none; display:inline-flex; align-items:center; gap:8px; }
.wm i { width:10px; height:10px; border-radius:3px; background:var(--accent); display:inline-block; }
.wm span { color:var(--accent); font-weight:600; }
nav a { color:var(--mute); text-decoration:none; font-size:.95rem; margin-left:22px; font-weight:500; }
nav a:hover { color:var(--ink); }

/* hero */
.hero { padding:72px 0 56px; }
.kicker { font-size:.78rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--accent); margin-bottom:14px; }
h1 { font-size:clamp(2.1rem, 5.2vw, 3.4rem); line-height:1.08; letter-spacing:-.03em; max-width:16ch; }
.lead { font-size:1.15rem; color:var(--mute); max-width:56ch; margin-top:18px; }
.btns { display:flex; gap:12px; flex-wrap:wrap; margin-top:28px; }
.btn { display:inline-flex; align-items:center; gap:8px; padding:14px 22px; border-radius:12px; font-weight:700; text-decoration:none; background:var(--accent); color:var(--accent-ink); transition:filter .15s, transform .05s; }
.btn:hover { filter:brightness(1.06); } .btn:active { transform:translateY(1px); }
.btn.ghost { background:var(--paper); color:var(--ink); border:1px solid var(--line); }
.note { margin-top:36px; background:var(--paper); border:1px solid var(--line); border-left:4px solid var(--accent); border-radius:var(--radius); padding:18px 22px; max-width:640px; }
.note b { display:block; margin-bottom:4px; }

/* secties */
section { padding:56px 0; }
section + section { border-top:1px solid var(--line); }
h2 { font-size:clamp(1.5rem, 3vw, 2rem); letter-spacing:-.02em; line-height:1.15; margin-bottom:10px; }
.sub { color:var(--mute); max-width:60ch; }
.grid { display:grid; gap:18px; margin-top:28px; grid-template-columns:repeat(auto-fit, minmax(240px, 1fr)); }
.card { background:var(--paper); border:1px solid var(--line); border-radius:var(--radius); padding:24px; }
.card .n { width:36px; height:36px; border-radius:10px; background:color-mix(in srgb, var(--accent) 12%, #fff); color:var(--accent); display:grid; place-items:center; font-weight:800; margin-bottom:14px; }
.card h3 { font-size:1.1rem; margin-bottom:6px; letter-spacing:-.01em; }
.card p { color:var(--mute); font-size:.97rem; }
.split { display:grid; gap:28px; grid-template-columns:1.2fr 1fr; align-items:center; }
.checks { list-style:none; margin-top:18px; display:grid; gap:10px; }
.checks li { padding-left:30px; position:relative; }
.checks li::before { content:"✓"; position:absolute; left:0; top:2px; width:22px; height:22px; border-radius:7px; background:color-mix(in srgb, var(--accent) 12%, #fff); color:var(--accent); display:grid; place-items:center; font-size:.8rem; font-weight:800; }
@media (max-width:760px) { .split { grid-template-columns:1fr; } .hero { padding:48px 0 40px; } nav a { margin-left:14px; font-size:.9rem; } nav a:first-child { display:none; } }

/* voet */
footer { border-top:1px solid var(--line); padding:28px 0 40px; color:var(--mute); font-size:.85rem; }
footer .wrap { display:flex; flex-wrap:wrap; gap:8px 18px; align-items:center; justify-content:space-between; }
footer a { color:var(--mute); }

/* privacy-prose */
.prose { max-width:720px; padding:48px 0 72px; }
.prose h1 { font-size:clamp(1.9rem, 4vw, 2.6rem); max-width:none; }
.prose h2 { font-size:1.35rem; margin:40px 0 8px; }
.prose h3 { font-size:1.08rem; margin:24px 0 6px; }
.prose p { margin:.6em 0; }
.prose ul { padding-left:20px; margin:.4em 0; }
.prose li { margin:4px 0; }
.prose .updated { color:var(--mute); font-size:.9rem; margin-bottom:28px; }
.prose .box { background:var(--paper); border:1px solid var(--line); border-radius:var(--radius); padding:18px 22px; margin:18px 0; }
.prose table { width:100%; border-collapse:collapse; font-size:.95rem; margin:.6em 0; }
.prose th, .prose td { text-align:left; padding:9px 10px; border-bottom:1px solid var(--line); vertical-align:top; }
.prose th { color:var(--mute); font-weight:600; width:38%; }
.prose hr { border:0; border-top:1px solid var(--line); margin:44px 0; }
