/* =========================================================
   RadarWerkt — gedeelde stylesheet
   Kleuren: alleen --rw-* (overgenomen uit de homepage-embed).
   ========================================================= */

/* ---------- FONTS (lokaal) ---------- */
@font-face { font-family: 'Jost'; font-style: normal; font-weight: 300 500; font-display: swap; src: url('/assets/fonts/jost-latin.woff2') format('woff2'); }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 400 600; font-display: swap; src: url('/assets/fonts/inter-latin.woff2') format('woff2'); }

/* ---------- HUISSTIJL ---------- */
:root {
  --rw-plum-900: #24101B;
  --rw-plum-800: #331624;
  --rw-plum-700: #4A2131;
  --rw-plum-600: #5C2C3E;
  --rw-goud: #DFB57C;
  --rw-goud-licht: #F0D6A6;
  --rw-goud-diep: #A8763A;
  --rw-goud-midden: #C9954D;   /* stond als losse waarde in de embed (radarkern) */
  --rw-creme: #FBF7F3;
  --rw-zand: #F1E7DC;
  --rw-tekst: #2E2027;
  --rw-tekst-zacht: #5E4C55;
  --rw-tekst-licht: #EFE3DC;
  --rw-wit: #fff;              /* stond als losse waarde in de embed */
  --rw-font-kop: 'Jost', 'Century Gothic', sans-serif;
  --rw-font-tekst: 'Inter', -apple-system, 'Segoe UI', sans-serif;
  --rw-max: 1180px;
  --rw-kolom: 760px;
  --rw-radius: 4px;
  --rw-radius-knop: 12px;
  --rw-radius-kaart: 16px;
  --rw-radius-pil: 999px;

  /* afgeleid: transparante varianten van de huisstijlkleuren */
  --rw-goud-08: color-mix(in srgb, var(--rw-goud) 8%, transparent);
  --rw-goud-14: color-mix(in srgb, var(--rw-goud) 14%, transparent);
  --rw-goud-24: color-mix(in srgb, var(--rw-goud) 24%, transparent);
  --rw-goud-40: color-mix(in srgb, var(--rw-goud) 40%, transparent);
  --rw-goud-55: color-mix(in srgb, var(--rw-goud) 55%, transparent);
  --rw-plum-06: color-mix(in srgb, var(--rw-plum-700) 6%, transparent);
  --rw-plum-12: color-mix(in srgb, var(--rw-plum-700) 12%, transparent);
  --rw-plum-20: color-mix(in srgb, var(--rw-plum-700) 20%, transparent);
  --rw-plum-35: color-mix(in srgb, var(--rw-plum-700) 35%, transparent);
  --rw-schaduw: 0 18px 48px color-mix(in srgb, var(--rw-plum-900) 14%, transparent);
  --rw-schaduw-klein: 0 8px 22px color-mix(in srgb, var(--rw-plum-900) 12%, transparent);
  --rw-schaduw-diep: 0 26px 60px color-mix(in srgb, var(--rw-plum-900) 45%, transparent);

  --rw-sec-y: 128px;
  --rw-gutter: 28px;
  --rw-header-h: 84px;
  --rw-sweep-tijd: 10s;
  --rw-in-tijd: 520ms;
}

