/* Self-hosted fonts (2026-09-28 SEO pass): the same latin woff2 files Google Fonts served to Chrome, so rendering is unchanged; no third-party request, no render-blocking CSS. */
@font-face{font-family:'Archivo';font-style:normal;font-weight:400 900;font-stretch:75% 125%;font-display:swap;src:url('fonts/archivo-latin-wdth-wght.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Barlow';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/barlow-latin-400.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Barlow';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/barlow-latin-500.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Barlow';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/barlow-latin-600.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Barlow';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/barlow-latin-700.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}

/* =========================================================
   Schilderwerken SSD BV - demo
   Direction: bold-practical-trades
   Type: Archivo (display, expanded) + Barlow (body)
   Palette: navy #2C478E / brass #BC9959 / bone #FAF8F5
   ========================================================= */

:root{
  --navy:#2C478E;
  --navy-deep:#1B2A5C;
  --navy-ink:#14204A;
  --blue:#3C5BA8;
  --cyan:#037CB5;
  --brass:#BC9959;
  --brass-dk:#A5834A;
  --bone:#FAF8F5;
  --bone-2:#F1ECE4;
  --ink:#1A1A1A;
  --muted:#6B6B6B;
  --line:rgba(26,26,26,.14);
  --line-dk:rgba(255,255,255,.16);

  --ff-d:'Archivo', 'Segoe UI', system-ui, sans-serif;
  --ff-b:'Barlow', 'Segoe UI', system-ui, sans-serif;

  --shadow:0 18px 44px -24px rgba(20,32,74,.45);
  --shadow-lg:0 34px 70px -34px rgba(20,32,74,.55);
}

*,*::before,*::after{box-sizing:border-box;}
[hidden]{display:none !important;}

html{-webkit-text-size-adjust:100%;}
@media (prefers-reduced-motion: no-preference){
  html{scroll-behavior:smooth;}
}

body{
  margin:0;
  background:var(--bone);
  color:var(--ink);
  font-family:var(--ff-b);
  font-size:1.0625rem;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  font-variant-numeric:lining-nums tabular-nums;
}

img{max-width:100%;}
a{color:inherit;}

.wrap{width:min(1220px,92vw);margin-inline:auto;}

.skiplink{
  position:absolute;left:-9999px;top:0;z-index:200;
  background:var(--brass);color:#12193a;padding:.7rem 1.1rem;
  font-family:var(--ff-d);font-weight:700;text-decoration:none;
}
.skiplink:focus{left:1rem;top:1rem;}

/* ---------- shared bits ---------- */
.eyebrow{
  font-family:var(--ff-b);font-weight:600;font-size:.72rem;
  letter-spacing:.2em;text-transform:uppercase;color:var(--muted);
  margin:0 0 .9rem;
}
.eyebrow--brass{color:var(--brass);}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  font-family:var(--ff-d);font-weight:700;font-stretch:106%;
  font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;
  text-decoration:none;padding:.85rem 1.4rem;border:2px solid transparent;
  border-radius:2px;cursor:pointer;
  transition:background-color .18s ease, color .18s ease, border-color .18s ease, transform .18s ease;
}
.btn--brass{background:var(--brass);color:#17204a;}
.btn--brass:hover{background:#CBA96A;transform:translateY(-2px);}
.btn--ghost{border-color:rgba(255,255,255,.4);color:#fff;}
.btn--ghost:hover{border-color:var(--brass);color:var(--brass);}
.btn--lg{padding:1rem 1.7rem;font-size:.92rem;}
.btn--full{width:100%;padding:1.05rem 1.4rem;font-size:.95rem;}

.shead{max-width:none;margin:0 0 3.2rem;}
.shead__h2{
  font-family:var(--ff-d);font-weight:800;font-stretch:112%;
  font-size:clamp(1.85rem,3.5vw,3rem);line-height:1.02;letter-spacing:-.018em;
  text-transform:uppercase;margin:0 0 1.1rem;color:var(--navy-ink);text-wrap:balance;
}
.shead__p{margin:0;color:var(--muted);font-size:1.06rem;max-width:62ch;}
.shead--split{display:grid;grid-template-columns:1fr .82fr;gap:3rem;align-items:end;max-width:none;}
.shead__l{min-width:0;}
.shead__p--r{padding-bottom:.4rem;}

.swatchbar{display:flex;width:100%;height:16px;gap:3px;background:var(--bone);padding:3px 0;}
.swatchbar span{flex:1 1 0;background:var(--c);}
.swatchbar--foot{height:16px;}

/* =========================================================
   HEADER
   ========================================================= */
.site-header{
  position:sticky;top:0;z-index:60;
  background:var(--navy-ink);
  border-bottom:1px solid rgba(255,255,255,.1);
}
.site-header__inner{
  display:flex;align-items:center;gap:1.5rem;
  min-height:88px;
}
.brand{display:flex;align-items:center;gap:.75rem;text-decoration:none;margin-right:auto;}
.brand__mark{width:auto;height:74px;display:block;}
.brand__txt{display:flex;flex-direction:column;line-height:1.1;}
.brand__name{
  font-family:var(--ff-d);font-weight:800;font-stretch:108%;
  font-size:.82rem;letter-spacing:.02em;text-transform:uppercase;color:#fff;
}
.brand__sub{font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.55);}

.site-nav{display:flex;align-items:center;gap:1.55rem;}
.site-nav__link{
  font-size:.9rem;font-weight:500;color:rgba(255,255,255,.82);
  text-decoration:none;padding:.3rem 0;position:relative;
}
.site-nav__link::after{
  content:"";position:absolute;left:0;right:100%;bottom:0;height:2px;
  background:var(--brass);transition:right .22s ease;
}
.site-nav__link:hover::after{right:0;}
.site-nav__phone{
  font-family:var(--ff-d);font-weight:700;font-size:.92rem;color:#fff;
  text-decoration:none;padding-left:1.55rem;border-left:1px solid var(--line-dk);
}
.site-nav__phone:hover{color:var(--brass);}
.site-nav__cta{padding:.7rem 1.15rem;font-size:.78rem;}

.burger{
  display:none;width:46px;height:40px;background:transparent;border:1px solid var(--line-dk);
  border-radius:2px;cursor:pointer;padding:0;
  flex-direction:column;align-items:center;justify-content:center;gap:5px;
}
.burger__bar{display:block;width:20px;height:2px;background:#fff;transition:transform .2s ease,opacity .2s ease;}
.burger[aria-expanded="true"] .burger__bar:nth-child(1){transform:translateY(7px) rotate(45deg);}
.burger[aria-expanded="true"] .burger__bar:nth-child(2){opacity:0;}
.burger[aria-expanded="true"] .burger__bar:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* =========================================================
   HERO
   ========================================================= */
.hero{
  position:relative;
  background:
    radial-gradient(120% 90% at 78% 8%, rgba(60,91,168,.55) 0%, rgba(27,42,92,0) 62%),
    linear-gradient(180deg,#1B2A5C 0%, #16234F 58%, #14204A 100%);
  color:#fff;overflow:hidden;
}
.hero::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px);
  background-size:100% 7px;opacity:.5;
}
.hero__grid{
  position:relative;z-index:2;
  display:grid;grid-template-columns:1.18fr .82fr;gap:3.5rem;align-items:center;
  min-height:clamp(520px,68vh,690px);
  padding:3.6rem 0 4.2rem;
}
.hero__copy{min-width:0;}
.hero__h1{
  font-family:var(--ff-d);font-weight:900;font-stretch:104%;
  font-size:clamp(2.3rem,4.3vw,3.9rem);line-height:.94;letter-spacing:-.02em;
  text-transform:uppercase;margin:0 0 1.5rem;
}
.hero__h1line{display:block;}
.hero__h1line--brass{color:var(--brass);}
.hero__h1sub{
  display:block;margin-top:.5rem;
  font-weight:400;font-stretch:100%;text-transform:none;letter-spacing:-.01em;
  font-size:clamp(1.05rem,1.75vw,1.6rem);color:rgba(255,255,255,.72);
}
.hero__lead{margin:0 0 2rem;max-width:52ch;color:rgba(255,255,255,.8);font-size:1.09rem;}
.hero__cta{display:flex;flex-wrap:wrap;gap:.9rem;margin-bottom:1.35rem;}
.hero__meta{
  margin:0;font-size:.86rem;letter-spacing:.05em;color:rgba(255,255,255,.55);
}
.hero__meta::before{content:"";display:inline-block;width:26px;height:1px;background:var(--brass);vertical-align:middle;margin-right:.7rem;}

.hero__side{position:relative;}
.hero__wrap{position:relative;}
.hero__wrap::after{
  content:"";position:absolute;right:-16px;bottom:-16px;width:112px;height:112px;
  background:var(--brass);z-index:0;border-radius:2px;pointer-events:none;
}
.hero__img{
  position:relative;z-index:1;display:block;width:100%;height:auto;
  aspect-ratio:82/109;object-fit:cover;border-radius:3px;
  box-shadow:var(--shadow-lg);
}
.ratecard{
  position:absolute;z-index:3;left:-26px;bottom:42px;
  display:flex;align-items:center;gap:.7rem;
  background:var(--bone);color:var(--navy-ink);
  padding:.8rem 1.1rem;border-radius:3px;box-shadow:var(--shadow);
  border-left:4px solid var(--brass);
}
/* Rating badges are links to the Google reviews since 2026-09-25 (client request). */
a.ratecard{text-decoration:none;transition:transform .2s ease,box-shadow .2s ease;}
a.ratecard:hover,a.ratecard:focus-visible{transform:translateY(-2px);box-shadow:var(--shadow-lg);}
.trust__item--link{text-decoration:none;color:inherit;}
.trust__item--link:hover .trust__lbl,.trust__item--link:focus-visible .trust__lbl{text-decoration:underline;text-underline-offset:3px;}
.facts__a{display:flex;flex-direction:column;gap:.1rem;text-decoration:none;color:inherit;}
.facts__a:hover .facts__lbl,.facts__a:focus-visible .facts__lbl{text-decoration:underline;text-underline-offset:3px;}
.site-footer__ratinglink{color:inherit;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.2);}
.site-footer__ratinglink:hover,.site-footer__ratinglink:focus-visible{color:var(--brass);border-color:var(--brass);}
.ratecard__stars{color:var(--brass);font-size:1rem;letter-spacing:.06em;line-height:1;}
.ratecard__score{
  font-family:var(--ff-d);font-weight:900;font-stretch:110%;font-size:1.9rem;line-height:1;
}
.ratecard__txt{font-size:.76rem;line-height:1.25;color:var(--muted);}

/* =========================================================
   TRUST STRIP
   ========================================================= */
.trust{background:var(--brass);color:#17204a;}
.trust__grid{
  display:grid;grid-template-columns:repeat(4,1fr);
}
.trust__item{
  display:flex;flex-direction:column;gap:.15rem;
  padding:1.8rem 1.6rem;border-left:1px solid rgba(23,32,74,.2);
}
.trust__item:first-child{border-left:0;padding-left:0;}
.trust__big{
  font-family:var(--ff-d);font-weight:900;font-stretch:112%;
  font-size:2.1rem;line-height:1;letter-spacing:-.02em;
}
.trust__big--sm{font-size:1.42rem;padding-top:.42rem;}
.trust__lbl{font-size:.85rem;line-height:1.3;color:rgba(23,32,74,.78);}

/* =========================================================
   DIENSTEN
   ========================================================= */
.disc{padding:6rem 0 6.5rem;}
.disc__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.1rem 1.9rem;}

.card{
  display:flex;flex-direction:column;
  background:#fff;border:1px solid var(--line);border-radius:3px;overflow:hidden;
  transition:transform .22s ease, box-shadow .22s ease;
}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow);}
.card__chip{height:6px;background:var(--c);}
.card__figure{position:relative;}
.card__img{display:block;width:100%;height:200px;object-fit:cover;}
.card__num{
  position:absolute;left:0;bottom:0;
  font-family:var(--ff-d);font-weight:900;font-stretch:112%;font-size:.82rem;
  letter-spacing:.1em;color:#fff;background:var(--navy-ink);
  padding:.36rem .7rem;
}
.card__h3{
  font-family:var(--ff-d);font-weight:800;font-stretch:108%;
  font-size:1.14rem;line-height:1.2;letter-spacing:-.005em;
  margin:1.3rem 1.4rem .55rem;color:var(--navy-ink);
}
.card__p{margin:0 1.4rem 1.6rem;color:var(--muted);font-size:.96rem;line-height:1.6;}
/* Seventh service (2026-09-25): a 3-column grid leaves one orphan, so the last card spans the row, image left. */
@media (min-width:901px){
  .card--wide{grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);grid-template-rows:auto auto 1fr auto;column-gap:1.6rem;}
  .card--wide .card__chip{grid-column:1 / -1;}
  .card--wide .card__figure{grid-row:2 / span 3;position:relative;min-height:220px;}
  .card--wide .card__img{position:absolute;inset:0;width:100%;height:100%;}
  .card--wide .card__h3{margin:1.6rem 1.6rem .55rem 0;}
  .card--wide .card__p{margin:0 1.6rem 1rem 0;}
  .card--wide .card__more{margin:0 1.6rem 1.6rem 0;}
}

