/* ---------- Self-hosted fonts (woff2, latin+latin-ext) ---------- */
@font-face{font-family:'DM Sans';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/dm-sans-400.woff2') format('woff2');}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/dm-sans-500.woff2') format('woff2');}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/dm-sans-600.woff2') format('woff2');}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/dm-sans-700.woff2') format('woff2');}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:800;font-display:swap;src:url('fonts/dm-sans-800.woff2') format('woff2');}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:900;font-display:swap;src:url('fonts/dm-sans-900.woff2') format('woff2');}
@font-face{font-family:'DM Sans';font-style:italic;font-weight:900;font-display:swap;src:url('fonts/dm-sans-italic-900.woff2') format('woff2');}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/jetbrains-mono-400.woff2') format('woff2');}
/* PlafondPartners gedeelde stijl - Fase 0 consolidatie. Visueel identiek aan inline-origineel. */

:root{ --green-900:#0F1F12;--green-800:#1A2E1A;--green-700:#264a2c; --gold-500:#C8A04A;--gold-400:#D7B468;--gold-300:#E5CB8C; --cream-50:#F7F4EC;--cream-100:#F2EFE6;--cream-200:#EBE6D7; --warm-300:#D8D0C3;--ink-900:#121715;--ink-700:#2A302D; --ink-500:#5A5F5C;--ink-400:#807E78; --line:rgba(18,23,21,.12);--line-strong:rgba(18,23,21,.22); --line-on-green:rgba(247,244,236,.14); --radius:2px;--container:1280px;--gutter:clamp(20px,4vw,40px); }
body{font-family:'DM Sans',system-ui,sans-serif;background:var(--cream-100);color:var(--ink-700);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}
::selection{background:var(--gold-500);color:var(--green-900)}
.skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;}
.skip-link:focus{position:fixed;top:0;left:0;z-index:9999;width:auto;height:auto;overflow:visible;padding:12px 20px;background:var(--gold-500);color:var(--green-900);font-weight:700;font-size:14px;}
.wrap{max-width:var(--container);margin:0 auto;padding:0 var(--gutter)}
h1,h2,h3{font-family:'DM Sans',system-ui,sans-serif;font-weight:900;letter-spacing:-0.02em;line-height:1.04;color:var(--ink-900);margin:0;}
h1 em,h2 em,h3 em{font-style:italic;font-weight:900;color:var(--gold-500);letter-spacing:-0.025em}
.eyebrow{font-family:'DM Sans',sans-serif;font-weight:700;font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-500);display:inline-flex;align-items:center;}
.btn{display:inline-flex;align-items:center;gap:10px;padding:16px 22px;border-radius:999px;font-family:'DM Sans',sans-serif;font-weight:700;font-size:14px;letter-spacing:.08em;text-transform:uppercase;line-height:1;transition:transform .15s ease,background .2s ease,color .2s ease,border-color .2s ease;white-space:nowrap;}
.btn:active{transform:translateY(1px)}
.btn-primary{background:var(--gold-500);color:var(--green-900)}
.btn-primary:hover{background:var(--gold-400)}
.btn-outline{border:1px solid var(--line-strong);color:var(--ink-900)}
.btn-outline:hover{background:var(--ink-900);color:var(--cream-100);border-color:var(--ink-900)}
.btn-ghost-on-green{border:1px solid var(--line-on-green);color:var(--cream-50)}
.btn-ghost-on-green:hover{background:rgba(255,255,255,.08)}
.cookie-banner{position:fixed;bottom:0;left:0;right:0;z-index:200;background:var(--green-900);color:var(--cream-100);padding:16px var(--gutter) calc(16px + env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.1);box-shadow:0 -4px 32px rgba(0,0,0,.35);}
.cookie-banner p{margin:0;font-size:14px;color:rgba(247,244,236,.85);flex:1;min-width:200px;line-height:1.5}
.cookie-banner a{color:var(--gold-300);text-decoration:underline}
.cookie-btns{display:flex;gap:10px;flex-shrink:0;flex-wrap:wrap;align-items:center}
.cookie-banner .btn{padding:10px 18px;font-size:12px}
.topbar{background:var(--green-900);color:var(--cream-100);font-size:12.5px;letter-spacing:.02em}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;gap:16px;height:36px}
.topbar .left{display:flex;align-items:center;gap:8px}
.topbar .dot{width:6px;height:6px;border-radius:50%;background:var(--gold-500);box-shadow:0 0 0 4px rgba(200,160,74,.18)}
.topbar .right{display:none;gap:20px}
.topbar a:hover{color:var(--gold-300)}
header.site{position:sticky;top:0;z-index:40;background:rgba(242,239,230,.92);backdrop-filter:saturate(140%) blur(10px);-webkit-backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid var(--line);}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;height:74px}
.logo img{height:42px;width:auto}
nav.primary{display:none;gap:28px;font-family:'DM Sans',sans-serif;font-weight:500;font-size:16px;color:var(--ink-700)}
nav.primary a{position:relative;padding:6px 0}
nav.primary a:hover{color:var(--green-800)}
.nav-dropdown{position:relative}
.nav-dropdown>a{display:flex;align-items:center;gap:5px;cursor:default}
.nav-dropdown>a::after{content:"";width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid currentColor;margin-top:2px;transition:transform .2s}
.nav-dropdown:hover>a::after,.nav-dropdown:focus-within>a::after{transform:rotate(180deg)}
.nav-dropdown-menu{position:absolute;top:calc(100% + 10px);left:-16px;background:var(--cream-50);border:1px solid var(--line);border-radius:6px;min-width:230px;display:none;flex-direction:column;z-index:50;box-shadow:0 8px 32px -4px rgba(0,0,0,.14);}
.nav-dropdown-menu::before{content:"";position:absolute;top:-10px;left:0;right:0;height:10px;}
.nav-dropdown:hover .nav-dropdown-menu,.nav-dropdown:focus-within .nav-dropdown-menu{display:flex}
.nav-dropdown-menu a{padding:12px 18px;font-size:14px;color:var(--ink-700);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;font-weight:500}
.nav-dropdown-menu a:first-child{border-radius:5px 5px 0 0}
.nav-dropdown-menu a:last-child{border-bottom:none;border-radius:0 0 5px 5px}
.nav-dropdown-menu a:hover{background:var(--cream-100);color:var(--green-800)}
.nav-dropdown-menu .num-tag{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--gold-500)}
.header-cta{display:flex;align-items:center;gap:10px}
.header-cta .btn{padding:11px 16px;font-size:12px}
.menu-btn{width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--line-strong);border-radius:999px}
.menu-btn span{display:block;width:16px;height:1.5px;background:var(--ink-900);position:relative}
.menu-btn span::before,.menu-btn span::after{content:"";position:absolute;left:0;width:16px;height:1.5px;background:var(--ink-900)}
.menu-btn span::before{top:-5px}
.menu-btn span::after{top:5px}
.drawer{position:fixed;inset:0;z-index:60;background:var(--cream-100);transform:translateX(100%);transition:transform .35s cubic-bezier(.7,0,.2,1);display:flex;flex-direction:column;padding:20px var(--gutter) 24px;}
.drawer.open{transform:translateX(0)}
.drawer .top{display:flex;align-items:center;justify-content:space-between;height:48px}
.drawer .top img{height:36px;width:auto}
.drawer .close{width:40px;height:40px;border:1px solid var(--line-strong);border-radius:999px;display:grid;place-items:center;font-size:20px}
.drawer nav{display:flex;flex-direction:column;margin-top:20px;gap:2px}
.drawer nav a{font-family:'DM Sans',sans-serif;font-weight:800;font-size:28px;letter-spacing:-0.02em;color:var(--ink-900);padding:12px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;}
.drawer nav a.sub{font-size:18px;font-weight:600;padding:10px 0 10px 16px;color:var(--ink-500)}
.drawer nav a .num{font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--ink-400);font-weight:400}
.drawer .actions{margin-top:auto;display:grid;gap:10px}
footer.site{background:var(--green-900);color:rgba(247,244,236,.7);padding:64px 0 24px}
footer.site .grid{display:grid;grid-template-columns:1fr;gap:36px}
footer.site h4{font-family:'DM Sans',sans-serif;font-weight:700;font-size:13px;color:var(--cream-50);margin:0 0 14px;letter-spacing:.12em;text-transform:uppercase}
footer.site ul{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:14px}
footer.site a:hover{color:var(--gold-300)}
footer.site .brand-block img{height:40px;width:auto;display:block}
footer.site .brand-block p{font-size:14px;margin-top:18px;max-width:34ch;line-height:1.5;color:rgba(247,244,236,.6)}
.scale-display h1{font-size:clamp(44px,9vw,96px);line-height:.98;letter-spacing:-0.035em}
.scale-display h2{font-size:clamp(32px,5.4vw,56px);font-weight:800;letter-spacing:-0.025em;line-height:1.04}
.scale-display h3{font-size:clamp(20px,2.6vw,26px);font-weight:700;letter-spacing:-0.01em;line-height:1.18}
.scale-default h1{font-size:clamp(40px,8vw,80px);line-height:.98;letter-spacing:-0.035em}
.scale-default h2{font-size:clamp(30px,5vw,52px);font-weight:800;letter-spacing:-0.025em;line-height:1.06}
.scale-default h3{font-size:clamp(18px,2.4vw,24px);font-weight:700;letter-spacing:-0.01em;line-height:1.2}
.scale-legal h1{font-size:clamp(32px,6vw,60px);line-height:1;letter-spacing:-0.03em}
.scale-legal h2{font-size:clamp(20px,3vw,28px);font-weight:800;letter-spacing:-0.02em;margin-top:40px;margin-bottom:12px}
.scale-legal h3{font-size:18px;font-weight:700;margin-top:24px;margin-bottom:8px}
.apps{background:var(--cream-200)}
.app-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
@media(min-width:520px){.app-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:640px){.app-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.app-item{background:var(--cream-100);border:1px solid var(--line);border-radius:4px;padding:18px;display:flex;align-items:center;gap:12px;font-weight:600;font-size:15px;min-width:0;overflow-wrap:anywhere}
.app-item::before{content:"✓";color:var(--gold-500);font-weight:900;font-size:16px;flex-shrink:0}

/* ===== FAQ (gecentraliseerd, voorheen inline op inleg) ===== */
.faq-list{display:grid;gap:2px;margin-top:8px}
.faq-item{background:var(--cream-50);border:1px solid var(--line);border-radius:4px;overflow:hidden}
.faq-item summary{list-style:none;padding:20px 24px;font-weight:700;font-size:17px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;color:var(--ink-900)}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";font-size:22px;font-weight:400;color:var(--gold-500);flex-shrink:0;line-height:1;transition:transform .2s}
.faq-item[open] summary::after{transform:rotate(45deg)}
.faq-item[open] summary{border-bottom:1px solid var(--line)}
.faq-item .answer{padding:20px 24px;color:var(--ink-700);font-size:15px;line-height:1.65}