/* ---------- BASIS ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--rw-header-h) + 12px); -webkit-text-size-adjust: 100%; }
body { margin: 0; font-family: var(--rw-font-tekst); font-size: 17px; line-height: 1.75; color: var(--rw-tekst); background: var(--rw-creme); -webkit-font-smoothing: antialiased; overflow-x: clip; }
img, svg { display: block; max-width: 100%; }
picture { display: block; }
a { color: inherit; text-decoration: none; }
ul { margin: 0; padding: 0; list-style: none; }
p { margin: 0 0 1.15em; color: var(--rw-tekst-zacht); }
button { font: inherit; }
:focus-visible { outline: 2px solid var(--rw-plum-700); outline-offset: 3px; border-radius: 4px; }
.rw-donker :focus-visible, .rw-footer :focus-visible { outline-color: var(--rw-goud); }

.rw-skip { position: absolute; left: 16px; top: -60px; z-index: 100; background: var(--rw-plum-800); color: var(--rw-wit); padding: 10px 18px; border-radius: var(--rw-radius-pil); transition: top .2s ease; }
.rw-skip:focus { top: 12px; }

.rw-wrap { max-width: calc(var(--rw-max) + 2 * var(--rw-gutter)); margin: 0 auto; padding: 0 var(--rw-gutter); position: relative; z-index: 2; }
.rw-sec { position: relative; padding: var(--rw-sec-y) 0; overflow: hidden; }
.rw-licht { background: var(--rw-creme); }
.rw-zand { background: var(--rw-zand); }
.rw-donker { background: var(--rw-plum-800); color: var(--rw-tekst-licht); }

/* ---------- TYPOGRAFIE ---------- */
.rw-kicker { font-family: var(--rw-font-kop); font-size: 0.74rem; letter-spacing: 0.28em; text-transform: uppercase; color: var(--rw-goud); margin: 0 0 22px; font-weight: 400; line-height: 1.6; }
.rw-kicker-donker { color: var(--rw-goud-diep); }
.rw-h1 { font-family: var(--rw-font-kop); font-weight: 300; font-size: clamp(2.3rem, 4.6vw, 3.7rem); line-height: 1.12; letter-spacing: -0.015em; color: var(--rw-wit); margin: 0 0 28px; }
.rw-h1-accent { display: inline-block; margin-top: 10px; font-size: 0.62em; line-height: 1.3; color: var(--rw-goud-licht); }
.rw-vet { font-weight: 500; }
.rw-h2 { font-family: var(--rw-font-kop); font-weight: 300; font-size: clamp(1.75rem, 3.2vw, 2.6rem); line-height: 1.22; letter-spacing: -0.01em; color: var(--rw-plum-700); margin: 0 0 26px; }
.rw-h2-licht { color: var(--rw-wit); }
.rw-h3 { font-family: var(--rw-font-kop); font-weight: 400; font-size: clamp(1.45rem, 2.2vw, 1.8rem); line-height: 1.25; color: var(--rw-goud-licht); margin: 0 0 14px; }
.rw-lead { font-size: 1.09rem; line-height: 1.75; color: var(--rw-tekst-licht); max-width: 620px; margin: 0 0 30px; }
.rw-tekst { max-width: 640px; }
.rw-cta-zin { font-family: var(--rw-font-kop); font-size: 1.2rem; line-height: 1.55; color: var(--rw-plum-700); margin: 34px 0 0; max-width: 560px; padding-left: 22px; border-left: 2px solid var(--rw-goud); }

/* ---------- KNOPPEN (pil) ---------- */
.rw-knop, .rw-knop-ghost { display: inline-flex; align-items: center; justify-content: center; gap: 12px; font-family: var(--rw-font-tekst); font-weight: 600; font-size: 0.97rem; line-height: 1.3; padding: 15px 30px; border-radius: var(--rw-radius-pil); cursor: pointer; white-space: nowrap; transition: background .22s ease, border-color .22s ease, color .22s ease, transform .22s ease, box-shadow .22s ease; }
.rw-knop { background: var(--rw-goud); color: var(--rw-plum-900); border: 1px solid var(--rw-goud); box-shadow: var(--rw-schaduw-klein); }
.rw-knop:hover { background: var(--rw-goud-licht); border-color: var(--rw-goud-licht); transform: translateY(-2px); }
.rw-knop-ghost { background: transparent; color: var(--rw-goud-licht); font-weight: 500; border: 1px solid var(--rw-goud-55); }
.rw-knop-ghost:hover { border-color: var(--rw-goud); background: var(--rw-goud-08); transform: translateY(-2px); }
.rw-ghost-donker { color: var(--rw-plum-700); border-color: var(--rw-plum-35); }
.rw-ghost-donker:hover { background: var(--rw-plum-06); border-color: var(--rw-plum-700); }
.rw-knop-klein { padding: 11px 22px; font-size: 0.9rem; }
.rw-knop-groot { padding: 19px 42px; font-size: 1.05rem; box-shadow: var(--rw-schaduw-diep); }
.rw-knoppen { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; }