/* =========================================================
   WAAROM SSD
   ========================================================= */
.why{
  background:var(--navy-deep);color:#fff;padding:6rem 0;
  background-image:linear-gradient(180deg,#1B2A5C 0%,#182550 100%);
}
.why__grid{display:grid;grid-template-columns:.78fr 1.05fr;gap:4.2rem;align-items:center;}
.why__copy{min-width:0;}
.why__side{position:relative;}
.why__wrap{position:relative;}
.why__wrap::after{
  content:"";position:absolute;left:-16px;top:-16px;width:104px;height:104px;
  background:var(--brass);z-index:0;border-radius:2px;pointer-events:none;
}
.why__img{
  position:relative;z-index:1;display:block;width:100%;height:auto;
  aspect-ratio:72/90;object-fit:cover;border-radius:3px;box-shadow:var(--shadow-lg);
}
.why__h2{
  font-family:var(--ff-d);font-weight:800;font-stretch:112%;
  font-size:clamp(1.75rem,3.1vw,2.7rem);line-height:1.04;letter-spacing:-.018em;
  text-transform:uppercase;margin:0 0 1.2rem;text-wrap:balance;
}
.why__lead{margin:0 0 2.4rem;color:rgba(255,255,255,.78);max-width:52ch;}

.pillars{list-style:none;margin:0;padding:0;display:grid;gap:1.6rem;}
.pillars__item{padding-left:1.5rem;border-left:2px solid var(--brass);}
.pillars__h3{
  font-family:var(--ff-d);font-weight:700;font-stretch:106%;
  font-size:1.02rem;letter-spacing:.01em;margin:0 0 .35rem;color:#fff;
}
.pillars__p{margin:0;color:rgba(255,255,255,.68);font-size:.96rem;line-height:1.6;}

/* =========================================================
   REALISATIES
   ========================================================= */
.work{padding:6rem 0 6.5rem;}
.work__grid{
  display:grid;grid-template-columns:repeat(4,1fr);
  grid-auto-rows:236px;grid-auto-flow:dense;gap:1.15rem;
}
.tile{
  margin:0;position:relative;grid-row:span 1;overflow:hidden;border-radius:3px;
  background:var(--bone-2);
}
.tile--tall{grid-row:span 2;}
.tile__img{
  display:block;width:100%;height:100%;object-fit:cover;
  transition:transform .5s ease;
}
.tile:hover .tile__img{transform:scale(1.045);}
.tile__cap{
  position:absolute;left:0;right:0;bottom:0;
  padding:1.6rem .9rem .7rem;
  font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;
  font-weight:600;color:#fff;
  background:linear-gradient(180deg,rgba(20,32,74,0) 0%,rgba(20,32,74,.82) 62%);
}

/* =========================================================
   PROOF
   ========================================================= */
.proof{background:var(--bone-2);padding:4.6rem 0;}
.proof__grid{display:grid;grid-template-columns:.62fr 1fr;gap:3.4rem;align-items:center;}
.proof__score{
  background:var(--navy-ink);color:#fff;padding:2.2rem 2rem;border-radius:3px;
  border-bottom:5px solid var(--brass);
}
.proof__stars{display:block;color:var(--brass);font-size:1.35rem;letter-spacing:.14em;line-height:1;}
.proof__big{
  font-family:var(--ff-d);font-weight:900;font-stretch:114%;
  font-size:3.4rem;line-height:1;letter-spacing:-.03em;margin:.9rem 0 .3rem;
}
.proof__of{font-size:1.3rem;color:rgba(255,255,255,.45);letter-spacing:0;}
.proof__meta{margin:0 0 1.2rem;color:rgba(255,255,255,.68);font-size:.92rem;}
.proof__link{
  font-family:var(--ff-d);font-weight:700;font-size:.8rem;letter-spacing:.08em;
  text-transform:uppercase;color:var(--brass);text-decoration:none;
  border-bottom:1px solid rgba(188,153,89,.45);padding-bottom:2px;
}
.proof__link:hover{color:#fff;border-color:#fff;}

.proof__quote{margin:0;}
.proof__q{
  font-family:var(--ff-d);font-weight:500;font-stretch:100%;
  font-size:clamp(1.12rem,1.9vw,1.55rem);line-height:1.45;letter-spacing:-.01em;
  color:var(--navy-ink);margin:0 0 1.3rem;
}
.proof__by{
  font-family:var(--ff-b);font-weight:600;font-size:.9rem;letter-spacing:.06em;
  text-transform:uppercase;color:var(--navy);
}
.proof__src{display:block;font-weight:400;letter-spacing:.04em;color:var(--muted);text-transform:none;font-size:.84rem;margin-top:.2rem;}

/* =========================================================
   FAQ
   ========================================================= */
.faq{padding:6rem 0;}
.faq__cols{columns:2;column-gap:2.6rem;}
.qa{
  break-inside:avoid;margin:0 0 .85rem;
  border:1px solid var(--line);border-radius:3px;background:#fff;
  transition:border-color .2s ease;
}
.qa[open]{border-color:rgba(44,71,142,.4);}
.qa__q{
  cursor:pointer;list-style:none;
  font-family:var(--ff-d);font-weight:700;font-stretch:104%;
  font-size:1rem;line-height:1.35;color:var(--navy-ink);
  padding:1.05rem 3rem 1.05rem 1.2rem;position:relative;
}
.qa__q::-webkit-details-marker{display:none;}
.qa__q::after{
  content:"";position:absolute;right:1.2rem;top:1.35rem;
  width:11px;height:11px;border-right:2px solid var(--brass);border-bottom:2px solid var(--brass);
  transform:rotate(45deg);transition:transform .2s ease;
}
.qa[open] .qa__q::after{transform:rotate(-135deg);top:1.5rem;}
.qa__a{margin:0;padding:0 1.6rem 1.25rem 1.2rem;color:var(--muted);font-size:.97rem;}

/* =========================================================
   OFFERTE
   ========================================================= */
.offerte{background:var(--bone-2);padding:6rem 0;}
.offerte__grid{display:grid;grid-template-columns:.85fr 1.05fr;gap:4rem;align-items:start;}
.offerte__intro{min-width:0;}
.offerte__h2{
  font-family:var(--ff-d);font-weight:800;font-stretch:112%;
  font-size:clamp(1.75rem,3.1vw,2.7rem);line-height:1.04;letter-spacing:-.018em;
  text-transform:uppercase;margin:0 0 2.2rem;color:var(--navy-ink);
}
.steps{list-style:none;margin:0;padding:0;counter-reset:s;display:grid;gap:1.5rem;}
.steps__item{position:relative;padding-left:3.4rem;counter-increment:s;}
.steps__item::before{
  content:counter(s,decimal-leading-zero);
  position:absolute;left:0;top:.05rem;
  font-family:var(--ff-d);font-weight:900;font-stretch:112%;font-size:.86rem;
  letter-spacing:.06em;color:var(--brass);
  border:1px solid rgba(188,153,89,.55);border-radius:2px;
  width:2.35rem;height:2.35rem;display:grid;place-items:center;
}
.steps__h3{
  font-family:var(--ff-d);font-weight:700;font-stretch:106%;
  font-size:1.04rem;margin:0 0 .25rem;color:var(--navy-ink);
}
.steps__p{margin:0;color:var(--muted);font-size:.96rem;}

.offerte__call{
  margin:2.4rem 0 0;padding:1.15rem 1.35rem;background:#fff;
  border-left:3px solid var(--brass);font-size:.97rem;color:var(--navy-ink);
}
.offerte__tel{
  font-family:var(--ff-d);font-weight:700;color:var(--navy);text-decoration:none;
  border-bottom:1px solid rgba(44,71,142,.35);
}
.offerte__tel:hover{color:var(--brass);border-color:var(--brass);}

.formcard{
  background:#fff;border:1px solid var(--line);border-top:5px solid var(--navy);
  border-radius:3px;padding:2.2rem;box-shadow:var(--shadow);
}
.form__row{margin-bottom:1.15rem;}
.form__two{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem;}
.form__lbl{
  display:block;font-size:.78rem;font-weight:600;letter-spacing:.1em;
  text-transform:uppercase;color:var(--navy-ink);margin-bottom:.42rem;padding:0;
}
.form__in,.form__ta{
  width:100%;font-family:var(--ff-b);font-size:.98rem;color:var(--ink);
  background:var(--bone);border:1px solid var(--line);border-radius:2px;
  padding:.72rem .85rem;transition:border-color .18s ease, background-color .18s ease;
}
.form__ta{resize:vertical;}
.form__in:focus,.form__ta:focus{outline:none;border-color:var(--navy);background:#fff;}
.form__in::placeholder,.form__ta::placeholder{color:#a6a6a6;}
.form__set{border:0;padding:0;margin:0 0 1.15rem;}
.checks{display:grid;grid-template-columns:1fr 1fr;gap:.45rem .9rem;margin-top:.15rem;}
.check{display:flex;align-items:center;gap:.55rem;cursor:pointer;font-size:.93rem;}
.check__in{position:absolute;opacity:0;width:0;height:0;}
.check__box{
  width:18px;height:18px;flex:0 0 18px;border:1px solid var(--line);background:var(--bone);
  border-radius:2px;position:relative;transition:background-color .16s ease,border-color .16s ease;
}
.check__in:checked + .check__box{background:var(--navy);border-color:var(--navy);}
.check__in:checked + .check__box::after{
  content:"";position:absolute;left:5px;top:1px;width:5px;height:10px;
  border-right:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(42deg);
}
.check__in:focus-visible + .check__box{outline:2px solid var(--brass);outline-offset:2px;}
.check__txt{line-height:1.3;}
.form__fine{margin:.9rem 0 0;font-size:.83rem;color:var(--muted);text-align:center;}
.form__ok{
  margin:.9rem 0 0;padding:.8rem .9rem;font-size:.9rem;
  background:rgba(44,71,142,.08);border-left:3px solid var(--navy);color:var(--navy-ink);
}
.form__ok--err{background:rgba(176,48,32,.08);border-left-color:#b03020;color:#7a1f14;}

/* =========================================================
   ROUTE
   ========================================================= */
.route{padding:5.5rem 0 6rem;}
.route__grid{display:grid;grid-template-columns:.9fr 1.2fr;gap:3.4rem;align-items:stretch;}
.route__copy{min-width:0;}
.route__h2{
  font-family:var(--ff-d);font-weight:800;font-stretch:112%;
  font-size:clamp(1.75rem,3.1vw,2.7rem);line-height:1.02;letter-spacing:-.02em;
  text-transform:uppercase;margin:0 0 1.4rem;color:var(--navy-ink);
}
.route__addr{margin:0 0 1.8rem;font-size:1.06rem;line-height:1.7;}
.deets{margin:0;display:grid;grid-template-columns:auto 1fr;gap:.55rem 1.6rem;}
.deets__dt{
  font-size:.74rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;
  color:var(--muted);padding-top:.2rem;
}
.deets__dd{margin:0;font-size:1rem;min-width:0;overflow-wrap:anywhere;}
.deets__a{color:var(--navy);text-decoration:none;border-bottom:1px solid rgba(44,71,142,.3);}
.deets__a:hover{color:var(--brass);border-color:var(--brass);}

.route__mapwrap{position:relative;}
.route__mapwrap::after{
  content:"";position:absolute;right:-14px;bottom:-14px;width:96px;height:96px;
  background:var(--brass);z-index:0;border-radius:2px;pointer-events:none;
}
.route__map{
  position:relative;z-index:1;border-radius:3px;overflow:hidden;
  min-height:430px;height:100%;border:1px solid var(--line);
}
.route__map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}

/* =========================================================
   FOOTER
   ========================================================= */
.site-footer{background:var(--navy-ink);color:rgba(255,255,255,.72);padding:4rem 0 2rem;}
.site-footer__grid{display:grid;grid-template-columns:1.25fr .8fr .95fr;gap:3rem;}
.site-footer__logo{width:auto;height:150px;display:block;margin-bottom:1.2rem;}
.site-footer__line{margin:0;font-size:.95rem;max-width:40ch;color:rgba(255,255,255,.6);}
.site-footer__h{
  font-family:var(--ff-d);font-weight:800;font-stretch:108%;
  font-size:.82rem;letter-spacing:.16em;text-transform:uppercase;color:#fff;
  margin:0 0 1.1rem;
}
.flist{list-style:none;margin:0;padding:0;display:grid;gap:.55rem;}
.flist__li{font-size:.94rem;line-height:1.5;}
.flist__a{text-decoration:none;color:rgba(255,255,255,.72);transition:color .16s ease;}
.flist__a:hover{color:var(--brass);}
.site-footer__base{
  display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;
  margin-top:3rem;padding-top:1.4rem;border-top:1px solid var(--line-dk);
}
.site-footer__cr{margin:0;font-size:.82rem;color:rgba(255,255,255,.45);}

/* =========================================================
   REVEAL
   ========================================================= */
.reveal{opacity:0;transform:translateY(20px);transition:opacity .6s ease, transform .6s ease;}
.reveal.is-in{opacity:1;transform:none;}
@media (prefers-reduced-motion: reduce){
  .reveal{opacity:1;transform:none;transition:none;}
}

/* =========================================================
   SHOT MODE (screenshot capture only)
   ========================================================= */
body.shot .site-header{position:static;}
body.shot .reveal{opacity:1;transform:none;transition:none;}
body.shot .hero__grid{min-height:660px;}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width:1180px){
  .site-nav{
    position:fixed;inset:0 0 0 auto;width:min(360px,86vw);z-index:80;
    background:var(--navy-ink);border-left:1px solid var(--line-dk);
    flex-direction:column;align-items:flex-start;justify-content:center;
    gap:1.35rem;padding:2.5rem;
    transform:translateX(100%);opacity:0;visibility:hidden;
    transition:transform .28s ease, opacity .28s ease, visibility .28s;
  }
  body.nav-open .site-nav{transform:none;opacity:1;visibility:visible;}
  .site-nav__link{font-family:var(--ff-d);font-weight:700;font-size:1.15rem;color:#fff;}
  .site-nav__phone{padding-left:0;border-left:0;border-top:1px solid var(--line-dk);padding-top:1.3rem;width:100%;}
  .site-nav__cta{width:100%;}
  .burger{display:flex;}
  .hero__grid{gap:3rem;}
}

@media (max-width:980px){
  .hero__grid{grid-template-columns:1fr;padding:3.4rem 0 4.4rem;min-height:0;}
  .hero__h1{font-size:clamp(1.95rem,8.2vw,4.2rem);}
  .hero__side{max-width:520px;}
  .hero__img{aspect-ratio:4/3;}
  .hero__wrap::after{width:84px;height:84px;}
  .ratecard{left:auto;right:-10px;bottom:-22px;}
  .shead--split{grid-template-columns:1fr;gap:1.4rem;align-items:start;}
  .disc__grid{grid-template-columns:repeat(2,1fr);}
  .why__grid{grid-template-columns:1fr;gap:2.8rem;}
  .why__side{max-width:460px;}
  .work__grid{grid-template-columns:repeat(3,1fr);grid-auto-rows:212px;}
  .proof__grid{grid-template-columns:1fr;gap:2rem;}
  .offerte__grid{grid-template-columns:1fr;gap:3rem;}
  .route__grid{grid-template-columns:1fr;gap:2.4rem;}
  .route__map{min-height:320px;}
  .site-footer__grid{grid-template-columns:1fr 1fr;gap:2.4rem;}
  .site-footer__brand{grid-column:1 / -1;}
}

@media (max-width:720px){
  body{font-size:1rem;}
  .trust__grid{grid-template-columns:1fr 1fr;}
  .trust__item{padding:1.3rem 1.1rem;}
  .trust__item:nth-child(3){border-left:0;padding-left:0;}
  .trust__item:nth-child(1),.trust__item:nth-child(2){border-bottom:1px solid rgba(23,32,74,.2);}
  .trust__big{font-size:1.85rem;}
  .trust__big--sm{font-size:1.08rem;padding-top:.5rem;}
  .faq__cols{columns:1;}
  .work__grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:186px;gap:.8rem;}
}

@media (max-width:560px){
  /* 2026-09-25: the wordmark stays visible on phones now that the mark no longer carries the name. */
  .brand__txt{display:flex;min-width:0;}
  .brand__name{font-size:.74rem;white-space:nowrap;}
  .brand__sub{font-size:.5rem;letter-spacing:.1em;white-space:nowrap;}
  .brand__mark{height:62px;}
  /* Map accent inside the gutter (12.8px at 320px): a 14px offset produced a 1px horizontal scroll. */
  .route__mapwrap::after{right:-8px;bottom:-8px;width:64px;height:64px;}
  .disc,.work,.faq,.offerte{padding:4rem 0;}
  .why{padding:4rem 0;}
  .route{padding:3.6rem 0 4.4rem;}
  .disc__grid{grid-template-columns:1fr;}
  .hero__cta{flex-direction:column;align-items:stretch;}
}
@media (max-width:400px){
  /* Contact details: one column so the e-mail address never pushes past the edge (found at 320/340px, 2026-09-25). */
  .deets{grid-template-columns:1fr;gap:.15rem 0;}
  .deets__dt{padding-top:.6rem;}
}
@media (max-width:340px){
  .brand__name{font-size:.64rem;}
  .brand__sub{font-size:.42rem;letter-spacing:.06em;}
  .brand__mark{height:54px;}
  .hero__cta .btn{width:100%;}
  .form__two{grid-template-columns:1fr;}
  .checks{grid-template-columns:1fr;}
  .formcard{padding:1.5rem 1.25rem;}
  .ratecard{left:8px;right:auto;bottom:-24px;}
  .hero__wrap::after{right:-10px;bottom:-10px;width:64px;height:64px;}
  .site-footer__grid{grid-template-columns:1fr;}
  .work__grid{grid-auto-rows:152px;}
  .tile__cap{font-size:.68rem;padding:1.2rem .6rem .55rem;}
}

/* =========================================================
   MULTI-PAGE ADDITIONS (2026-09-22)
   Shared chrome for the subpages: nav dropdown, page hero,
   service sections, gallery + lightbox, over-ons, contact.
   ========================================================= */

/* ---------- shared ---------- */
.btn--navy{background:var(--navy-ink);color:#fff;}
.btn--navy:hover{background:var(--navy);transform:translateY(-2px);}
.arrowlink{
  display:inline-flex;align-items:center;gap:.55rem;
  font-family:var(--ff-d);font-weight:700;font-size:.82rem;letter-spacing:.08em;
  text-transform:uppercase;color:var(--navy);text-decoration:none;
}
.arrowlink::after{content:"";width:22px;height:1px;background:var(--brass);transition:width .2s ease;}
.arrowlink:hover{color:var(--brass);}
.arrowlink:hover::after{width:34px;}
.arrowlink--light{color:#fff;}
.arrowlink--light:hover{color:var(--brass);}
.shead__r{display:grid;gap:1rem;justify-items:start;padding-bottom:.4rem;}
.shead__p--light{color:rgba(255,255,255,.78);}

/* ---------- header: services dropdown ---------- */
.site-nav__item{position:relative;display:flex;align-items:center;gap:.25rem;}
.site-nav__link--parent.is-section::after{right:0;}
.site-nav__more{
  display:inline-grid;place-items:center;width:22px;height:22px;
  background:transparent;border:0;cursor:pointer;padding:0;color:rgba(255,255,255,.7);
}
.site-nav__chev{
  display:block;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;
  transform:translateY(-2px) rotate(45deg);transition:transform .2s ease;
}
.site-nav__item.is-open .site-nav__chev{transform:translateY(2px) rotate(-135deg);}
.dd{
  list-style:none;margin:0;padding:.55rem 0;
  position:absolute;left:-1rem;top:calc(100% + .9rem);min-width:270px;z-index:90;
  background:var(--navy-ink);border:1px solid var(--line-dk);border-top:3px solid var(--brass);border-radius:3px;
  box-shadow:0 24px 50px -20px rgba(0,0,0,.6);
  opacity:0;visibility:hidden;transform:translateY(6px);
  transition:opacity .18s ease,transform .18s ease,visibility .18s;
}
.dd::before{content:"";position:absolute;left:0;right:0;top:-1rem;height:1rem;}
.site-nav__item:hover .dd,.site-nav__item.is-open .dd,.site-nav__item:focus-within .dd{opacity:1;visibility:visible;transform:none;}
.dd__li{margin:0;}
.dd__a{
  display:flex;align-items:center;gap:.8rem;padding:.6rem 1.1rem;
  font-size:.92rem;font-weight:500;color:rgba(255,255,255,.85);text-decoration:none;
  transition:background-color .15s ease,color .15s ease;
}
.dd__a:hover,.dd__a[aria-current="page"]{background:rgba(255,255,255,.06);color:#fff;}
.dd__a[aria-current="page"] .dd__num{color:#fff;}
.dd__num{font-family:var(--ff-d);font-weight:800;font-size:.7rem;letter-spacing:.1em;color:var(--brass);}
.dd__li--all{border-top:1px solid var(--line-dk);margin-top:.4rem;padding-top:.4rem;}
.dd__li--all .dd__a{font-family:var(--ff-d);font-weight:700;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--brass);}

/* mobile nav: close button + backdrop (desktop never shows them) */
.site-nav__close{display:none;}
body.nav-open{overflow:hidden;}

/* ---------- page hero ---------- */
.phero__grid{min-height:clamp(420px,52vh,560px);padding:2.6rem 0 3.6rem;grid-template-columns:1.2fr .8fr;}
.phero__h1{font-size:clamp(2.1rem,3.9vw,3.5rem);}
.phero__img{aspect-ratio:4/5;}
.phero--compact .phero__grid{grid-template-columns:1fr;min-height:0;padding:2.4rem 0 3rem;}
.phero--compact .hero__lead{max-width:60ch;margin-bottom:0;}
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:0 0 1.2rem;font-size:.78rem;letter-spacing:.04em;}
.crumbs__a{color:rgba(255,255,255,.6);text-decoration:none;}
.crumbs__a:hover{color:var(--brass);}
.crumbs__cur{color:rgba(255,255,255,.9);}
.crumbs__sep{color:rgba(255,255,255,.3);}

/* ---------- home: linked cards, section CTAs ---------- */
.card--link{text-decoration:none;color:inherit;}
.card__more{
  margin:auto 1.4rem 1.4rem;padding-top:.9rem;border-top:1px solid var(--line);
  display:inline-flex;align-items:center;gap:.5rem;
  font-family:var(--ff-d);font-weight:700;font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--navy);
}
.card__more::after{content:"";width:18px;height:1px;background:var(--brass);transition:width .2s ease;}
.card--link:hover .card__more{color:var(--brass);}
.card--link:hover .card__more::after{width:28px;}
.card--link .card__p{margin-bottom:1.1rem;}
.disc__more,.work__more{margin:2.6rem 0 0;text-align:center;}
.why__more{margin:2rem 0 0;}
.proof__row{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:2.4rem;}
.proof__more{margin:1.8rem auto 0;}
.rev{
  margin:0;background:#fff;border:1px solid var(--line);border-radius:3px;
  padding:1.4rem 1.4rem 1.2rem;display:flex;flex-direction:column;gap:.7rem;
  break-inside:avoid;
}
.rev__stars{color:var(--brass);font-size:.9rem;letter-spacing:.1em;line-height:1;}
.rev__q{margin:0;font-size:.97rem;line-height:1.6;color:var(--ink);}
.rev__by{
  margin-top:auto;font-family:var(--ff-b);font-weight:600;font-size:.84rem;letter-spacing:.06em;
  text-transform:uppercase;color:var(--navy);
}
.rev__src{display:block;font-weight:400;letter-spacing:.03em;text-transform:none;color:var(--muted);font-size:.8rem;margin-top:.15rem;}

/* ---------- service page: intro + facts ---------- */
.sintro{padding:5rem 0 5.5rem;}
.sintro__grid{display:grid;grid-template-columns:1.15fr .7fr;gap:4rem;align-items:start;}
.sintro__copy{min-width:0;}
.sintro__p{margin:0 0 1.2rem;font-size:1.08rem;line-height:1.7;color:var(--ink);max-width:66ch;}
.sintro__p:first-of-type{font-size:1.16rem;color:var(--navy-ink);}
.facts{
  background:#fff;border:1px solid var(--line);border-top:5px solid var(--brass);border-radius:3px;
  padding:1.8rem 1.8rem 1.6rem;box-shadow:var(--shadow);
}
.facts__h{
  font-family:var(--ff-d);font-weight:800;font-stretch:108%;font-size:.8rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--muted);margin:0 0 1.2rem;
}
.facts__list{list-style:none;margin:0 0 1.5rem;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:1.1rem 1.4rem;}
.facts__li{display:flex;flex-direction:column;gap:.1rem;padding-left:.9rem;border-left:2px solid var(--brass);}
.facts__big{font-family:var(--ff-d);font-weight:900;font-stretch:112%;font-size:1.7rem;line-height:1;color:var(--navy-ink);letter-spacing:-.02em;}
.facts__big--sm{font-size:1.15rem;padding-top:.3rem;}
.facts__lbl{font-size:.82rem;color:var(--muted);line-height:1.3;}

/* ---------- service page: why (checklist) ---------- */
.why--svc{padding:5.5rem 0;}
.checks-list{list-style:none;margin:0;padding:0;display:grid;gap:.95rem;}
.checks__li{
  position:relative;padding-left:2.4rem;font-size:1.04rem;line-height:1.5;color:rgba(255,255,255,.88);
}
.checks__li::before{
  content:"";position:absolute;left:0;top:.2rem;width:1.35rem;height:1.35rem;
  background:var(--brass);border-radius:2px;
}
.checks__li::after{
  content:"";position:absolute;left:.48rem;top:.36rem;width:.32rem;height:.65rem;
  border-right:2px solid #17204a;border-bottom:2px solid #17204a;transform:rotate(42deg);
}
.why--svc .why__grid{grid-template-columns:.85fr 1fr;}

/* ---------- service page: werkwijze ---------- */
.wwz{background:var(--bone-2);padding:6rem 0;}
.wwz__grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem;}
.wwz__item{
  position:relative;background:#fff;border:1px solid var(--line);border-radius:3px;
  padding:1.7rem 1.5rem 1.6rem;display:flex;flex-direction:column;gap:.5rem;
}
.wwz__item::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--brass);}
.wwz__num{font-family:var(--ff-d);font-weight:900;font-stretch:112%;font-size:2rem;line-height:1;color:var(--navy);letter-spacing:-.02em;}
.wwz__h3{font-family:var(--ff-d);font-weight:700;font-stretch:106%;font-size:1.04rem;margin:.4rem 0 0;color:var(--navy-ink);}
.wwz__p{margin:0;color:var(--muted);font-size:.95rem;line-height:1.6;}

