/* ============================================================
   KLEUREN — PLACEHOLDER. Vervang door de echte merkkleuren.
   Alles verwijst naar deze variabelen.
   ============================================================ */
:root{
  --ink:#142540;          /* primair navy */
  --ink-soft:#41506b;     /* secundaire tekst */
  --paper:#FBFBF9;
  --surface:#FFFFFF;
  --surface-2:#EEF3F1;    /* zachte teal-tint sectie */
  --surface-3:#FBF4E8;    /* zachte warme tint sectie */
  --line:#E4E3DD;
  --line-blue:#C9D4E0;
  --accent:#2F8F77;       /* teal accent (helderder) */
  --accent-ink:#1E5C4C;
  --accent-soft:#E2F1EC;
  --cta:#E0922F;          /* warme hoofd-CTA */
  --cta-2:#C97619;
  --cta-soft:#FBE9D2;
  --radius:14px;
  --maxw:1140px;
  --font-display:"Lora",Georgia,serif;
  --font-body:"Hanken Grotesk",system-ui,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3{font-family:var(--font-display);font-weight:600;line-height:1.12;letter-spacing:-0.01em;color:var(--ink);margin:0}
p{margin:0}
a{color:inherit;text-decoration:none}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.eyebrow{font-family:var(--font-body);font-weight:600;font-size:13px;letter-spacing:0.08em;text-transform:uppercase;color:var(--accent)}
.btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-body);font-weight:600;font-size:16px;padding:13px 22px;border-radius:9px;border:1.5px solid transparent;cursor:pointer;white-space:nowrap;transition:transform .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease}
.btn:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.btn-cta{background:linear-gradient(135deg,var(--cta),var(--cta-2));color:#fff;box-shadow:0 8px 22px -10px rgba(224,146,47,.7)}
.btn-cta:hover{transform:translateY(-2px);box-shadow:0 12px 26px -10px rgba(224,146,47,.8)}
.btn-ghost{background:transparent;border-color:var(--ink);color:var(--ink)}
.btn-ghost:hover{background:var(--ink);color:#fff;transform:translateY(-1px)}
.btn-line{background:transparent;border-color:var(--line);color:var(--ink)}
.btn-line:hover{border-color:var(--ink)}

/* ---------- ANIMATIE ---------- */
@keyframes riseIn{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes drift{from{transform:translateX(-20px)}to{transform:translateX(40px)}}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
.anim{opacity:0;animation:riseIn .8s cubic-bezier(.2,.7,.2,1) forwards}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}

/* ---------- HEADER ---------- */
.topbar{position:fixed;top:0;left:0;right:0;z-index:60;transition:background .3s,box-shadow .3s,border-color .3s}
.topbar{background:transparent;border-bottom:1px solid transparent}
.topbar.scrolled{background:rgba(251,251,249,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);box-shadow:0 6px 24px -18px rgba(20,37,64,.5)}
.topbar-inner{display:flex;align-items:center;justify-content:space-between;height:74px;gap:24px}
.brand{display:flex;flex-direction:column;line-height:1}
.brand b{font-family:var(--font-display);font-weight:700;font-size:20px;letter-spacing:-0.02em;color:#fff;transition:color .3s}
.brand span{font-size:11px;letter-spacing:0.04em;color:rgba(255,255,255,.75);margin-top:3px;transition:color .3s}
.topbar.scrolled .brand b{color:var(--ink)}
.topbar.scrolled .brand span{color:var(--ink-soft)}
.nav{display:flex;align-items:center;gap:22px}
.navitem{position:relative}
.navitem.has-drop>a{display:inline-flex;align-items:center;gap:5px}
.drop{position:absolute;top:100%;left:-16px;margin-top:8px;min-width:236px;display:none;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 40px -22px rgba(20,37,64,.45);overflow:hidden;z-index:5}
.drop::before{content:"";position:absolute;top:-8px;left:0;right:0;height:8px}
.navitem.has-drop:hover .drop,.navitem.has-drop:focus-within .drop{display:block}
.nav .drop a{display:block;color:var(--ink-soft)!important;padding:11px 16px;font-size:14.5px;white-space:nowrap}
.nav .drop a:hover{background:var(--surface-2);color:var(--ink)!important}
.nav a{font-size:15px;font-weight:500;color:rgba(255,255,255,.88);white-space:nowrap;transition:color .15s}
.nav a:hover{color:#fff}
.topbar.scrolled .nav a{color:var(--ink-soft)}
.topbar.scrolled .nav a:hover{color:var(--ink)}
.nav a.special{color:#ffdca6}
.topbar.scrolled .nav a.special{color:var(--accent-ink)}
.topcta{display:flex;align-items:center;gap:14px}
.topbar .btn-cta{padding:6px 18px;font-size:15px;border-radius:8px;box-shadow:0 5px 14px -9px rgba(224,146,47,.55)}
.topbar .btn-cta:hover{transform:translateY(-1px)}
.phone{font-weight:600;font-size:15px;white-space:nowrap;color:#fff;transition:color .3s}
.topbar.scrolled .phone{color:var(--ink)}
.burger{display:none;background:none;border:none;cursor:pointer;padding:6px}
.burger span{display:block;width:24px;height:2px;background:#fff;margin:5px 0;transition:background .3s}
.topbar.scrolled .burger span{background:var(--ink)}

/* ---------- HERO BANNER ---------- */
.hero{position:relative;min-height:clamp(560px,80vh,720px);display:flex;align-items:center;overflow:hidden}
.hero-bg{position:absolute;inset:0;z-index:0}
.hero-bg svg,.hero-bg img{width:100%;height:100%;display:block}
.hero-bg img{object-fit:cover;object-position:center}
@media(max-width:600px){.hero-bg img{object-position:30% center}}
.hero-scrim{position:absolute;inset:0;z-index:1;background:
   linear-gradient(180deg,rgba(15,28,52,.55) 0%,rgba(15,28,52,0) 22%),
   linear-gradient(95deg,rgba(15,28,52,.85) 0%,rgba(15,28,52,.6) 40%,rgba(15,28,52,.15) 70%,rgba(15,28,52,0) 100%)}
.hero>.wrap{width:100%}
.hero-content{position:relative;z-index:2;color:#fff;padding:124px 0 60px;max-width:680px}
.hero-content .eyebrow{color:#ffd9a0}
.hero h1{font-size:clamp(36px,5.2vw,62px);color:#fff;text-shadow:0 2px 30px rgba(10,20,40,.35)}
.hero .lead{margin-top:20px;font-size:20px;color:rgba(255,255,255,.92);max-width:none}
.hero-doors{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:30px;max-width:none}
.door{display:flex;flex-direction:column;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.28);backdrop-filter:blur(7px);border-radius:var(--radius);padding:18px;transition:transform .18s,background .18s,border-color .18s}
.door:hover{transform:translateY(-3px);background:rgba(255,255,255,.18)}
.door.star{border-color:var(--cta);box-shadow:0 0 0 1px var(--cta)}
.door .dlabel{display:flex;align-items:center;gap:7px;font-family:var(--font-display);font-weight:600;font-size:18px;color:#fff}
.door small{display:block;color:rgba(255,255,255,.82);font-size:14px;margin-top:5px;line-height:1.45}
.door .arrow{margin-top:auto;padding-top:12px;font-weight:600;font-size:14px;color:#ffd9a0}
.tag{display:inline-block;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#3a2a08;background:var(--cta);border-radius:5px;padding:3px 8px;vertical-align:2px}
.cloud{animation:drift 26s ease-in-out infinite alternate}
.cloud2{animation:drift 34s ease-in-out infinite alternate}
.sun{transform-origin:center;animation:floaty 7s ease-in-out infinite}

/* ---------- TRUST STRIP ---------- */
.trust{background:var(--ink);color:#fff;position:relative;z-index:3}
.trust-inner{display:flex;flex-wrap:wrap;gap:10px 36px;justify-content:center;padding:18px 0;font-size:14.5px;font-weight:500}
.trust-inner span{display:inline-flex;align-items:center;gap:8px}
.trust .dot{width:6px;height:6px;border-radius:50%;background:var(--cta)}

/* ---------- SECTION ---------- */
.section{padding:88px 0}
.section.alt{background:var(--surface-2)}
.section.warm{background:var(--surface-3)}
.section-head{max-width:680px;margin-bottom:42px}
.section-head h2{font-size:clamp(27px,3.3vw,40px);margin-top:12px}
.section-head p{margin-top:14px;color:var(--ink-soft);font-size:18px}

/* ---------- AUDIENCES ---------- */
.aud{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.aud-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:34px;transition:transform .2s,box-shadow .2s}
.aud-card:hover{transform:translateY(-4px);box-shadow:0 24px 50px -30px rgba(20,37,64,.4)}
.aud-card.star{border:1.5px solid var(--accent);background:linear-gradient(180deg,var(--accent-soft),var(--surface) 55%)}
.aud-card h3{font-size:24px;margin-bottom:6px}
.aud-card .who{font-size:13px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--accent);margin-bottom:14px}
.aud-card.star .who{color:var(--accent-ink)}
.aud-card p{color:var(--ink-soft);margin-bottom:22px}
.aud-card .btn{font-size:15px;padding:11px 18px}

/* ---------- SERVICES ---------- */
.svc{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.svc-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:30px;position:relative;transition:transform .2s,box-shadow .2s}
.svc-card:hover{transform:translateY(-4px);box-shadow:0 24px 50px -30px rgba(20,37,64,.4)}
.svc-ic{width:50px;height:50px;border-radius:13px;display:flex;align-items:center;justify-content:center;margin-bottom:18px}
.svc-ic.t1{background:var(--accent-soft);color:var(--accent-ink)}
.svc-ic.t2{background:var(--cta-soft);color:var(--cta-2)}
.svc-ic.t3{background:#E5EBF6;color:var(--ink)}
.svc-card h3{font-size:21px;margin-bottom:8px}
.svc-card p{color:var(--ink-soft);font-size:15.5px}
.svc-card .ext{display:inline-flex;align-items:center;gap:6px;margin-top:15px;font-weight:600;font-size:14px;color:var(--accent-ink)}
.svc-card.bridge{border-color:var(--accent)}
.svc-card.bridge::after{content:"via Finforma";position:absolute;top:20px;right:20px;font-size:11px;font-weight:600;letter-spacing:.04em;color:var(--accent-ink);background:var(--accent-soft);padding:4px 10px;border-radius:6px}

/* ---------- ONE ROOF ---------- */
.roof{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center;background:linear-gradient(120deg,#142540,#1d3a5e);color:#fff;border-radius:22px;padding:50px;position:relative;overflow:hidden}
.roof::before{content:"";position:absolute;right:-60px;top:-60px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(224,146,47,.25),transparent 70%)}
.roof h2{color:#fff;font-size:31px}
.roof p{color:#cdd6e2;margin-top:14px;font-size:17px}
.roof .lockup{margin-top:24px;display:flex;align-items:center;gap:10px;font-size:15px;color:#aeb9c8}
.roof .lockup b{color:#fff;font-family:var(--font-display)}
.roof-blocks{display:grid;grid-template-columns:1fr 1fr;gap:12px;position:relative}
.rb{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:12px;padding:14px 16px;font-weight:500;font-size:15px;display:flex;align-items:center;color:#e7edf4;cursor:default;transition:background .18s,transform .18s,border-color .18s}
.rb:hover{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.28);transform:translateY(-2px)}

/* ---------- APPROACH ---------- */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.step{position:relative;padding-top:22px;border-top:3px solid var(--accent)}
.step:nth-child(2){border-color:#5aa890}
.step:nth-child(3){border-color:var(--cta)}
.step:nth-child(4){border-color:var(--cta-2)}
.step .num{font-family:var(--font-display);font-weight:700;font-size:14px;color:var(--accent-ink);letter-spacing:.05em}
.step h3{font-size:20px;margin:8px 0}
.step p{color:var(--ink-soft);font-size:15px}

/* ---------- TEAM ---------- */
.team{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.tm{background:var(--surface);border:1px solid var(--line);border-radius:18px;overflow:hidden;transition:transform .2s,box-shadow .2s}
.tm:hover{transform:translateY(-4px);box-shadow:0 24px 50px -30px rgba(20,37,64,.4)}
.tm .ph{aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;color:#fff;font-family:var(--font-display);font-weight:700;font-size:36px}
.tm:nth-child(1) .ph{background:linear-gradient(135deg,#2F8F77,#1E5C4C)}
.tm:nth-child(2) .ph{background:linear-gradient(135deg,#3a6ea5,#142540)}
.tm:nth-child(3) .ph{background:linear-gradient(135deg,#E0922F,#C97619)}
.tm:nth-child(4) .ph{background:linear-gradient(135deg,#5aa890,#2F8F77)}
.tm .body{padding:18px}
.tm h3{font-size:18px}
.tm .role{font-size:13px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--accent);margin-top:3px}
.tm a{display:inline-block;margin-top:12px;font-size:14px;font-weight:600;color:var(--accent-ink)}

/* ---------- BLOG ---------- */
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.post{background:var(--surface);border:1px solid var(--line);border-radius:18px;overflow:hidden;transition:transform .2s,box-shadow .2s}
.post:hover{transform:translateY(-5px);box-shadow:0 24px 50px -28px rgba(20,37,64,.45)}
.post .cover{aspect-ratio:16/10;position:relative}
.post:nth-child(1) .cover{background:linear-gradient(135deg,#2F8F77,#1E5C4C)}
.post:nth-child(2) .cover{background:linear-gradient(135deg,#E0922F,#C97619)}
.post:nth-child(3) .cover{background:linear-gradient(135deg,#3a6ea5,#142540)}
.post .cover::after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.18) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.18) 1px,transparent 1px);background-size:26px 26px}
.post .body{padding:20px}
.post .cat{font-size:12px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--accent)}
.post h3{font-size:18.5px;margin:8px 0 0;line-height:1.25}
.post .meta{margin-top:12px;font-size:13px;color:var(--ink-soft)}

/* ---------- TESTIMONIALS ---------- */
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.quote{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:28px}
.quote p{font-size:16px;line-height:1.55}
.quote .stars{color:var(--cta);letter-spacing:2px;margin-bottom:12px;font-size:18px}
.quote .who{margin-top:16px;font-weight:600;font-size:14px}
.quote .who span{color:var(--ink-soft);font-weight:400}

/* ---------- CONTACT ---------- */
.contact{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.contact h2{font-size:clamp(27px,3vw,38px)}
.cinfo{margin-top:22px;display:flex;flex-direction:column;gap:14px}
.cinfo a,.cinfo div{display:flex;gap:12px;align-items:flex-start;font-size:16px}
.cinfo .k{color:var(--accent-ink);font-weight:600;min-width:96px}
.locs{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.locs span{font-size:13px;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:5px 12px}
.cform{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:30px;box-shadow:0 24px 60px -40px rgba(20,37,64,.4)}
.cform label{display:block;font-size:13px;font-weight:600;margin:14px 0 6px;color:var(--ink-soft)}
.cform input,.cform textarea{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:10px;font-family:inherit;font-size:15px;background:var(--paper)}
.cform input:focus,.cform textarea:focus{outline:2px solid var(--accent);border-color:var(--accent)}
.cform .btn{width:100%;justify-content:center;margin-top:20px}

/* ---------- FOOTER ---------- */
.foot{background:var(--ink);color:#c4cdd9;padding:64px 0 28px}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:36px}
.foot h4{color:#fff;font-family:var(--font-display);font-size:15px;margin-bottom:14px;font-weight:600}
.foot a{display:block;color:#c4cdd9;font-size:14px;padding:4px 0;transition:color .15s}
.foot a:hover{color:#ffd9a0}
.foot .brandf b{font-family:var(--font-display);color:#fff;font-size:20px}
.foot .brandf p{margin-top:12px;font-size:14px;line-height:1.55;color:#9fabbb}
.legalnote{margin-top:18px;font-size:13px;color:#8a96a6;font-style:italic}
.foot-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:40px;padding-top:20px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:13px;color:#8a96a6}

/* ---------- CONSENT ---------- */
.consent{position:fixed;left:18px;right:18px;bottom:18px;z-index:80;background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:0 24px 56px -20px rgba(20,37,64,.5);padding:18px 20px;display:flex;align-items:center;gap:18px;flex-wrap:wrap;animation:riseIn .5s ease both;animation-delay:1s}
.consent p{font-size:14px;color:var(--ink-soft);flex:1;min-width:240px}
.consent p b{color:var(--ink)}
.consent .btns{display:flex;gap:10px;flex-wrap:wrap}
.consent .btn{padding:10px 18px;font-size:14px}

/* ---------- CHAT ---------- */
.chat-fab{position:fixed;right:22px;bottom:22px;z-index:70;width:62px;height:62px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent-ink));color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 16px 36px -12px rgba(47,143,119,.7);transition:transform .18s}
.chat-fab:hover{transform:scale(1.07)}
.chat-fab svg{width:27px;height:27px}
.chat-panel{position:fixed;right:22px;bottom:96px;z-index:71;width:332px;max-width:calc(100vw - 44px);background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:0 28px 64px -24px rgba(20,37,64,.5);overflow:hidden;display:none;animation:riseIn .3s ease}
.chat-panel.open{display:block}
.chat-h{background:linear-gradient(135deg,var(--ink),#1d3a5e);color:#fff;padding:17px 18px}
.chat-h b{font-family:var(--font-display);font-size:16px}
.chat-h small{display:block;color:#aeb9c8;font-size:12.5px;margin-top:2px}
.chat-b{padding:18px}
.chat-msg{background:var(--surface-2);border-radius:13px;padding:12px 14px;font-size:14.5px;color:var(--ink);line-height:1.5}
.chat-q{display:flex;flex-direction:column;gap:8px;margin-top:14px}
.chat-q button{text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-family:inherit;font-size:14px;cursor:pointer;color:var(--ink);transition:border-color .15s}
.chat-q button:hover{border-color:var(--accent)}
.chat-note{margin-top:14px;font-size:12px;color:var(--ink-soft);text-align:center}

@media(max-width:980px){
  .nav,.phone{display:none}
  .burger{display:block}
  .aud,.contact,.roof{grid-template-columns:1fr;gap:24px}
  .svc,.steps,.team,.posts,.quotes{grid-template-columns:1fr 1fr}
  .foot-grid{grid-template-columns:1fr 1fr}
  .roof{padding:34px}
}
@media(max-width:600px){
  .hero-doors,.svc,.steps,.team,.posts,.quotes,.foot-grid{grid-template-columns:1fr}
  .section{padding:62px 0}
  .hero-content{padding-top:104px}
}
@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .anim,.reveal{opacity:1!important;transform:none!important}
}



.hero.compact{min-height:clamp(330px,46vh,440px)}
.crumb{font-size:13px;color:rgba(255,255,255,.72);margin-bottom:12px}
.crumb a{color:rgba(255,255,255,.72)}
.crumb a:hover{color:#fff}
.prose{max-width:760px}
.prose .eyebrow{display:block;margin-bottom:10px}
.prose h2{font-size:clamp(24px,3vw,33px)}
.prose p{margin-top:16px;color:var(--ink-soft);font-size:17.5px}
.qa{max-width:820px;margin:0 auto}
.qa details{border-bottom:1px solid var(--line)}
.qa summary{cursor:pointer;list-style:none;padding:18px 0;font-family:var(--font-display);font-weight:500;font-size:18px;color:var(--ink);display:flex;justify-content:space-between;align-items:center;gap:16px}
.qa summary::-webkit-details-marker{display:none}
.qa summary::after{content:"+";color:var(--accent);font-size:24px;font-weight:400;line-height:1}
.qa details[open] summary::after{content:"\2013"}
.qa details p{padding:0 0 18px;margin:0;color:var(--ink-soft)}
.ctaband{max-width:720px;text-align:center;margin:0 auto}
.ctaband h2{font-size:clamp(26px,3vw,36px)}
.ctaband p{margin-top:14px;color:var(--ink-soft);font-size:18px}
.ctaband .row{margin-top:26px;display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.intro-lead{max-width:880px;margin:0 auto;text-align:center;font-family:var(--font-display);font-weight:500;font-size:clamp(22px,2.5vw,30px);line-height:1.5;color:var(--ink);position:relative;padding-top:58px}
.intro-lead::before{content:"“";position:absolute;top:4px;left:50%;transform:translateX(-50%);font-family:var(--font-display);font-size:80px;line-height:1;color:var(--accent);opacity:.45}
.feature{display:flex;gap:56px;align-items:center}
.feature+.feature{margin-top:84px}
.feature.flip{flex-direction:row-reverse}
.feat-text{flex:1;max-width:540px}
.feat-text .eyebrow{display:block;margin-bottom:10px}
.feat-text h2{font-size:clamp(23px,2.6vw,31px)}
.feat-text p{margin-top:15px;color:var(--ink-soft);font-size:17px}
.feat-art{flex:1;border-radius:20px;padding:30px;display:flex;align-items:center;justify-content:center;min-height:270px}
.feat-art svg{width:100%;height:auto;max-width:340px}
.fa-1{background:var(--accent-soft)}
.fa-2{background:var(--cta-soft)}
.fa-3{background:#E5EBF6}
.fa-4{background:var(--surface-2)}
@keyframes fa-travel{0%{transform:translate(0,0);opacity:0}8%{opacity:1}50%{transform:translate(78px,-66px)}92%{opacity:1}100%{transform:translate(156px,8px);opacity:0}}
@keyframes fa-draw{0%{stroke-dashoffset:40}40%,80%{stroke-dashoffset:0}100%{stroke-dashoffset:40}}
@keyframes fa-pulse{0%,100%{opacity:.16;transform:scale(.9)}50%{opacity:.4;transform:scale(1.12)}}
@keyframes fa-move{0%{transform:translateX(0);opacity:0}8%{opacity:1}92%{opacity:1}100%{transform:translateX(220px);opacity:0}}
@media(max-width:820px){.feature,.feature.flip{flex-direction:column}.feat-text{max-width:none}.feat-art{width:100%}}



.feat-media{flex:1;min-width:0}
.imgph{width:100%;aspect-ratio:4/3;border:2px dashed var(--line-blue);border-radius:18px;background:var(--surface-2);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;text-align:center;padding:20px}
.imgph svg{width:38px;height:38px;opacity:.55;color:var(--accent-ink)}
.imgph b{font-family:var(--font-display);font-weight:600;font-size:15px;color:var(--ink)}
.imgph small{font-size:12.5px;color:var(--ink-soft)}



/* nav meteen vast op subpagina's (lichte kop) */
.topbar.solid{background:rgba(251,251,249,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);box-shadow:0 6px 24px -20px rgba(20,37,64,.4)}
.topbar.solid .brand b{color:var(--ink)}
.topbar.solid .brand span{color:var(--ink-soft)}
.topbar.solid .nav a{color:var(--ink-soft)}
.topbar.solid .nav a:hover{color:var(--ink)}
.topbar.solid .nav a.special{color:var(--accent-ink)}
.topbar.solid .phone{color:var(--ink)}
.topbar.solid .burger span{background:var(--ink)}
/* lichte gesplitste paginakop */
.pagehead{background:linear-gradient(180deg,var(--accent-soft),var(--paper));border-bottom:1px solid var(--line);padding:118px 0 60px}
.pagehead-inner{display:flex;gap:56px;align-items:center}
.pagehead-text{flex:1;max-width:560px}
.pagehead-text h1{font-size:clamp(30px,4vw,46px);margin-top:8px}
.pagehead-text .lead{margin-top:16px;font-size:19px;color:var(--ink-soft);max-width:none}
.crumb2{font-size:13px;color:var(--ink-soft);margin-bottom:14px}
.crumb2 a{color:var(--accent-ink)}
.pagehead-media{flex:1;min-width:0}
.pagehead .imgph{aspect-ratio:4/3}
/* placeholder-component */
.imgph{width:100%;aspect-ratio:4/3;border:2px dashed var(--line-blue);border-radius:18px;background:var(--surface);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;text-align:center;padding:20px}
.imgph svg{width:38px;height:38px;opacity:.55;color:var(--accent-ink)}
.imgph b{font-family:var(--font-display);font-weight:600;font-size:15px;color:var(--ink)}
.imgph small{font-size:12.5px;color:var(--ink-soft)}
@media(max-width:820px){.pagehead{padding:96px 0 44px}.pagehead-inner{flex-direction:column;gap:28px}.pagehead-text{max-width:none}}


.quote-band{background:var(--surface-3)}


.imgph.port{aspect-ratio:3/4}
.imgph.wide{aspect-ratio:16/9}
.carousel-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:26px;flex-wrap:wrap}
.carousel-head .ch-text{max-width:640px}
.carousel-head .btns{display:flex;gap:8px}
.cbtn{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:var(--surface);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--ink);transition:border-color .15s}
.cbtn:hover{border-color:var(--ink)}
.cbtn svg{width:20px;height:20px}
.carousel{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:4px 0 12px;scrollbar-width:none}
.carousel::-webkit-scrollbar{display:none}
.pcard{flex:0 0 324px;scroll-snap-align:start;background:var(--surface);border:1px solid var(--line);border-radius:16px;overflow:hidden;transition:transform .15s,box-shadow .15s}
.pcard:hover{transform:translateY(-3px);box-shadow:0 18px 42px -28px rgba(20,37,64,.45)}
.pcard .cover{aspect-ratio:16/10;position:relative}
.pcard:nth-child(3n+1) .cover{background:linear-gradient(135deg,#2F8F77,#1E5C4C)}
.pcard:nth-child(3n+2) .cover{background:linear-gradient(135deg,#E0922F,#C97619)}
.pcard:nth-child(3n) .cover{background:linear-gradient(135deg,#3a6ea5,#142540)}
.pcard .cover::after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.16) 1px,transparent 1px);background-size:24px 24px}
.pcard .pbody{padding:18px}
.pcard .cat{font-size:12px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--accent)}
.pcard h3{font-size:17.5px;margin:8px 0 0;line-height:1.25}
.pcard .meta{margin-top:12px;font-size:13px;color:var(--ink-soft)}
.tagnote{font-size:13px;color:var(--ink-soft);margin-top:8px}
.tagnote code{background:var(--surface-2);padding:2px 7px;border-radius:5px;font-size:12px;color:var(--accent-ink)}
.chips{display:flex;gap:10px;flex-wrap:wrap}
.chip{font-size:14px;border:1px solid var(--line);border-radius:20px;padding:7px 16px;color:var(--ink-soft);cursor:pointer}
.chip.on,.chip:hover{border-color:var(--accent);color:var(--accent-ink);background:var(--accent-soft)}
@media(max-width:600px){.pcard{flex:0 0 82%}}

/* ---- WP: featured images in cards/carousels ---- */
.post .cover,.pcard .cover{overflow:hidden}
.post .cover img,.pcard .cover img{width:100%;height:100%;object-fit:cover;display:block}
.post .cover.has-img,.pcard .cover.has-img{background:#e9ecef}
.post .cover.has-img::after,.pcard .cover.has-img::after{display:none}
.wp-caption{max-width:100%}
.screen-reader-text{position:absolute;left:-9999px}
.skip-link{position:absolute;left:-9999px;top:0;background:var(--ink);color:#fff;padding:8px 14px;z-index:1000}
.skip-link:focus{left:8px}
.single-post-body{max-width:760px;margin:0 auto;font-size:17px;line-height:1.75}
.single-post-body h2{margin:1.6em 0 .5em}.single-post-body h3{margin:1.4em 0 .4em}
.single-post-body p{margin:0 0 1.1em}.single-post-body img{max-width:100%;height:auto;border-radius:12px}
.post-hero{max-width:900px;margin:0 auto 34px;border-radius:18px;overflow:hidden;aspect-ratio:16/8}
.post-hero img{width:100%;height:100%;object-fit:cover}
.pagination{display:flex;gap:10px;justify-content:center;margin-top:48px;flex-wrap:wrap}
.pagination .page-numbers{padding:9px 15px;border:1px solid var(--line);border-radius:10px;color:var(--ink)}
.pagination .current{background:var(--ink);color:#fff;border-color:var(--ink)}