/* ---------- HEADER ---------- */
.rw-header { position: sticky; top: 0; z-index: 50; background: var(--rw-plum-900); border-bottom: 1px solid var(--rw-goud-14); }
.rw-header :focus-visible { outline-color: var(--rw-goud); }
.rw-header-in { display: flex; align-items: center; justify-content: space-between; gap: 24px; height: var(--rw-header-h); }
.rw-header-logo img { width: 104px; height: auto; }
.rw-nav { display: flex; align-items: center; gap: 32px; }
.rw-nav-lijst { display: flex; gap: 28px; }
.rw-nav-lijst a { position: relative; white-space: nowrap; font-size: 0.95rem; font-weight: 500; color: var(--rw-tekst-licht); padding: 6px 0; transition: color .2s ease; }
.rw-nav-lijst a:hover { color: var(--rw-goud-licht); }
.rw-nav-lijst a::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: var(--rw-goud); transform: scaleX(0); transform-origin: left; transition: transform .25s ease; }
.rw-nav-lijst a:hover::after, .rw-nav-lijst a[aria-current="page"]::after { transform: scaleX(1); }
.rw-menu-knop { display: none; width: 46px; height: 46px; border: 1px solid var(--rw-goud-40); border-radius: 50%; background: transparent; cursor: pointer; position: relative; }
.rw-menu-knop span { position: absolute; left: 13px; right: 13px; height: 1.5px; background: var(--rw-goud-licht); transition: transform .25s ease, opacity .2s ease; }
.rw-menu-knop span:nth-child(1) { top: 16px; }
.rw-menu-knop span:nth-child(2) { top: 22px; }
.rw-menu-knop span:nth-child(3) { top: 28px; }
.rw-menu-knop[aria-expanded="true"] span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.rw-menu-knop[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.rw-menu-knop[aria-expanded="true"] span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

/* ---------- RADAR SWEEP (gedeeld) ---------- */
@keyframes rwSchuif { from { transform: translateX(-75%); } to { transform: translateX(75%); } }
@keyframes rwSweep { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }

.rw-radar-sweep { position: absolute; inset: 2%; border-radius: 50%; background: conic-gradient(from 0deg, var(--rw-goud-55) 0deg, var(--rw-goud-24) 24deg, transparent 62deg, transparent 360deg); -webkit-mask-image: radial-gradient(closest-side, var(--rw-plum-900) 0%, var(--rw-plum-900) 55%, transparent 100%); mask-image: radial-gradient(closest-side, var(--rw-plum-900) 0%, var(--rw-plum-900) 55%, transparent 100%); will-change: transform; }

/* ---------- 1 HERO ---------- */
.rw-hero { background: radial-gradient(120% 100% at 20% 0%, var(--rw-plum-700) 0%, var(--rw-plum-900) 72%); padding: 112px 0 128px; }
.rw-hero-grid { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(0, 0.88fr); gap: 72px; align-items: center; }
.rw-hero-copy { max-width: var(--rw-kolom); }
.rw-kicker-onder { color: var(--rw-goud-licht); margin: 0 0 26px; }
.rw-hero-beeld { display: flex; justify-content: center; }
.rw-cirkelfoto-hero { width: min(480px, 100%); }
.rw-cirkelfoto-hero .rw-cirkelfoto-beeld { box-shadow: var(--rw-schaduw-diep); }
.rw-cirkelfoto-hero .rw-bogen path { stroke: var(--rw-goud); }
.rw-cirkelfoto-hero .rw-bogen circle { fill: var(--rw-goud); }

/* ---------- 2 HERKENNING (radar links, tekst rechts) ---------- */
.rw-herk-grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 64px; align-items: center; }
.rw-herk .rw-radar { justify-self: end; }
.rw-herk-copy { position: relative; z-index: 2; max-width: var(--rw-kolom); }
.rw-kicker-vraag { margin: 40px 0 8px; }
.rw-herk-sub { font-size: 0.97rem; margin: 0 0 22px; }
.rw-signalen { display: flex; flex-wrap: wrap; gap: 10px; }
.rw-signaal { display: inline-flex; align-items: center; gap: 12px; text-align: left; cursor: pointer; background: var(--rw-wit); border: 1px solid var(--rw-plum-12); border-radius: var(--rw-radius-pil); padding: 10px 20px 10px 12px; font-size: 0.95rem; line-height: 1.35; color: var(--rw-plum-700); transition: background .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease, color .2s ease; }
.rw-signaal:hover { border-color: var(--rw-plum-35); transform: translateY(-1px); box-shadow: var(--rw-schaduw-klein); }
.rw-signaal:active { transform: scale(0.98); }
.rw-vink { position: relative; width: 22px; height: 22px; flex: none; border-radius: 50%; border: 1px solid var(--rw-plum-35); transition: background .2s ease, border-color .2s ease; }
.rw-vink::after { content: ''; position: absolute; left: 7px; top: 3.5px; width: 5px; height: 10px; border: solid var(--rw-plum-900); border-width: 0 1.8px 1.8px 0; transform: rotate(45deg) scale(0.4); opacity: 0; transition: transform .2s ease, opacity .2s ease; }
.rw-signaal[aria-pressed="true"] { background: var(--rw-plum-700); border-color: var(--rw-plum-700); color: var(--rw-wit); box-shadow: var(--rw-schaduw-klein); }
.rw-signaal[aria-pressed="true"] .rw-vink { background: var(--rw-goud); border-color: var(--rw-goud); }
.rw-signaal[aria-pressed="true"] .rw-vink::after { opacity: 1; transform: rotate(45deg) scale(1); }
.rw-signaal-uitkomst { margin: 28px 0 0; max-width: 620px; color: var(--rw-plum-700); border-left: 2px solid var(--rw-goud); padding: 4px 0 4px 20px; opacity: 0; transform: translateY(6px); transition: opacity .35s ease, transform .35s ease; min-height: 1px; }
.rw-signaal-uitkomst.rw-toon { opacity: 1; transform: none; }
.rw-signaal-uitkomst strong { color: var(--rw-plum-800); font-weight: 600; }