/* ---------- service page: aanbod + photo strip ---------- */
.offer{padding:6rem 0;}
.offer__grid{display:grid;grid-template-columns:1fr .95fr;gap:3.5rem;align-items:start;}
.offer__list{display:grid;gap:0;}
.offer__item{padding:1.15rem 0;border-top:1px solid var(--line);}
.offer__item:last-child{border-bottom:1px solid var(--line);}
.offer__h3{font-family:var(--ff-d);font-weight:700;font-stretch:106%;font-size:1.06rem;margin:0 0 .25rem;color:var(--navy-ink);}
.offer__p{margin:0;color:var(--muted);font-size:.96rem;}
.strip{display:grid;grid-template-columns:1fr 1fr;gap:.9rem;}
.strip__tile{
  display:block;position:relative;overflow:hidden;border-radius:3px;aspect-ratio:1/1;background:var(--bone-2);
}
.strip__tile:first-child{grid-column:1 / -1;aspect-ratio:16/10;}
.strip__img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.strip__tile:hover .strip__img{transform:scale(1.045);}
.strip__more{
  grid-column:1 / -1;justify-self:start;
  font-family:var(--ff-d);font-weight:700;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;
  color:var(--navy);text-decoration:none;border-bottom:1px solid rgba(44,71,142,.35);padding-bottom:2px;
}
.strip__more:hover{color:var(--brass);border-color:var(--brass);}

