/*
Theme Name: Speelman & Voogd Advocaten
Theme URI: https://sv-advocaten.nl/
Author: Speelman & Voogd Advocaten B.V.
Description: Eigen thema voor sv-advocaten.nl. Na activeren: Weergave > Site inrichten.
Version: 1.0.12
Requires at least: 6.4
Requires PHP: 7.4
License: Alle rechten voorbehouden
Text Domain: sv-advocaten
*/
@font-face{font-family:'Montserrat';font-style:normal;font-weight:300;font-display:swap;src:url(assets/fonts/montserrat-latin-300-normal.woff2) format('woff2');}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/montserrat-latin-400-normal.woff2) format('woff2');}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:500;font-display:swap;src:url(assets/fonts/montserrat-latin-500-normal.woff2) format('woff2');}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:600;font-display:swap;src:url(assets/fonts/montserrat-latin-600-normal.woff2) format('woff2');}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:700;font-display:swap;src:url(assets/fonts/montserrat-latin-700-normal.woff2) format('woff2');}
@font-face{font-family:'Montserrat';font-style:italic;font-weight:400;font-display:swap;src:url(assets/fonts/montserrat-latin-400-italic.woff2) format('woff2');}

:root{
  --navy:#0F2A48;
  --blue:#1E9BE6;
  --grey:#999999;
  --white:#FFFFFF;
  --text:rgba(15,42,72,.82);
  --muted:rgba(15,42,72,.66);
  --line:rgba(15,42,72,.12);
  --line-strong:rgba(15,42,72,.24);
  --tint:#EFECE5;
  --blue-08:rgba(30,155,230,.08);
  --blue-16:rgba(30,155,230,.18);
  --font:'Montserrat', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --maxw:1240px;
  --gutter:40px;
  --header:84px;
  --ease:cubic-bezier(.2,.7,.2,1);
}
*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{margin:0;background:var(--white);color:var(--navy);font-family:var(--font);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
a{color:inherit;text-decoration:none;}
img{display:block;max-width:100%;}
button{font:inherit;}
:focus-visible{outline:2px solid var(--blue);outline-offset:3px;}
[id]{scroll-margin-top:calc(var(--header) + 24px);}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--gutter);}
@media (max-width:760px){:root{--gutter:22px;--header:70px;}}