.rw-radar { position: relative; width: 560px; aspect-ratio: 1; justify-self: start; pointer-events: none; }
.rw-radar svg { position: absolute; inset: 0; width: 100%; height: 100%; fill: none; }
.rw-radar svg circle, .rw-radar svg line { stroke: var(--rw-plum-700); stroke-width: 0.6; opacity: 0.12; }
.rw-radar svg circle:nth-child(1) { opacity: 0.07; }
.rw-radar svg line { opacity: 0.06; }
.rw-radar .rw-radar-halo-kern { fill: var(--rw-goud); stroke: none; opacity: 0.35; }
.rw-radar .rw-radar-kern { fill: var(--rw-goud-midden); stroke: none; opacity: 1; }
.rw-radar-punten { position: absolute; inset: 0; }
.rw-radar-dot { position: absolute; width: 12px; height: 12px; margin: -6px 0 0 -6px; border-radius: 50%; background: var(--rw-goud-diep); box-shadow: 0 0 0 4px var(--rw-goud-24); opacity: 0; transform: scale(0.3); transition: opacity .35s ease, transform .35s ease; }
.rw-radar-dot.rw-aan { opacity: 1; transform: scale(1); }
.rw-radar-halo { position: absolute; inset: -14px; border-radius: 50%; border: 1px solid var(--rw-goud-diep); opacity: 0; }
.rw-radar-dot.rw-ping .rw-radar-halo { animation: rwPing 1.2s ease-out 1; }
@keyframes rwPing { 0% { opacity: 0.9; transform: scale(0.3); } 100% { opacity: 0; transform: scale(2.2); } }

/* ---------- SCHUINE / GEBOGEN RANDEN ---------- */
.rw-schuin { --rw-schuin: 72px; clip-path: polygon(0 var(--rw-schuin), 100% 0, 100% calc(100% - var(--rw-schuin)), 0 100%); margin: calc(var(--rw-schuin) * -1) 0; padding: calc(var(--rw-sec-y) + var(--rw-schuin)) 0; z-index: 3; }