/* ---------- service page: review band, combineren ---------- */
.proof--svc{padding:4.2rem 0;}
.combi{padding:5.5rem 0 6rem;}
.combi__row{display:flex;flex-wrap:wrap;gap:.9rem;}
.combi__chip{
  display:inline-flex;align-items:center;gap:.8rem;
  padding:.85rem 1.3rem .85rem 1rem;background:#fff;border:1px solid var(--line);border-radius:3px;
  font-family:var(--ff-d);font-weight:700;font-stretch:106%;font-size:.95rem;color:var(--navy-ink);text-decoration:none;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.combi__chip:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:rgba(44,71,142,.4);}
.combi__num{font-size:.7rem;letter-spacing:.1em;color:var(--brass);}

/* ---------- CTA band ---------- */
.ctaband{
  background:
    radial-gradient(120% 90% at 78% 8%, rgba(60,91,168,.55) 0%, rgba(27,42,92,0) 62%),
    linear-gradient(180deg,#1B2A5C 0%,#14204A 100%);
  color:#fff;padding:5rem 0;
}
.ctaband__grid{display:grid;grid-template-columns:1.1fr .9fr;gap:3rem;align-items:center;}
.ctaband__copy{min-width:0;}
.ctaband__h2{
  font-family:var(--ff-d);font-weight:800;font-stretch:112%;
  font-size:clamp(1.7rem,3vw,2.6rem);line-height:1.04;letter-spacing:-.018em;
  text-transform:uppercase;margin:0 0 1rem;text-wrap:balance;
}
.ctaband__p{margin:0;color:rgba(255,255,255,.78);max-width:52ch;}
.ctaband__cta{display:flex;flex-wrap:wrap;gap:.9rem;justify-content:flex-end;align-items:center;}
.ctaband__meta{flex-basis:100%;margin:.2rem 0 0;text-align:right;font-size:.86rem;letter-spacing:.05em;color:rgba(255,255,255,.55);}

/* ---------- diensten overview ---------- */
.srows{padding:6rem 0;}
.srows__list{display:grid;gap:2.2rem;}
.srow{
  display:grid;grid-template-columns:.9fr 1.1fr;gap:2.8rem;align-items:center;
  background:#fff;border:1px solid var(--line);border-radius:3px;overflow:hidden;
}
.srow:nth-child(even){grid-template-columns:1.1fr .9fr;}
.srow:nth-child(even) .srow__figure{order:2;}
.srow__figure{position:relative;display:block;align-self:stretch;min-height:300px;}
.srow__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.srow:hover .srow__img{transform:scale(1.035);}
.srow__num{
  position:absolute;left:0;top:0;
  font-family:var(--ff-d);font-weight:900;font-stretch:112%;font-size:.82rem;letter-spacing:.1em;
  color:#fff;background:var(--navy-ink);padding:.45rem .8rem;
}
.srow__copy{padding:2.4rem 2.6rem 2.4rem 0;}
.srow:nth-child(even) .srow__copy{padding:2.4rem 0 2.4rem 2.6rem;}
.srow__h2{
  font-family:var(--ff-d);font-weight:800;font-stretch:110%;
  font-size:clamp(1.4rem,2.2vw,1.9rem);line-height:1.08;letter-spacing:-.015em;text-transform:uppercase;margin:0 0 .8rem;
}
.srow__a{color:var(--navy-ink);text-decoration:none;}
.srow__a:hover{color:var(--navy);}
.srow__p{margin:0 0 1.1rem;color:var(--muted);font-size:1rem;line-height:1.6;}
.srow__tags{list-style:none;margin:0 0 1.4rem;padding:0;display:flex;flex-wrap:wrap;gap:.45rem;}
.srow__tag{
  font-size:.76rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;
  color:var(--navy-ink);background:var(--bone-2);padding:.3rem .6rem;border-radius:2px;
}

/* ---------- realisaties: filters + grid ---------- */
.gal{padding:4rem 0 6rem;}
.filters{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1rem;}
.filters__btn{
  font-family:var(--ff-d);font-weight:700;font-stretch:106%;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;
  background:#fff;color:var(--navy-ink);border:1px solid var(--line);border-radius:2px;padding:.65rem 1.05rem;cursor:pointer;
  transition:background-color .16s ease,color .16s ease,border-color .16s ease;
}
.filters__btn:hover{border-color:var(--navy);}
.filters__btn.is-active{background:var(--navy-ink);color:#fff;border-color:var(--navy-ink);}
.gal__hint{margin:0 0 2rem;color:var(--muted);font-size:.9rem;}
.gal__grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-flow:dense;gap:1rem;}
.gtile{
  position:relative;display:block;overflow:hidden;border-radius:3px;background:var(--bone-2);
  aspect-ratio:1/1;
}
.gtile--feat{grid-column:span 2;grid-row:span 2;}
.gtile__img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.gtile:hover .gtile__img{transform:scale(1.045);}
.gtile__cap{
  position:absolute;left:0;right:0;bottom:0;padding:1.6rem .9rem .7rem;
  font-size:.76rem;letter-spacing:.06em;text-transform:uppercase;font-weight:600;color:#fff;
  background:linear-gradient(180deg,rgba(20,32,74,0) 0%,rgba(20,32,74,.82) 62%);
  opacity:0;transform:translateY(6px);transition:opacity .25s ease,transform .25s ease;
}
.gtile:hover .gtile__cap,.gtile:focus-visible .gtile__cap{opacity:1;transform:none;}
.gal__empty{margin:2rem 0 0;color:var(--muted);}
.tile{text-decoration:none;color:inherit;}

/* ---------- lightbox ---------- */
.lightbox{
  position:fixed;inset:0;z-index:200;background:rgba(12,18,44,.94);
  display:flex;align-items:center;justify-content:center;padding:3.5rem 4.5rem;
}
body.lb-open{overflow:hidden;}
.lightbox__fig{margin:0;max-width:100%;max-height:100%;display:flex;flex-direction:column;align-items:center;gap:.8rem;}
.lightbox__img{display:block;max-width:100%;max-height:calc(100vh - 8rem);object-fit:contain;border-radius:3px;box-shadow:var(--shadow-lg);}
.lightbox__cap{color:rgba(255,255,255,.8);font-size:.9rem;letter-spacing:.04em;text-align:center;}
.lightbox__close,.lightbox__nav{
  position:absolute;background:transparent;border:1px solid rgba(255,255,255,.25);color:#fff;
  border-radius:2px;cursor:pointer;font-family:var(--ff-b);line-height:1;
  transition:background-color .16s ease,border-color .16s ease;
}
.lightbox__close:hover,.lightbox__nav:hover{background:rgba(255,255,255,.1);border-color:var(--brass);}
.lightbox__close{top:1rem;right:1rem;width:44px;height:44px;font-size:1.7rem;}
.lightbox__nav{top:50%;transform:translateY(-50%);width:44px;height:64px;font-size:2.2rem;}
.lightbox__nav--prev{left:1rem;}
.lightbox__nav--next{right:1rem;}

/* ---------- over ons ---------- */
.story{padding:6rem 0;}
.story__grid{display:grid;grid-template-columns:1.1fr .75fr;gap:4rem;align-items:center;}
.story__copy{min-width:0;}
.story__h2{
  font-family:var(--ff-d);font-weight:800;font-stretch:112%;
  font-size:clamp(1.7rem,3vw,2.6rem);line-height:1.04;letter-spacing:-.018em;
  text-transform:uppercase;margin:0 0 1.4rem;color:var(--navy-ink);text-wrap:balance;
}
.story__p{margin:0 0 1.1rem;font-size:1.06rem;line-height:1.7;max-width:62ch;}
.story__fig{margin:0;}
.story__wrap{position:relative;}
.story__wrap::after{
  content:"";position:absolute;right:-16px;bottom:-16px;width:104px;height:104px;
  background:var(--brass);z-index:0;border-radius:2px;pointer-events:none;
}
.story__img{position:relative;z-index:1;display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:3px;box-shadow:var(--shadow-lg);}
.story__cap{margin:1.4rem 0 0;font-size:.84rem;color:var(--muted);letter-spacing:.03em;}
.three{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;}
.three__item{padding:1.8rem 1.6rem;border:1px solid var(--line-dk);border-radius:3px;background:rgba(255,255,255,.04);}
.three__num{font-family:var(--ff-d);font-weight:900;font-stretch:112%;font-size:2.2rem;line-height:1;color:var(--brass);letter-spacing:-.02em;}
.three__h3{font-family:var(--ff-d);font-weight:700;font-stretch:106%;font-size:1.1rem;margin:.9rem 0 .4rem;color:#fff;}
.three__p{margin:0;color:rgba(255,255,255,.72);font-size:.97rem;line-height:1.6;}
.how{padding:6rem 0;}
.how__grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:4rem;align-items:start;}
.how__copy{min-width:0;}
.how__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;}
.how__item{padding:1.5rem 1.5rem 1.4rem;background:#fff;border:1px solid var(--line);border-left:3px solid var(--brass);border-radius:3px;}
.how__h3{font-family:var(--ff-d);font-weight:700;font-stretch:106%;font-size:1.02rem;margin:0 0 .4rem;color:var(--navy-ink);}
.how__p{margin:0;color:var(--muted);font-size:.95rem;line-height:1.6;}
.reviews{background:var(--bone-2);padding:6rem 0;}
.revgrid{columns:3;column-gap:1.2rem;}
.revgrid .rev{margin:0 0 1.2rem;display:inline-flex;width:100%;}

/* ---------- contact ---------- */
.cinfo{padding:3.5rem 0 1rem;}
.cinfo__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:-4.6rem;position:relative;z-index:3;}
.cinfo__card{
  display:flex;flex-direction:column;gap:.35rem;text-decoration:none;color:inherit;
  background:#fff;border:1px solid var(--line);border-top:5px solid var(--navy);border-radius:3px;
  padding:1.6rem 1.6rem 1.5rem;box-shadow:var(--shadow);transition:transform .18s ease;
}
a.cinfo__card:hover{transform:translateY(-3px);}
.cinfo__lbl{font-size:.74rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);}
.cinfo__big{font-family:var(--ff-d);font-weight:800;font-stretch:108%;font-size:1.45rem;line-height:1.15;color:var(--navy-ink);letter-spacing:-.01em;overflow-wrap:anywhere;}
.cinfo__big--sm{font-size:1.08rem;}
.cinfo__sub{font-size:.88rem;color:var(--muted);margin-top:.2rem;}