/* ---------- photo / logo placeholders driven by CSS vars (one copy of every image) ---------- */
.ph{background-image:var(--ph);background-size:cover;background-position:var(--pos,center);background-repeat:no-repeat;background-color:#dfe4ef;}
.logo{display:block;background-image:var(--ph);background-size:contain;background-repeat:no-repeat;background-position:left center;}

/* ---------- type helpers ---------- */
.kicker{display:inline-flex;align-items:center;gap:12px;font-size:11.5px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);}
.kicker::before{content:"";flex:none;width:6px;height:16px;border-left:1.5px solid var(--navy);border-right:1.5px solid var(--blue);}
.on-dark .kicker{color:rgba(255,255,255,.78);}
.on-dark .kicker::before{border-left-color:#fff;border-right-color:#fff;opacity:.9;}
.h-display{font-weight:300;font-size:clamp(40px,5.4vw,70px);line-height:1.05;letter-spacing:-.025em;margin:0;color:var(--navy);}
.h-display strong,.h2 strong{font-weight:600;color:var(--navy);}
.h2{font-weight:400;font-size:clamp(29px,3.3vw,44px);line-height:1.14;letter-spacing:-.02em;margin:18px 0 0;color:var(--navy);}
.on-dark .h2{color:#fff;}
.on-dark .h2 strong{color:#fff;}
.lead{font-size:18px;line-height:1.72;color:var(--text);}
.muted{color:var(--muted);}

/* ---------- buttons & links ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:15px 26px;border:1.5px solid var(--navy);border-radius:2px;background:var(--navy);color:#fff;font-size:15px;font-weight:600;letter-spacing:.01em;cursor:pointer;transition:background .2s,border-color .2s,color .2s;white-space:nowrap;}
.btn:hover{background:var(--blue);border-color:var(--blue);}
.on-dark .btn{background:#fff;border-color:#fff;color:var(--navy);}
.on-dark .btn:hover{background:var(--blue);border-color:var(--blue);color:#fff;}
.btn-ghost{background:transparent;color:var(--navy);border-color:var(--line-strong);}
.btn-ghost:hover{background:var(--navy);border-color:var(--navy);color:#fff;}
.btn-white{background:#fff;border-color:#fff;color:var(--navy);}
.btn-white:hover{background:var(--navy);border-color:var(--navy);color:#fff;}
.btn-sm{padding:11px 18px;font-size:13.5px;}
.btn-block{display:flex;width:100%;}
.arrow{display:inline-block;transition:transform .25s var(--ease);}
a:hover .arrow,.btn:hover .arrow{transform:translateX(4px);}
.link-arrow{display:inline-flex;align-items:center;gap:10px;font-size:14px;font-weight:600;color:var(--navy);padding-bottom:4px;border-bottom:1px solid var(--line-strong);transition:color .2s,border-color .2s;}
.link-arrow:hover{color:var(--blue);border-color:var(--blue);}
.ext::after{content:"\2197";font-size:.9em;margin-left:6px;}

/* ---------- header ---------- */
.site-header{position:sticky;top:env(safe-area-inset-top,0px);z-index:60;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);backdrop-filter:saturate(1.3) blur(8px);-webkit-backdrop-filter:saturate(1.3) blur(8px);}
.header-inner{height:var(--header);display:flex;align-items:center;justify-content:space-between;gap:24px;}
.brand .logo{width:178px;height:41px;}
.nav{display:flex;align-items:center;gap:2px;}
.nav-item{position:relative;}
.nav-link{display:flex;align-items:center;gap:8px;padding:10px 14px;font-size:13.5px;font-weight:500;color:var(--navy);transition:color .2s;}
.nav-link:hover,.nav-item:focus-within>.nav-link{color:var(--blue);}
.nav-item.active>.nav-link{color:var(--navy);font-weight:600;}
.nav-item.active>.nav-link::after{content:"";position:absolute;left:14px;right:14px;bottom:-22px;height:2px;background:var(--navy);}
.chev{width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);opacity:.55;}
.dropdown{position:absolute;top:calc(100% + 14px);left:0;min-width:270px;padding:8px;background:#fff;border:1px solid var(--line);border-top:2px solid var(--blue);box-shadow:0 22px 48px -18px rgba(15,42,72,.28);opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .18s,transform .18s,visibility .18s;}
.dropdown::before{content:"";position:absolute;left:0;right:0;top:-18px;height:18px;}
.nav-item:hover .dropdown,.nav-item:focus-within .dropdown{opacity:1;visibility:visible;transform:none;}
.dropdown a{display:block;padding:11px 14px;font-size:14px;font-weight:600;color:var(--navy);}
.dropdown a small{display:block;margin-top:2px;font-size:12.5px;font-weight:400;color:var(--muted);}
.dropdown a:hover{background:var(--tint);color:var(--blue);}
.header-cta{margin-left:14px;}
.menu-toggle{display:none;width:46px;height:46px;border:1px solid var(--line);background:#fff;cursor:pointer;position:relative;}
.menu-toggle span,.menu-toggle span::before,.menu-toggle span::after{position:absolute;left:12px;width:20px;height:1.5px;background:var(--navy);content:"";transition:transform .25s;}
.menu-toggle span{top:22px;}
.menu-toggle span::before{left:0;top:-6px;}
.menu-toggle span::after{left:0;top:6px;width:14px;background:var(--blue);}
@media (max-width:1060px){.nav,.header-cta{display:none;}.menu-toggle{display:block;}}

/* mobile menu */
.mobile-menu{position:fixed;inset:0;z-index:80;background:var(--navy);color:#fff;display:flex;flex-direction:column;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s;overflow-y:auto;}
.menu-open .mobile-menu{opacity:1;visibility:visible;}
.menu-open{overflow:hidden;}
.mobile-top{display:flex;justify-content:space-between;align-items:center;height:var(--header);padding:0 var(--gutter);border-bottom:1px solid rgba(255,255,255,.14);}
.mobile-top .logo{width:160px;height:37px;}
.menu-close{width:46px;height:46px;border:1px solid rgba(255,255,255,.3);background:transparent;color:#fff;font-size:22px;cursor:pointer;}
.mobile-nav{padding:28px var(--gutter) 40px;}
.mobile-group{padding:18px 0;border-bottom:1px solid rgba(255,255,255,.12);}
.mobile-group h5{margin:0 0 8px;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.55);font-weight:600;}
.mobile-group a{display:block;padding:8px 0;font-size:20px;font-weight:400;}
.mobile-nav .btn{margin-top:28px;}

/* ---------- views ---------- */
.view{display:none;}
.view.active{display:block;animation:viewIn .9s cubic-bezier(.22,.61,.36,1) both;}
@keyframes viewIn{from{opacity:0;transform:translate3d(0,14px,0);}to{opacity:1;transform:none;}}
@media (prefers-reduced-motion:reduce){.view.active{animation:none;}*{transition:none!important;}}

/* ---------- architectural grid lines ---------- */
.blueprint{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(to right,var(--line) 1px,transparent 1px);background-size:calc(100% / 6) 100%;-webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,.9),rgba(0,0,0,0) 92%);mask-image:linear-gradient(to bottom,rgba(0,0,0,.9),rgba(0,0,0,0) 92%);}

/* ---------- hero (home) ---------- */
.hero{position:relative;padding:76px 0 110px;overflow:hidden;}
.hero-grid{position:relative;display:grid;grid-template-columns:1.06fr .94fr;gap:84px;align-items:center;}
.hero-copy .kicker{margin-bottom:30px;}
.hero-copy .lead{max-width:540px;margin:30px 0 38px;}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;}
.hero-facts{display:grid;grid-template-columns:repeat(3,1fr);margin-top:60px;padding-top:24px;border-top:1px solid var(--line);}
.fact{padding:0 18px;border-left:1px solid var(--line);}
.fact:first-child{padding-left:0;border-left:none;}
@media (max-width:560px){.hero-facts{grid-template-columns:1fr;gap:16px;}.fact{padding:0;border-left:none;}}
.fact b{display:block;font-size:14px;font-weight:600;color:var(--navy);}
.fact span{font-size:13px;color:var(--muted);}
.hero-figure{position:relative;margin:0 0 0 18px;}
.hero-figure .frame{position:absolute;top:-22px;right:-22px;bottom:22px;left:22px;border:1.5px solid var(--blue);}
.hero-figure .ph{position:relative;aspect-ratio:1100/1300;}
.hero-caption{position:absolute;left:-36px;bottom:40px;background:var(--navy);color:#fff;padding:18px 24px 20px;max-width:290px;box-shadow:0 18px 40px -16px rgba(15,42,72,.5);}
.hero-caption .kicker{font-size:10.5px;margin-bottom:8px;}
.hero-caption b{display:block;font-size:15px;font-weight:600;line-height:1.4;}
@media (max-width:980px){
  .hero{padding:48px 0 80px;}
  .hero-grid{grid-template-columns:1fr;gap:64px;}
  .hero-figure{max-width:520px;margin:0 22px 0 0;}
  .hero-caption{left:-12px;}
}


/* ---------- logo lockup (wordmark + ADVOCATEN EN MEDIATORS) ---------- */
.lockup{display:block;height:auto;overflow:visible;}
.lockup text{font-family:var(--font);font-size:40px;font-weight:400;}
.lockup-navy text{fill:#999999;}
.lockup-white text{fill:rgba(255,255,255,.74);}
.brand .lockup{width:196px;transition:opacity .3s;}
.mobile-top .lockup{width:176px;}
.footer-brand .lockup{width:230px;}
.header-tel{margin-left:auto;margin-right:4px;padding:10px 12px;font-size:12.5px;font-weight:500;color:var(--navy);white-space:nowrap;}
.header-tel:hover{color:var(--blue);}
@media (max-width:1240px){.header-tel{display:none;}}
.office a.plain{display:inline;margin:0;font-size:13.5px;font-weight:500;color:var(--navy);}
.office a.plain:hover{color:var(--blue);}

/* ---------- home banner (after the client's banner design) ---------- */
.banner{position:relative;background:#fff;}
.banner-stage{position:relative;}
.banner-photo{aspect-ratio:2400/1026;background-color:#e8ebef;}
.banner-logo{position:absolute;z-index:2;left:5.2%;top:31.5%;width:32.4%;}
.banner-lockup{width:100%;}
.banner-areas{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:clamp(14px,1.8vw,26px) 0;background:#fff;}
.banner-areas a{position:relative;display:inline-flex;align-items:center;padding:0 clamp(18px,3.6vw,60px);font-size:clamp(11.5px,1.3vw,19px);font-weight:500;line-height:1.1;letter-spacing:.26em;text-transform:uppercase;color:var(--navy);transition:color .25s;}
.banner-areas a:first-child{justify-self:end;}
.banner-areas a:last-child{justify-self:start;}
.banner-areas a:hover,.banner-areas a:focus-visible{color:var(--blue);}
.banner-areas a+a::before{content:"";position:absolute;left:0;top:50%;width:1px;height:1.3em;transform:translateY(-50%);background:var(--line-strong);}
.banner-bar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;padding:clamp(16px,1.9vw,28px) var(--gutter);background:var(--navy);}
.bar-mid{display:flex;align-items:center;gap:clamp(18px,3.4vw,56px);}
.bar-right{justify-self:end;}
.bar-line{width:clamp(30px,8vw,170px);height:1px;background:rgba(255,255,255,.45);}
@media (max-width:960px){.bar-line{width:7vw;}}
.bar-tel{font-size:clamp(12.5px,1.1vw,16px);font-weight:400;letter-spacing:.14em;color:#fff;white-space:nowrap;}
.bar-tel:hover{color:#cfe0ff;}
@media (max-width:760px){
  .banner-logo{position:static;width:auto;padding:22px var(--gutter) 18px;background:#fff;}
  .banner-lockup{width:min(66vw,280px);}
  .banner-photo{aspect-ratio:auto;height:min(112vw,470px);--pos:64% 15%;}
  .banner-areas{padding:16px 0 18px;}
  .banner-areas a{padding:0 12px;font-size:11.5px;letter-spacing:.14em;}
  .banner-bar{grid-template-columns:1fr;justify-items:center;gap:12px;}
  .bar-side:first-child,.bar-line{display:none;}
  .bar-right{justify-self:center;}
}


/* ---------- homepage: no top bar over the banner; it slides in after scrolling ---------- */
.home-mode .site-header{position:fixed;left:0;right:0;top:0;transform:translateY(-102%);transition:transform .35s var(--ease);box-shadow:0 10px 30px -18px rgba(15,42,72,.35);}
.home-mode.header-in .site-header{transform:none;}
.home-mode:not(.header-in) .site-header{box-shadow:none;border-bottom-color:transparent;}
.banner-nav{position:absolute;z-index:3;left:5.2%;top:clamp(22px,3.2vw,46px);display:flex;gap:clamp(16px,1.9vw,30px);}
.banner-nav a{position:relative;padding:6px 0;font-size:clamp(12px,.98vw,14.5px);font-weight:600;letter-spacing:.02em;color:var(--navy);transition:color .2s;}
.banner-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:var(--blue);transition:right .25s var(--ease);}
.banner-nav a:hover{color:var(--blue);}
.banner-nav a:hover::after{right:0;}
.banner-menu{display:none;position:absolute;z-index:3;top:20px;right:22px;width:48px;height:48px;border:1px solid var(--line);background:rgba(255,255,255,.94);cursor:pointer;box-shadow:0 8px 22px -12px rgba(15,42,72,.45);}
.banner-menu span,.banner-menu span::before,.banner-menu span::after{position:absolute;left:13px;width:20px;height:1.5px;background:var(--navy);content:"";}
.banner-menu span{top:23px;}
.banner-menu span::before{left:0;top:-6px;}
.banner-menu span::after{left:0;top:6px;width:14px;background:var(--blue);}
@media (max-width:1180px){.banner-nav{display:none;}.banner-menu{display:block;}}
@media (max-width:760px){.banner-menu{top:22px;right:var(--gutter);}}


.med-note{margin:22px 0 0;font-size:14.5px;color:var(--text);}
.med-note .link-arrow{font-size:14px;margin-left:4px;}
.callout .link-arrow{white-space:nowrap;}


/* ---------- animated banner logo: "tekenen + openschuiven", slow tempo ---------- */
.alogo{display:block;height:auto;overflow:visible;--spd:1.35;}
.alogo .al-sub{font-family:var(--font);font-size:118px;font-weight:400;fill:#999999;}
.alogo .al-sl,.alogo .al-sr,.alogo .al-sub{transform-box:fill-box;}
.alogo .al-ln{stroke-dasharray:1;stroke-dashoffset:0;}
@keyframes alDraw{from{stroke-dashoffset:1;}to{stroke-dashoffset:0;}}
@keyframes alSlideL{from{transform:translateX(1520px);}to{transform:none;}}
@keyframes alSlideR{from{transform:translateX(-1120px);}to{transform:none;}}
@keyframes alSub{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:none;}}
.alogo .al-c{animation:alDraw calc(.8s * var(--spd)) cubic-bezier(.45,0,.25,1) both;}
.alogo .al-v{animation:alDraw calc(.8s * var(--spd)) cubic-bezier(.45,0,.25,1) calc(.5s * var(--spd)) both;}
.alogo .al-h{animation:alDraw calc(1.3s * var(--spd)) cubic-bezier(.25,.6,.2,1) calc(1.2s * var(--spd)) both;}
.alogo .al-sl{animation:alSlideL calc(1.3s * var(--spd)) cubic-bezier(.25,.6,.2,1) calc(1.2s * var(--spd)) both;}
.alogo .al-sr{animation:alSlideR calc(1.3s * var(--spd)) cubic-bezier(.25,.6,.2,1) calc(1.2s * var(--spd)) both;}
.alogo .al-sub{animation:alSub calc(.7s * var(--spd)) ease-out calc(2.4s * var(--spd)) both;}
.alogo.done *{animation:none!important;}
@media (prefers-reduced-motion:reduce){.alogo *{animation:none!important;}}


/* ---------- menu-bar logo: subtle hover ---------- */
.hlogo{display:block;width:196px;height:auto;overflow:visible;}
.hlogo .hl-sub{font-family:var(--font);font-size:118px;font-weight:400;fill:#999999;}
.hlogo .hl-lh,.hlogo .hl-rh,.hlogo .hl-c{transform-box:fill-box;transition:transform .45s var(--ease);}
.hlogo .hl-lh{transform-origin:right center;}
.hlogo .hl-rh{transform-origin:left center;}
.brand:hover .hl-lh,.brand:hover .hl-rh,.brand:focus-visible .hl-lh,.brand:focus-visible .hl-rh{transform:scaleX(1.06);}
.brand:hover .hl-c,.brand:focus-visible .hl-c{transform:translateY(-24px);}

@media (max-width:360px){.banner-areas a{padding:0 8px;font-size:10.5px;letter-spacing:.1em;}}

/* intro below the banner */
.intro{position:relative;overflow:hidden;padding:96px 0 104px;}
.intro-grid{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:80px;align-items:end;}
.intro .kicker{margin-bottom:28px;}
.intro .h-display{font-size:clamp(36px,4.5vw,62px);}
.intro .lead{margin:0 0 32px;}
.intro .hero-facts{margin-top:44px;}
@media (max-width:980px){.intro{padding:64px 0 76px;}.intro-grid{grid-template-columns:1fr;gap:28px;}}

/* ---------- generic sections ---------- */
.section{position:relative;padding:116px 0;}
.section.tint{background:#fff;}
.section.lined{border-top:1px solid var(--line);}
.section.tight{padding:88px 0;}
.section-head{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:end;margin-bottom:60px;}
.section-head p{margin:0;max-width:520px;font-size:16.5px;line-height:1.75;color:var(--text);}
@media (max-width:860px){.section{padding:84px 0;}.section-head{grid-template-columns:1fr;gap:22px;margin-bottom:44px;}}

/* visie */
.visie-grid{display:grid;grid-template-columns:5fr 7fr;gap:88px;align-items:start;}
.visie-mark{width:74px;height:74px;margin-top:42px;opacity:.9;}
.visie-body>p{margin:0 0 44px;font-size:20px;line-height:1.7;font-weight:300;color:var(--navy);}
.points{display:grid;grid-template-columns:1fr 1fr;gap:36px;}
.point{position:relative;padding-top:24px;border-top:1px solid var(--line);}
.point::before{content:"";position:absolute;top:-1px;left:0;width:44px;height:2px;background:var(--blue);}
.point h3{margin:0 0 10px;font-size:18px;font-weight:600;}
.point p{margin:0;font-size:15px;line-height:1.72;color:var(--text);}
@media (max-width:900px){.visie-grid{grid-template-columns:1fr;gap:40px;}.visie-mark{display:none;}.points{grid-template-columns:1fr;}}

/* practice cards */
.practice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.practice-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s;}
.practice-card:hover{transform:translateY(-4px);border-color:var(--blue-16);box-shadow:0 28px 50px -30px rgba(15,42,72,.4);}
.practice-card .media{position:relative;aspect-ratio:16/10;overflow:hidden;}
.practice-card .media .ph{position:absolute;inset:0;transition:transform .7s var(--ease);}
.practice-card:hover .media .ph{transform:scale(1.04);}
.practice-card .body{display:flex;flex-direction:column;flex:1;padding:30px 30px 32px;}
.practice-card h3{margin:0 0 10px;font-size:25px;font-weight:600;letter-spacing:-.01em;}
.practice-card p{margin:0 0 24px;font-size:15px;line-height:1.68;color:var(--text);}
.topic-list{list-style:none;margin:0 0 30px;padding:0;border-top:1px solid var(--line);}
.topic-list li{display:flex;align-items:center;gap:14px;padding:11px 0;border-bottom:1px solid var(--line);font-size:14px;font-weight:500;color:var(--navy);}
.topic-list li::before{content:"";flex:none;width:10px;height:1.5px;background:var(--blue);}
.practice-card .link-arrow{margin-top:auto;align-self:flex-start;}
@media (max-width:980px){.practice-grid{grid-template-columns:1fr;max-width:620px;}}

/* blue band (mediation) */
.band-blue{position:relative;overflow:hidden;background:var(--blue);color:#fff;padding:108px 0;}
.band-blue .bg-mark{position:absolute;right:-60px;bottom:-90px;width:420px;height:420px;opacity:.09;}
.band-grid{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:76px;align-items:center;}
.band-blue .lead-strong{margin:26px 0 34px;max-width:500px;font-size:19px;line-height:1.6;font-weight:600;color:#fff;}
.badge-row{display:flex;align-items:center;gap:18px;flex-wrap:wrap;}
.badge-chip{display:inline-flex;align-items:center;gap:14px;padding:10px 16px;background:#fff;color:var(--navy);font-size:13px;font-weight:600;}
.badge-chip .logo{width:96px;height:34px;}
.adv-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.adv-card{background:#fff;color:var(--navy);padding:26px 26px 28px;}
.adv-card h3{margin:0 0 8px;font-size:18px;font-weight:600;}
.adv-card p{margin:0;font-size:14.5px;line-height:1.62;color:var(--text);}
@media (max-width:900px){.band-grid{grid-template-columns:1fr;gap:48px;}.band-blue{padding:84px 0;}}
@media (max-width:520px){.adv-cards{grid-template-columns:1fr;}}

/* team cards */
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.team-card{position:relative;display:block;overflow:hidden;background:var(--navy);}
.team-card .ph{aspect-ratio:4/5;transition:transform .7s var(--ease);}
.team-card:hover .ph{transform:scale(1.035);}
.team-card .overlay{position:absolute;left:0;right:0;bottom:0;padding:110px 26px 24px;color:#fff;background:linear-gradient(to top,rgba(15,42,72,.96) 0%,rgba(15,42,72,.78) 42%,rgba(15,42,72,0) 100%);}
.team-card .role{display:block;font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.82);}
.team-card h3{margin:8px 0 6px;font-size:23px;font-weight:600;letter-spacing:-.01em;}
.team-card .focus{font-size:14px;color:rgba(255,255,255,.88);}
.team-card .go{display:flex;justify-content:space-between;align-items:center;margin-top:16px;padding-top:14px;border-top:1px solid rgba(255,255,255,.24);font-size:13px;font-weight:600;}
.team-grid.compact{grid-template-columns:repeat(2,1fr);max-width:820px;}
@media (max-width:980px){.team-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:620px){.team-grid,.team-grid.compact{grid-template-columns:1fr;max-width:440px;}}

/* posts */
.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px 32px;}
.post-card{display:flex;flex-direction:column;padding-top:22px;border-top:2px solid var(--navy);transition:border-color .25s;}
.post-card:hover{border-top-color:var(--blue);}
.post-meta{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:14px;font-size:12.5px;color:var(--muted);}
.post-cat{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);}
.post-card h3{margin:0 0 10px;font-size:19px;font-weight:600;line-height:1.38;transition:color .2s;}
.post-card:hover h3{color:var(--blue);}
.post-card p{margin:0 0 20px;font-size:14.5px;line-height:1.65;color:var(--text);}
.post-card .more{margin-top:auto;font-size:13.5px;font-weight:600;color:var(--navy);}
.post-card .more:hover{color:var(--blue);}
.post-card[hidden]{display:none;}
@media (max-width:980px){.post-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:620px){.post-grid{grid-template-columns:1fr;}}
.filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:44px;}
.filter{padding:9px 16px;border:1px solid var(--line-strong);background:#fff;color:var(--navy);font-size:13.5px;font-weight:500;cursor:pointer;border-radius:40px;transition:all .2s;}
.filter:hover{border-color:var(--blue);color:var(--blue);}
.filter.on{background:var(--navy);border-color:var(--navy);color:#fff;}

/* contact block */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start;}
.contact-intro{margin:0 0 34px;max-width:480px;font-size:16.5px;line-height:1.75;color:var(--text);}
.people{border-top:1px solid var(--line);}
.person-row{display:grid;grid-template-columns:52px 1fr auto;gap:16px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line);}
.person-row .ph{width:52px;height:52px;border-radius:50%;--pos:center 18%;}
.person-row b{display:block;font-size:15px;font-weight:600;}
.person-row span{font-size:13px;color:var(--muted);}
.person-row a.tel{font-size:14px;font-weight:600;color:var(--navy);white-space:nowrap;}
.person-row a.tel:hover{color:var(--blue);}
.offices{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:34px;}
.office b{display:block;font-size:14.5px;font-weight:600;margin-bottom:4px;}
.office p{margin:0;font-size:13.5px;line-height:1.6;color:var(--text);}
.office a{display:inline-block;margin-top:6px;font-size:13px;font-weight:600;color:var(--navy);border-bottom:1px solid var(--line-strong);}
.office a:hover{color:var(--blue);border-color:var(--blue);}
.office .seat{display:block;margin:-2px 0 4px;font-size:11.5px;font-style:normal;letter-spacing:.04em;color:var(--muted);}
.form-card{background:#fff;border:1px solid var(--line);padding:44px;box-shadow:0 34px 64px -36px rgba(15,42,72,.32);}
.form-card h3{margin:0 0 8px;font-size:24px;font-weight:600;}
.form-card>p{margin:0 0 30px;font-size:15px;line-height:1.65;color:var(--text);}
.field{margin-bottom:18px;}
.field label{display:block;margin-bottom:8px;font-size:11.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);}
.field input,.field textarea{width:100%;padding:14px 16px;border:1px solid var(--line-strong);border-radius:2px;background:#fff;font:inherit;font-size:15px;color:var(--navy);transition:border-color .2s,box-shadow .2s;}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 4px var(--blue-16);}
.field textarea{min-height:130px;resize:vertical;}
.form-note{display:none;margin-top:16px;padding:14px 16px;background:var(--tint);border-left:3px solid var(--navy);font-size:14px;color:var(--navy);}
.form-note.show{display:block;}
.small-print{margin-top:14px;font-size:12.5px;color:var(--muted);}
@media (max-width:980px){.contact-grid{grid-template-columns:1fr;gap:56px;}.form-card{padding:30px;}}
@media (max-width:560px){.offices{grid-template-columns:1fr;}}

/* ---------- footer ---------- */
.site-footer{background:var(--navy);color:rgba(255,255,255,.8);padding:92px 0 34px;}
.footer-top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 1fr;gap:40px;padding-bottom:56px;border-bottom:1px solid rgba(255,255,255,.14);}
.footer-brand .logo{width:200px;height:46px;}
.tagline{margin-top:22px;font-size:10.5px;font-weight:600;letter-spacing:.28em;line-height:2;text-transform:uppercase;color:rgba(255,255,255,.58);}
.footer-col h4{margin:4px 0 16px;font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.55);}
.footer-col a,.footer-col p{display:block;margin:0 0 9px;font-size:14px;line-height:1.55;color:rgba(255,255,255,.84);}
.footer-col a:hover{color:#fff;text-decoration:underline;text-decoration-color:var(--blue);text-underline-offset:4px;}
.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;padding-top:26px;font-size:12.5px;color:rgba(255,255,255,.6);}
.footer-bottom a:hover{color:#fff;}
@media (max-width:980px){.footer-top{grid-template-columns:1fr 1fr;}.footer-brand{grid-column:1/-1;}}
@media (max-width:520px){.footer-top{grid-template-columns:1fr;}}

/* ---------- inner page head ---------- */
.page-head{position:relative;overflow:hidden;padding:60px 0 76px;background:#fff;border-bottom:1px solid var(--line);}
.page-head.has-media{padding-bottom:150px;border-bottom:none;}
.page-head .inner{position:relative;}
.crumbs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:30px;font-size:12.5px;color:var(--muted);}
.crumbs a:hover{color:var(--blue);}
.crumbs .sep{opacity:.5;}
.page-head h1{margin:18px 0 18px;max-width:900px;font-weight:300;font-size:clamp(38px,4.8vw,62px);line-height:1.07;letter-spacing:-.025em;}
.page-head h1 strong{font-weight:600;color:var(--navy);}
.page-head .lead{margin:0;max-width:720px;}
.media-strip{position:relative;margin-top:-112px;height:clamp(220px,30vw,400px);}
.media-strip .ph{position:absolute;inset:0;}
.media-strip .tag{position:absolute;left:0;bottom:0;background:#fff;padding:16px 22px;font-size:13px;font-weight:600;color:var(--navy);display:flex;gap:10px;align-items:center;}
.media-strip .tag::before{content:"";width:6px;height:14px;border-left:1.5px solid var(--navy);border-right:1.5px solid var(--blue);}

/* ---------- two-column article layout ---------- */
.layout{display:grid;grid-template-columns:290px minmax(0,1fr);gap:84px;padding:84px 0 110px;}
.aside-sticky{position:sticky;top:calc(var(--header) + 32px);}
.aside-title{margin:0 0 14px;font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);}
.toc{margin-bottom:38px;}
.toc a{display:block;padding:9px 0 9px 18px;border-left:1.5px solid var(--line);font-size:14px;line-height:1.45;color:var(--text);transition:border-color .2s,color .2s;}
.toc a:hover,.toc a.on{border-left-color:var(--blue);color:var(--navy);font-weight:600;}
.contact-card{padding:24px;border:1px solid var(--line);background:#fff;}
.contact-card .who{display:flex;gap:14px;align-items:center;margin-bottom:16px;}
.contact-card .ph{flex:none;width:58px;height:58px;border-radius:50%;--pos:center 18%;}
.contact-card b{display:block;font-size:15.5px;font-weight:600;}
.contact-card .who span{font-size:12.5px;color:var(--muted);}
.contact-card a.line{display:block;padding:7px 0;font-size:14px;font-weight:500;color:var(--navy);border-top:1px solid var(--line);}
.contact-card a.line:hover{color:var(--blue);}
.contact-card .btn{margin-top:14px;}
.chip-list{display:flex;flex-wrap:wrap;gap:8px;}
.chip{display:inline-block;padding:8px 14px;border-radius:40px;background:#fff;border:1px solid var(--line-strong);font-size:13px;font-weight:500;color:var(--navy);}
@media (max-width:980px){.layout{grid-template-columns:1fr;gap:48px;padding:56px 0 84px;}.layout>aside{order:2;}.aside-sticky{position:static;}.toc{display:none;}}

/* ---------- prose ---------- */
.prose{max-width:760px;overflow-wrap:anywhere;}
.prose p{margin:0 0 20px;font-size:16.5px;line-height:1.82;color:var(--text);}
.prose .intro p{font-size:18.5px;line-height:1.75;color:var(--navy);}
.prose .intro p:first-child{font-size:21px;line-height:1.62;font-weight:300;}
.prose h2{position:relative;margin:68px 0 18px;padding-top:26px;font-size:clamp(24px,2.4vw,30px);font-weight:600;line-height:1.25;letter-spacing:-.012em;color:var(--navy);}
.prose h2::before{content:"";position:absolute;top:0;left:0;width:44px;height:2px;background:var(--navy);}
.prose h3{margin:36px 0 10px;font-size:19px;font-weight:600;color:var(--navy);}
.prose ul{list-style:none;margin:6px 0 28px;padding:0;border-top:1px solid var(--line);}
.prose ul li{position:relative;padding:12px 0 12px 28px;border-bottom:1px solid var(--line);font-size:16px;line-height:1.6;color:var(--navy);}
.prose ul li::before{content:"";position:absolute;left:0;top:24px;width:12px;height:1.5px;background:var(--blue);}
.prose a.inline{font-weight:600;color:var(--navy);border-bottom:1.5px solid var(--blue);}
.prose a.inline:hover{color:var(--blue);}
.callout{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin:34px 0 10px;padding:24px 28px;background:#fff;border:1px solid var(--line);border-left:3px solid var(--navy);}
.callout p{margin:0!important;font-size:16px!important;font-weight:600;color:var(--navy)!important;}
.xgrid{display:grid;grid-template-columns:repeat(2,1fr);margin:30px 0 26px;border-top:1px solid var(--line);border-left:1px solid var(--line);}
.xitem{padding:22px 24px 24px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .2s;}
.xitem:hover{background:var(--tint);}
.xitem h4{margin:0 0 6px;font-size:15.5px;font-weight:600;color:var(--navy);}
.xitem p{margin:0!important;font-size:14px!important;line-height:1.62!important;}
.prose .chip-list{margin:20px 0 22px;}
.pullquote{margin:56px 0;padding:34px 0 34px 34px;border-left:2px solid var(--navy);font-size:clamp(21px,2.2vw,26px);line-height:1.5;font-weight:300;color:var(--navy);}
.reg-list li strong{font-weight:600;}
@media (max-width:620px){.xgrid{grid-template-columns:1fr;}}

/* ---------- navy CTA band ---------- */
.band-navy{position:relative;overflow:hidden;background:var(--navy);color:#fff;padding:92px 0;}
.band-navy .bg-mark{position:absolute;right:-40px;top:-60px;width:340px;height:340px;opacity:.07;}
.band-navy .inner{position:relative;display:grid;grid-template-columns:1.3fr .7fr;gap:56px;align-items:center;}
.band-navy h2{margin:16px 0 0;font-size:clamp(28px,3vw,40px);font-weight:400;line-height:1.18;letter-spacing:-.02em;}
.band-navy p{margin:18px 0 0;max-width:600px;font-size:17px;line-height:1.7;color:rgba(255,255,255,.82);}
.band-actions{display:flex;flex-direction:column;align-items:flex-start;gap:16px;}
.band-actions .tel{font-size:14px;font-weight:600;color:rgba(255,255,255,.88);}
.band-actions .tel:hover{color:#fff;}
@media (max-width:860px){.band-navy .inner{grid-template-columns:1fr;gap:34px;}}

/* related */
.related-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.related-card{display:grid;grid-template-columns:160px 1fr;border:1px solid var(--line);background:#fff;transition:border-color .25s,box-shadow .25s;}
.related-card:hover{border-color:var(--blue-16);box-shadow:0 20px 40px -26px rgba(15,42,72,.4);}
.related-card .ph{min-height:150px;}
.related-card .body{padding:22px 24px;}
.related-card h3{margin:0 0 6px;font-size:20px;font-weight:600;}
.related-card p{margin:0 0 12px;font-size:14px;line-height:1.6;color:var(--text);}
.related-card .more{font-size:13px;font-weight:600;color:var(--navy);}
@media (max-width:860px){.related-grid{grid-template-columns:1fr;}}
@media (max-width:480px){.related-card{grid-template-columns:1fr;}.related-card .ph{min-height:140px;}}

/* ---------- mediation page ---------- */
.med-grid{display:grid;grid-template-columns:7fr 5fr;gap:80px;align-items:start;padding:84px 0 100px;}
.med-photo{position:relative;margin-right:22px;}
.med-photo .frame{position:absolute;top:22px;right:-22px;bottom:-22px;left:22px;border:1.5px solid var(--blue);}
.med-photo .ph{position:relative;aspect-ratio:700/1050;--pos:center 30%;}
.mfn-box{display:flex;gap:20px;align-items:center;margin-top:34px;padding:22px 24px;border:1px solid var(--line);}
.mfn-box .logo{flex:none;width:120px;height:42px;}
.mfn-box p{margin:0!important;font-size:14.5px!important;line-height:1.6!important;}
.adv-row{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.adv-row .adv-card{border:1px solid var(--line);}
.steps{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:10px;}
.steps::before{content:"";position:absolute;top:23px;left:24px;right:24px;height:1.5px;background:var(--blue-16);}
.step{position:relative;}
.step .num{position:relative;display:flex;align-items:center;justify-content:center;width:48px;height:48px;margin-bottom:22px;border-radius:50%;background:#fff;border:1.5px solid var(--blue);font-size:14px;font-weight:600;color:var(--blue);}
.step h3{margin:0 0 8px;font-size:18px;font-weight:600;}
.step p{margin:0;font-size:14.5px;line-height:1.65;color:var(--text);}
@media (max-width:980px){.med-grid{grid-template-columns:1fr;gap:56px;}.med-photo{max-width:420px;}.adv-row{grid-template-columns:1fr 1fr;}.steps{grid-template-columns:1fr 1fr;}.steps::before{display:none;}}
@media (max-width:560px){.adv-row,.steps{grid-template-columns:1fr;}}

/* ---------- profile ---------- */
.profile-hero{position:relative;overflow:hidden;background:#fff;border-bottom:1px solid var(--line);}
.profile-grid{position:relative;display:grid;grid-template-columns:5fr 7fr;gap:80px;align-items:end;padding-top:56px;}
.profile-photo{position:relative;margin:0 22px 0 0;}
.profile-photo .frame{position:absolute;top:-22px;right:-22px;bottom:22px;left:22px;border:1px solid var(--line-strong);}
.profile-photo .ph{position:relative;aspect-ratio:4/5;}
.profile-copy{padding-bottom:64px;}
.profile-copy h1{margin:16px 0 8px;font-size:clamp(38px,4.6vw,58px);font-weight:500;line-height:1.05;letter-spacing:-.025em;}
.profile-role{font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);}
.profile-quote{position:relative;margin:34px 0 34px;padding-left:46px;font-size:clamp(19px,1.9vw,23px);line-height:1.6;font-weight:300;color:var(--navy);}
.profile-quote::before{content:"\201C";position:absolute;left:0;top:-18px;font-size:76px;line-height:1;font-weight:600;color:var(--navy);opacity:.25;}
.profile-actions{display:flex;flex-wrap:wrap;gap:12px;}
.pub-list{border-top:1px solid var(--line);margin:8px 0 0;}
.pub-row{display:grid;grid-template-columns:130px 1fr auto;gap:22px;align-items:baseline;padding:18px 0;border-bottom:1px solid var(--line);transition:background .2s;}
.pub-row:hover{background:var(--tint);}
.pub-date{font-size:13px;color:var(--muted);text-transform:capitalize;}
.pub-title{font-size:16px;font-weight:600;color:var(--navy);}
.pub-by{display:block;margin-top:3px;font-size:13px;font-weight:400;color:var(--muted);}
.pub-go{font-size:12.5px;font-weight:600;color:var(--navy);white-space:nowrap;}
@media (max-width:900px){.profile-grid{grid-template-columns:1fr;gap:40px;}.profile-photo{max-width:380px;}.profile-copy{padding-bottom:56px;}}
@media (max-width:620px){.pub-row{grid-template-columns:1fr;gap:4px;}}

/* ---------- article ---------- */
.article-meta{display:flex;flex-wrap:wrap;gap:14px;align-items:center;font-size:13.5px;color:var(--muted);}
.article-meta .dot{width:4px;height:4px;border-radius:50%;background:var(--line-strong);}
.author-card{padding:24px;border:1px solid var(--line);}
.author-card .ph{width:72px;height:72px;border-radius:50%;margin-bottom:14px;--pos:center 18%;}
.author-card b{display:block;font-size:16px;font-weight:600;}
.author-card span{display:block;margin-bottom:14px;font-size:13px;color:var(--muted);}

/* legal */
.legal-nav a{display:block;padding:10px 0;border-bottom:1px solid var(--line);font-size:14px;color:var(--text);}
.legal-nav a:hover,.legal-nav a.on{color:var(--blue);font-weight:600;}

/* preview ribbon */
.nojs-note{display:none;}
html.no-js .nojs-note{display:block;position:fixed;left:16px;right:16px;top:100px;z-index:200;max-width:560px;margin:0 auto;padding:14px 18px;background:#fff;color:var(--navy);border:1px solid var(--navy);box-shadow:0 14px 34px -12px rgba(15,42,72,.55);font-size:14px;line-height:1.5;}
html.no-js .nojs-note strong{display:block;margin-bottom:2px;}
html.no-js .preview-flag{display:none;}
.preview-flag{position:fixed;right:16px;bottom:16px;z-index:70;display:inline-flex;align-items:center;gap:6px;padding:9px 12px 9px 14px;border:none;background:var(--navy);color:#fff;font:inherit;font-size:12px;font-weight:600;letter-spacing:.04em;cursor:pointer;box-shadow:0 10px 26px -10px rgba(15,42,72,.6);}
.preview-flag span{color:#8DD3F7;}
.preview-flag i{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;margin-left:6px;border-radius:50%;background:var(--blue);font-style:normal;font-size:11px;font-weight:700;}
.preview-flag:hover{background:#17385E;}
.preview-info{position:fixed;right:16px;bottom:60px;z-index:71;width:min(380px,calc(100vw - 32px));padding:22px 22px 18px;background:#fff;border:1px solid var(--line);border-top:3px solid var(--blue);box-shadow:0 30px 60px -24px rgba(15,42,72,.45);}
.preview-info{display:none;}
.preview-info.open,.preview-info:target{display:block;}
@media (max-width:760px){.preview-flag{width:40px;height:40px;padding:0;justify-content:center;border-radius:50%;right:14px;bottom:14px;}.preview-flag .pf-text{display:none;}.preview-flag i{margin:0;width:22px;height:22px;font-size:12px;}.preview-info{bottom:64px;right:14px;}}
.preview-info h4{margin:10px 0 12px;font-size:17px;font-weight:600;color:var(--navy);}
.preview-info ul{margin:0 0 14px;padding:0;list-style:none;}
.preview-info li{position:relative;padding:7px 0 7px 20px;border-top:1px solid var(--line);font-size:13.5px;line-height:1.55;color:var(--text);}
.preview-info li::before{content:"";position:absolute;left:0;top:16px;width:10px;height:1.5px;background:var(--blue);}
.pi-close{border:none;background:none;padding:4px 0;font:inherit;font-size:13px;font-weight:600;color:var(--navy);border-bottom:1.5px solid var(--blue);cursor:pointer;}
@media print{.site-header,.preview-flag,.mobile-menu{display:none;}.view{display:block!important;}}
/* ---------- nieuwe homepage-blokken ---------- */
.h-xl{margin:0;font-weight:300;font-size:clamp(40px,5.6vw,78px);line-height:1.04;letter-spacing:-.03em;color:var(--navy);}
.h-xl strong{font-weight:600;color:var(--navy);}
.section>.wrap>.h-xl{margin-bottom:clamp(36px,4.5vw,64px);}
.contact-grid .h-xl{margin-bottom:28px;}
.title-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:18px 28px;margin-bottom:clamp(36px,4.5vw,64px);}
.title-row .h-xl{margin:0!important;}
.title-links{display:flex;flex-wrap:wrap;gap:12px 30px;margin:0 0 8px;}
.welcome{padding:clamp(80px,9vw,136px) 0;}
.welcome .h-xl{font-size:clamp(34px,4.4vw,62px);}
@media (max-width:600px){.welcome .h-xl{font-size:clamp(26px,8.2vw,34px);}}
.welcome-grid{display:grid;grid-template-columns:1fr;gap:clamp(32px,4vw,56px);}
.welcome-body{max-width:660px;}
@media (min-width:900px){.welcome-body{margin-left:calc((100% + 0px) * 5 / 12);max-width:none;width:calc(100% * 7 / 12);padding-right:6%;}.welcome .h-xl strong{white-space:nowrap;}}
.welcome-body .lead{margin:0 0 22px;font-size:19px;line-height:1.7;color:var(--navy);}
.welcome-body p{margin:0 0 18px;font-size:16.5px;line-height:1.8;color:var(--text);}
.help{background:var(--navy);color:#fff;padding:clamp(80px,9vw,132px) 0;}
.help .h-xl,.help .h-xl strong{color:#fff;}
.tile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.tile{position:relative;display:flex;flex-direction:column;background:#fff;color:var(--navy);transition:transform .35s var(--ease),box-shadow .35s var(--ease);}
.tile:hover{transform:translateY(-4px);box-shadow:0 34px 54px -30px rgba(0,0,0,.65);}
.tile .media{position:relative;aspect-ratio:16/9;overflow:hidden;}
.tile .media .ph{position:absolute;inset:0;transition:transform .7s var(--ease);}
.tile:hover .media .ph{transform:scale(1.04);}
.tile .body{display:flex;flex-direction:column;flex:1;padding:26px 28px 28px;}
.tile h3{margin:0 0 8px;font-size:22px;font-weight:600;letter-spacing:-.01em;}
.tile-link{color:inherit;transition:color .2s;}
.tile-link::after{content:"";position:absolute;inset:0;z-index:1;}
.tile:hover .tile-link,.tile-link:focus-visible{color:var(--blue);}
.tile p{margin:0;font-size:15px;line-height:1.65;color:var(--text);}
.tile-sub{position:relative;z-index:2;align-self:flex-start;margin-top:14px;padding-bottom:1px;border-bottom:1px solid var(--line-strong);font-size:12.5px;font-weight:500;color:var(--muted);transition:color .2s,border-color .2s;}
.tile-sub:hover{color:var(--blue);border-color:var(--blue);}
@media (max-width:980px){.tile-grid{grid-template-columns:1fr;max-width:560px;}}
/* calm reveal (only when scripts run) */
html.anim .reveal{opacity:0;transform:translateY(12px);transition:opacity 1.1s var(--ease),transform 1.1s var(--ease);}
html.anim .reveal.in{opacity:1;transform:none;}
html.anim .reveal strong{color:var(--grey);transition:color 1.8s ease .25s;}
html.anim .reveal.in strong{color:var(--navy);}
html.anim .help .reveal strong{color:rgba(255,255,255,.45);}
html.anim .help .reveal.in strong{color:#fff;}
@media print{html.anim .reveal{opacity:1;transform:none;}}
/* footer: Volg ons */
.footer-brand .follow{margin:34px 0 14px;font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.55);}
.socials{display:flex;gap:10px;}
.soc{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid rgba(255,255,255,.3);color:#fff;transition:background .2s,color .2s,border-color .2s;}
.soc svg{width:19px;height:19px;}
.soc:hover{background:#fff;color:var(--navy);border-color:#fff;}
.footer-col .seat{display:block;margin:0 0 2px;font-size:11.5px;font-style:normal;letter-spacing:.04em;color:rgba(255,255,255,.55);}
.med-link{color:#fff;border-bottom:1px solid rgba(255,255,255,.4);}
.med-link:hover{border-color:#fff;}

/* ---------- works without scripts (e-mail / file previews on phones) ---------- */
.ra{display:block;height:0;overflow:hidden;}
.mobile-menu:target{opacity:1;visibility:visible;}
.menu-close{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;}
html.no-js .view:target,html.no-js .view:has(:target){display:block;}
html.no-js main:has(:target) .view.active:not(:has(:target)){display:none;}
html.no-js .banner-menu,html.no-js .banner-nav{display:none!important;}
@media (max-width:760px){html:not(.no-js) body:not(.scrolled) .preview-flag{opacity:0;pointer-events:none;}.preview-flag{transition:opacity .3s;}}

/* ---- Blokken (De Brauw / Stibbe-opbouw), rustig en boutique ---- */
.h-lg{margin:0;font-weight:300;font-size:clamp(32px,3.7vw,52px);line-height:1.08;letter-spacing:-.025em;color:var(--navy);}
.h-md{margin:0;font-weight:300;font-size:clamp(26px,2.6vw,38px);line-height:1.15;letter-spacing:-.02em;color:var(--navy);}
.feature{position:relative;padding:clamp(56px,6vw,96px) 0 0;background:linear-gradient(var(--navy) 0, var(--navy) calc(100% - 150px), #fff calc(100% - 150px));}
.feature-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:24px;align-items:start;}
.fblock{position:relative;background:#fff;color:var(--navy);padding:clamp(40px,5vw,76px) clamp(30px,4.6vw,72px);}
.fblock .kicker{margin-bottom:24px;color:var(--muted);}
.on-dark .fblock .kicker::before{border-left-color:var(--navy);border-right-color:var(--blue);opacity:1;}
.fblock .h-lg,.fblock .h-md{margin-bottom:22px;color:var(--navy);}
.fblock p{margin:0 0 18px;font-size:16px;line-height:1.85;color:var(--text);}
.fblock .fsub{font-size:19px;line-height:1.6;font-weight:500;color:var(--navy);margin-bottom:24px;}
.fblock-panel{margin-top:clamp(40px,7vw,120px);}
.fblock-panel::before{content:"";position:absolute;left:0;top:0;height:2px;width:100%;background:var(--blue);transform-origin:left;}
.btn-line{position:relative;display:inline-flex;align-items:center;gap:12px;margin-top:14px;padding:15px 26px;border:1px solid var(--navy);overflow:hidden;font-size:14px;font-weight:600;letter-spacing:.02em;color:var(--navy);transition:color .75s var(--ease);}
.btn-line::before{content:"";position:absolute;inset:0;background:var(--navy);transform:scaleX(0);transform-origin:left;transition:transform .75s var(--ease);}
.btn-line span{position:relative;}
.btn-line::after{content:"";position:relative;width:7px;height:7px;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor;transform:rotate(45deg);}
.btn-line:hover{color:#fff;}
.btn-line:hover::before{transform:scaleX(1);}
.xlinks{margin-top:30px;border-bottom:1px solid var(--line);}
.xlinks a{position:relative;display:block;padding:20px 40px 20px 0;border-top:1px solid var(--line);transition:padding .6s var(--ease),color .4s;}
.xlinks a::after{content:"";position:absolute;right:6px;top:50%;width:8px;height:8px;margin-top:-4px;border-top:1.5px solid var(--navy);border-right:1.5px solid var(--navy);transform:rotate(45deg);transition:right .6s var(--ease),border-color .4s;}
.xlinks b{display:block;font-size:18px;font-weight:600;letter-spacing:-.005em;}
.xlinks span{display:block;margin-top:2px;font-size:14px;line-height:1.55;color:var(--muted);}
.xlinks .xsub{margin-top:6px;font-size:12px;letter-spacing:.04em;color:var(--grey);}
.xlinks a:hover{padding-left:12px;color:var(--blue);}
.xlinks a:hover::after{right:0;border-color:var(--blue);}
.diensten{padding-top:clamp(90px,9vw,140px);}
.dhead{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:end;margin-bottom:clamp(40px,5vw,64px);}
.dhead .kicker{margin-bottom:22px;}
.dhead p{margin:0;max-width:520px;font-size:16.5px;line-height:1.8;color:var(--text);}
.dgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.dcard{position:relative;display:flex;flex-direction:column;min-height:300px;padding:44px 36px 36px;border:1px solid var(--line);overflow:hidden;color:var(--navy);transition:color .75s var(--ease),border-color .75s var(--ease);}
.dcard::before{content:"";position:absolute;inset:0;background:var(--navy);transform:translateY(101%);transition:transform .75s var(--ease);}
.dcard>*{position:relative;}
.dcard .dline{position:absolute;left:0;top:0;height:2px;width:100%;background:var(--navy);transform-origin:left;}
.dcard .dnum{font-size:12px;font-weight:600;letter-spacing:.24em;color:var(--grey);}
.dcard h3{margin:auto 0 10px;padding-top:56px;font-size:26px;font-weight:300;letter-spacing:-.015em;}
.dcard p{margin:0 0 26px;font-size:15px;line-height:1.65;color:var(--text);transition:color .75s var(--ease);}
.dcard .more{display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:600;letter-spacing:.04em;}
.dcard .more::after{content:"";width:22px;height:1px;background:currentColor;transition:width .6s var(--ease);}
.dcard:hover{color:#fff;border-color:var(--navy);}
.dcard:hover::before{transform:none;}
.dcard:hover p{color:rgba(255,255,255,.8);}
.dcard:hover .dnum{color:rgba(255,255,255,.6);}
.dcard:hover .more::after{width:40px;}
.feature-split{padding-top:clamp(80px,8vw,124px);background:linear-gradient(var(--navy) 0, var(--navy) calc(100% - 120px), #fff calc(100% - 120px));}
.split-grid{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);align-items:center;}
.split-grid .fblock{z-index:2;margin-right:-90px;}
.fmedia{position:relative;overflow:hidden;aspect-ratio:4/5;}
.fmedia .ph{position:absolute;inset:0;}
.split-grid .fmedia{margin-bottom:0;}
.ervaring{padding-top:clamp(100px,10vw,150px);}
.erv-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(40px,7vw,104px);align-items:center;}
.erv-grid .fmedia{aspect-ratio:4/4.4;}
.erv-text .kicker{margin-bottom:22px;}
.erv-text .h-md{margin-bottom:24px;}
.erv-text p{margin:0 0 18px;font-size:16px;line-height:1.85;color:var(--text);}
.dienst-body{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:84px;padding:84px 0 110px;}
.dienst-aside{padding-top:6px;}
.dintro p{font-size:17.5px;line-height:1.8;color:var(--navy);}
.dintro p:first-child{font-size:21px;line-height:1.62;font-weight:300;}
.related-line{display:block;padding:18px 0;border-top:1px solid var(--line);transition:padding .6s var(--ease),color .4s;}
.related-line:last-child{border-bottom:1px solid var(--line);}
.related-line b{display:block;font-size:16px;font-weight:600;}
.related-line span{display:block;font-size:13.5px;line-height:1.55;color:var(--muted);}
.related-line:hover{padding-left:10px;color:var(--blue);}
/* scroll-animaties, alleen met scripts en zonder 'minder beweging' */
html.anim .rv{opacity:0;transition:opacity 1.2s var(--ease),transform 1.2s var(--ease);}
html.anim .rv-left{transform:translateX(-56px);}
html.anim .rv-right{transform:translateX(56px);}
html.anim .rv-up{transform:translateY(40px);}
html.anim .rv-img{opacity:1;}
html.anim .rv-img .ph{clip-path:inset(0 0 100% 0);transform:scale(1.12);transition:clip-path 1.5s var(--ease),transform 2.4s var(--ease);}
html.anim .rv.in{opacity:1;transform:none;}
html.anim .rv-img.in .ph{clip-path:inset(0 0 0 0);transform:none;}
html.anim .rv-d1{transition-delay:.15s;}
html.anim .rv-d2{transition-delay:.3s;}
html.anim .fblock-panel::before,html.anim .dcard .dline{transform:scaleX(0);transition:transform 1.3s var(--ease) .45s;}
html.anim .fblock-panel.in::before,html.anim .dcard.in .dline{transform:scaleX(1);}
@media (max-width:980px){
  .feature-grid,.split-grid,.erv-grid,.dhead,.dienst-body{grid-template-columns:1fr;}
  .fblock-panel{margin-top:0;}
  .split-grid .fblock{margin-right:0;}
  .split-grid .fmedia{aspect-ratio:4/3;}
  .erv-grid .fmedia{aspect-ratio:4/3;}
  .dgrid{grid-template-columns:1fr;}
  .dcard{min-height:0;}
  .dcard h3{padding-top:28px;}
  .dhead{gap:22px;}
  .dienst-body{gap:40px;padding:56px 0 80px;}
}
#home-welkom,#home-dienstverlening,#home-aanpak,#home-ervaring{overflow-x:clip;}
@media (max-width:560px){
  .fblock{padding:34px 22px 38px;}
  .h-lg{font-size:clamp(25px,8vw,32px);}
  .h-md{font-size:clamp(23px,7vw,28px);}
  .feature{background:linear-gradient(var(--navy) 0, var(--navy) calc(100% - 90px), #fff calc(100% - 90px));}
  html.anim .rv-left{transform:translateX(-28px);}
  html.anim .rv-right{transform:translateX(28px);}
}



/* ===== Ontwerp van de dames (november 2026) ===== */
:root{--edge:max(var(--gutter), calc((100vw - var(--maxw)) / 2 + var(--gutter)));}
.brand-w{display:none;}
.brand-w .lockup{width:200px;}
.home-mode:not(.header-in) .site-header{transform:none;background:transparent;border-bottom-color:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;}
.home-mode:not(.header-in) .brand .hl-navy{display:none;}
.home-mode:not(.header-in) .brand-w{display:block;}
.home-mode:not(.header-in) .nav-link{color:#fff;}
.home-mode:not(.header-in) .nav-link:hover{color:#8DD3F7;}
.home-mode:not(.header-in) .menu-toggle{background:transparent;border-color:rgba(255,255,255,.45);}
.home-mode:not(.header-in) .menu-toggle span,.home-mode:not(.header-in) .menu-toggle span::before{background:#fff;}
.home-mode .site-header{transition:transform .35s var(--ease),background .35s;}
.hline{display:block;width:64px;height:3px;background:var(--blue);}
.btn-line-light{border-color:rgba(255,255,255,.85);color:#fff;}
.btn-line-light::before{background:#fff;}
.btn-line-light:hover{color:var(--navy);}
.btn-arrow::after{content:"\2192";font-size:18px;line-height:1;margin-left:2px;transition:transform .5s var(--ease);}
.btn-arrow:hover::after{transform:translateX(4px);}
/* hero */
.hero2{position:relative;background:var(--navy);}
.hero2-stage{position:relative;min-height:clamp(640px,96vh,900px);overflow:hidden;}
.hero2-img{position:absolute;inset:0;}
.hero2-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,36,62,.94) 0%,rgba(12,36,62,.8) 32%,rgba(12,36,62,.25) 58%,rgba(12,36,62,0) 72%),linear-gradient(180deg,rgba(12,36,62,.55) 0,rgba(12,36,62,0) 160px);}
.hero2-copy{position:relative;padding-top:calc(var(--header) + clamp(40px,6vw,90px));padding-bottom:220px;}
.hero2-copy>*{max-width:560px;}
.hero2-copy .hline{margin-bottom:26px;}
.h-hero{margin:0 0 22px;font-weight:300;font-size:clamp(40px,5vw,72px);line-height:1.04;letter-spacing:-.02em;color:#fff;}
.hero2-sub{margin:0 0 20px;font-size:clamp(19px,1.8vw,25px);font-weight:300;line-height:1.35;color:#fff;}
.hero2-p{margin:0 0 30px;max-width:480px;font-size:15.5px;line-height:1.75;color:rgba(255,255,255,.86);}
.xbar{position:absolute;left:3vw;right:0;bottom:0;z-index:2;background:var(--navy);clip-path:polygon(110px 0,100% 0,100% 100%,0 100%);}
.xbar-in{padding:28px var(--gutter) 34px clamp(150px,13vw,220px);}
.xbar .kicker{color:rgba(255,255,255,.8);margin-bottom:8px;}
.xbar .kicker::before{display:none;}
.bigwords{display:flex;flex-wrap:wrap;align-items:center;gap:0 clamp(26px,4.2vw,70px);}
.bigwords a{position:relative;font-size:clamp(30px,3.7vw,56px);font-weight:300;letter-spacing:.035em;line-height:1.2;color:#fff;transition:color .5s var(--ease);}
.bigwords a::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:1.5px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .7s var(--ease);}
.bigwords a:hover{color:#8DD3F7;}
.bigwords a:hover::after{transform:scaleX(1);}
.bigwords i{display:block;width:2px;height:.95em;font-size:clamp(30px,3.7vw,56px);background:var(--blue);}
.bigwords-dark a{color:var(--navy);}
.bigwords-dark a:hover{color:var(--blue);}
/* aanpak */
.aanpak2{position:relative;background:var(--tint);padding-bottom:90px;}
.aanpak2-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;}
.aanpak2-img{position:relative;align-self:stretch;min-height:520px;clip-path:polygon(0 0,100% 0,84% 100%,0 100%);}
.aanpak2-img .ph{position:absolute;inset:0;}
.aanpak2-text{padding:70px var(--edge) 40px clamp(28px,4vw,64px);}
.aanpak2-text .kicker,.ervaring2-text .kicker,.dbar .kicker{margin-bottom:12px;}
.aanpak2-text .kicker::before,.ervaring2-text .kicker::before,.dbar .kicker::before{display:none;}
.aanpak2-text .kicker{color:var(--navy);}
.aanpak2-text .h-md{margin-bottom:22px;font-size:clamp(28px,2.9vw,42px);}
.aanpak2-text p{margin:0 0 16px;max-width:560px;font-size:16px;line-height:1.75;color:var(--text);}
/* ervaring */
.ervaring2{position:relative;z-index:1;margin-top:-90px;background:var(--navy);clip-path:polygon(0 0,100% 70px,100% 100%,0 100%);}
.ervaring2-img{position:absolute;top:0;right:0;bottom:0;width:58%;clip-path:polygon(30% 0,100% 0,100% 100%,0 100%);}
.ervaring2-img .ph{position:absolute;inset:0;}
.ervaring2-in{position:relative;padding-top:110px;padding-bottom:90px;}
.ervaring2-text{max-width:500px;}
.ervaring2-text .kicker{color:rgba(255,255,255,.8);}
.ervaring2-text .h-md{margin-bottom:20px;color:#fff;font-size:clamp(28px,2.9vw,42px);}
.ervaring2-text p{margin:0 0 22px;font-size:15.5px;line-height:1.75;color:rgba(255,255,255,.86);}
.more-text summary{list-style:none;cursor:pointer;margin-top:6px;}
.more-text summary::-webkit-details-marker{display:none;}
.more-text .ml-close,.more-text[open] .ml-open{display:none;}
.more-text[open] .ml-close{display:inline;}
.more-text[open] p{margin-top:24px;animation:mlIn .6s var(--ease);}
@keyframes mlIn{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:none;}}
/* dienstverlening */
.dbar-sec{position:relative;background:var(--navy);padding:0 0 10px;}
.dbar{width:min(94%,1500px);background:#fff;clip-path:polygon(0 0,100% 0,calc(100% - 100px) 100%,0 100%);}
.dbar-in{padding:28px 130px 30px var(--edge);}
.dbar .kicker{color:var(--navy);}
/* team */
.team2{background:var(--navy);padding:clamp(60px,6vw,90px) 0 clamp(130px,12vw,170px);}
.team2-grid{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(28px,4vw,60px);align-items:start;}
.team2-head .h-lg{color:#fff;margin-bottom:22px;white-space:nowrap;}
.team2-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.team2 .team-card .ph{aspect-ratio:1/0.95;}
.team2 .team-card .overlay{padding-top:90px;}
.team2 .team-card .focus{display:none;}
.team2 .team-card .go span{font-size:0;}
.team2 .team-card .go{justify-content:flex-end;}
.team2 .team-card .go::after{content:"\2192";font-size:20px;line-height:1;transition:transform .5s var(--ease);}
.team2 .team-card:hover .go::after{transform:translateX(5px);}
/* contact */
.contact2{position:relative;z-index:1;margin-top:-90px;background:#fff;clip-path:polygon(140px 0,100% 0,100% 100%,0 100%,0 140px);padding:clamp(80px,7vw,110px) 0 clamp(80px,8vw,120px);}
.contact2-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:clamp(40px,6vw,90px);align-items:start;}
.contact2-info{padding-right:clamp(0px,3vw,48px);border-right:1px solid var(--line);}
.contact2-info .h-lg{margin-bottom:18px;}
.contact2-info>p{margin:0 0 28px;font-size:16px;line-height:1.75;color:var(--text);}
.cl{list-style:none;margin:0;padding:0;}
.cl li{display:flex;gap:14px;align-items:flex-start;padding:10px 0;font-size:15.5px;font-weight:600;color:var(--navy);}
.cl svg{flex:none;width:22px;height:22px;margin-top:1px;color:var(--navy);}
.cl a:hover{color:var(--blue);}
.cl-office{display:grid;grid-template-columns:100px 1fr;gap:2px 12px;margin-bottom:8px;font-weight:400;font-size:14.5px;}
.cl-office b{font-weight:600;}
.cl-office a{grid-column:2;font-size:12.5px;color:var(--muted);text-decoration:underline;text-underline-offset:3px;}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:0 18px;}
.contact2 .form-card{padding:clamp(28px,3vw,44px);}
.contact2 .form-card h3,.contact2 .form-card>p{display:none;}
@media (max-width:1060px){
  .team2-grid{grid-template-columns:1fr;}
  .team2-head{display:flex;flex-direction:column;}
}
@media (max-width:900px){
  .xbar{position:relative;left:0;clip-path:polygon(60px 0,100% 0,100% 100%,0 100%);margin-top:-60px;}
  .xbar-in{padding:24px var(--gutter) 26px 70px;}
  .hero2-copy{padding-bottom:110px;}
  .hero2-shade{background:linear-gradient(90deg,rgba(12,36,62,.92) 0%,rgba(12,36,62,.72) 60%,rgba(12,36,62,.4) 100%);}
  .aanpak2-grid{grid-template-columns:1fr;}
  .aanpak2-img{min-height:300px;clip-path:polygon(0 0,100% 0,100% 82%,0 100%);}
  .aanpak2-text{padding:40px var(--gutter) 30px;}
  .ervaring2{clip-path:polygon(0 0,100% 40px,100% 100%,0 100%);margin-top:-60px;}
  .ervaring2-img{position:relative;width:100%;height:280px;clip-path:polygon(0 18%,100% 0,100% 100%,0 100%);}
  .ervaring2-in{padding-top:40px;}
  .dbar{width:100%;clip-path:polygon(0 0,100% 0,calc(100% - 40px) 100%,0 100%);}
  .dbar-in{padding:24px 60px 26px var(--gutter);}
  .team2-cards{grid-template-columns:1fr;max-width:440px;}
  .contact2{clip-path:polygon(60px 0,100% 0,100% 100%,0 100%,0 60px);margin-top:-60px;}
  .contact2-grid{grid-template-columns:1fr;}
  .contact2-info{border-right:none;padding-right:0;}
}
@media (max-width:560px){
  .field-row{grid-template-columns:1fr;}
  .bigwords{gap:0 18px;}
  .bigwords a,.bigwords i{font-size:clamp(22px,7vw,30px);}
  .hero2-stage{min-height:600px;}
  .brand-w .lockup{width:170px;}
}

/* ---- Logo-entree zoals De Brauw ---- */
.brand-w .hlogo{width:200px;}
.hl-white .hl-sub{fill:rgba(255,255,255,.78);}
.hlogo .lg{transform-box:view-box;}
html.anim .hlogo .lg{opacity:0;}
html.anim .hlogo .lg-a{transform:translateX(430px);}
html.anim .hlogo .lg-c{transform:translateX(-430px);}
html.anim .hlogo .lg-d{transform:translateX(270px);}
html.anim .hlogo.play .lg{opacity:1;transform:none;transition:opacity .3s ease-out .4s,transform 1s cubic-bezier(.215,.61,.355,1) .4s;}
html.anim .hlogo.play .lg-b{transition:opacity .3s ease-out .15s;}
html.anim .hlogo.play .lg-c{transition-delay:.65s,.65s;}
html.anim .hlogo.play .lg-d{transition-delay:.9s,.9s;}
/* ---- Knoppen zoals Stibbe: vlak schuift van links in ---- */
.btn,.btn-line{position:relative;isolation:isolate;overflow:hidden;background:transparent;border:1px solid var(--navy);border-radius:0;color:var(--navy);transition:color .75s cubic-bezier(.215,.61,.355,1),border-color .75s;}
.btn::before,.btn-line::before{content:"";position:absolute;top:0;bottom:0;left:-101%;width:100%;z-index:-1;background:var(--navy);transform:none!important;transition:left .75s cubic-bezier(.215,.61,.355,1);}
.btn:hover,.btn-line:hover,.btn:focus-visible,.btn-line:focus-visible{background:transparent;border-color:var(--navy);color:#fff;}
.btn:hover::before,.btn-line:hover::before,.btn:focus-visible::before,.btn-line:focus-visible::before{left:0;}
.btn-line::after,.btn:not(.btn-arrow)::after{content:"";width:7px;height:7px;margin-left:4px;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor;transform:rotate(45deg);transition:transform .75s cubic-bezier(.215,.61,.355,1);}
.btn-line:hover::after,.btn:not(.btn-arrow):hover::after{transform:translateX(4px) rotate(45deg);}
.on-dark .btn,.btn-line-light,.btn-white{border-color:#fff;color:#fff;background:transparent;}
.on-dark .btn::before,.btn-line-light::before,.btn-white::before{background:#fff;}
.on-dark .btn:hover,.btn-line-light:hover,.btn-white:hover,.on-dark .btn:focus-visible,.btn-line-light:focus-visible{color:var(--navy);border-color:#fff;background:transparent;}
.btn-arrow,.on-dark .btn-arrow{background:var(--navy);border-color:var(--navy);color:#fff;}
.btn-arrow::before,.on-dark .btn-arrow::before{background:var(--blue);}
.btn-arrow:hover,.btn-arrow:focus-visible{color:#fff;border-color:var(--blue);background:var(--navy);}

/* ---- minder blauw op de foto's ---- */
.hero2-shade{background:linear-gradient(90deg,rgba(12,36,62,.93) 0%,rgba(12,36,62,.8) 32%,rgba(12,36,62,.3) 52%,rgba(12,36,62,0) 66%),linear-gradient(180deg,rgba(12,36,62,.45) 0,rgba(12,36,62,0) 150px);}
.team2-photo{grid-column:1/-1;position:relative;aspect-ratio:21/8;overflow:hidden;margin-bottom:6px;}
.team2-photo .ph{position:absolute;inset:0;background-position:center 28%;}
@media (max-width:900px){.hero2-shade{background:linear-gradient(90deg,rgba(12,36,62,.88) 0%,rgba(12,36,62,.6) 65%,rgba(12,36,62,.3) 100%);}.team2-photo{aspect-ratio:4/3;}}

/* ---- openingsanimatie homepage ---- */
html.li-on .brand-w .hlogo{visibility:hidden;}
.logo-intro{position:fixed;inset:0;z-index:65;pointer-events:none;}
.logo-intro .li-part{position:absolute;transform-origin:0 0;will-change:transform;}
.logo-intro svg{display:block;will-change:transform,opacity;}

/* ---- warm ivoor in plaats van puur wit (kaarten en formulieren blijven wit) ---- */
:root{--ivory:#F7F5F0;}
body{background:var(--ivory);}
.site-header{background:rgba(247,245,240,.97);}
.banner,.banner-areas,.page-head,.profile-hero,.section.tint,.dbar,.contact2,.media-strip .tag{background:var(--ivory);}
@media (max-width:760px){.banner-logo{background:var(--ivory);}}
.field input,.field textarea{background:#fff;}

/* ---- slideshow Ervaring in de praktijk ---- */
.slideshow{overflow:hidden;}
.slideshow .slide{position:absolute;inset:0;margin:0;opacity:0;visibility:hidden;transition:opacity 2s cubic-bezier(.45,0,.55,1),visibility 0s linear 2s;will-change:opacity;backface-visibility:hidden;}
.slideshow .slide.on{opacity:1;visibility:visible;z-index:2;transition:opacity 2s cubic-bezier(.45,0,.55,1),visibility 0s;}
.slideshow .slide.off{visibility:visible;z-index:1;opacity:0;transition:opacity 2s cubic-bezier(.45,0,.55,1),visibility 0s linear 2s;}
.slideshow .slide .ph{position:absolute;inset:-2%;transform:translate3d(0,0,0) scale(1);will-change:transform;backface-visibility:hidden;}
html.anim .slideshow .slide.on .ph,html.anim .slideshow .slide.off .ph{animation:kb 9s linear both;}
html.anim .slideshow.paused .slide .ph{animation-play-state:paused;}
@keyframes kb{from{transform:translate3d(0,0,0) scale(1);}to{transform:translate3d(-1%,-.5%,0) scale(1.07);}}
.slideshow .slide::after{content:"";position:absolute;inset:auto 0 0 0;height:38%;background:linear-gradient(to top,rgba(8,26,46,.42),rgba(8,26,46,0));pointer-events:none;}
.slideshow figcaption{position:absolute;right:28px;bottom:26px;z-index:2;color:rgba(255,255,255,.88);font-size:11.5px;font-weight:500;letter-spacing:.32em;text-transform:uppercase;text-shadow:0 1px 10px rgba(0,0,0,.35);opacity:0;transform:translate3d(0,6px,0);transition:opacity 1.2s ease .9s,transform 1.2s ease .9s;}
.slideshow .slide.on figcaption{opacity:1;transform:none;}
.slideshow .slide.off figcaption{opacity:0;transition:opacity .6s ease;}
.slide-prog{position:absolute;left:0;right:0;bottom:0;z-index:3;height:2px;background:rgba(255,255,255,.18);}
.slide-prog span{display:block;height:100%;background:rgba(255,255,255,.8);transform:scaleX(0);transform-origin:left;}
html.no-js .slide-prog{display:none;}
@media (max-width:900px){.slideshow figcaption{right:16px;bottom:20px;font-size:10px;letter-spacing:.26em;}}

.team2{background:linear-gradient(160deg,#0F2A48 0%,#0F2A48 45%,#183A60 100%);}

/* ---- social: wit in rust, merkkleur bij hover ---- */
.soc{position:relative;overflow:hidden;border-radius:50%;isolation:isolate;transition:color .45s ease,border-color .45s ease;}
.soc::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:50%;opacity:0;transform:scale(.6);transition:opacity .45s ease,transform .45s cubic-bezier(.215,.61,.355,1);}
.soc-linkedin::before{background:#0A66C2;}
.soc-facebook::before{background:#1877F2;}
.soc-instagram::before{background:radial-gradient(circle at 30% 107%,#FDF497 0%,#FDF497 5%,#FD5949 45%,#D6249F 60%,#285AEB 90%);}
.soc:hover,.soc:focus-visible{background:transparent;color:#fff;border-color:transparent;}
.soc:hover::before,.soc:focus-visible::before{opacity:1;transform:none;}

/* ---- rustige paginaovergang ---- */
.page-veil{position:fixed;inset:0;z-index:80;background:var(--ivory);opacity:0;pointer-events:none;transition:opacity .7s cubic-bezier(.4,0,.2,1);}
.page-veil.on{opacity:1;pointer-events:auto;transition:opacity .32s cubic-bezier(.4,0,.2,1);}
@media (prefers-reduced-motion:reduce){.page-veil{display:none;}}

/* ---- logo in kleur in de footer ---- */
.footer-logo{display:inline-block;}
.footer-logo .hlogo{width:210px;}
html.anim .hl-static .lg{opacity:1!important;transform:none!important;}
.footer-logo:hover .hl-lh,.footer-logo:hover .hl-rh{transform:scaleX(1.06);}
.footer-logo:hover .hl-c{transform:translateY(-24px);}

/* ===== Rustigere vlakverdeling: één hoek (10°, "/"), verder rechte lijnen en meer lucht ===== */
:root{--tilt:17.6cqh;}
/* hero: expertisebalk recht over de volle breedte */
.xbar{left:0;clip-path:none;border-top:1px solid rgba(255,255,255,.14);}
.xbar-in{padding:30px var(--edge) 36px;}
/* onze aanpak: foto met de vaste schuine rand rechts */
.aanpak2{padding:clamp(70px,7vw,110px) 0;}
.aanpak2-img{align-self:center;min-height:0;height:clamp(420px,40vw,580px);clip-path:polygon(0 0,100% 0,calc(100% - clamp(74px,7.04vw,102px)) 100%,0 100%);}
.aanpak2-text{padding:40px var(--edge) 40px clamp(36px,5vw,84px);}
.aanpak2-text p{max-width:520px;}
/* ervaring: recht vlak, slideshow met dezelfde schuine rand links */
.ervaring2{margin-top:0;clip-path:none;}
.ervaring2-img{clip-path:none;container-type:size;}
.ervaring2-img .slide,.ervaring2-img .slide-prog{clip-path:polygon(var(--tilt) 0,100% 0,100% 100%,0 100%);}
.ervaring2-in{padding-top:clamp(110px,10vw,150px);padding-bottom:clamp(110px,10vw,150px);}
.ervaring2-text{max-width:460px;}
/* dienstverlening: ivoren vlak over de volle breedte met een haarlijn */
.dbar-sec{background:var(--ivory);padding:0;border-top:1px solid var(--blue);}
.dbar{width:100%;background:transparent;clip-path:none;}
.dbar-in{padding:clamp(48px,5vw,72px) var(--edge);}
/* wie zijn wij: meer lucht, kaarten zonder waas */
.team2{padding:clamp(100px,9vw,140px) 0;}
.team2 .team-card{background:transparent;}
.team2 .team-card .ph{aspect-ratio:4/4.6;}
.team2 .team-card .overlay{position:relative;padding:20px 0 0;background:none;}
.team2 .team-card .role{color:rgba(255,255,255,.6);}
.team2 .team-card h3{margin:6px 0 0;font-size:21px;font-weight:500;}
.team2 .team-card .go{margin-top:14px;padding-top:12px;border-top:1px solid rgba(255,255,255,.18);}
.team2 .team-card:hover h3{color:#8DD3F7;}
.team2 .team-card .ph{transition:transform 1.2s var(--ease),filter .8s ease;filter:brightness(.96);}
.team2 .team-card:hover .ph{transform:scale(1.03);filter:brightness(1.04);}
/* contact: recht en ruim */
.contact2{margin-top:0;clip-path:none;padding:clamp(100px,9vw,140px) 0;}
@media (max-width:900px){
  .xbar{margin-top:0;}
  .xbar-in{padding:24px var(--gutter) 26px;}
  .aanpak2-img{height:300px;clip-path:polygon(0 0,100% 0,100% 100%,0 calc(100% - 40px));}
  .ervaring2-img .slide,.ervaring2-img .slide-prog{clip-path:polygon(0 40px,100% 0,100% 100%,0 100%);}
  .aanpak2{padding:0 0 60px;}
  .ervaring2-in,.team2,.contact2{padding-top:70px;padding-bottom:70px;}
  .team2 .team-card .ph{aspect-ratio:4/4.2;}
}

/* ===== Schalen: tablet, mobiel en hele brede schermen ===== */
@media (min-width:1800px){:root{--maxw:1440px;}.h-hero{font-size:80px;}.hero2-copy>*{max-width:640px;}}
@media (max-width:900px){
  .hero2-stage{min-height:0;}
  .hero2-copy{padding-top:calc(var(--header) + 56px);padding-bottom:72px;}
  .team2-cards{grid-template-columns:repeat(3,1fr);max-width:none;gap:16px;}
  .team2 .team-card .ph{aspect-ratio:4/4.8;}
  .team2 .team-card h3{font-size:17px;}
}
@media (max-width:600px){
  .h-hero{font-size:clamp(30px,9.4vw,42px);}
  .hero2-sub{font-size:18px;}
  /* woorden als rustige lijst onder elkaar */
  .bigwords{flex-direction:column;align-items:stretch;gap:0;margin-top:6px;}
  .bigwords i{display:none;}
  .bigwords a{display:flex;justify-content:space-between;align-items:center;padding:12px 0;font-size:24px;letter-spacing:.02em;border-top:1px solid rgba(255,255,255,.16);}
  .bigwords a::after{position:static;width:8px;height:8px;background:none;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor;transform:rotate(45deg);margin-right:4px;}
  .bigwords a:hover::after{transform:rotate(45deg);}
  .bigwords-dark a{border-top-color:var(--line);}
  /* teamkaarten compact: foto links, naam rechts */
  .team2-cards{grid-template-columns:1fr;gap:14px;}
  .team2 .team-card{display:grid;grid-template-columns:112px minmax(0,1fr);gap:18px;align-items:center;}
  .team2 .team-card .ph{aspect-ratio:4/5;}
  .team2 .team-card .overlay{padding:0;}
  .team2 .team-card h3{font-size:19px;}
  .team2 .team-card .go{margin-top:10px;padding-top:10px;}
}
@media (max-width:600px){.footer-top{grid-template-columns:1fr 1fr;gap:34px 20px;}.footer-brand{grid-column:1/-1;}.footer-col:nth-of-type(2){grid-column:1/-1;}}

/* ===== Zachte overgangen bij de foto's (vlakken onderling blijven strak) ===== */
/* 1. openingsfoto vloeit onderaan over in de expertisebalk */
.xbar{border-top:0;}
.xbar::before{content:"";position:absolute;left:0;right:0;bottom:100%;height:clamp(140px,16vw,240px);pointer-events:none;background:linear-gradient(to top,var(--navy) 0%,rgba(15,42,72,.86) 30%,rgba(15,42,72,.45) 62%,rgba(15,42,72,0) 100%);}
/* 2. kantoorfoto lost aan de schuine kant op in het lichte vlak */
.aanpak2-img{clip-path:none;overflow:hidden;}
.aanpak2-img::after{content:"";position:absolute;top:0;bottom:0;right:-260px;width:620px;z-index:2;pointer-events:none;transform:skewX(-10deg);transform-origin:top right;background:linear-gradient(to right,rgba(239,236,229,0) 0,rgba(239,236,229,.55) 150px,var(--tint) 300px,var(--tint) 100%);}
/* 3. slideshow lost aan de schuine kant op in het donkerblauw */
.ervaring2-img .slide,.ervaring2-img .slide-prog{clip-path:none;}
.ervaring2-img::after{content:"";position:absolute;top:0;bottom:0;left:-320px;width:640px;z-index:3;pointer-events:none;transform:skewX(-10deg);transform-origin:bottom left;background:linear-gradient(to left,rgba(15,42,72,0) 0,rgba(15,42,72,.55) 150px,var(--navy) 300px,var(--navy) 100%);}
.ervaring2-img .slide-prog{z-index:4;}
@media (max-width:900px){
  .aanpak2-img{clip-path:none;}
  .aanpak2-img::after{left:0;right:0;top:auto;bottom:0;width:auto;height:45%;transform:none;background:linear-gradient(to bottom,rgba(239,236,229,0),var(--tint));}
  .ervaring2-img .slide,.ervaring2-img .slide-prog{clip-path:none;}
  .ervaring2-img::after{left:0;right:0;top:auto;bottom:0;width:auto;height:45%;transform:none;background:linear-gradient(to bottom,rgba(15,42,72,0),var(--navy));}
}
.hero2-copy{z-index:3;}
.xbar::before{height:clamp(110px,11vw,170px);}

/* ===== Zachte overgangen doorgevoerd op de overige pagina's ===== */
/* fotostrook bovenaan expertise- en dienstpagina's: rechts en onder zacht naar ivoor */
.media-strip .ph{-webkit-mask-image:linear-gradient(to right,#000 55%,rgba(0,0,0,.6) 78%,transparent 100%),linear-gradient(to bottom,#000 70%,transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,#000 55%,rgba(0,0,0,.6) 78%,transparent 100%),linear-gradient(to bottom,#000 70%,transparent 100%);mask-composite:intersect;}
.media-strip .tag{background:var(--ivory);}
/* profielfoto: onderkant lost zacht op */
.profile-photo .ph{-webkit-mask-image:linear-gradient(to bottom,#000 72%,transparent 100%);mask-image:linear-gradient(to bottom,#000 72%,transparent 100%);}
/* teamkaarten homepage: foto loopt onderaan zacht over in het blauw */
.team2 .team-card .ph{-webkit-mask-image:linear-gradient(to bottom,#000 70%,transparent 100%);mask-image:linear-gradient(to bottom,#000 70%,transparent 100%);}
/* kaarten 'Andere expertise': foto vloeit over in de kaart */
.related-card{overflow:hidden;}
.related-card .ph{-webkit-mask-image:linear-gradient(to right,#000 55%,transparent 100%);mask-image:linear-gradient(to right,#000 55%,transparent 100%);}
@media (max-width:480px){.related-card .ph{-webkit-mask-image:linear-gradient(to bottom,#000 60%,transparent 100%);mask-image:linear-gradient(to bottom,#000 60%,transparent 100%);}}
@media (max-width:600px){.team2 .team-card .ph{-webkit-mask-image:none;mask-image:none;}}
/* Nieuwe teksten nov 2026: ondertitel per kopje, links, formele naam */
.prose .sec-lead{margin:-6px 0 22px!important;font-size:clamp(18px,1.6vw,20px)!important;line-height:1.5!important;font-weight:300;color:var(--navy)!important;}
.prose .sec-link{margin:6px 0 10px!important;}
.prose h3{margin:34px 0 10px;font-size:18px;font-weight:600;color:var(--navy);}
.profile-formal{display:block;margin:-6px 0 18px;font-size:14px;letter-spacing:.02em;color:var(--muted);}
.prose .intro{padding:0 0 8px;overflow:visible;}
.prose h2+.intro{margin-top:4px;}
@media (min-width:621px){.xgrid .xitem:last-child:nth-child(odd){grid-column:1/-1;}}

/* ---------- Portretten in kleur, onderaan overlopend in navy (zoals de eerste versie) ---------- */
.ph[style*="--img-erin)"],.ph[style*="--img-najama)"],.ph[style*="--img-ton)"]{--pos:center 22% !important;}
.team2 .team-card{background:var(--navy);}
.team2 .team-card .ph{-webkit-mask-image:none;mask-image:none;aspect-ratio:4/5;filter:none;}
.team2 .team-card:hover .ph{filter:none;}
.team2 .team-card .overlay{position:absolute;left:0;right:0;bottom:0;padding:120px 22px 20px;background:linear-gradient(to top,rgba(15,42,72,.97) 0%,rgba(15,42,72,.8) 40%,rgba(15,42,72,0) 100%);}
.team2 .team-card .role{color:rgba(255,255,255,.78);}
.team2 .team-card h3{color:#fff;}
.team2 .team-card .go{border-top-color:rgba(255,255,255,.24);}
@media (max-width:600px){
  .team2 .team-card{background:transparent;}
  .team2 .team-card .overlay{position:relative;padding:0;background:none;}
}
.profile-photo .ph{filter:none;}
.dropdown a small{display:none;}

/* ---------- Toegankelijkheid ---------- */
.site-footer h2.fh{margin:4px 0 16px;font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.55);line-height:1.6;font-family:inherit;}
.site-footer h2.follow{margin:34px 0 14px;}
.prose .xitem h3,.xitem h3{margin:0 0 6px;font-size:15.5px;font-weight:600;color:var(--navy);line-height:1.4;letter-spacing:0;}
.prose .xitem h3::before,.prose .xitem h3::after{content:none;display:none;}
p.aside-title{display:block;}
.profile-copy .profile-actions{margin-top:30px;}
.post-card h2{margin:0 0 10px;font-size:19px;font-weight:600;line-height:1.38;transition:color .2s;}
.post-card:hover h2{color:var(--blue);}
.nav-item:focus-within .dropdown{transition:opacity .18s,transform .18s,visibility 0s;}
.legal-nav a:hover,.legal-nav a.on{color:#0E68A3;}
.slide-toggle{position:absolute;left:14px;bottom:18px;z-index:5;width:34px;height:34px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.55);border-radius:50%;background:rgba(15,42,72,.45);color:#fff;cursor:pointer;padding:0;}
.slide-toggle svg{width:12px;height:12px;}
.slide-toggle:hover,.slide-toggle:focus-visible{background:rgba(15,42,72,.8);}
@media (prefers-reduced-motion:reduce){.slide-toggle{display:none;}}

/* ---------- WordPress ---------- */
@view-transition{navigation:auto;}
::view-transition-old(root),::view-transition-new(root){animation-duration:.35s;}
body.admin-bar .site-header{top:32px;}
body.admin-bar .mobile-menu{top:32px;}
@media (max-width:782px){body.admin-bar .site-header,body.admin-bar .mobile-menu{top:46px;}}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important;}
.skip-link:focus{clip:auto;clip-path:none;height:auto;width:auto;left:8px;top:8px;z-index:1000;background:var(--navy);color:#fff;padding:10px 16px;}
.wp-block-group,.wp-block-heading,.wp-block-list{box-sizing:border-box;}
.form-note.show.err{color:#9b1c1c;}
.sv-form .hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden;}
.sv-form .consent{font-size:13px;line-height:1.5;color:var(--muted);margin:4px 0 18px;}
.sv-form .consent a{text-decoration:underline;}
.sv-form button.busy{opacity:.6;pointer-events:none;}
.footer-legal{display:block;margin-top:14px;font-size:12px;line-height:1.6;color:rgba(255,255,255,.55);max-width:900px;}
.pagination{display:flex;gap:18px;margin-top:48px;font-weight:600;}
.pagination a{border-bottom:1px solid currentColor;}
.not-found{padding:40px 0 120px;}
.prose img{height:auto;margin:28px 0;}
.prose figure{margin:28px 0;}
.prose .wp-block-image img{max-width:100%;height:auto;}
.prose table{border-collapse:collapse;width:100%;margin:24px 0;font-size:15px;}
.prose th,.prose td{border-bottom:1px solid var(--line);padding:10px 8px;text-align:left;}