/* ---------- 3 HET GAT ---------- */
.rw-gat { background: var(--rw-plum-800); }
.rw-gat-inner { text-align: center; }
.rw-quote { font-family: var(--rw-font-kop); font-weight: 300; font-size: clamp(1.6rem, 3vw, 2.45rem); line-height: 1.35; color: var(--rw-wit); max-width: 900px; margin: 0 auto; letter-spacing: -0.005em; }
.rw-quote em { font-style: normal; color: var(--rw-goud); }
.rw-band { max-width: var(--rw-kolom); margin: 64px auto 0; padding-top: 34px; }
.rw-band-lijn { position: relative; height: 2px; background: var(--rw-goud-24); border-radius: 2px; }
.rw-band-vlak { position: absolute; left: 30%; width: 40%; top: -23px; height: 48px; background: linear-gradient(90deg, var(--rw-goud-14), var(--rw-goud-40)); border-radius: var(--rw-radius); box-shadow: inset 0 0 0 1px var(--rw-goud-40); transform-origin: center; }
.rw-band-punt { position: absolute; top: 50%; width: 13px; height: 13px; border-radius: 50%; background: var(--rw-tekst-licht); transform: translateY(-50%); }
.rw-band-start { left: 0; }
.rw-band-eind { right: 0; background: var(--rw-goud); }
.rw-band-labels { display: flex; justify-content: space-between; gap: 12px; margin-top: 24px; font-family: var(--rw-font-kop); font-size: 0.8rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--rw-tekst-licht); }
.rw-band-mid { color: var(--rw-goud); }

/* ---------- FOTO'S IN DE RADARVORM ---------- */
.rw-cirkelfoto { position: relative; width: min(440px, 100%); aspect-ratio: 1; }
.rw-cirkelfoto-beeld { position: absolute; inset: 7%; border-radius: 50%; overflow: hidden; box-shadow: var(--rw-schaduw); }
.rw-cirkelfoto-beeld img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.rw-bogen { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; fill: none; }
.rw-bogen path { stroke: var(--rw-goud-diep); stroke-width: 0.7; stroke-linecap: round; opacity: 0.7; }
.rw-bogen circle { fill: var(--rw-goud-diep); }

/* ---------- 3B BRUG ---------- */
.rw-brug { padding-top: calc(var(--rw-sec-y) + 40px); }
.rw-brug-grid { display: grid; grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr); gap: 80px; align-items: center; }
.rw-cirkelfoto-brug .rw-cirkelfoto-beeld img { object-position: 30% center; }

/* ---------- 5 DE DRIE ONDERDELEN ---------- */
.rw-onderdelen { background: var(--rw-plum-800); }
.rw-onderdelen-kop { max-width: 640px; margin: 0 auto 88px; text-align: center; }
.rw-onderdeel { display: grid; grid-template-columns: 330px minmax(0, 440px); justify-content: center; align-items: center; gap: 80px; }
.rw-onderdeel + .rw-onderdeel { margin-top: 104px; }
.rw-onderdeel-2 { grid-template-columns: minmax(0, 440px) 330px; }
.rw-onderdeel-2 .rw-boog { order: 2; }
.rw-onderdeel-tekst { max-width: 440px; }
.rw-onderdeel-tekst p { color: var(--rw-tekst-licht); margin-bottom: 26px; }

.rw-boog { position: relative; width: 100%; max-width: 330px; aspect-ratio: 4 / 5; justify-self: center; margin-top: 44px; }
.rw-boog-foto { position: absolute; inset: 0; overflow: hidden; border-radius: 50% 50% var(--rw-radius-kaart) var(--rw-radius-kaart) / 40% 40% var(--rw-radius-kaart) var(--rw-radius-kaart); box-shadow: var(--rw-schaduw-diep); }
.rw-boog-foto img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.rw-onderdeel:hover .rw-boog-foto img { transform: scale(1.03); }
/* ringen tellen op: 1 = De Binnenring, 2 = De Onderstroom, 3 = Onder de Radar */
.rw-boog-ring { position: absolute; left: calc(var(--rw-d) * -1); right: calc(var(--rw-d) * -1); top: calc(var(--rw-d) * -1); aspect-ratio: 1; border-radius: 50%; border: 1px solid var(--rw-goud-40); clip-path: inset(0 0 50% 0); pointer-events: none; }
.rw-boog-ring:nth-child(1) { --rw-d: 16px; }
.rw-boog-ring:nth-child(2) { --rw-d: 32px; border-color: var(--rw-goud-24); }
.rw-boog-ring:nth-child(3) { --rw-d: 48px; border-color: var(--rw-goud-14); }

/* ---------- 6 KIJK ---------- */
.rw-kijk-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr); gap: 80px; align-items: center; }
.rw-kijk-tekst .rw-tekst { margin-bottom: 30px; }
.rw-cirkelfoto-kijk { justify-self: end; width: min(460px, 100%); }
.rw-cirkelfoto-kijk .rw-cirkelfoto-beeld img { object-position: 50% 30%; }