/* ---------- privacy / prose ---------- */
.prose-sec{padding:4rem 0 6rem;}
.prose{max-width:72ch;}
.prose__h2{font-family:var(--ff-d);font-weight:800;font-stretch:108%;font-size:1.2rem;letter-spacing:-.005em;margin:2.2rem 0 .6rem;color:var(--navy-ink);}
.prose__h2:first-child{margin-top:0;}
.prose__p{margin:0 0 1rem;line-height:1.7;}
.prose__p--muted{color:var(--muted);font-size:.9rem;}
.prose__a{color:var(--navy);}

/* ---------- footer extras ---------- */
.site-footer__grid{grid-template-columns:1.3fr .85fr .7fr .95fr;}
.site-footer__rating{margin:.9rem 0 0;font-size:.88rem;color:rgba(255,255,255,.75);}
.site-footer__stars{color:var(--brass);letter-spacing:.08em;margin-right:.3rem;}
.site-footer__a{color:rgba(255,255,255,.45);text-decoration:none;border-bottom:1px solid rgba(255,255,255,.2);}
.site-footer__a:hover{color:var(--brass);border-color:var(--brass);}

/* ---------- shot mode additions ---------- */
body.shot .phero__grid{min-height:520px;}
body.shot .phero--compact .phero__grid{min-height:0;}
body.shot .gtile__cap{opacity:1;transform:none;}
body.shot .dd{display:none;}

