
:root{
  --bg:#021111; --bg2:#062425; --panel:#06393a; --panel2:#073033; --line:#14d7d8;
  --green:#8cff13; --cyan:#14dbff; --blue:#1698ff; --white:#f4fbfb; --muted:#b6d7d8;
  --shadow:0 26px 80px rgba(0,0,0,.42); --radius:26px; --max:1220px;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--bg);color:var(--white);font-family:Inter,Arial,Helvetica,sans-serif;line-height:1.55;overflow-x:hidden}
body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-2;background:
  radial-gradient(circle at 18% 8%,rgba(140,255,19,.16),transparent 28%),
  radial-gradient(circle at 84% 10%,rgba(20,219,255,.13),transparent 30%),
  linear-gradient(180deg,#020d0e 0%,#031b1c 34%,#041415 100%)}
body:after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.24;background-image:linear-gradient(rgba(20,215,216,.10) 1px,transparent 1px),linear-gradient(90deg,rgba(20,215,216,.08) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.7),transparent 90%)}
a{color:inherit;text-decoration:none}.container{max-width:var(--max);margin:0 auto;padding:0 24px}.skip{position:absolute;left:-999px;top:auto}.skip:focus{left:20px;top:20px;z-index:99;background:#fff;color:#000;padding:12px;border-radius:8px}
.nav{position:sticky;top:0;z-index:50;background:rgba(1,13,14,.86);backdrop-filter:blur(14px);border-bottom:1px solid rgba(20,219,255,.22)}.nav-inner{height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:12px;font-weight:950}.brand img{width:58px;height:58px;object-fit:contain;filter:drop-shadow(0 0 14px rgba(140,255,19,.36))}.brand span{font-size:23px;line-height:.9;letter-spacing:.4px}.brand b{display:block}.brand em{font-style:normal;color:var(--cyan)}.nav-links{display:flex;align-items:center;gap:26px;font-weight:850;font-size:14px}.nav-links a{opacity:.94}.nav-links a:hover{color:var(--green)}.nav-cta{padding:15px 24px;border-radius:999px;color:#03100e;background:linear-gradient(90deg,var(--green),var(--cyan));font-weight:950;box-shadow:0 0 30px rgba(140,255,19,.42)}.menu-btn{display:none;background:transparent;border:1px solid rgba(20,219,255,.34);border-radius:12px;color:var(--white);padding:9px}
.brand-banner{background:#020d0e}.brand-banner .banner-wrap{max-width:1920px;margin:0 auto;position:relative;overflow:hidden}.brand-banner img{display:block;width:100%;height:clamp(220px,30vw,430px);object-fit:cover}.brand-banner:after{content:"";display:block;height:14px;background:linear-gradient(90deg,transparent,rgba(20,219,255,.55),rgba(140,255,19,.42),transparent);opacity:.55}
.hero{position:relative;overflow:hidden;min-height:660px;display:flex;align-items:center;background-image:linear-gradient(90deg,rgba(2,15,16,.96) 0%,rgba(3,24,25,.72) 49%,rgba(2,15,16,.82) 100%),url('hero-woningen-zwartwit.jpg');background-size:cover;background-position:center}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 70% 55%,rgba(20,219,255,.18),transparent 34%),linear-gradient(to bottom,rgba(0,0,0,0),rgba(2,17,17,.94));}.hero-inner{position:relative;padding:86px 0 54px;display:grid;grid-template-columns:1.04fr .86fr;gap:58px;align-items:center}.eyebrow{color:var(--green);font-size:12px;font-weight:950;letter-spacing:.35em;text-transform:uppercase}.hero h1,.section-title{margin:0;font-size:clamp(44px,7vw,92px);line-height:.96;letter-spacing:-.06em;text-shadow:0 7px 22px rgba(0,0,0,.55)}.gradient{background:linear-gradient(90deg,var(--green),#43df86,var(--cyan),var(--blue));-webkit-background-clip:text;background-clip:text;color:transparent}.lead{font-size:20px;color:#e5f4f4;font-weight:650;max-width:720px}.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:26px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:16px;border:1px solid rgba(20,219,255,.54);padding:16px 22px;font-weight:950;background:rgba(6,46,48,.72);box-shadow:inset 0 0 0 1px rgba(255,255,255,.03)}.btn.primary{background:linear-gradient(90deg,var(--green),var(--cyan),var(--blue));color:#04100f;border:0;box-shadow:0 0 34px rgba(20,219,255,.24),0 0 30px rgba(140,255,19,.28)}.btn:hover{transform:translateY(-1px)}.hero-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:28px}.fact{display:flex;gap:10px;align-items:center;color:#e7fbfb;font-size:13px;font-weight:850}.fact .icon{width:38px;height:38px;flex:0 0 38px}.label-card{justify-self:end;width:min(420px,100%);transform:rotate(7deg);padding:28px;border-radius:34px;background:linear-gradient(150deg,#083b31,#031b1e);border:3px solid var(--green);box-shadow:0 0 38px rgba(140,255,19,.45),var(--shadow)}.label-card .note{font-family:"Segoe Print","Comic Sans MS",cursive;font-size:26px;line-height:1.05;color:#f8ffff;transform:rotate(-6deg);margin:0 0 20px;text-align:right}.bars{display:grid;gap:9px}.bar{height:30px;border-radius:3px 22px 22px 3px;display:flex;align-items:center;padding-left:14px;font-weight:950;color:#fff;box-shadow:0 2px 10px rgba(0,0,0,.25)}.bar:nth-child(1){width:100%;background:#1ccf43}.bar:nth-child(2){width:92%;background:#58dd27}.bar:nth-child(3){width:84%;background:#c7e829;color:#112}.bar:nth-child(4){width:76%;background:#ffe332;color:#112}.bar:nth-child(5){width:68%;background:#ffae2f}.bar:nth-child(6){width:60%;background:#ff6b28}.bar:nth-child(7){width:52%;background:#f13737}.section{position:relative;padding:86px 0}.section.compact{padding:64px 0}.section:before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(20,219,255,.24),transparent);opacity:.25}.soft-section{background:radial-gradient(circle at 20% 20%,rgba(20,219,255,.06),transparent 35%),radial-gradient(circle at 88% 30%,rgba(140,255,19,.05),transparent 38%)}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:34px}.section h2{font-size:clamp(38px,5.2vw,70px);letter-spacing:-.06em;line-height:.96}.sub{max-width:650px;color:#d5eded;font-size:17px}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;align-items:stretch}.step{position:relative;min-height:220px;padding:30px 26px;border-radius:22px;background:linear-gradient(180deg,rgba(8,61,64,.86),rgba(3,28,31,.88));border:1px solid rgba(20,219,255,.42);box-shadow:var(--shadow)}.step:not(:last-child):after{content:"›";position:absolute;right:-23px;top:50%;transform:translateY(-50%);font-size:54px;color:var(--green);text-shadow:0 0 20px rgba(140,255,19,.6)}.step .icon{width:58px;height:58px;margin-bottom:18px}.step h3{margin:0 0 8px;font-size:21px}.step p{margin:0;color:#dcf2f1}.icon{display:inline-grid;place-items:center;color:var(--green);filter:drop-shadow(0 0 10px rgba(140,255,19,.32))}.icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.icon.cyan{color:var(--cyan)}.benefits-row{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}.benefit{display:grid;grid-template-columns:56px 1fr;gap:16px;align-items:start}.benefit .icon{width:56px;height:56px;border-radius:50%;border:2px solid currentColor;padding:12px;background:rgba(5,43,45,.65)}.benefit h3{margin:0 0 6px}.benefit p{margin:0;color:#d9eeee}.rates{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;align-items:stretch}.rate{display:flex;flex-direction:column;min-height:360px;padding:30px 26px;border-radius:22px;background:linear-gradient(180deg,rgba(7,57,59,.86),rgba(3,28,31,.9));border:1px solid rgba(20,219,255,.45);box-shadow:var(--shadow)}.rate-icon{height:84px;display:flex;align-items:center;justify-content:center;margin-bottom:8px}.rate-icon .icon{width:78px;height:78px}.rate h3{min-height:56px;margin:0;text-align:center;font-size:20px}.price{margin-top:auto;padding-top:26px;text-align:center;font-size:44px;line-height:1;font-weight:950;letter-spacing:-.05em}.price span{display:block;margin-top:8px;font-size:13px;font-weight:800;color:#d6eeee;letter-spacing:0}.rate ul{list-style:none;padding:20px 0 0;margin:0;display:grid;gap:8px}.rate li:before{content:"✓";color:var(--green);font-weight:950;margin-right:9px}.info-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;align-items:center}.check-list{list-style:none;padding:0;margin:24px 0;display:grid;gap:10px}.check-list li{position:relative;padding-left:34px;color:#e4f5f5;font-weight:650}.check-list li:before{content:"✓";position:absolute;left:0;top:-2px;width:23px;height:23px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:#03100f;font-weight:950}.map-card{position:relative;border-radius:28px;background:linear-gradient(180deg,rgba(7,56,58,.82),rgba(3,24,27,.9));border:1px solid rgba(20,219,255,.42);box-shadow:var(--shadow);overflow:hidden;min-height:420px}.map-card svg{display:block;width:100%;height:auto}.hand{font-family:"Segoe Print","Comic Sans MS",cursive;color:#e7ffff;font-size:23px;line-height:1.05;text-shadow:0 0 12px rgba(20,219,255,.45)}.about{display:grid;grid-template-columns:360px 1fr 210px;gap:34px;align-items:center;border-radius:30px;padding:28px;background:linear-gradient(135deg,rgba(8,56,58,.92),rgba(3,25,29,.85));border:1px solid rgba(20,219,255,.36);box-shadow:var(--shadow)}.portrait-wrap{position:relative;min-height:300px;overflow:hidden;border-radius:22px;background:#000}.portrait-wrap img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.08)}.portrait-note{position:absolute;right:16px;top:22px;max-width:150px;transform:rotate(-9deg)}.chips{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.chip{display:inline-flex;align-items:center;gap:8px;padding:12px 15px;border-radius:14px;border:1px solid rgba(140,255,19,.56);font-weight:900;background:rgba(2,18,20,.55)}.quote-card{border:1px solid rgba(140,255,19,.42);border-radius:18px;padding:24px;text-align:center;color:var(--cyan);font-size:24px;font-weight:800}.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:44px}.faq-list{display:grid;gap:12px}.faq-item{border-radius:16px;border:1px solid rgba(20,219,255,.45);background:rgba(5,44,47,.72);overflow:hidden}.faq-q{width:100%;display:flex;justify-content:space-between;align-items:center;text-align:left;gap:20px;background:transparent;border:0;color:#fff;font-weight:950;padding:18px 20px;cursor:pointer}.faq-a{display:none;padding:0 20px 20px;color:#d9f0f0}.faq-item.open .faq-a{display:block}.contact-grid{display:grid;grid-template-columns:.7fr 1fr 1fr 1fr;gap:20px;align-items:stretch}.contact-card{padding:24px;border-radius:18px;background:linear-gradient(180deg,rgba(7,54,57,.85),rgba(3,25,27,.88));border:1px solid rgba(20,219,255,.44);display:flex;gap:16px;align-items:center;font-weight:950}.contact-card .icon{width:48px;height:48px}.form-wrap{max-width:980px;margin:0 auto;text-align:center;border-radius:28px;padding:42px;background:linear-gradient(180deg,rgba(8,58,60,.92),rgba(3,26,29,.94));border:1px solid rgba(20,219,255,.46);box-shadow:var(--shadow)}.source-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:28px}.source{padding:16px;border-radius:16px;border:1px solid rgba(20,219,255,.35);background:rgba(5,40,43,.72);font-weight:900;text-align:center}.source:hover{border-color:var(--green);color:var(--green)}.footer{padding:0 0 34px;background:#020d0e}.footer-banner{position:relative;max-width:2048px;margin:0 auto}.footer-banner img{display:block;width:100%;height:auto}.hotspot{position:absolute;display:block;border-radius:22px}.hotspot:hover{outline:2px solid rgba(140,255,19,.55);outline-offset:2px}.hs-quote{left:55.1%;top:27%;width:20%;height:11%}.hs-wa{left:55.1%;top:42%;width:20%;height:11%}.hs-area{left:55.1%;top:57%;width:20%;height:12%}.hs-qr{left:80%;top:24%;width:14.6%;height:42%}.footer-links{max-width:var(--max);margin:26px auto 0;padding:0 24px;display:flex;gap:18px;justify-content:center;flex-wrap:wrap;color:#bfdada;font-weight:800;font-size:14px}.footer-links a:hover{color:var(--green)}.small{color:#b8d6d8;font-size:13px}.no-line:before{display:none}
.page-hero{padding:100px 0 70px;background:radial-gradient(circle at 20% 0,rgba(140,255,19,.13),transparent 35%),radial-gradient(circle at 80% 20%,rgba(20,219,255,.12),transparent 32%)}.content-card{border-radius:26px;background:rgba(7,52,55,.78);border:1px solid rgba(20,219,255,.35);padding:32px;box-shadow:var(--shadow)}.content-card h2{font-size:34px;letter-spacing:-.03em}.content-card p,.content-card li{color:#d8eeee}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:28px}
@media(max-width:980px){.nav-inner{height:auto;min-height:74px}.nav-links{display:none;position:absolute;left:16px;right:16px;top:74px;background:#031819;border:1px solid rgba(20,219,255,.35);border-radius:18px;padding:18px;flex-direction:column;align-items:flex-start}.nav-links.open{display:flex}.menu-btn{display:block}.hero-inner,.info-grid,.faq-grid,.about,.contact-grid,.two-col{grid-template-columns:1fr}.label-card{justify-self:start;transform:none}.process-grid,.benefits-row,.rates,.source-grid{grid-template-columns:1fr 1fr}.about{padding:20px}.portrait-wrap{min-height:360px}.brand-banner img{height:260px}.hero{min-height:auto}.hero h1{font-size:56px}.footer-banner{overflow-x:auto}.footer-banner img{min-width:980px}.hotspot{display:none}}
@media(max-width:640px){.container{padding:0 18px}.brand span{font-size:18px}.brand img{width:48px;height:48px}.hero-inner{padding:62px 0 44px}.hero h1,.section h2{font-size:42px}.hero-facts,.process-grid,.benefits-row,.rates,.source-grid{grid-template-columns:1fr}.section{padding:62px 0}.section-head{display:block}.rate{min-height:auto}.top-banner img{height:210px}.contact-grid{gap:14px}.form-wrap{padding:24px 16px}.footer-links{justify-content:flex-start}.step:not(:last-child):after{display:none}}

/* v28: vloeiende achtergrond, banner-hero en echte responsive footer */
body:after{opacity:.08;background-size:110px 110px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.28),transparent 72%)}
.section:before{display:none}.soft-section{background:radial-gradient(circle at 12% 20%,rgba(20,219,255,.045),transparent 34%),radial-gradient(circle at 88% 34%,rgba(140,255,19,.04),transparent 40%)}
.hero-v28{position:relative;background:radial-gradient(circle at 20% 25%,rgba(140,255,19,.10),transparent 32%),radial-gradient(circle at 83% 20%,rgba(20,219,255,.10),transparent 34%)}
.hero-banner-v28{max-width:2048px;margin:0 auto;line-height:0;overflow:hidden}.hero-banner-v28 img{display:block;width:100%;height:auto;aspect-ratio:2048/682;object-fit:contain}
.hero-copy-v28{position:relative;margin-top:-44px;padding-bottom:72px}.hero-panel-v28{max-width:1040px;margin:0 auto;padding:34px 38px;border-radius:26px;background:linear-gradient(145deg,rgba(2,20,21,.94),rgba(4,46,48,.90));border:1px solid rgba(20,219,255,.36);box-shadow:0 24px 70px rgba(0,0,0,.42),0 0 40px rgba(20,219,255,.08);backdrop-filter:blur(14px)}
.hero-panel-v28 h1{margin:.15em 0 .3em;font-size:clamp(42px,6vw,76px);line-height:.96;letter-spacing:-.055em}.hero-panel-v28 .lead{max-width:900px}
.hero-panel-v28 .hero-facts{margin-top:30px}.hero-panel-v28 .fact{display:flex;flex-direction:column;align-items:flex-start;gap:1px;padding:13px 14px;border-left:2px solid var(--cyan);background:rgba(255,255,255,.025);border-radius:0 12px 12px 0}.hero-panel-v28 .fact strong{font-size:15px}.hero-panel-v28 .fact span{color:var(--muted);font-size:12px;font-weight:700}
.rate{height:100%}.rate h3{display:flex;align-items:center;justify-content:center}.price{min-height:94px;display:flex;flex-direction:column;justify-content:flex-end}
.footer-mobile-contact{display:none}.footer-banner img{max-width:100%;height:auto}.footer-banner{overflow:hidden}
.faq-q:focus-visible,.btn:focus-visible,.source:focus-visible,.contact-card:focus-visible,a:focus-visible{outline:3px solid var(--green);outline-offset:3px}
@media(max-width:980px){.hero-copy-v28{margin-top:-18px;padding-bottom:54px}.hero-panel-v28{padding:28px}.hero-panel-v28 .hero-facts{grid-template-columns:1fr 1fr}.brand-banner img{height:auto}.footer-banner{overflow:hidden}.footer-banner img{min-width:0;width:100%;height:auto}.hotspot{display:none}.about{grid-template-columns:300px 1fr}.quote-card{grid-column:1/-1}.contact-grid{grid-template-columns:1fr 1fr}.contact-grid>div:first-child{grid-column:1/-1}}
@media(max-width:640px){.hero-banner-v28{padding-top:0}.hero-banner-v28 img{width:100%;height:auto;object-fit:contain}.hero-copy-v28{margin-top:0;padding:18px 0 46px}.hero-panel-v28{padding:24px 18px;border-radius:0;border-left:0;border-right:0}.hero-panel-v28 h1{font-size:40px}.hero-panel-v28 .actions{display:grid}.hero-panel-v28 .btn{width:100%}.hero-panel-v28 .hero-facts{grid-template-columns:1fr 1fr;gap:10px}.about{grid-template-columns:1fr}.portrait-wrap{min-height:320px}.contact-grid{grid-template-columns:1fr}.footer-mobile-contact{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:18px}.footer-mobile-contact a{padding:13px 12px;text-align:center;border:1px solid rgba(20,219,255,.45);border-radius:12px;background:rgba(6,46,48,.72);font-weight:900}.footer-links{padding:0 18px;margin-top:12px}.source-grid{grid-template-columns:1fr}.faq-q{padding:16px}.section{padding:56px 0}}

/* v29: consistente blauw-groene iconen, vaste prijsbaseline, echte kaart en schone footer */
.icon,.icon.cyan{color:#16d6e8;filter:drop-shadow(0 0 7px rgba(20,219,255,.42)) drop-shadow(0 0 13px rgba(140,255,19,.18))}
.step .icon,.benefit .icon,.rate-icon .icon,.contact-card .icon{position:relative}
.rate{display:grid;grid-template-rows:84px 70px 104px 1fr;align-items:start;min-height:380px}
.rate-icon{height:84px;margin:0}.rate h3{min-height:70px;height:70px;padding:8px 0;align-items:center}.rate .price{margin:0;min-height:104px;height:104px;padding:20px 0 0;justify-content:flex-start}.rate ul{align-self:start;padding-top:18px}
.audience-grid-v29{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:22px 0}.audience-grid-v29 span{padding:12px 14px;border:1px solid rgba(20,219,255,.35);border-radius:13px;background:linear-gradient(100deg,rgba(140,255,19,.08),rgba(20,219,255,.08));font-weight:850}
.map-card-v29{min-height:0;padding:0;overflow:hidden}.map-head-v29{display:flex;justify-content:space-between;gap:16px;align-items:baseline;padding:18px 20px;background:linear-gradient(90deg,rgba(140,255,19,.10),rgba(20,219,255,.10));border-bottom:1px solid rgba(20,219,255,.28)}.map-head-v29 strong{font-size:19px}.map-head-v29 span{color:var(--muted);font-size:13px;font-weight:800}#service-map{height:430px;width:100%;background:#08272a}.leaflet-container{font-family:Inter,Arial,sans-serif}.leaflet-control-attribution{font-size:10px!important}.map-note-v29{display:flex;align-items:center;gap:8px;padding:13px 18px;color:#d9eeee;font-size:12px;font-weight:800}.map-dot-v29{width:10px;height:10px;border-radius:50%;background:var(--cyan);box-shadow:0 0 10px var(--cyan)}.map-ring-v29{width:18px;height:18px;border-radius:50%;border:2px solid var(--green);margin-left:14px}
.about-v29{grid-template-columns:360px 1fr 210px}.portrait-column-v29{display:grid;gap:14px}.portrait-wrap{min-height:360px}.portrait-caption{position:static;max-width:none;padding:4px 10px 0;text-align:center;color:#e7ffff;font-size:21px;transform:rotate(-2deg)}.about-copy-v29 h2{margin-top:0}
.footer{padding:58px 0 26px;background:radial-gradient(circle at 16% 20%,rgba(140,255,19,.07),transparent 26%),radial-gradient(circle at 84% 12%,rgba(20,219,255,.08),transparent 30%),#020d0e;border-top:1px solid rgba(20,219,255,.22)}.footer-panel-v29{display:grid;grid-template-columns:1.2fr .9fr .9fr .72fr;gap:28px;align-items:start}.footer-panel-v29 h3{margin:0 0 14px;color:var(--cyan);font-size:18px}.footer-logo-row{display:flex;align-items:center;gap:14px}.footer-logo-row img{width:76px;height:76px;object-fit:contain}.footer-logo-row strong{display:block;font-size:30px;line-height:1}.footer-logo-row strong span{color:var(--cyan)}.footer-logo-row small{display:block;margin-top:8px;color:var(--green);font-weight:900;letter-spacing:.18em}.footer-brand-v29 p{max-width:360px;color:#d4e9e9}.footer-contact-v29,.footer-actions-v29{display:grid;gap:10px}.footer-contact-v29 a,.footer-actions-v29 a{padding:11px 12px;border:1px solid rgba(20,219,255,.30);border-radius:11px;background:rgba(5,43,45,.55);font-weight:850}.footer-contact-v29 a span{display:block;color:var(--muted);font-size:12px}.footer-actions-v29 a:hover,.footer-contact-v29 a:hover{border-color:var(--green);color:var(--green)}.footer-qr-v29{text-align:center}.qr-frame-v29{padding:10px;border-radius:18px;background:#fff;border:2px solid var(--cyan);box-shadow:0 0 24px rgba(20,219,255,.18);line-height:0}.qr-frame-v29 img{display:block;width:100%;height:auto}.footer-qr-v29 small{display:block;margin-top:9px;color:var(--muted)}.footer-links{border-top:1px solid rgba(20,219,255,.18);padding-top:22px;margin-top:38px}
@media(max-width:980px){.about-v29{grid-template-columns:280px 1fr}.footer-panel-v29{grid-template-columns:1fr 1fr}.footer-qr-v29{max-width:260px}.map-head-v29{align-items:flex-start;flex-direction:column;gap:2px}}
@media(max-width:640px){.rate{grid-template-rows:78px 62px 94px auto;min-height:0}.rate h3{height:62px;min-height:62px}.rate .price{height:94px;min-height:94px}.audience-grid-v29{grid-template-columns:1fr}.about-v29{grid-template-columns:1fr}.portrait-caption{font-size:19px}.footer-panel-v29{grid-template-columns:1fr}.footer-qr-v29{max-width:230px;margin:0 auto}#service-map{height:360px}.map-note-v29{flex-wrap:wrap}.footer-links{justify-content:center;text-align:center}}


/* v30: statische Nederlandkaart, geen Leaflet/OSM tileprovider */
#service-map{display:none!important}
.static-map-v30{position:relative;min-height:430px;background:linear-gradient(180deg,#0a2c31,#04191c);display:grid;place-items:center;overflow:hidden;padding:20px}
.nl-map-v30{display:block;max-height:430px;max-width:100%;width:auto;height:auto;filter:saturate(.75) brightness(.74) contrast(1.15);opacity:.95;pointer-events:none;user-select:none}
.map-overlay-v30{position:absolute;inset:20px;width:calc(100% - 40px);height:calc(100% - 40px);pointer-events:none}
.service-radius-v30{fill:rgba(20,219,255,.08);stroke:#8cff13;stroke-width:6;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 10px rgba(140,255,19,.65))}
.werkendam-dot-v30{fill:#14dbff;stroke:#8cff13;stroke-width:5;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 9px rgba(20,219,255,.8))}
.werkendam-label-v30 rect{fill:rgba(2,17,17,.92);stroke:#14dbff;stroke-width:2}
.werkendam-label-v30 text{fill:#fff;font:800 26px Inter,Arial,sans-serif}
.map-fallback-v30{position:absolute;left:18px;bottom:18px;padding:8px 11px;border-radius:10px;background:rgba(2,17,17,.86);border:1px solid rgba(20,219,255,.35);font-size:12px;font-weight:800;color:#dff}
.map-source-v30{padding:0 18px 15px;color:#86acad;font-size:10px;line-height:1.35}
@media(max-width:640px){.static-map-v30{min-height:340px;padding:12px}.map-overlay-v30{inset:12px;width:calc(100% - 24px);height:calc(100% - 24px)}.werkendam-label-v30 text{font-size:24px}.map-source-v30{padding:0 14px 13px}}

/* v31: vaste regiokaart op basis van geografische plaatsposities rond Werkendam */
.map-card-v31{min-height:0;padding:0;overflow:hidden}
.regional-map-v31{position:relative;background:#061b22;overflow:hidden;min-height:430px}
.regional-map-v31 svg{display:block;width:100%;height:auto;aspect-ratio:760/430}
.map-grid-v31 path{fill:none;stroke:rgba(20,219,255,.08);stroke-width:1}
.map-water-v31 path{fill:none;stroke:rgba(20,219,255,.28);stroke-width:3;stroke-linecap:round}
.map-road-v31 path{fill:none;stroke:rgba(210,241,239,.14);stroke-width:1.5;stroke-dasharray:5 5}
.city-v31 circle{fill:#8cff13;filter:drop-shadow(0 0 5px rgba(140,255,19,.75))}
.city-v31 text{fill:#dff7f5;font:700 13px Inter,Arial,sans-serif;paint-order:stroke;stroke:#04181a;stroke-width:4;stroke-linejoin:round}
.city-v31.main text{fill:#fff;font-size:18px;font-weight:950}
.city-v31.main circle{fill:#14dbff;stroke:#8cff13;stroke-width:2}
.city-v31.subtle{opacity:.72}
.map-hand-v31{fill:#dffcff;font:italic 17px "Segoe Print","Comic Sans MS",cursive}
.map-arrow-v31{fill:none;stroke:#14dbff;stroke-width:2;stroke-linecap:round}
.map-badge-v31{position:absolute;left:18px;bottom:16px;display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:12px;background:rgba(2,17,17,.88);border:1px solid rgba(20,219,255,.42);font-size:12px;color:#eaffff;box-shadow:0 8px 28px rgba(0,0,0,.28)}
.map-badge-v31 .map-ring-v29{margin-left:10px}
.static-map-v30,.map-source-v30{display:none!important}
@media(max-width:640px){.regional-map-v31{min-height:0}.map-hand-v31,.map-arrow-v31{display:none}.city-v31 text{font-size:11px}.city-v31.main text{font-size:15px}.map-badge-v31{left:10px;right:10px;bottom:10px;justify-content:center;flex-wrap:wrap}}


/* v33: scherpe vectoriconen, banner-only hero, echte NL-kaart en inline formulier */
.hero-v33{background:#020d0e;line-height:0}.hero-v33 .hero-banner-v28{max-width:2048px;margin:0 auto}.hero-v33 .hero-banner-v28 img{display:block;width:100%;height:auto;object-fit:contain}
.icon,.icon.cyan{color:#20dce8!important;filter:none!important;border:2px solid transparent;border-radius:16px;background:linear-gradient(#05272a,#05272a) padding-box,linear-gradient(135deg,#8cff13 0%,#2ee9ac 48%,#14dbff 100%) border-box;box-shadow:0 0 0 1px rgba(255,255,255,.03)}
.icon svg{stroke-width:3.2!important;shape-rendering:geometricPrecision;vector-effect:non-scaling-stroke;filter:none!important}
.step .icon{padding:9px}.benefit .icon{padding:11px!important;border-width:2px!important}.rate-icon .icon{padding:9px}.contact-card .icon{padding:8px}
.rate{grid-template-rows:84px 70px 104px 1fr}.rate .price small{display:block;font-size:12px;line-height:1.1;margin-bottom:5px;text-transform:uppercase;letter-spacing:.14em;color:#8cff13;font-weight:950}.rate ul{min-height:108px}
.map-card-v31,.regional-map-v31{display:none!important}.map-card-v33{min-height:0;padding:0;overflow:hidden}.nl-map-v33{background:radial-gradient(circle at 42% 62%,rgba(140,255,19,.06),transparent 30%),#06181e}.nl-map-v33 svg{display:block;width:100%;height:auto;aspect-ratio:760/430}.nl-outline-v33{filter:drop-shadow(0 0 12px rgba(20,219,255,.18))}.nl-internal-v33 path{stroke:rgba(215,248,245,.21);stroke-width:1.4;stroke-dasharray:4 5}.nl-city-v33 circle{fill:#8cff13;stroke:#052229;stroke-width:2}.nl-city-v33 text{fill:#e8ffff;font:700 12px Inter,Arial,sans-serif;paint-order:stroke;stroke:#04181a;stroke-width:4}.werkendam-v33 circle:first-child{fill:#14dbff;stroke:#8cff13;stroke-width:3;filter:drop-shadow(0 0 8px rgba(20,219,255,.85))}.werkendam-v33 circle:nth-child(2){stroke:#14dbff;stroke-width:2;opacity:.72}.werkendam-v33 text{fill:#fff;font:950 18px Inter,Arial,sans-serif;paint-order:stroke;stroke:#04181a;stroke-width:5}.map-note32 rect{fill:rgba(2,17,17,.88);stroke:#14dbff;stroke-width:1.5}.map-note32 text{fill:#eaffff;font:800 14px Inter,Arial,sans-serif}.map-note32 text+text{fill:#8cff13;font-size:17px}.map-badge-v33{display:flex;gap:24px;align-items:center;justify-content:center;padding:13px 18px;background:#041619;border-top:1px solid rgba(20,219,255,.22);font-size:12px;font-weight:850;color:#dff}.map-badge-v33 span{display:flex;align-items:center;gap:8px}.map-badge-v33 i{display:inline-block}.map-badge-v33 .dot{width:10px;height:10px;border-radius:50%;background:#14dbff;box-shadow:0 0 8px #14dbff}.map-badge-v33 .ring{width:17px;height:17px;border-radius:50%;border:2px solid #8cff13}
.fillout-frame-v33{width:100%;max-width:820px;margin:30px auto 0;border:1px solid rgba(20,219,255,.45);border-radius:22px;overflow:hidden;background:#fff;box-shadow:0 18px 50px rgba(0,0,0,.34)}.fillout-frame-v33 iframe{display:block;width:100%;height:760px;border:0;background:#fff}.form-fallback-v33{margin-top:14px;font-size:13px;color:#b8d6d8}.form-fallback-v33 a{color:#14dbff;text-decoration:underline}
@media(max-width:640px){.hero-v33 .hero-banner-v28 img{width:100%;height:auto}.nl-city-v33 text{font-size:10px}.werkendam-v33 text{font-size:14px}.map-note32{display:none}.map-badge-v33{gap:10px;flex-wrap:wrap}.fillout-frame-v33 iframe{height:820px}.icon svg{stroke-width:3.5!important}}


/* v33: geïntegreerde kaartvisual + verbeteradvies-sectie */
.map-card-v33{min-height:0;padding:0;overflow:hidden}
.map-visual-v33{padding:18px;background:radial-gradient(circle at 50% 18%,rgba(20,219,255,.08),transparent 35%),linear-gradient(180deg,#04191d,#041215)}
.map-visual-v33 img{display:block;width:100%;height:auto;border-radius:18px;border:1px solid rgba(20,219,255,.24);box-shadow:0 16px 48px rgba(0,0,0,.32)}
.map-caption-v33{padding:0 18px 18px;color:#99bcc0;font-size:11px;line-height:1.4}
.advice-grid-v33{display:grid;grid-template-columns:1.2fr .95fr;gap:26px;align-items:start}
.advice-card-v33{background:linear-gradient(180deg,rgba(5,40,43,.92),rgba(2,18,20,.94));border:1px solid rgba(20,219,255,.24);border-radius:24px;padding:28px;box-shadow:0 16px 50px rgba(0,0,0,.24)}
.advice-card-v33 h3{margin:0 0 14px;font-size:28px;line-height:1.15}
.advice-card-v33 p{color:#d3e8e8}
.advice-points-v33{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}
.advice-point-v33{padding:15px 16px;border-radius:16px;border:1px solid rgba(20,219,255,.24);background:rgba(4,28,31,.74)}
.advice-point-v33 strong{display:block;margin-bottom:6px;color:#fff;font-size:15px}
.advice-point-v33 p{margin:0;color:#c7dfe0;font-size:13px;line-height:1.45}
.advice-side-v33{display:grid;gap:16px}
.advice-mini-v33{padding:18px 18px 16px;border-radius:18px;border:1px solid rgba(20,219,255,.24);background:linear-gradient(180deg,rgba(4,32,35,.9),rgba(3,18,20,.95))}
.advice-mini-v33 h4{margin:0 0 10px;font-size:19px;color:#fff}
.advice-mini-v33 p{margin:0;color:#cce2e3;font-size:14px;line-height:1.55}
.advice-mini-v33 ul{margin:12px 0 0;padding:0;list-style:none;display:grid;gap:8px}
.advice-mini-v33 li{position:relative;padding-left:24px;color:#e9f8f7;font-size:14px}
.advice-mini-v33 li::before{content:"✓";position:absolute;left:0;top:0;color:var(--green);font-weight:900}
.advice-cta-v33{display:flex;flex-wrap:wrap;gap:14px;margin-top:22px}
.advice-tag-v33{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;border:1px solid rgba(20,219,255,.28);background:rgba(6,30,32,.72);color:#ebffff;font-size:13px;font-weight:800}
@media(max-width:980px){.advice-grid-v33{grid-template-columns:1fr}.advice-points-v33{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.map-visual-v33{padding:12px}.advice-card-v33,.advice-mini-v33{padding:18px}.advice-card-v33 h3{font-size:24px}.advice-points-v33{grid-template-columns:1fr}.advice-cta-v33{gap:10px}}


/* v34: full-bleed banners, officieel navigatielogo en banner-footer */
.hero-v32{width:100%;max-width:none;overflow:hidden;background:#020d0e}
.hero-v32 .hero-banner-v28{width:100%;max-width:none;margin:0}
.hero-v32 .hero-banner-v28 img{display:block;width:100%;max-width:none;height:auto;object-fit:contain}
.brand-v34{display:flex;align-items:center;flex:0 0 auto;line-height:0}
.brand-v34 img{display:block;width:88px;height:72px;object-fit:contain;border-radius:10px;box-shadow:0 0 18px rgba(20,219,255,.08)}
.footer-v34{padding:0;background:#020d0e;border-top:1px solid rgba(20,219,255,.20);overflow:hidden}
.footer-banner-v34{position:relative;width:100%;max-width:none;margin:0;line-height:0;overflow:hidden}
.footer-banner-v34>img{display:block;width:100%;max-width:none;height:auto;object-fit:contain}
.footer-hotspot-v34{position:absolute;display:block;z-index:2;border-radius:999px}
.footer-hotspot-v34:focus-visible{outline:3px solid #8cff13;outline-offset:3px}
.footer-hotspot-v34.quote{left:55.3%;top:28.3%;width:19.4%;height:10.2%}
.footer-hotspot-v34.whatsapp{left:55.3%;top:41.6%;width:19.4%;height:10.6%}
.footer-hotspot-v34.area{left:55.3%;top:54.8%;width:19.4%;height:12%}
.footer-hotspot-v34.qr{left:80.4%;top:25.8%;width:12.6%;height:34%}
.nav-inner{min-height:82px}
@media(min-width:2049px){.hero-v32 .hero-banner-v28 img,.footer-banner-v34>img{width:100vw}}
@media(max-width:980px){.brand-v34 img{width:76px;height:64px}.hero-v32 .hero-banner-v28 img{width:100%;height:auto}.footer-banner-v34>img{width:100%;height:auto}}
@media(max-width:640px){.nav-inner{min-height:68px}.brand-v34 img{width:62px;height:58px}.hero-v32 .hero-banner-v28 img{width:100%;height:auto}.footer-banner-v34>img{width:100%;height:auto}.footer-hotspot-v34{display:none}}

/* v35: scanbare vCard-QR bovenop de bestaande footerbanner */
.footer-qr-live-v35{position:absolute;z-index:4;left:80.15%;top:26.7%;width:11.55%;aspect-ratio:1/1;box-sizing:border-box;padding:.45%;background:#fff;border-radius:8%;box-shadow:0 0 0 2px rgba(20,219,255,.24),0 0 26px rgba(20,219,255,.18);line-height:0}
.footer-qr-live-v35 img{display:block;width:100%;height:100%;object-fit:contain;image-rendering:auto}
.footer-qr-live-v35:focus-visible{outline:3px solid #8cff13;outline-offset:4px}
.footer-qr-mobile-v35{display:none}
@media(max-width:760px){
  .footer-qr-live-v35{display:none}
  .footer-qr-mobile-v35{display:grid;justify-items:center;gap:14px;padding:26px 18px 30px;background:radial-gradient(circle at 50% 0,rgba(20,219,255,.10),transparent 46%),#020d0e;text-align:center;border-top:1px solid rgba(20,219,255,.22)}
  .footer-qr-mobile-v35 p{margin:0;max-width:390px;color:#d9eeee;line-height:1.55}
  .footer-qr-mobile-v35 a{display:block;width:min(220px,64vw);padding:12px;background:#fff;border-radius:18px;box-shadow:0 0 0 2px rgba(20,219,255,.28),0 0 28px rgba(20,219,255,.16);line-height:0}
  .footer-qr-mobile-v35 img{display:block;width:100%;height:auto}
}

/* v35.1: QR minimaal groot genoeg houden om vanaf een beeldscherm te scannen */
@media(min-width:1101px){
  .footer-qr-live-v35{right:7.45%;left:auto;top:24.9%;width:clamp(220px,11.55vw,240px);padding:8px}
}
@media(min-width:761px) and (max-width:1100px){
  .footer-qr-live-v35{display:block;right:4%;left:auto;top:8%;width:220px;padding:8px}
  .footer-qr-mobile-v35{display:none}
}
.footer-qr-live-v35 img{image-rendering:pixelated}

/* v35.2: module-perfect QR-weergave; 228/285 px zijn exacte veelvouden van de QR-modulemaat */
@media(min-width:761px) and (max-width:1799px){
  .footer-qr-live-v35{display:block;left:auto;right:5.6%;top:8%;width:228px;height:228px;padding:0;border-radius:10px}
}
@media(min-width:1101px) and (max-width:1799px){
  .footer-qr-live-v35{right:7.35%;top:24.8%}
}
@media(min-width:1800px){
  .footer-qr-live-v35{left:auto;right:7.35%;top:24.1%;width:285px;height:285px;padding:0;border-radius:12px}
}
@media(max-width:760px){
  .footer-qr-mobile-v35 a{width:228px;max-width:calc(100vw - 64px);padding:0;border-radius:12px;overflow:hidden}
  .footer-qr-mobile-v35 img{image-rendering:pixelated}
}


/* v36: slankere footerbanner met geïntegreerde werkende vCard-QR */
.footer-v36{margin-top:0}
.footer-banner-v36{position:relative;width:100%;max-width:none;margin:0;line-height:0;overflow:hidden}
.footer-banner-v36>img{display:block;width:100%;max-width:none;height:auto;object-fit:cover}
.footer-hotspot-v36{position:absolute;display:block;z-index:3;border-radius:999px}
.footer-hotspot-v36:focus-visible{outline:3px solid #8cff13;outline-offset:3px}
.footer-hotspot-v36.quote{left:55.7%;top:30.3%;width:18.8%;height:10.7%}
.footer-hotspot-v36.whatsapp{left:55.7%;top:43.3%;width:18.8%;height:10.8%}
.footer-hotspot-v36.area{left:55.7%;top:56.2%;width:18.8%;height:11.2%}
.footer-hotspot-v36.qr{left:80.85%;top:31.2%;width:10.6%;height:30.3%;border-radius:20px}
.footer-qr-mobile-v36{display:none}
@media(min-width:2049px){.footer-banner-v36>img{width:100vw}}
@media(max-width:760px){
  .footer-hotspot-v36{display:none}
  .footer-qr-mobile-v36{display:grid;justify-items:center;gap:14px;padding:24px 18px 30px;background:radial-gradient(circle at 50% 0,rgba(20,219,255,.10),transparent 46%),#020d0e;text-align:center;border-top:1px solid rgba(20,219,255,.22)}
  .footer-qr-mobile-v36 p{margin:0;max-width:420px;color:#d9eeee;line-height:1.55}
  .footer-qr-mobile-v36 a{display:block;width:228px;max-width:calc(100vw - 64px);padding:0;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 0 0 2px rgba(20,219,255,.28),0 0 28px rgba(20,219,255,.16);line-height:0}
  .footer-qr-mobile-v36 img{display:block;width:100%;height:auto;image-rendering:pixelated}
}

/* v37: bovenbanner altijd volledige viewportbreedte, zonder zijblokken */
.hero-v33{
  width:100%;
  max-width:none;
  margin:0;
  padding:0;
  overflow:hidden;
  background:#020d0e;
  line-height:0;
}
.hero-v33 .hero-banner-v28{
  width:100%;
  max-width:none;
  margin:0;
  padding:0;
  overflow:hidden;
}
.hero-v33 .hero-banner-v28 img{
  display:block;
  width:100%;
  max-width:none;
  height:auto;
  margin:0;
  object-fit:cover;
  object-position:center center;
}
@media (min-width:2049px){
  .hero-v33 .hero-banner-v28,
  .hero-v33 .hero-banner-v28 img{
    width:100vw;
    max-width:none;
  }
}
@media (max-width:640px){
  .hero-v33,
  .hero-v33 .hero-banner-v28,
  .hero-v33 .hero-banner-v28 img{
    width:100%;
    max-width:none;
  }
  .hero-v33 .hero-banner-v28 img{
    height:auto;
    object-fit:cover;
  }
}