/* ---------- 7 LOGO'S ---------- */
.rw-logos-sec { padding: 104px 0; }
.rw-logos-kop { text-align: center; margin-bottom: 36px; color: var(--rw-plum-600); }
.rw-logos-rij { position: relative; display: flex; align-items: center; gap: 12px; }
.rw-logos-track { flex: 1 1 auto; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 26px 56px; min-width: 0; }
.rw-logo { flex: 0 0 auto; height: 72px; display: flex; align-items: center; justify-content: center; }
.rw-logo img { max-width: 150px; max-height: 52px; width: auto; height: auto; mix-blend-mode: multiply; }
.rw-logo-tegel img { border-radius: 3px; }
.rw-logos-nav, .rw-logos-dots { display: none; }
.rw-logos-nav { flex: none; width: 38px; height: 38px; padding: 0; border-radius: 50%; border: 1px solid var(--rw-plum-20); background: var(--rw-creme); color: var(--rw-plum-700); font-family: var(--rw-font-kop); font-size: 1.15rem; line-height: 1; cursor: pointer; align-items: center; justify-content: center; transition: background .2s ease, border-color .2s ease, opacity .2s ease; }
.rw-logos-nav:hover { background: var(--rw-wit); border-color: var(--rw-plum-35); }
.rw-logos-nav[disabled] { opacity: 0.3; cursor: default; }
.rw-logos-dots { justify-content: center; gap: 9px; margin: 22px 0 0; }
.rw-logos-dot { width: 8px; height: 8px; padding: 0; border: none; border-radius: 50%; background: var(--rw-plum-20); cursor: pointer; transition: background .2s ease, transform .2s ease; }
.rw-logos-dot[aria-current="true"] { background: var(--rw-goud-diep); transform: scale(1.3); }

/* ---------- 8 SLOT ---------- */
.rw-slot { background: radial-gradient(90% 120% at 50% 0%, var(--rw-plum-700) 0%, var(--rw-plum-900) 70%); text-align: center; padding: 144px 0; }
.rw-slot-inner > * { max-width: var(--rw-kolom); margin-left: auto; margin-right: auto; }
.rw-slot .rw-lead { margin: 0 auto 40px; }
.rw-slot-radar { position: absolute; left: 50%; top: 50%; width: 980px; aspect-ratio: 1; transform: translate(-50%, -50%); opacity: 0.55; pointer-events: none; z-index: 1; }
.rw-slot-radar svg { width: 100%; height: 100%; fill: none; }
.rw-slot-radar circle { stroke: var(--rw-goud); stroke-width: 0.35; opacity: 0.35; }
.rw-radar-sweep-licht { background: conic-gradient(from 0deg, var(--rw-goud-24) 0deg, var(--rw-goud-08) 30deg, transparent 70deg, transparent 360deg); }

/* ---------- FOOTER ---------- */
.rw-footer { background: var(--rw-plum-900); color: var(--rw-tekst-licht); padding: 72px 0 44px; }
.rw-footer-in { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 28px; }
.rw-footer-socials { display: flex; justify-content: center; gap: 14px; }
.rw-icoon-lijn { fill: none !important; stroke: currentColor; stroke-width: 1.8; }
.rw-icoon-lijn .rw-icoon-vol { fill: currentColor; stroke: none; }
.rw-footer-nav ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 30px; }
.rw-footer-nav a { color: var(--rw-tekst-licht); font-size: 0.95rem; transition: color .2s ease; }
.rw-footer-nav a:hover { color: var(--rw-goud); }
.rw-footer-social { width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--rw-goud-40); display: flex; align-items: center; justify-content: center; color: var(--rw-goud); transition: background .2s ease, border-color .2s ease; }
.rw-footer-social:hover { background: var(--rw-goud-14); border-color: var(--rw-goud); }
.rw-footer-social svg { width: 17px; height: 17px; fill: currentColor; }
.rw-footer-onder { width: 100%; display: flex; flex-direction: column; align-items: center; gap: 6px; padding-top: 26px; border-top: 1px solid var(--rw-goud-14); }
.rw-footer-onder p { margin: 0; font-size: 0.86rem; color: var(--rw-tekst-licht); }
.rw-footer-onder .rw-footer-juridisch { font-size: 0.76rem; color: color-mix(in srgb, var(--rw-tekst-licht) 62%, var(--rw-plum-900)); }
.rw-footer-onder a { text-decoration: underline; text-underline-offset: 3px; }
.rw-footer-onder a:hover { color: var(--rw-goud); }