/* =========================================================
   RESPONSIVE (additions)
   ========================================================= */
@media (max-width:1180px){
  .site-nav__item{flex-direction:column;align-items:flex-start;width:100%;gap:.4rem;}
  .site-nav__more{display:none;}
  .dd{
    position:static;opacity:1;visibility:visible;transform:none;min-width:0;width:100%;
    background:transparent;border:0;box-shadow:none;padding:0 0 0 .2rem;
  }
  .dd::before{display:none;}
  .dd__a{padding:.3rem 0;font-size:.98rem;color:rgba(255,255,255,.7);}
  .dd__a:hover,.dd__a[aria-current="page"]{background:transparent;}
  .dd__li--all{border-top:0;margin-top:0;padding-top:0;}
  .site-nav{justify-content:flex-start;padding-top:5rem;overflow-y:auto;gap:1rem;}
  .site-nav__close{
    display:grid;place-items:center;position:absolute;top:19px;right:calc(4vw + 0px);
    width:46px;height:40px;background:transparent;border:1px solid var(--line-dk);border-radius:2px;
    cursor:pointer;padding:0;
  }
  .site-nav__x{position:relative;display:block;width:20px;height:20px;}
  .site-nav__x::before,.site-nav__x::after{
    content:"";position:absolute;left:0;top:9px;width:20px;height:2px;background:#fff;
  }
  .site-nav__x::before{transform:rotate(45deg);}
  .site-nav__x::after{transform:rotate(-45deg);}
  body.nav-open::after{
    content:"";position:fixed;inset:0;z-index:50;background:rgba(12,18,44,.55);
  }
  body.shot .dd{display:block;}
  .site-footer__grid{grid-template-columns:1fr 1fr;}
  .site-footer__brand{grid-column:1 / -1;}
}
@media (max-width:980px){
  .phero__grid{grid-template-columns:1fr;min-height:0;padding:2.6rem 0 4.2rem;}
  .phero__h1{font-size:clamp(1.9rem,7.6vw,3.6rem);}
  .phero__side{max-width:520px;}
  .phero__img{aspect-ratio:4/3;}
  body.shot .phero__grid{min-height:0;}
  .sintro__grid{grid-template-columns:1fr;gap:2.4rem;}
  .why--svc .why__grid{grid-template-columns:1fr;}
  .wwz__grid{grid-template-columns:1fr 1fr;}
  .offer__grid{grid-template-columns:1fr;gap:2.6rem;}
  .ctaband__grid{grid-template-columns:1fr;gap:2rem;}
  .ctaband__cta{justify-content:flex-start;}
  .ctaband__meta{text-align:left;}
  .srow,.srow:nth-child(even){grid-template-columns:1fr;gap:0;}
  .srow:nth-child(even) .srow__figure{order:0;}
  .srow__figure{min-height:0;aspect-ratio:16/9;}
  .srow__copy,.srow:nth-child(even) .srow__copy{padding:1.8rem 1.8rem 2rem;}
  .proof__row{grid-template-columns:1fr;}
  .story__grid{grid-template-columns:1fr;gap:2.8rem;}
  .story__fig{max-width:460px;}
  .three{grid-template-columns:1fr;}
  .how__grid{grid-template-columns:1fr;gap:2.4rem;}
  .revgrid{columns:2;}
  .cinfo__grid{grid-template-columns:1fr;margin-top:-3.2rem;}
}
@media (max-width:720px){
  .gal__grid{grid-template-columns:1fr 1fr;gap:.7rem;}
  .gtile--feat{grid-column:span 2;grid-row:span 1;aspect-ratio:4/3;}
  .revgrid{columns:1;}
  .how__list{grid-template-columns:1fr;}
  .wwz__grid{grid-template-columns:1fr;}
  .facts__list{grid-template-columns:1fr 1fr;}
  .lightbox{padding:3.5rem 1rem;}
  .lightbox__nav{width:38px;height:56px;font-size:1.9rem;}
  .lightbox__nav--prev{left:.35rem;}
  .lightbox__nav--next{right:.35rem;}
  .lightbox__img{max-height:calc(100vh - 9rem);}
}
@media (max-width:560px){
  .sintro,.wwz,.offer,.combi,.story,.how,.reviews,.srows{padding:4rem 0;}
  .why--svc{padding:4rem 0;}
  .ctaband{padding:3.6rem 0;}
  .ctaband__cta{flex-direction:column;align-items:stretch;}
  .ctaband__cta .btn{width:100%;}
  .site-footer__grid{grid-template-columns:1fr;}
  .strip{grid-template-columns:1fr 1fr;}
  .filters__btn{padding:.55rem .8rem;font-size:.74rem;}
  .gal{padding:3rem 0 4rem;}
  .phero--compact .phero__grid{padding:2rem 0 2.6rem;}
  .story__wrap::after{right:-10px;bottom:-10px;width:72px;height:72px;}
}
@media (max-width:420px){
  .shead__h2{font-size:1.62rem;font-stretch:104%;}
}

