:root{
  --accent:#d80000; --accent-dark:#b00000; --ink:rgba(0,0,0,.86); --muted:#6b7280;
  --line:#e6e7ea; --card:#f5f5f5; --foot:#f4f4f5; --white:#fff;
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:Inter,system-ui,sans-serif;color:var(--ink);line-height:1.6;background:#fff;-webkit-font-smoothing:antialiased}
h1,h2,h3{line-height:1.18;font-weight:700;color:#111}
a{color:inherit;text-decoration:none}
img{max-width:100%}
.wrap{max-width:1170px;margin:0 auto;padding:0 24px}
.btn{display:inline-block;background:var(--accent);color:#fff;font-weight:600;padding:13px 28px;border-radius:12px;font-size:15px;transition:.2s;border:0;cursor:pointer}
.btn:hover{background:var(--accent-dark)}

/* Header */
header{position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:90px;position:relative}
.nav .logo{height:44px;display:block}
.nav-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;gap:34px}
.nav-center a{font-weight:500;color:#222;font-size:15px}
.nav-center a:hover{color:var(--accent)}
.nav-right{display:flex;align-items:center;gap:14px}
.nav-right .btn{display:inline-flex;align-items:center;height:42px;padding:0 20px;font-size:14px}
.login-ico{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:42px;height:42px;border:1px solid var(--line);border-radius:12px;color:#222;transition:.2s}
/* zuinig: het persoon-icoon is bodemzwaar (zware schouders), 1px omhoog centreert het optisch */
.login-ico svg{width:19px;height:19px;transform:translateY(-1px)}
.login-ico:hover{color:var(--accent);border-color:var(--accent)}

/* Hero */
.hero{position:relative;color:#fff;text-align:center;padding:130px 0 140px;
      background:linear-gradient(rgba(22,25,32,.42),rgba(22,25,32,.42)),url('/assets/reading-charts-at-business-meeting.jpg') center/cover}
.hero h1{font-size:40px;font-weight:700;line-height:1.1;color:#fff;max-width:840px;margin:0 auto 30px}
.hero .btn{font-size:16px;padding:15px 34px}
.hero .btn.lijn{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.6);margin-left:10px}
.hero .btn.lijn:hover{background:rgba(255,255,255,.14)}
@media(max-width:560px){.hero .btn.lijn{margin-left:0;margin-top:12px}}

/* USP cards */
.usps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding:70px 0}
.usp{background:var(--card);border-radius:12px;padding:30px;text-align:center}
.usp .ic{width:60px;height:60px;margin:0 auto 16px;background:var(--accent);
         -webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}
.usp h3{font-size:18px;font-weight:600;margin-bottom:10px}
.usp p{color:var(--muted);font-size:14px}

/* Exact section */
.exact{padding:40px 0 84px}
.exact-grid{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center}
.exact h2{font-size:32px;margin-bottom:18px}
.exact p{color:var(--muted);font-size:15.5px}
.exact img{width:100%;border-radius:16px}

/* Pricing */
.pricing{padding:24px 0 90px;text-align:center}
.pricing h2{font-size:40px;margin-bottom:40px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;text-align:left}
.card{border:1px solid #e6e6e6;border-radius:14px;padding:40px 30px;display:flex;flex-direction:column;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.08);transition:.2s}
.card:hover{box-shadow:0 14px 34px rgba(20,28,46,.12)}
.card h3{font-size:21px;text-align:center;margin-bottom:18px}
.price{text-align:center;font-weight:800;font-size:40px;color:#111;margin-bottom:4px}
.price-sub{text-align:center;color:var(--muted);font-size:13.5px;margin-bottom:24px}
.card ul{list-style:none;margin:0 0 28px;display:flex;flex-direction:column;gap:13px}
.card li{font-size:14.5px;color:var(--ink);padding-left:28px;position:relative}
.card li::before{content:"";position:absolute;left:0;top:1px;width:18px;height:18px;
  background:var(--accent);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/contain no-repeat}
.card .btn{margin-top:auto;text-align:center;width:100%}

/* Page head (Diensten / Over ons) */
.page-head{text-align:center;padding:90px 0 70px;background:var(--card)}
.page-head h1{font-size:42px;margin-bottom:14px}
.page-head p{color:var(--muted);font-size:17px;max-width:640px;margin:0 auto}
.page-body{padding:70px 0;text-align:center}
.page-body p{color:var(--muted);max-width:640px;margin:0 auto 26px}

/* Juridische pagina's (privacy, verwerkersovereenkomst): zelfde breedte/uitlijning als header en footer (.wrap) */
.legal{max-width:1170px;margin:0 auto;padding:56px 24px 72px;line-height:1.6}
.legal h2{font-size:24px;font-weight:700;line-height:1.18;margin:40px 0 14px;color:#111}
.legal h2:first-of-type{margin-top:0}
.legal h3{font-size:18px;font-weight:700;line-height:1.18;margin:26px 0 8px;color:#111}
.legal p{margin:0 0 15px;color:var(--ink);font-size:15.5px}
.legal ul{margin:0 0 18px;padding-left:22px}
.legal li{margin-bottom:8px;color:var(--ink);font-size:15.5px}
.legal a{color:var(--accent)}
.legal a:hover{color:var(--accent-dark)}
.legal .meta{color:var(--muted);font-size:14px;margin-bottom:30px}
.legal table{width:100%;border-collapse:collapse;margin:6px 0 22px;font-size:15px}
.legal th,.legal td{border:1px solid var(--line);padding:11px 14px;text-align:left;vertical-align:top}
.legal th{background:var(--card);font-weight:700;color:#111}

/* Offerte form (twee kolommen: introkaartje links, formulier rechts) */
.offerte{padding:60px 0 90px}
.offerte-grid{display:grid;grid-template-columns:373px 1fr;gap:40px;align-items:start}
.offerte-aside{background:#f5f5f5;border-radius:8px;padding:30px;position:sticky;top:108px;box-shadow:0 2px 8px rgba(0,0,0,.1)}
.offerte-aside h2{font-size:24px;margin-bottom:14px}
.offerte-aside>p{color:var(--muted);font-size:14px;margin-bottom:20px}
.offerte-aside .pt{display:flex;align-items:flex-start;gap:10px;font-size:14px;margin-bottom:12px;color:var(--ink)}
.offerte-aside .pt::before{content:"";width:18px;height:18px;flex:0 0 18px;margin-top:2px;background:#1d2433;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/contain no-repeat}
.offerte-form fieldset{border:0;margin:0 0 26px;padding:0}
.offerte-form .fs-title{font-size:18px;font-weight:600;color:#111;padding-bottom:8px;border-bottom:2px solid #e6e6e6;margin-bottom:18px}
.offerte-form .grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px 18px}
.offerte-form .addr{display:grid;grid-template-columns:1.8fr 1fr;gap:16px 18px}
.offerte-form .field{display:flex;flex-direction:column;gap:6px}
.offerte-form .field.full{grid-column:1/-1}
.offerte-form label{font-size:13px;font-weight:500;color:#000}
.offerte-form input,.offerte-form textarea,.offerte-form select{font-family:inherit;font-size:14px;color:var(--ink);background:#fff;border:1px solid #dfdfdf;border-radius:4px;padding:11px 14px;width:100%}
.offerte-form select{height:42px;cursor:pointer}
.offerte-form textarea{min-height:120px;resize:vertical}
.offerte-form input:focus,.offerte-form textarea:focus,.offerte-form select:focus{outline:none;border-color:var(--accent)}
.cbrow{display:flex;align-items:center;gap:12px;border:1px solid #dfdfdf;border-radius:4px;padding:12px 16px;font-size:14px;margin-bottom:12px;cursor:pointer}
.cbrow input{width:18px;height:18px;flex:0 0 18px;accent-color:var(--accent)}
.offerte-form button.btn{width:100%;font-size:16px;padding:15px;margin-top:6px}

footer{background:var(--foot);padding:54px 0 30px;font-size:14.5px;color:rgba(0,0,0,.72)}
.foot-grid{display:grid;grid-template-columns:1fr 1fr 1.3fr auto;gap:40px;align-items:start}
footer h4{color:#111;font-size:15px;margin-bottom:16px;font-weight:700}
footer a{color:rgba(0,0,0,.72)}footer a:hover{color:var(--accent)}
.foot-links{display:flex;flex-direction:column;gap:9px}
.foot-logo{height:54px;justify-self:end}
@media(max-width:980px){.foot-logo{justify-self:start}}

/* ── Dienstenoverzicht op de home (vier diensten in kaarten) ── */
.diensten-home{padding:20px 0 30px;text-align:center}
.diensten-home h2{font-size:40px;margin-bottom:12px}
.diensten-home .sub{color:var(--muted);font-size:17px;max-width:660px;margin:0 auto 44px}
.dienst-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;text-align:left}
.dienst-kaart{background:#fff;border:1px solid var(--line);border-radius:14px;padding:28px 24px;display:flex;flex-direction:column;box-shadow:0 2px 8px rgba(0,0,0,.06);transition:.2s}
.dienst-kaart:hover{box-shadow:0 14px 34px rgba(20,28,46,.12);transform:translateY(-3px)}
.dienst-kaart .ico{width:48px;height:48px;margin-bottom:18px;color:var(--accent)}
.dienst-kaart h3{font-size:18px;font-weight:700;margin-bottom:10px}
.dienst-kaart p{color:var(--muted);font-size:14.5px;margin-bottom:18px}
.dienst-kaart a.meer{margin-top:auto;color:var(--accent);font-weight:600;font-size:14.5px}
.dienst-kaart a.meer:hover{color:var(--accent-dark)}

/* ── Diensten-pagina: afwisselende dienstblokken ── */
.diensten-lijst{padding:30px 0 40px}
.dienst{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;padding:54px 0;border-top:1px solid var(--line)}
.dienst:first-child{border-top:0}
.dienst.omgekeerd .dienst-media{order:-1}
.dienst h2{font-size:30px;margin-bottom:14px}
.dienst .lead{color:var(--muted);font-size:16px;margin-bottom:20px}
.dienst ul{list-style:none;display:flex;flex-direction:column;gap:11px;margin-bottom:26px}
.dienst li{padding-left:28px;position:relative;font-size:15px;color:var(--ink)}
.dienst li::before{content:"";position:absolute;left:0;top:2px;width:18px;height:18px;
  background:var(--accent);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/contain no-repeat}
.dienst-media{background:linear-gradient(140deg,#f7f8fb,#eef1f6);border:1px solid var(--line);border-radius:18px;padding:46px 40px;display:flex;align-items:center;justify-content:center;min-height:260px}
.dienst-media svg{width:100%;max-width:340px;height:auto;color:var(--accent)}

/* ── CTA-band (herbruikbaar onderaan pagina's) ── */
.cta-band{background:linear-gradient(135deg,#1d2433,#2c3650);color:#fff;text-align:center;padding:72px 0}
.cta-band h2{color:#fff;font-size:32px;margin-bottom:14px}
.cta-band p{color:rgba(255,255,255,.82);font-size:17px;max-width:620px;margin:0 auto 28px}
.cta-band .btn{background:#fff;color:var(--accent);font-size:16px;padding:15px 34px}
.cta-band .btn:hover{background:#f0f0f0}
.cta-band .btn.lijn{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.55);margin-left:10px}
.cta-band .btn.lijn:hover{background:rgba(255,255,255,.12)}

/* ── Over ons ── */
.verhaal{max-width:760px;margin:0 auto;padding:66px 24px 30px}
.verhaal p{color:var(--ink);font-size:16.5px;margin-bottom:18px}
.verhaal h2{font-size:26px;margin:34px 0 14px}
.waarden{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;padding:20px 0 70px}
.waarde{background:var(--card);border-radius:14px;padding:28px 24px}
.waarde h3{font-size:17px;margin-bottom:8px}
.waarde p{color:var(--muted);font-size:14.5px;margin:0}

@media(max-width:900px){
  .usps{grid-template-columns:repeat(2,1fr)}
  .exact-grid,.cards,.foot-grid,.offerte-grid,.offerte-form .grid2,.offerte-form .addr{grid-template-columns:1fr}
  .offerte-aside{position:static}
  .nav-center{display:none}
  .hero h1{font-size:32px}
  .dienst-cards{grid-template-columns:repeat(2,1fr)}
  .dienst{grid-template-columns:1fr;gap:30px;padding:42px 0}
  .dienst.omgekeerd .dienst-media{order:0}
  .dienst-media{min-height:200px;padding:34px}
  .waarden{grid-template-columns:1fr}
  .cta-band .btn.lijn{margin-left:0;margin-top:12px}
}
@media(max-width:560px){
  .dienst-cards{grid-template-columns:1fr}
}

/* ===================================================================== */
/*  v=5 toevoegingen: dropdown-nav, foto-hero's, servicepagina's,        */
/*  fotokaarten en aangescherpte pakketten                               */
/* ===================================================================== */

/* ── Diensten-dropdown in de navigatie (alleen desktop; nav-center is   */
/*    onder 900px verborgen, dus geen mobiele dropdown nodig) ──         */
.nav-center .drop{position:relative}
.nav-center .drop>.drop-top{display:inline-flex;align-items:center;gap:5px}
.nav-center .drop>.drop-top svg{width:12px;height:12px;transition:transform .18s}
.nav-center .drop:hover>.drop-top svg,.nav-center .drop:focus-within>.drop-top svg{transform:rotate(180deg)}
.nav-center .drop-menu{position:absolute;top:calc(100% - 4px);left:50%;transform:translateX(-50%);min-width:248px;
  background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 16px 40px rgba(20,28,46,.16);
  padding:8px;opacity:0;visibility:hidden;transition:opacity .16s;z-index:30}
.nav-center .drop:hover .drop-menu,.nav-center .drop:focus-within .drop-menu{opacity:1;visibility:visible}
.nav-center .drop-menu a{display:block;padding:10px 14px;border-radius:8px;font-size:14px;color:#222;font-weight:500;white-space:nowrap}
.nav-center .drop-menu a:hover{background:var(--card);color:var(--accent)}
.nav-center .drop-menu .scheiding{height:1px;background:var(--line);margin:6px 8px}

/* ── Pakketten aangescherpt: uitgelicht middenpakket met badge ── */
.pricing .cards{align-items:stretch}
.card.populair{border:2px solid var(--accent);box-shadow:0 18px 44px rgba(216,0,0,.16)}
.card .badge{align-self:center;background:var(--accent);color:#fff;font-size:11.5px;font-weight:700;
  padding:5px 16px;border-radius:20px;margin-bottom:16px;letter-spacing:.4px;text-transform:uppercase}

/* ── Foto-hero voor servicepagina's (achtergrondfoto + overlay) ── */
.dienst-hero{position:relative;color:#fff;text-align:center;padding:104px 0 96px;background-size:cover;background-position:center}
.dienst-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(18,22,30,.60),rgba(18,22,30,.74))}
.dienst-hero .wrap{position:relative;z-index:1}
.dienst-hero .eyebrow{display:inline-block;font-size:12.5px;font-weight:600;letter-spacing:.8px;text-transform:uppercase;
  color:#fff;background:rgba(255,255,255,.16);padding:6px 15px;border-radius:20px;margin-bottom:18px}
.dienst-hero h1{font-size:40px;color:#fff;max-width:760px;margin:0 auto 16px}
.dienst-hero p{font-size:18px;color:rgba(255,255,255,.92);max-width:640px;margin:0 auto 28px}
.dienst-hero .btn.lijn{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.55);margin-left:10px}
.dienst-hero .btn.lijn:hover{background:rgba(255,255,255,.12)}

/* Foto in een dienstblok (vervangt de illustratie-variant) */
.dienst-media.foto{padding:0;overflow:hidden;min-height:0;background:none;border:0}
.dienst-media.foto img{display:block;width:100%;height:100%;min-height:320px;object-fit:cover;border-radius:18px}

/* ── Kenmerken-/voordelenkaarten op servicepagina's ── */
.kenmerken{padding:64px 0 20px}
.kenmerken h2{text-align:center;font-size:30px;margin-bottom:10px}
.kenmerken .sub{text-align:center;color:var(--muted);font-size:16px;max-width:620px;margin:0 auto 40px}
.kenmerk-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.kenmerk{background:#fff;border:1px solid var(--line);border-radius:14px;padding:28px 24px}
.kenmerk .ico{width:42px;height:42px;color:var(--accent);margin-bottom:14px}
.kenmerk h3{font-size:17px;margin-bottom:8px}
.kenmerk p{color:var(--muted);font-size:14.5px;margin:0}

/* ── Diensten-overzicht: fotokaarten die naar de detailpagina's linken ── */
.dienst-foto-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:26px;padding:8px 0 10px}
.dienst-foto-kaart{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:16px;overflow:hidden;
  background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.05);transition:.2s}
.dienst-foto-kaart:hover{box-shadow:0 16px 40px rgba(20,28,46,.13);transform:translateY(-3px)}
.dienst-foto-kaart .beeld{height:200px;overflow:hidden}
.dienst-foto-kaart .beeld img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.dienst-foto-kaart:hover .beeld img{transform:scale(1.04)}
.dienst-foto-kaart .inhoud{padding:26px 26px 28px;display:flex;flex-direction:column;flex:1}
.dienst-foto-kaart h3{font-size:20px;margin-bottom:10px}
.dienst-foto-kaart p{color:var(--muted);font-size:14.5px;margin-bottom:18px}
.dienst-foto-kaart .meer{margin-top:auto;color:var(--accent);font-weight:600;font-size:14.5px}
.dienst-foto-kaart:hover .meer{color:var(--accent-dark)}

@media(max-width:900px){
  .dienst-foto-grid,.kenmerk-grid{grid-template-columns:1fr}
  .dienst-hero{padding:84px 0 76px}
  .dienst-hero h1{font-size:30px}
  .dienst-hero .btn.lijn{margin-left:0;margin-top:12px}
  .dienst-media.foto img{min-height:240px}
}

/* ===================================================================== */
/*  v=6 toevoegingen: algemene home-content (voordelen, werkwijze, teaser) */
/* ===================================================================== */

/* Algemene voordeel-iconen op de home: inline svg i.p.v. de mask-div */
.usp>svg{width:50px;height:50px;color:var(--accent);margin:0 auto 16px;display:block}

/* Werkwijze-stappen */
.werkwijze{padding:72px 0;background:var(--card)}
.werkwijze h2{text-align:center;font-size:32px;margin-bottom:10px}
.werkwijze .sub{text-align:center;color:var(--muted);font-size:16px;max-width:600px;margin:0 auto 44px}
.stappen{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.stap{background:#fff;border:1px solid var(--line);border-radius:14px;padding:30px 26px}
.stap .nr{width:42px;height:42px;border-radius:50%;background:var(--accent);color:#fff;font-weight:800;font-size:18px;display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.stap h3{font-size:18px;margin-bottom:8px}
.stap p{color:var(--muted);font-size:14.5px;margin:0}

/* Knop binnen de over-ons-teaser (exact-sectie) */
.exact .btn{margin-top:22px}

@media(max-width:900px){
  .stappen{grid-template-columns:1fr}
}