/* ---------- COOKIEMELDING ---------- */
.rw-cookie { position: fixed; left: 24px; bottom: 24px; z-index: 80; max-width: 440px; background: var(--rw-creme); border: 1px solid var(--rw-plum-12); border-radius: var(--rw-radius-kaart); box-shadow: var(--rw-schaduw); padding: 22px 24px; }
.rw-cookie[hidden] { display: none; }
.rw-cookie p { font-size: 0.86rem; line-height: 1.6; margin: 0 0 16px; color: var(--rw-tekst); }
.rw-cookie-knoppen { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; }
.rw-cookie-link { font-size: 0.86rem; color: var(--rw-plum-700); text-decoration: underline; text-underline-offset: 3px; }

/* ---------- INHOUDSPAGINA (o.a. cookiebeleid) ---------- */
.rw-pagina-kop { background: radial-gradient(120% 100% at 20% 0%, var(--rw-plum-700) 0%, var(--rw-plum-900) 72%); padding: 96px 0 120px; }
.rw-pagina-kop::after { content: ''; position: absolute; left: -10%; right: -10%; bottom: -1px; height: 64px; background: var(--rw-creme); border-radius: 50% 50% 0 0 / 100% 100% 0 0; z-index: 1; }
.rw-pagina-kop .rw-h1 { margin: 0; }
.rw-doc { max-width: var(--rw-kolom); padding-top: 64px; }
.rw-doc h2 { font-family: var(--rw-font-kop); font-weight: 400; font-size: 1.5rem; line-height: 1.3; color: var(--rw-plum-700); margin: 48px 0 14px; }
.rw-doc h3 { font-family: var(--rw-font-kop); font-weight: 500; font-size: 1.15rem; color: var(--rw-plum-700); margin: 30px 0 10px; }
.rw-doc a { color: var(--rw-plum-700); text-decoration: underline; text-underline-offset: 3px; }
.rw-doc ul { margin: 0 0 1.15em; }
.rw-doc li { position: relative; padding-left: 32px; margin-bottom: 10px; color: var(--rw-tekst-zacht); }
.rw-doc li::before { content: ''; position: absolute; left: 4px; top: 0.5em; width: 5px; height: 10px; border: solid var(--rw-goud-diep); border-width: 0 1.8px 1.8px 0; transform: rotate(45deg); }
.rw-doc-intro { font-size: 0.95rem; }
.rw-tabel { width: 100%; border-collapse: collapse; margin: 8px 0 24px; font-size: 0.92rem; }
.rw-tabel th, .rw-tabel td { text-align: left; padding: 12px 14px 12px 0; border-bottom: 1px solid var(--rw-plum-12); vertical-align: top; color: var(--rw-tekst-zacht); }
.rw-tabel th { font-weight: 600; color: var(--rw-plum-700); }
.rw-tabel-wrap { overflow-x: auto; }

/* ---------- BINNENKOMEN TIJDENS SCROLLEN ---------- */
@media (prefers-reduced-motion: no-preference) {
  .rw-js [data-rw-in] { opacity: 0; transform: translateY(16px); transition: opacity var(--rw-in-tijd) ease, transform var(--rw-in-tijd) ease; transition-delay: calc(var(--rw-i, 0) * 80ms); }
  .rw-js [data-rw-in].rw-in { opacity: 1; transform: none; }
  .rw-band-vlak { animation: rwSchuif 7s ease-in-out infinite alternate; }
  .rw-pauze .rw-band-vlak { animation-play-state: paused; }

  .rw-draait { animation: rwSweep var(--rw-sweep-tijd) linear infinite; }
  .rw-pauze .rw-draait { animation-play-state: paused; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: 0.01ms !important; animation: none !important; }
}

/* ---------- RESPONSIVE ---------- */
@media (max-width: 1240px) {
  .rw-nav { gap: 22px; }
  .rw-nav-lijst { gap: 20px; }
  .rw-radar { width: 480px; }
}