/* ---------- Google mark next to the live rating / review count (2026-10-09) ---------- */
.glogo{display:inline-block;width:.95em;height:.95em;vertical-align:-.12em;margin:0 .22em 0 .05em;}
.proof__meta .glogo,.site-footer__rating .glogo{vertical-align:-.15em;}

/* ---------- live Google reviews via /api/reviews (2026-10-09) ---------- */
.rev__head{display:flex;align-items:center;gap:.65rem;}
.rev__avatar{width:38px;height:38px;border-radius:50%;object-fit:cover;flex:none;background:var(--bone-2);}
.rev__avatar--txt{display:inline-flex;align-items:center;justify-content:center;font-family:var(--ff-b);font-weight:600;font-size:.86rem;letter-spacing:.02em;color:#fff;background:var(--navy);}
.rev__who{display:flex;flex-direction:column;min-width:0;gap:.1rem;}
.rev__name{font-family:var(--ff-b);font-weight:600;font-size:.84rem;letter-spacing:.06em;text-transform:uppercase;color:var(--navy);text-decoration:none;}
.rev__name:hover{text-decoration:underline;text-underline-offset:3px;}
.rev__time{font-size:.8rem;color:var(--muted);}
.rev__q--clamp{display:-webkit-box;-webkit-line-clamp:9;-webkit-box-orient:vertical;overflow:hidden;}
.rev__more{margin-top:auto;font-size:.82rem;color:var(--navy);text-decoration:underline;text-underline-offset:3px;}
.proof__q--clamp{display:-webkit-box;-webkit-line-clamp:7;-webkit-box-orient:vertical;overflow:hidden;}
.proof__by--live{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;text-transform:none;letter-spacing:0;}
.proof__by--live .rev__avatar{width:44px;height:44px;}
.proof__by--live .rev__more{margin:0 0 0 auto;}
.live-attr{margin:1.4rem auto 0;font-size:.82rem;color:var(--muted);}
.live-attr .glogo{vertical-align:-.15em;}
.revs-live{margin-bottom:2.4rem;}
.revs-live__h{font-family:var(--ff-b);font-weight:600;font-size:.84rem;letter-spacing:.08em;text-transform:uppercase;color:var(--navy);margin:0 0 1rem;}
.revs-live__h--older{margin:2.8rem 0 1rem;}
.revs-live__row{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;}
@media (max-width:980px){.revs-live__row{grid-template-columns:repeat(2,1fr);}}
@media (max-width:640px){.revs-live__row{grid-template-columns:1fr;}.proof__by--live .rev__more{margin-left:0;}}