@media (max-width: 1120px) {
  :root { --rw-header-h: 76px; }
  .rw-header-logo img { width: 90px; }
  .rw-menu-knop { display: block; }
  .rw-nav { position: absolute; left: 0; right: 0; top: 100%; flex-direction: column; align-items: stretch; gap: 20px; background: var(--rw-plum-900); border-bottom: 1px solid var(--rw-goud-14); box-shadow: var(--rw-schaduw-diep); padding: 12px var(--rw-gutter) 28px; display: none; }
  .rw-nav.rw-open { display: flex; }
  .rw-nav-lijst { flex-direction: column; gap: 0; }
  .rw-nav-lijst a { display: block; padding: 14px 0; font-size: 1.05rem; border-bottom: 1px solid var(--rw-goud-14); }
  .rw-nav-lijst a::after { display: none; }
  .rw-nav-lijst a[aria-current="page"] { color: var(--rw-goud); }
  .rw-nav .rw-knop { align-self: flex-start; }
}

@media (max-width: 900px) {
  :root { --rw-sec-y: 76px; --rw-gutter: 22px; }
  .rw-hero { padding: 64px 0 76px; }
  .rw-hero-grid, .rw-herk-grid, .rw-brug-grid, .rw-kijk-grid,
  .rw-onderdeel, .rw-onderdeel-2 { grid-template-columns: minmax(0, 1fr); gap: 44px; }
  .rw-cirkelfoto-hero { width: min(320px, 78vw); margin: 16px 0 0; }
  .rw-herk { padding-top: 64px; }
  .rw-herk-grid { position: relative; }
  .rw-radar { position: absolute; top: -40px; right: -140px; width: 380px; opacity: 0.55; z-index: 0; }
  .rw-schuin { --rw-schuin: 40px; }
  .rw-brug-grid .rw-cirkelfoto { justify-self: center; width: min(340px, 86%); }
  .rw-cirkelfoto-kijk { justify-self: center; width: min(340px, 86%); }
  .rw-onderdelen-kop { margin-bottom: 52px; }
  .rw-onderdeel + .rw-onderdeel { margin-top: 80px; }
  .rw-onderdeel-2 .rw-boog { order: 0; }
  .rw-boog { max-width: 290px; }
  .rw-onderdeel-tekst { max-width: none; }
  .rw-band-labels { font-size: 0.66rem; letter-spacing: 0.08em; }
  .rw-band-labels span { flex: 1; }
  .rw-band-mid { text-align: center; }
  .rw-band-labels span:last-child { text-align: right; }

  /* logo's: met de hand scrollen */
  .rw-logos-sec { padding: 72px 0; }
  .rw-logos-track { flex-wrap: nowrap; justify-content: flex-start; gap: 34px; overflow-x: auto; scroll-snap-type: x proximity; scroll-behavior: smooth; scrollbar-width: none; padding: 4px 2px;
    -webkit-mask-image: linear-gradient(to right, transparent 0, var(--rw-plum-900) 22px, var(--rw-plum-900) calc(100% - 22px), transparent 100%); mask-image: linear-gradient(to right, transparent 0, var(--rw-plum-900) 22px, var(--rw-plum-900) calc(100% - 22px), transparent 100%); }
  .rw-logos-track::-webkit-scrollbar { display: none; }
  .rw-logo { scroll-snap-align: center; height: 64px; }
  .rw-logo img { max-width: 128px; max-height: 46px; }
  .rw-logos-nav { display: flex; }
  .rw-logos-dots { display: flex; }

  .rw-slot { padding: 96px 0; }
  .rw-slot-radar { width: 640px; }
}

@media (max-width: 560px) {
  :root { --rw-gutter: 20px; }
  body { font-size: 16px; }
  .rw-kicker { letter-spacing: 0.2em; }
  .rw-knoppen .rw-knop, .rw-knoppen .rw-knop-ghost, .rw-slot .rw-knop { width: 100%; justify-content: center; }
  .rw-knop-groot { padding: 17px 22px 17px 28px; }
  .rw-knop, .rw-knop-ghost { white-space: normal; }
  .rw-signalen li { flex: 1 1 100%; display: flex; }
  .rw-signaal { flex: 1; }
  .rw-boog { max-width: 260px; }
  .rw-cookie { left: 12px; right: 12px; bottom: 12px; max-width: none; padding: 18px; }
  .rw-cookie p { font-size: 0.82rem; }
}
