/* ==========================================================================
   BREGMAN VASTGOED — Gedeelde stylesheet
   Eén bestand voor alle pagina's. Visuele stijl behouden uit het prototype:
   navy / zand / koper accent, Fraunces (koppen) + Inter (body) + IBM Plex
   Mono (labels/cijfers), kadastrale kruismarkering als terugkerend motief.
   ========================================================================== */

:root{
  --navy:#0F3D5C;
  --navy-deep:#0A2C42;
  --sand:#EDE6D6;
  --paper:#FAF8F3;
  --ink:#1E2A30;
  --slate:#5C6B73;
  --brass:#F5A623;
  --brass-light:#F8C374;
  --line:#D8CFBB;
  --green:#2F8F4E;
  --red:#C0392B;
  --radius:2px;
  --shadow-sm:0 1px 2px rgba(10,44,66,.05), 0 1px 1px rgba(10,44,66,.04);
  --shadow-md:0 8px 24px -8px rgba(10,44,66,.16);
  --shadow-lg:0 24px 48px -16px rgba(10,44,66,.24);
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'Inter',sans-serif;color:var(--ink);background:var(--paper);line-height:1.6;-webkit-font-smoothing:antialiased;}
h1,h2,h3,.serif{font-family:'Fraunces',serif;}
.mono{font-family:'IBM Plex Mono',monospace;letter-spacing:.03em;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
.wrap{max-width:1180px;margin:0 auto;padding:0 32px;}
button{font-family:inherit;cursor:pointer;}
section{padding:88px 0;}
.bg-sand{background:var(--sand);}
.bg-navy{background:var(--navy-deep);color:#fff;}
.bg-navy .section-head h2{color:#fff;}
.bg-navy .eyebrow{color:var(--brass-light);}

/* Kadastrale kruismarkering — signature-motief */
.mark{position:relative;}
.corner-tl::before{content:"";position:absolute;top:-6px;left:-6px;width:12px;height:2px;background:var(--brass);}
.corner-tl::after{content:"";position:absolute;top:-6px;left:-6px;width:2px;height:12px;background:var(--brass);}

/* ── Skip link (toegankelijkheid) ────────────────────────────────────── */
.skip-link{position:absolute;left:-9999px;top:0;background:var(--navy-deep);color:#fff;padding:12px 20px;z-index:999;}
.skip-link:focus{left:12px;top:12px;}

/* ── Utility bar + header ────────────────────────────────────────────── */
.util-bar{background:var(--navy-deep);color:#B7C4CA;padding:0px 0;font-size:.8rem;}
.util-bar-inner{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;}
.util-left,.util-right{display:flex;align-items:center;}
.util-bar a{transition:color .2s;font-weight:500;}
.util-bar a:hover{color:var(--brass-light);}
.util-dot{opacity:.4;margin:0 10px;}
@media(max-width:640px){.util-right{display:none;}}

.top-stack{position:sticky;top:0;z-index:100;}
header{background:rgba(250,248,243,.94);backdrop-filter:blur(6px);border-bottom:1px solid var(--line);box-shadow:var(--shadow-sm);}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:16px 32px;max-width:1180px;margin:0 auto;gap:20px;}
.logo img{height:40px;width:auto;display:block;}
nav ul{list-style:none;display:flex;gap:26px;flex-wrap:wrap;}
nav a{font-size:.86rem;font-weight:500;color:var(--slate);position:relative;padding:4px 0;transition:color .2s;}
nav a:hover, nav a[aria-current="page"]{color:var(--navy-deep);}
nav a[aria-current="page"]::after{content:"";position:absolute;bottom:-4px;left:0;width:100%;height:2px;background:var(--brass);}
.nav-toggle{display:none;background:none;border:none;font-size:1.5rem;color:var(--navy-deep);}
.nav-cta{white-space:nowrap;}
@media(max-width:1080px){.nav-cta{display:none;}}
@media(max-width:860px){
  .header-inner{flex-wrap:wrap;}
  nav ul{position:fixed;top:64px;left:0;right:0;background:var(--paper);flex-direction:column;padding:24px 32px;gap:18px;border-bottom:1px solid var(--line);transform:translateY(-120%);transition:transform .3s;z-index:90;}
  nav ul.open{transform:translateY(0);}
  .nav-toggle{display:block;}
}

/* ── Buttons ─────────────────────────────────────────────────────────── */
.btn{display:inline-block;padding:14px 28px;font-size:.88rem;font-weight:600;border-radius:var(--radius);transition:all .2s;border:1px solid transparent;}
.btn-primary{background:var(--brass);color:var(--navy-deep);}
.btn-primary:hover{background:var(--brass-light);transform:translateY(-1px);}
.btn-outline{border-color:var(--navy-deep);color:var(--navy-deep);}
.btn-outline:hover{background:var(--navy-deep);color:#fff;}
.btn-outline-light{border-color:rgba(255,255,255,.5);color:#fff;}
.btn-outline-light:hover{border-color:#fff;background:rgba(255,255,255,.08);}
.btn-sm{padding:10px 20px;font-size:.82rem;}
.cta-row{display:flex;gap:16px;flex-wrap:wrap;margin-top:28px;}

/* ── Hero ────────────────────────────────────────────────────────────── */
.hero{position:relative;min-height:600px;overflow:hidden;background:var(--navy-deep);padding:100px 0 0;}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,44,61,.25) 0%,rgba(8,44,61,.82) 100%);z-index:1;}
.hero-skyline{position:absolute;left:0;right:0;bottom:0;width:100%;height:22vh;min-height:150px;z-index:2;pointer-events:none;}
.hero-content{position:relative;z-index:3;max-width:1180px;margin:0 auto;padding:40px 32px 100px;}
.hero-eyebrow{color:var(--brass-light);font-size:.78rem;text-transform:uppercase;letter-spacing:.16em;margin-bottom:18px;font-family:'IBM Plex Mono',monospace;}
.hero h1{color:#fff;font-size:clamp(2.1rem,4.4vw,3.6rem);font-weight:500;max-width:820px;line-height:1.12;}
.hero p{color:#E9E4D8;max-width:540px;margin-top:20px;font-size:1.04rem;}
.hero-rating-chip{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.25);padding:8px 14px;font-size:.78rem;color:#fff;margin-top:22px;width:fit-content;}
.hrc-stars{color:var(--brass-light);font-size:.7rem;letter-spacing:1px;}

/* Trustbar (max. 4 claims, overlapt onderrand van de hero) */
.trustbar-wrap{position:relative;z-index:4;margin-top:-46px;padding:0 32px;}
.trustbar{max-width:1180px;margin:0 auto;background:var(--paper);box-shadow:var(--shadow-lg);display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);}
.trust-item{padding:22px 20px;text-align:center;border-right:1px solid var(--line);}
.trust-item:last-child{border-right:none;}
.trust-item strong{display:block;font-family:'Fraunces',serif;font-size:1.15rem;color:var(--navy-deep);}
.trust-item span{font-size:.72rem;color:var(--slate);display:block;margin-top:4px;}
@media(max-width:760px){.trustbar{grid-template-columns:1fr 1fr;}.trust-item{border-bottom:1px solid var(--line);}}

/* ── Section head ────────────────────────────────────────────────────── */
.section-head{margin-bottom:44px;max-width:640px;}
.section-head.wide{max-width:100%;display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:16px;}
.eyebrow{font-family:'IBM Plex Mono',monospace;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--brass);margin-bottom:12px;}
.section-head h2{font-size:clamp(1.6rem,2.8vw,2.3rem);font-weight:500;color:var(--navy-deep);}
.section-head p{color:var(--slate);margin-top:14px;font-size:1.01rem;}

/* ── Dienstenblok (3 kaarten) ────────────────────────────────────────── */
.pillar-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:12px;}
@media(max-width:860px){.pillar-grid{grid-template-columns:1fr;}}
.pillar-card{background:var(--paper);border:1px solid var(--line);padding:32px 28px;box-shadow:var(--shadow-sm);transition:.25s;}
.pillar-card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px);}
.pillar-card h3{font-size:1.15rem;color:var(--navy-deep);margin-bottom:12px;font-weight:600;}
.pillar-card p{color:var(--slate);font-size:.92rem;}
.card-cta{display:inline-block;margin-top:18px;font-size:.82rem;font-weight:600;color:var(--navy-deep);border-bottom:1px solid var(--brass);padding-bottom:2px;}
.card-cta:hover{color:var(--brass);}

/* ── Hierom-wij (4 punten) ───────────────────────────────────────────── */
.reasons-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px 40px;margin-top:8px;}
@media(max-width:760px){.reasons-grid{grid-template-columns:1fr;}}
.reason-item{padding-top:18px;border-top:2px solid var(--brass);}
.reason-item h3{font-size:1.05rem;color:var(--navy-deep);margin-bottom:8px;font-weight:600;}
.reason-item p{color:var(--slate);font-size:.92rem;}

/* ── Zo werken wij (stappen) ─────────────────────────────────────────── */
.step-list{}
.step{display:flex;gap:20px;padding:26px 0;border-top:1px solid var(--line);}
.step:last-child{border-bottom:1px solid var(--line);}
.step .step-num{font-family:'IBM Plex Mono',monospace;color:var(--brass);font-size:.85rem;min-width:36px;}
.step h4{color:var(--navy-deep);margin-bottom:6px;font-weight:600;font-size:1rem;}
.step p{color:var(--slate);font-size:.92rem;}
.step-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
@media(max-width:900px){.step-grid-4{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.step-grid-4{grid-template-columns:1fr;}}
.step-tile{padding-top:16px;border-top:2px solid var(--brass);}
.step-tile .step-num{font-family:'IBM Plex Mono',monospace;color:var(--brass);font-size:.8rem;}
.step-tile h4{color:var(--navy-deep);margin:8px 0 8px;font-weight:600;font-size:.98rem;}
.step-tile p{color:var(--slate);font-size:.88rem;}

/* ── Pricing card ────────────────────────────────────────────────────── */
.pricing-card{margin-top:26px;background:var(--navy-deep);color:#fff;padding:30px 32px;position:relative;overflow:hidden;}
.pricing-card::before{content:"";position:absolute;top:-40px;right:-40px;width:160px;height:160px;border-radius:50%;background:rgba(245,166,35,.08);}
.pricing-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;position:relative;z-index:1;}
.pricing-label{font-family:'IBM Plex Mono',monospace;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--brass-light);}
.pricing-figure{font-family:'Fraunces',serif;font-size:1.9rem;margin-top:6px;}
.pricing-figure span{font-size:.95rem;color:#B7C4CA;font-family:'Inter',sans-serif;}
.pricing-badge{background:var(--brass);color:var(--navy-deep);font-size:.72rem;font-weight:700;padding:6px 12px;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;height:fit-content;}
.pricing-note{margin-top:14px;font-size:.85rem;color:#C7D2D6;position:relative;z-index:1;}
.pricing-footnote{margin-top:16px;font-size:.78rem;color:#9FB0B8;position:relative;z-index:1;}

/* ── Praktijkvoorbeelden ─────────────────────────────────────────────── */
.example-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
@media(max-width:860px){.example-grid{grid-template-columns:1fr;}}
.example-card{background:var(--paper);border:1px solid var(--line);padding:26px;box-shadow:var(--shadow-sm);}
.example-card h4{color:var(--navy-deep);font-size:1rem;margin-bottom:10px;font-weight:600;}
.example-card p{color:var(--slate);font-size:.9rem;}

/* ── Verhuurklaar-check block ────────────────────────────────────────── */
.check-block{background:var(--sand);border:1px solid var(--line);padding:28px 30px;margin-top:20px;}
.check-block-head{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:10px;margin-bottom:14px;}
.check-block-head h4{color:var(--navy-deep);font-size:1.05rem;font-weight:600;}
.check-price{font-family:'IBM Plex Mono',monospace;color:var(--brass);font-weight:600;font-size:.88rem;}
.check-items{display:grid;grid-template-columns:1fr 1fr;gap:8px 24px;list-style:none;}
@media(max-width:600px){.check-items{grid-template-columns:1fr;}}
.check-items li{padding-left:20px;position:relative;font-size:.86rem;color:var(--ink);}
.check-items li::before{content:"✓";position:absolute;left:0;color:var(--brass);font-weight:700;}
.check-note{margin-top:14px;font-size:.8rem;color:var(--slate);font-style:italic;}

/* ── Reviews ─────────────────────────────────────────────────────────── */
.review-score-row{display:flex;align-items:baseline;gap:10px;margin-bottom:28px;}
.review-score-row strong{font-family:'Fraunces',serif;font-size:2rem;color:var(--navy-deep);}
.review-score-row .rb-stars{color:var(--brass);font-size:.85rem;letter-spacing:1px;}
.review-score-row span.src{font-size:.8rem;color:var(--slate);}
.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
@media(max-width:700px){.review-grid{grid-template-columns:1fr;}}
.review-card{background:var(--paper);border:1px solid var(--line);padding:26px;box-shadow:var(--shadow-sm);position:relative;}
.review-card::before{content:"\201C";position:absolute;top:8px;right:18px;font-family:'Fraunces',serif;font-size:3rem;color:var(--sand);line-height:1;z-index:0;}
.review-card p{position:relative;z-index:1;font-size:.92rem;color:var(--ink);}
.review-author{margin-top:16px;display:flex;align-items:center;gap:10px;position:relative;z-index:1;}
.review-avatar{width:34px;height:34px;border-radius:50%;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:600;font-family:'Fraunces',serif;flex-shrink:0;}
.review-author .name{font-size:.85rem;font-weight:600;}
.review-author .via{font-size:.72rem;color:var(--slate);}

/* ── Persoonlijk blok ────────────────────────────────────────────────── */
.founder-teaser{display:grid;grid-template-columns:180px 1fr;gap:36px;align-items:center;}
@media(max-width:640px){.founder-teaser{grid-template-columns:1fr;}}
.founder-photo{aspect-ratio:1/1;border-radius:50%;background:linear-gradient(160deg,var(--navy),var(--navy-deep));display:flex;align-items:center;justify-content:center;color:var(--brass-light);font-family:'Fraunces',serif;font-size:2.4rem;box-shadow:var(--shadow-md);overflow:hidden;}
.founder-photo img{width:100%;height:100%;object-fit:cover;}
.founder-name{font-family:'Fraunces',serif;font-size:1.2rem;color:var(--navy-deep);}
.founder-role{font-size:.78rem;color:var(--brass);font-family:'IBM Plex Mono',monospace;margin-top:2px;}
.founder-teaser p{color:var(--slate);margin-top:12px;font-size:.94rem;}

.founder-layout{display:grid;grid-template-columns:220px 1fr;gap:48px;align-items:start;}
@media(max-width:760px){.founder-layout{grid-template-columns:1fr;}}
.founder-photo-lg{aspect-ratio:1/1;border-radius:50%;background:linear-gradient(160deg,var(--navy),var(--navy-deep));display:flex;align-items:center;justify-content:center;color:var(--brass-light);font-family:'Fraunces',serif;font-size:3rem;box-shadow:var(--shadow-md);border:4px solid var(--paper);outline:1px solid var(--line);overflow:hidden;}
.founder-photo-lg img{width:100%;height:100%;object-fit:cover;}
.founder-contact-card{margin-top:20px;border:1px solid var(--line);background:var(--paper);padding:18px;box-shadow:var(--shadow-sm);}
.founder-contact-card .k{font-family:'IBM Plex Mono',monospace;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--brass);margin-bottom:10px;}
.founder-contact-line{display:block;font-size:.86rem;color:var(--ink);padding:6px 0;font-weight:500;}
.founder-contact-line:hover{color:var(--navy-deep);}
.bio-placeholder{margin-top:24px;padding:20px 22px;background:var(--sand);border-left:2px solid var(--brass);font-size:.86rem;color:var(--slate);}

/* ── Werkgebied ──────────────────────────────────────────────────────── */
.area-chips{display:flex;flex-wrap:wrap;gap:12px;}
.area-chip{border:1px solid var(--line);background:var(--paper);padding:10px 20px;font-size:.86rem;font-weight:500;color:var(--ink);transition:.2s;}
.area-chip:hover{border-color:var(--brass);background:var(--sand);}

/* ── Aanbod-teaser / listing cards ───────────────────────────────────── */
.listing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
@media(max-width:900px){.listing-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:600px){.listing-grid{grid-template-columns:1fr;}}
.listing-card{border:1px solid var(--line);background:var(--paper);cursor:pointer;transition:.25s;box-shadow:var(--shadow-sm);overflow:hidden;display:block;}
.listing-card:hover{border-color:var(--brass);transform:translateY(-3px);box-shadow:var(--shadow-md);}
.listing-img{height:160px;background:linear-gradient(135deg,#0F3D5C,#0A2C4222);position:relative;}
.listing-tag{position:absolute;top:12px;left:12px;font-size:.66rem;font-weight:700;padding:4px 10px;font-family:'IBM Plex Mono',monospace;letter-spacing:.05em;color:#fff;text-transform:uppercase;}
.tag-nieuw{background:var(--green);}
.tag-verhuurd{background:var(--red);}
.tag-verkocht{background:var(--slate);}
.listing-body{padding:18px;}
.listing-price{font-family:'Fraunces',serif;font-size:1.2rem;color:var(--navy-deep);}
.listing-addr{font-size:.85rem;color:var(--slate);margin-top:4px;}
.listing-meta{display:flex;gap:12px;margin-top:14px;font-size:.76rem;color:var(--slate);font-family:'IBM Plex Mono',monospace;}

/* ── Filters (aanbodpagina) ──────────────────────────────────────────── */
.filter-toolbar{display:flex;gap:12px;margin-bottom:28px;flex-wrap:wrap;align-items:center;background:var(--paper);border:1px solid var(--line);padding:14px;box-shadow:var(--shadow-sm);}
.pill-group{display:flex;border:1px solid var(--line);}
.pill{background:var(--paper);border:none;padding:10px 18px;font-size:.85rem;font-weight:500;color:var(--slate);border-right:1px solid var(--line);}
.pill:last-child{border-right:none;}
.pill[aria-pressed="true"]{background:var(--navy-deep);color:#fff;}
.pill:not([aria-pressed="true"]):hover{background:var(--sand);}
.filter-toolbar select,.filter-toolbar input{border:1px solid var(--line);background:var(--paper);padding:10px 14px;font-family:inherit;font-size:.85rem;color:var(--ink);}
.filter-toolbar input{flex:1;min-width:160px;}
#map{height:520px;border:1px solid var(--line);}

/* ── FAQ ──────────────────────────────────────────────────────────────── */
.faq-item{border-bottom:1px solid var(--line);}
.faq-q{width:100%;text-align:left;background:none;border:none;padding:20px 0;display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:.98rem;font-weight:500;color:var(--navy-deep);}
.faq-q .plus{font-family:'IBM Plex Mono',monospace;color:var(--brass);font-size:1.2rem;transition:transform .25s;flex-shrink:0;}
.faq-item[data-open="true"] .plus{transform:rotate(45deg);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease;}
.faq-item[data-open="true"] .faq-a{max-height:500px;}
.faq-a p{padding-bottom:20px;color:var(--slate);font-size:.9rem;max-width:680px;}

/* ── Contact / forms ─────────────────────────────────────────────────── */
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:50px;}
@media(max-width:860px){.contact-grid{grid-template-columns:1fr;}}
.field{margin-bottom:18px;}
.field label{display:block;font-size:.8rem;font-weight:600;margin-bottom:6px;color:var(--navy-deep);}
.field .hint{font-size:.74rem;color:var(--slate);font-weight:400;}
.field input,.field textarea,.field select{width:100%;border:1px solid var(--line);background:var(--paper);padding:12px 14px;font-family:inherit;font-size:.92rem;}
.field textarea{resize:vertical;min-height:110px;}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
@media(max-width:480px){.field-row{grid-template-columns:1fr;}}
.hp-field{position:absolute;left:-9999px;opacity:0;}
.contact-info-item{display:flex;gap:14px;padding:18px 0;border-top:1px solid var(--line);}
.contact-info-item:last-child{border-bottom:1px solid var(--line);}
.contact-info-item .k{font-family:'IBM Plex Mono',monospace;font-size:.7rem;color:var(--brass);text-transform:uppercase;min-width:110px;}
.form-status{margin-top:16px;padding:14px 16px;font-size:.88rem;display:none;}
.form-status.show{display:block;}
.form-status.ok{background:#E6F2E9;color:#1E5C33;border-left:3px solid var(--green);}
.form-status.err{background:#FBEAE8;color:#7A2015;border-left:3px solid var(--red);}
.form-tabs{display:flex;gap:8px;margin-bottom:24px;flex-wrap:wrap;}
.form-tab{border:1px solid var(--line);background:var(--paper);padding:9px 16px;font-size:.82rem;font-weight:500;color:var(--slate);}
.form-tab[aria-pressed="true"]{background:var(--navy-deep);color:#fff;border-color:var(--navy-deep);}

/* ── Blog ─────────────────────────────────────────────────────────────── */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
@media(max-width:900px){.blog-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:600px){.blog-grid{grid-template-columns:1fr;}}
.blog-card{border:1px solid var(--line);background:var(--paper);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;transition:.25s;}
.blog-card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px);}
.blog-card-img{height:150px;background:linear-gradient(135deg,#0F3D5C,#B08A5B22);}
.blog-card-body{padding:20px;display:flex;flex-direction:column;flex:1;}
.blog-card .date{font-family:'IBM Plex Mono',monospace;font-size:.7rem;color:var(--brass);}
.blog-card h3{font-size:1.02rem;color:var(--navy-deep);margin:8px 0 10px;font-weight:600;line-height:1.35;}
.blog-card p{font-size:.86rem;color:var(--slate);flex:1;}
.blog-card .card-cta{margin-top:16px;}
.blog-status{padding:14px 18px;background:var(--sand);border-left:2px solid var(--brass);font-size:.85rem;color:var(--slate);margin-bottom:32px;}
.blog-empty{padding:40px;text-align:center;color:var(--slate);border:1px dashed var(--line);}

/* ── Team-note / algemene infobox ────────────────────────────────────── */
.info-note{padding:22px 26px;background:var(--sand);border-left:2px solid var(--brass);font-size:.88rem;color:var(--slate);max-width:760px;}

/* ── Footer ──────────────────────────────────────────────────────────── */
footer{background:var(--navy-deep);color:#DCE3E6;padding:64px 0 32px;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;}
@media(max-width:760px){.footer-grid{grid-template-columns:1fr 1fr;}}
footer h5{font-family:'IBM Plex Mono',monospace;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--brass-light);margin-bottom:16px;}
footer ul{list-style:none;}
footer li{margin-bottom:10px;font-size:.86rem;}
footer a:hover{color:var(--brass-light);}
.footer-bottom{margin-top:56px;padding-top:24px;border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:.75rem;color:#8FA0A8;}
.footer-logo{height:54px; width:auto;
  object-fit:contain;background:#fff;padding:8px 12px;border-radius:4px;display:inline-block;}

/* ── Afsluitende CTA-strip ───────────────────────────────────────────── */
.cta-strip{background:var(--navy-deep);padding:64px 0;border-top:1px solid rgba(255,255,255,.1);}
.cta-strip-inner{max-width:640px;}
.cta-strip .eyebrow{color:var(--brass-light);}
.cta-strip h2{color:#fff;font-weight:500;font-size:clamp(1.5rem,3vw,2rem);}
.cta-strip p{color:#C7D2D6;margin-top:14px;font-size:.98rem;}

/* ── Placeholder / in-ontwikkeling ───────────────────────────────────── */
.dev-banner{background:var(--sand);border:1px solid var(--line);border-left:3px solid var(--brass);padding:18px 22px;font-size:.9rem;color:var(--ink);margin-bottom:36px;}

/* ── Utility ─────────────────────────────────────────────────────────── */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.text-center{text-align:center;}

/* ── Snelle WWS-check homepage ───────────────────────────────────────── */
.wws-section{background:var(--paper);padding-top:110px;}
.wws-calculator{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);border:1px solid var(--line);background:#fff;box-shadow:var(--shadow-md);}
.wws-form-panel{padding:34px 36px;border-right:1px solid var(--line);}
.wws-address-grid{display:grid;grid-template-columns:1fr .55fr;gap:16px;}
.wws-field-status{margin-top:6px;min-height:18px;font-size:.75rem;color:var(--slate);}
.wws-input-prefix,.wws-input-suffix{display:flex;align-items:center;border:1px solid var(--line);background:var(--paper);}
.wws-input-prefix span{padding-left:14px;color:var(--slate);}
.wws-input-suffix span{padding-right:14px;color:var(--slate);}
.wws-input-prefix input,.wws-input-suffix input{border:0!important;background:transparent!important;min-width:0;}
.wws-submit{width:100%;text-align:center;}
.wws-form-note{margin-top:16px;color:var(--slate);font-size:.76rem;line-height:1.55;}
.wws-result-panel{background:var(--navy-deep);color:#fff;padding:36px;display:flex;flex-direction:column;justify-content:center;}
.wws-result-kicker{font-family:'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.12em;color:var(--brass-light);font-size:.7rem;margin-bottom:10px;}
.wws-result-panel h3{color:#fff;font-size:1.6rem;margin-bottom:10px;font-weight:500;}
.wws-result-panel p{color:#C7D2D6;}
.wws-total{display:flex;align-items:baseline;gap:10px;margin:2px 0 24px;}
.wws-total strong{font-family:'Fraunces',serif;font-size:3.2rem;font-weight:500;line-height:1;}
.wws-total span{color:#C7D2D6;font-size:.9rem;}
.wws-breakdown{border-top:1px solid rgba(255,255,255,.16);}
.wws-breakdown-row{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.16);font-size:.88rem;}
.wws-breakdown-row span{color:#DCE3E6;}
.wws-breakdown-row strong{color:#fff;font-family:'IBM Plex Mono',monospace;}
.wws-result-address{margin-top:18px;color:var(--brass-light);font-size:.82rem;font-weight:600;}
.wws-result-disclaimer{margin-top:18px!important;color:#AFC0C8!important;font-size:.76rem;line-height:1.55;}
@media(max-width:900px){.wws-calculator{grid-template-columns:1fr}.wws-form-panel{border-right:0;border-bottom:1px solid var(--line)}}
@media(max-width:560px){.wws-form-panel,.wws-result-panel{padding:26px 22px}.wws-address-grid,.wws-form-panel .field-row{grid-template-columns:1fr}}

/* ── Compactere homepage WWS-sectie ─────────────────────────────────── */
.wws-section{
  padding-top:72px;
  padding-bottom:52px;
}
.wws-section .section-head{
  margin-bottom:26px;
}
.wws-calculator{
  max-width:980px;
}
.wws-form-panel{
  padding:24px 26px;
}
.wws-result-panel{
  padding:26px;
}
.wws-form-panel .field{
  margin-bottom:12px;
}
.wws-address-grid,
.wws-form-panel .field-row{
  gap:12px;
}
.wws-form-panel input,
.wws-form-panel select{
  padding-top:9px;
  padding-bottom:9px;
}
.wws-form-note{
  margin-top:10px;
}
.wws-total{
  margin-bottom:16px;
}
.wws-breakdown-row{
  padding:9px 0;
}
#diensten{
  padding-top:64px !important;
}

/* ── Video hero op alle pagina's ─────────────────────────────────────── */
.hero.hero-video{
  position:relative;
  background:var(--navy-deep);
  overflow:hidden;
}
.hero.hero-video .hero-video-bg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  z-index:0;
}
.hero.hero-video .hero-video-overlay{
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(
    90deg,
    rgba(10,44,66,.88) 0%,
    rgba(10,44,66,.78) 42%,
    rgba(10,44,66,.58) 70%,
    rgba(10,44,66,.48) 100%
  );
}
.hero.hero-video::after{
  background:linear-gradient(
    180deg,
    rgba(10,44,66,.08) 0%,
    rgba(10,44,66,.22) 65%,
    rgba(10,44,66,.38) 100%
  );
  z-index:2;
}
.hero.hero-video .hero-content{
  position:relative;
  z-index:3;
}
.page-video-hero{
  min-height:380px;
  padding-top:64px;
}
.page-video-hero .hero-content{
  padding-top:54px;
  padding-bottom:70px;
}
.page-video-hero h1{
  color:#fff;
  font-size:clamp(2rem,4vw,3.2rem);
  font-weight:500;
  max-width:820px;
  line-height:1.12;
}
.page-video-hero p{
  color:#F2F4F4;
  max-width:620px;
}
@media(max-width:760px){
  .hero.hero-video .hero-video-overlay{
    background:rgba(10,44,66,.76);
  }
}
@media(max-width:640px){
  .logo img{height:46px;}
}
@media(prefers-reduced-motion:reduce){
  .hero.hero-video .hero-video-bg{
    display:none;
  }
}

/* ── Aanvullend pakket: coördinatie verduurzaming ───────────────────── */
.sustainability-package{
  margin-top:40px;
  background:var(--navy-deep);
  color:#fff;
  padding:34px 36px;
  box-shadow:var(--shadow-md);
  position:relative;
  overflow:hidden;
}
.sustainability-package::before{
  content:"";
  position:absolute;
  width:220px;
  height:220px;
  border-radius:50%;
  right:-90px;
  top:-100px;
  background:rgba(245,166,35,.08);
}
.sustainability-package-label{
  display:inline-block;
  position:relative;
  z-index:1;
  margin-bottom:16px;
  padding:6px 10px;
  background:var(--brass-light);
  color:var(--navy-deep);
  font-family:'IBM Plex Mono',monospace;
  font-size:.7rem;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.sustainability-package-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:24px;
  flex-wrap:wrap;
  position:relative;
  z-index:1;
}
.sustainability-package-head h3{
  color:#fff;
  font-size:1.55rem;
  font-weight:500;
  margin-bottom:6px;
}
.sustainability-package-subtitle{
  color:#DCE3E6;
  font-size:.92rem;
}
.sustainability-package-price{
  background:var(--brass-light);
  color:var(--navy-deep);
  padding:10px 14px;
  min-width:120px;
  text-align:center;
}
.sustainability-package-price span{
  display:block;
  font-family:'IBM Plex Mono',monospace;
  font-size:.65rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.sustainability-package-price strong{
  display:block;
  margin-top:3px;
  font-size:.95rem;
}
.sustainability-package-intro{
  position:relative;
  z-index:1;
  max-width:850px;
  margin-top:22px;
  color:#F2F5F6;
  font-size:.95rem;
  line-height:1.65;
}
.sustainability-package-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0 32px;
  margin-top:26px;
  border-top:1px solid rgba(255,255,255,.16);
}
.sustainability-package-item{
  display:grid;
  grid-template-columns:28px 1fr;
  gap:14px;
  padding:20px 0;
  border-bottom:1px solid rgba(255,255,255,.16);
}
.sustainability-package-icon{
  width:24px;
  height:24px;
  border-radius:50%;
  background:rgba(245,166,35,.14);
  color:var(--brass-light);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:.8rem;
  font-weight:700;
  margin-top:2px;
}
.sustainability-package-item h4{
  color:#fff;
  font-size:.96rem;
  font-weight:600;
  margin-bottom:5px;
}
.sustainability-package-item p{
  color:#D5E0E5;
  font-size:.87rem;
  line-height:1.55;
}
.sustainability-package .cta-row{
  position:relative;
  z-index:1;
  margin-top:28px;
}
@media(max-width:760px){
  .sustainability-package{
    padding:28px 22px;
  }
  .sustainability-package-grid{
    grid-template-columns:1fr;
  }
  .sustainability-package-price{
    width:100%;
  }
}

/* ── Vastgoedbeheer hoofdpakket ──────────────────────────────────────── */
.management-package{
  margin-top:26px;
  background:var(--navy-deep);
  color:#fff;
  padding:34px 36px;
  box-shadow:var(--shadow-md);
  position:relative;
  overflow:hidden;
}
.management-package::before{
  content:"";
  position:absolute;
  width:220px;
  height:220px;
  border-radius:50%;
  right:-90px;
  top:-100px;
  background:rgba(245,166,35,.08);
}
.management-package-label{
  display:inline-block;
  position:relative;
  z-index:1;
  margin-bottom:16px;
  padding:6px 10px;
  background:var(--brass-light);
  color:var(--navy-deep);
  font-family:'IBM Plex Mono',monospace;
  font-size:.7rem;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.management-package-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:24px;
  flex-wrap:wrap;
  position:relative;
  z-index:1;
}
.management-package-head h3{
  color:#fff;
  font-size:1.55rem;
  font-weight:500;
  margin-bottom:6px;
}
.management-package-subtitle{
  color:#DCE3E6;
  font-size:.92rem;
}
.management-package-price{
  background:var(--brass-light);
  color:var(--navy-deep);
  padding:10px 14px;
  min-width:150px;
  text-align:center;
}
.management-package-price span{
  display:block;
  font-family:'IBM Plex Mono',monospace;
  font-size:.65rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.management-package-price strong{
  display:block;
  margin-top:3px;
  font-size:.95rem;
}
.management-package-intro{
  position:relative;
  z-index:1;
  max-width:850px;
  margin-top:22px;
  color:#F2F5F6;
  font-size:.95rem;
  line-height:1.65;
}
.management-package-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0 32px;
  margin-top:26px;
  border-top:1px solid rgba(255,255,255,.16);
}
.management-package-item{
  display:grid;
  grid-template-columns:28px 1fr;
  gap:14px;
  padding:20px 0;
  border-bottom:1px solid rgba(255,255,255,.16);
}
.management-package-icon{
  width:24px;
  height:24px;
  border-radius:50%;
  background:rgba(245,166,35,.14);
  color:var(--brass-light);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:.8rem;
  font-weight:700;
  margin-top:2px;
}
.management-package-item h4{
  color:#fff;
  font-size:.96rem;
  font-weight:600;
  margin-bottom:5px;
}
.management-package-item p{
  color:#D5E0E5;
  font-size:.87rem;
  line-height:1.55;
}
.management-package-footnote{
  position:relative;
  z-index:1;
  color:#AFC0C8;
  margin-top:20px;
  font-size:.8rem;
}
.management-package .cta-row{
  position:relative;
  z-index:1;
  margin-top:28px;
}
@media(max-width:760px){
  .management-package{
    padding:28px 22px;
  }
  .management-package-grid{
    grid-template-columns:1fr;
  }
  .management-package-price{
    width:100%;
  }
}

/* ── Blog artikelpagina ──────────────────────────────────────────────── */
.blog-article-header{background:var(--sand);padding:72px 0 54px;border-bottom:1px solid var(--line);}
.blog-article-shell{max-width:820px;}
.blog-article-header h1{font-family:'Fraunces',serif;font-size:clamp(2rem,4.5vw,3.35rem);line-height:1.12;font-weight:500;color:var(--navy-deep);}
.blog-article-date{margin-top:18px;font-family:'IBM Plex Mono',monospace;font-size:.76rem;color:var(--brass);}
.blog-article-lead{margin-top:18px;color:var(--slate);font-size:1.05rem;line-height:1.7;}
.blog-article-cover{width:100%;max-height:480px;object-fit:cover;margin:48px 0 8px;border:1px solid var(--line);}
.blog-article-content{padding:40px 0 28px;font-size:1rem;line-height:1.82;color:var(--ink);}
.blog-article-content h2,.blog-article-content h3,.blog-article-content h4{font-family:'Fraunces',serif;color:var(--navy-deep);font-weight:500;line-height:1.25;margin:1.8em 0 .6em;}
.blog-article-content h2{font-size:1.8rem;}
.blog-article-content h3{font-size:1.4rem;}
.blog-article-content h4{font-size:1.15rem;}
.blog-article-content p{margin:0 0 1.25em;}
.blog-article-content ul,.blog-article-content ol{margin:0 0 1.4em 1.4em;}
.blog-article-content li{margin-bottom:.45em;}
.blog-article-content a{color:var(--navy);text-decoration:underline;text-decoration-color:var(--brass);text-underline-offset:3px;}
.blog-article-content blockquote{margin:1.7em 0;padding:18px 22px;background:var(--sand);border-left:3px solid var(--brass);color:var(--slate);}
.blog-article-content img{width:auto;max-width:100%;height:auto;margin:28px auto;border:1px solid var(--line);}
.blog-article-content figure{margin:30px 0;}
.blog-article-content figcaption{font-size:.78rem;color:var(--slate);margin-top:8px;text-align:center;}
.blog-article-content hr{border:0;border-top:1px solid var(--line);margin:36px 0;}
.blog-article-footer{padding:28px 0 72px;border-top:1px solid var(--line);}
@media(max-width:640px){
  .blog-article-header{padding:54px 0 40px;}
  .blog-article-content{padding-top:28px;}
}


/* ── Realworks aanbod + objectdetail ─────────────────────────────────── */
.review-card-stars{color:#D3A84A;letter-spacing:.12em;font-size:.92rem;margin-bottom:12px;position:relative;z-index:1;}
.founder-teaser{grid-template-columns:140px 1fr;gap:30px;}
@media(max-width:640px){.founder-teaser{grid-template-columns:120px 1fr;gap:22px}.founder-photo{max-width:120px}}
.realworks-card .listing-img{height:220px;background:var(--navy-deep);overflow:hidden;}
.realworks-card .listing-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease;}
.realworks-card:hover .listing-img img{transform:scale(1.035);}
.listing-img-placeholder{width:100%;height:100%;display:grid;place-items:center;color:rgba(255,255,255,.72);font-family:'Fraunces',serif;font-size:1.2rem;background:linear-gradient(135deg,var(--navy),var(--navy-deep));}
.listing-kind{position:absolute;right:12px;top:12px;background:rgba(10,44,66,.88);color:#fff;padding:5px 9px;font-size:.63rem;font-family:'IBM Plex Mono',monospace;letter-spacing:.08em;}
.tag-onder-bod{background:#D47B2A}.tag-verkocht{background:var(--red)}.tag-overig{background:var(--navy)}
.listing-addr strong{display:block;color:var(--navy-deep);font-size:.94rem}.listing-addr span{display:block;margin-top:3px}.listing-meta{flex-wrap:wrap}
.aanbod-page-section{padding-top:64px}.aanbod-realworks-grid{grid-template-columns:repeat(3,1fr)}.realworks-status{color:var(--slate);margin:0 0 22px;font-size:.86rem}.realworks-status:empty{display:none}
@media(max-width:900px){.aanbod-realworks-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.aanbod-realworks-grid{grid-template-columns:1fr}}

/* Homepage aanbod: exact één rij, drie objecten zichtbaar op desktop */
#homeListings{display:block;overflow:hidden}.home-listing-viewport{overflow:hidden}.home-listing-track{display:flex;gap:20px;transition:transform .55s cubic-bezier(.22,.61,.36,1);will-change:transform}.home-listing-track>.listing-card{flex:0 0 calc((100% - 40px)/3)}
.home-listing-controls{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:22px}.slider-arrow{width:40px;height:40px;border:1px solid var(--line);background:var(--paper);color:var(--navy-deep);cursor:pointer;font-size:1rem}.slider-arrow:hover{border-color:var(--brass);background:var(--sand)}.slider-dots{display:flex;gap:7px}.slider-dots button{width:7px;height:7px;border:0;border-radius:50%;background:var(--line);padding:0;cursor:pointer}.slider-dots button.active{background:var(--brass)}
@media(max-width:900px){.home-listing-track>.listing-card{flex-basis:calc((100% - 20px)/2)}}@media(max-width:640px){.home-listing-track>.listing-card{flex-basis:100%}}

.object-page{background:#fff}.object-top{padding:46px 0 0}.object-back{display:inline-block;color:var(--slate);font-size:.82rem;margin-bottom:28px}.object-back:hover{color:var(--navy-deep)}.object-heading-row{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:28px}.object-heading-row h1{font-family:'Fraunces',serif;font-size:clamp(2rem,4vw,3.25rem);font-weight:500;color:var(--navy-deep);line-height:1.08}.object-location{color:var(--slate);margin-top:8px}.object-kickers{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.object-status,.object-kind{font-family:'IBM Plex Mono',monospace;font-size:.66rem;letter-spacing:.07em;text-transform:uppercase;padding:6px 10px}.object-status{color:#fff}.status-nieuw{background:var(--green)}.status-verhuurd,.status-verkocht{background:var(--red)}.status-onder-bod{background:#D47B2A}.status-overig{background:var(--navy)}.object-kind{background:var(--sand);color:var(--navy-deep);border:1px solid var(--line)}.object-price{font-family:'Fraunces',serif;font-size:clamp(1.45rem,2.7vw,2.15rem);color:var(--navy-deep);white-space:nowrap}
.object-gallery{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,.75fr);gap:10px;height:570px;position:relative}.gallery-main{padding:0;border:0;background:#eee;cursor:zoom-in;overflow:hidden}.gallery-main img{width:100%;height:100%;object-fit:cover;display:block}.gallery-thumbs{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:10px;overflow:hidden}.gallery-thumb{border:0;padding:0;background:#eee;overflow:hidden;cursor:pointer}.gallery-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:.25s}.gallery-thumb:hover img,.gallery-thumb.active img{transform:scale(1.03)}.gallery-thumb:nth-child(n+5){display:none}.gallery-count{position:absolute;right:18px;bottom:18px;border:0;background:#fff;color:var(--navy-deep);padding:10px 14px;font-weight:600;box-shadow:var(--shadow-md);cursor:pointer}.object-no-photo{height:300px;background:var(--sand);display:grid;place-items:center;color:var(--slate);padding:30px;text-align:center}.object-summary-bar{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-top:0;background:var(--paper)}.object-summary-bar>div{padding:18px 22px;border-right:1px solid var(--line)}.object-summary-bar>div:last-child{border-right:0}.object-summary-bar strong{display:block;font-family:'Fraunces',serif;font-size:1.25rem;color:var(--navy-deep)}.object-summary-bar span{font-size:.72rem;color:var(--slate);text-transform:uppercase;letter-spacing:.06em}
.object-content-section{padding-top:70px}.object-content-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:70px;align-items:start}.object-main-content{max-width:780px}.object-section{padding:0 0 46px;margin-bottom:46px;border-bottom:1px solid var(--line)}.object-section:last-child{border-bottom:0}.object-section h2{font-family:'Fraunces',serif;color:var(--navy-deep);font-size:1.85rem;font-weight:500;margin-bottom:22px}.object-description{white-space:normal;color:var(--ink);line-height:1.78;font-size:.96rem}.object-feature-list>div{display:grid;grid-template-columns:minmax(180px,.42fr) 1fr;gap:28px;padding:12px 0;border-bottom:1px solid var(--line)}.object-feature-list>div:last-child{border-bottom:0}.object-feature-list dt{color:var(--slate);font-size:.86rem}.object-feature-list dd{color:var(--ink);font-size:.9rem;font-weight:500}.object-sidebar{position:sticky;top:105px}.object-contact-card{background:var(--navy-deep);padding:28px;color:#fff}.object-contact-card h3{font-family:'Fraunces',serif;font-size:1.6rem;font-weight:500;margin:8px 0 12px}.object-contact-card p{color:#C7D2D6;font-size:.87rem}.object-contact-card .btn{width:100%;text-align:center;margin-top:20px}.object-contact-link{display:block;text-align:center;color:#fff;margin-top:15px;font-weight:600;font-size:.88rem}.object-map-link{padding-bottom:10px}.object-error{max-width:700px;padding:60px 0}.object-error h1{font-family:'Fraunces',serif;color:var(--navy-deep);font-size:2.6rem;margin:10px 0 14px}.object-error .btn{margin-top:22px}
.gallery-lightbox[hidden]{display:none}.gallery-lightbox{position:fixed;inset:0;background:rgba(4,18,28,.96);z-index:9999;display:grid;place-items:center;padding:60px}.gallery-lightbox img{max-width:min(1300px,92vw);max-height:84vh;object-fit:contain}.gallery-close,.gallery-nav{position:absolute;border:0;background:rgba(255,255,255,.12);color:#fff;cursor:pointer}.gallery-close{right:22px;top:20px;width:46px;height:46px;font-size:2rem}.gallery-nav{top:50%;transform:translateY(-50%);width:52px;height:70px;font-size:2.6rem}.gallery-nav.prev{left:20px}.gallery-nav.next{right:20px}.gallery-counter{position:absolute;bottom:20px;color:#fff;font-family:'IBM Plex Mono',monospace;font-size:.78rem}
@media(max-width:900px){.object-gallery{height:480px;grid-template-columns:1fr}.gallery-thumbs{display:none}.object-content-grid{grid-template-columns:1fr;gap:20px}.object-sidebar{position:static}.object-summary-bar{grid-template-columns:repeat(2,1fr)}.object-summary-bar>div:nth-child(2){border-right:0}.object-heading-row{align-items:flex-start;flex-direction:column;gap:14px}.object-price{white-space:normal}}
@media(max-width:600px){.object-gallery{height:360px}.object-summary-bar{grid-template-columns:1fr}.object-summary-bar>div{border-right:0;border-bottom:1px solid var(--line)}.object-feature-list>div{grid-template-columns:1fr;gap:4px}.gallery-lightbox{padding:20px}.gallery-nav{width:42px;height:58px}.gallery-nav.prev{left:8px}.gallery-nav.next{right:8px}}

/* ── Realworks kaartweergave ─────────────────────────────────────────── */
.aanbod-map-shell{
  margin:8px 0 42px;
  border:1px solid var(--line);
  background:#fff;
  box-shadow:var(--shadow-sm);
}
.aanbod-map-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:30px;
  padding:22px 24px 18px;
  border-bottom:1px solid var(--line);
}
.aanbod-map-head h3{
  font-family:'Fraunces',serif;
  color:var(--navy-deep);
  font-size:1.45rem;
  font-weight:500;
  margin-top:4px;
}
.aanbod-map-legend{
  display:flex;
  gap:16px;
  color:var(--slate);
  font-size:.76rem;
}
.aanbod-map-legend span{display:flex;align-items:center;gap:7px}
.map-legend-dot{width:10px;height:10px;border-radius:50%;display:inline-block}
.map-legend-dot.huur{background:#D47B2A}
.map-legend-dot.koop{background:#B8433F}
.aanbod-map{height:500px;background:#E9ECEA}
.map-unavailable{height:100%;display:grid;place-items:center;color:var(--slate)}

.rw-map-marker-wrap{background:transparent!important;border:0!important}
.rw-map-marker{
  position:relative;
  display:block;
  width:30px;
  height:30px;
  border-radius:50% 50% 50% 0;
  transform:rotate(-45deg);
  border:3px solid #fff;
  box-shadow:0 4px 13px rgba(5,24,38,.28);
}
.rw-map-marker.huur{background:#D47B2A}
.rw-map-marker.koop{background:#B8433F}
.rw-map-marker>span{
  position:absolute;
  width:8px;
  height:8px;
  border-radius:50%;
  background:#fff;
  left:8px;
  top:8px;
}
.leaflet-tooltip.rw-map-tooltip{
  padding:0;
  border:0;
  background:#fff;
  box-shadow:0 12px 36px rgba(7,30,45,.22);
  border-radius:0;
  width:260px;
  white-space:normal;
}
.leaflet-tooltip-top.rw-map-tooltip:before{
  border-top-color:#fff;
}
.rw-map-popup{overflow:hidden;background:#fff}
.rw-map-popup-image{
  position:relative;
  height:132px;
  overflow:hidden;
  background:var(--navy-deep);
}
.rw-map-popup-image img{width:100%;height:100%;object-fit:cover;display:block}
.rw-map-popup-placeholder{height:100%;display:grid;place-items:center;color:#fff;font-family:'Fraunces',serif}
.rw-map-popup-status{
  position:absolute;
  left:10px;
  top:10px;
  padding:5px 8px;
  color:#fff;
  font-family:'IBM Plex Mono',monospace;
  font-size:.58rem;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.rw-map-popup-body{padding:13px 14px 14px}
.rw-map-popup-kind{
  display:block;
  color:var(--brass);
  font-family:'IBM Plex Mono',monospace;
  font-size:.58rem;
  letter-spacing:.08em;
  margin-bottom:5px;
}
.rw-map-popup-body strong{display:block;color:var(--navy-deep);font-size:.86rem;line-height:1.25}
.rw-map-popup-body>span:not(.rw-map-popup-kind){display:block;color:var(--slate);font-size:.72rem;margin-top:3px}
.rw-map-popup-body b{display:block;color:var(--navy-deep);font-family:'Fraunces',serif;font-size:1rem;margin-top:9px}
.rw-map-popup-body small{display:block;color:var(--brass);font-weight:600;font-size:.66rem;margin-top:8px}

/* ── Objectkaart + voorzieningen ─────────────────────────────────────── */
.object-location-section{padding:78px 0}
.object-location-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:30px;
}
.object-location-head>div{max-width:650px}
.object-location-head p{color:var(--slate);margin-top:9px}
.object-location-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 330px;
  min-height:520px;
  border:1px solid var(--line);
  background:#fff;
  box-shadow:var(--shadow-sm);
}
.object-map{min-height:520px;background:#E9ECEA}
.nearby-panel{
  border-left:1px solid var(--line);
  padding:22px;
  display:flex;
  flex-direction:column;
  max-height:520px;
}
.nearby-panel-head{
  display:flex;
  align-items:center;
  gap:12px;
  padding-bottom:17px;
  border-bottom:1px solid var(--line);
}
.nearby-icon{
  width:36px;height:36px;display:grid;place-items:center;
  background:var(--navy-deep);color:#fff;font-size:1.1rem;
}
.nearby-panel-head strong{display:block;color:var(--navy-deep);font-size:.9rem}
.nearby-panel-head span:not(.nearby-icon){display:block;color:var(--slate);font-size:.69rem;margin-top:2px}
.nearby-list{overflow:auto;padding-top:7px;flex:1}
.nearby-loading,.nearby-empty{color:var(--slate);font-size:.78rem;padding:16px 0;line-height:1.5}
.nearby-item{
  width:100%;
  display:flex;
  text-align:left;
  align-items:center;
  gap:10px;
  padding:11px 5px;
  border:0;
  border-bottom:1px solid var(--line);
  background:transparent;
  cursor:pointer;
  font-family:inherit;
}
.nearby-item:hover{background:var(--sand)}
.nearby-item-icon,.poi-marker{
  display:grid;
  place-items:center;
  flex:0 0 auto;
  font-family:'IBM Plex Mono',monospace;
  font-weight:600;
}
.nearby-item-icon{width:30px;height:30px;color:#fff;font-size:.57rem}
.nearby-item-icon.shop,.poi-marker.shop{background:var(--brass)}
.nearby-item-icon.ov,.poi-marker.ov{background:var(--navy)}
.nearby-item-copy{min-width:0}
.nearby-item-copy strong{display:block;color:var(--navy-deep);font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nearby-item-copy small{display:block;color:var(--slate);font-size:.65rem;margin-top:3px}
.nearby-source{font-size:.61rem;color:var(--slate);padding-top:12px;margin:0}
.object-map-marker-wrap,.poi-marker-wrap{background:transparent!important;border:0!important}
.object-map-marker{
  position:relative;display:block;width:36px;height:36px;
  border-radius:50% 50% 50% 0;transform:rotate(-45deg);
  background:var(--navy-deep);border:3px solid #fff;box-shadow:0 5px 15px rgba(4,24,38,.3)
}
.object-map-marker>span{
  position:absolute;width:10px;height:10px;border-radius:50%;
  background:var(--brass-light);left:10px;top:10px
}
.poi-marker{width:28px;height:28px;border-radius:50%;color:#fff;font-size:.56rem;border:2px solid #fff;box-shadow:0 2px 8px rgba(4,24,38,.18)}

@media(max-width:900px){
  .aanbod-map{height:420px}
  .object-location-layout{grid-template-columns:1fr}
  .nearby-panel{border-left:0;border-top:1px solid var(--line);max-height:none}
  .object-map{min-height:430px}
  .object-location-head{align-items:flex-start;flex-direction:column}
}
@media(max-width:600px){
  .aanbod-map-head{align-items:flex-start;flex-direction:column;gap:12px}
  .aanbod-map{height:350px}
  .object-map{min-height:360px}
  .object-location-section{padding:58px 0}
}

/* ── Aanbodkaart compact + objectraster ─────────────────────────────── */
.aanbod-map-shell{
  max-width:920px;
  margin:8px auto 34px;
}
.aanbod-map-head{
  padding:17px 20px 14px;
}
.aanbod-map-head h3{
  font-size:1.25rem;
}
.aanbod-map{
  height:320px;
}
.aanbod-grid-heading{
  margin:8px 0 24px;
  max-width:720px;
}
.aanbod-grid-heading h3{
  font-family:'Fraunces',serif;
  color:var(--navy-deep);
  font-size:1.55rem;
  font-weight:500;
}
.aanbod-grid-heading p{
  color:var(--slate);
  margin-top:8px;
  font-size:.9rem;
}
.aanbod-realworks-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
  align-items:stretch;
}
.aanbod-realworks-grid .listing-card{
  height:100%;
}
.map-unavailable{
  padding:30px;
  text-align:center;
  flex-direction:column;
  gap:5px;
}
.map-unavailable strong{
  display:block;
  color:var(--navy-deep);
}
.map-unavailable span{
  display:block;
  color:var(--slate);
  font-size:.78rem;
}
@media(max-width:900px){
  .aanbod-map{height:290px}
  .aanbod-realworks-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
  .aanbod-map-shell{margin-bottom:28px}
  .aanbod-map{height:260px}
  .aanbod-realworks-grid{grid-template-columns:1fr}
}

/* ── Werkwijze accordion — oorspronkelijke nette styling hersteld ───── */
.step-accordion{
  border-top:1px solid var(--line);
}
.step-accordion-item{
  border-bottom:1px solid var(--line);
}
.step-accordion-trigger{
  width:100%;
  display:grid;
  grid-template-columns:48px 1fr 28px;
  gap:16px;
  align-items:center;
  padding:22px 0;
  background:transparent;
  border:0;
  border-radius:0;
  text-align:left;
  color:var(--navy-deep);
  box-shadow:none;
}
.step-accordion-trigger:hover{
  background:transparent;
}
.step-accordion-trigger .step-num{
  font-family:'IBM Plex Mono',monospace;
  color:var(--brass);
  font-size:.85rem;
}
.step-accordion-title{
  font-size:1rem;
  font-weight:600;
  line-height:1.35;
}
.step-accordion-icon{
  width:28px;
  height:28px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--brass);
  font-family:'IBM Plex Mono',monospace;
  font-size:1.25rem;
  transition:transform .25s ease;
}
.step-accordion-content{
  display:grid;
  grid-template-rows:0fr;
  transition:grid-template-rows .3s ease;
}
.step-accordion-content > p{
  overflow:hidden;
  color:var(--slate);
  font-size:.92rem;
  margin-left:64px;
  padding-right:48px;
  margin-top:0;
}
.step-accordion-item.is-open .step-accordion-content{
  grid-template-rows:1fr;
}
.step-accordion-item.is-open .step-accordion-content > p{
  padding-bottom:22px;
}
.step-accordion-item.is-open .step-accordion-icon{
  transform:rotate(45deg);
}
.step-accordion-trigger:hover .step-accordion-title{
  color:var(--brass);
}
@media(max-width:600px){
  .step-accordion-trigger{
    grid-template-columns:36px 1fr 24px;
    gap:10px;
    padding:18px 0;
  }
  .step-accordion-content > p{
    margin-left:46px;
    padding-right:28px;
  }
}

/* ── Verhuur: Na de verhuur / vastgoedbeheer CTA ───────────────────── */
.beheer-cta-grid{
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
  gap:72px;
  align-items:start;
}
.beheer-cta-intro{
  margin-bottom:0;
  max-width:500px;
}
.beheer-cta-intro p{
  max-width:500px;
  color:var(--slate);
}
.beheer-cta-intro .cta-row{
  margin-top:26px;
}
.beheer-benefits{
  display:grid;
  gap:0;
  border-top:1px solid var(--line);
}
.beheer-benefit{
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  gap:15px;
  align-items:start;
  padding:20px 0;
  border-bottom:1px solid var(--line);
}
.beheer-benefit-icon{
  width:28px;
  height:28px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--sand);
  border:1px solid var(--line);
  color:var(--brass);
  font-size:.78rem;
  font-weight:700;
  margin-top:1px;
}
.beheer-benefit h3{
  color:var(--navy-deep);
  font-family:'Fraunces',serif;
  font-size:1.08rem;
  font-weight:500;
  line-height:1.3;
  margin:0 0 5px;
}
.beheer-benefit p{
  color:var(--slate);
  font-size:.86rem;
  line-height:1.6;
  margin:0;
}
@media(max-width:860px){
  .beheer-cta-grid{
    grid-template-columns:1fr;
    gap:38px;
  }
  .beheer-cta-intro{
    max-width:650px;
  }
}
@media(max-width:560px){
  .beheer-benefit{
    grid-template-columns:30px minmax(0,1fr);
    gap:12px;
    padding:17px 0;
  }
  .beheer-benefit-icon{
    width:26px;
    height:26px;
  }
}



/* ── Tijdelijk Realworks demo-object ─────────────────────────────────── */
.demo-object-notice{
  display:flex;
  align-items:center;
  gap:12px;
  padding:11px 14px;
  margin:14px 0 22px;
  background:#FFF6E8;
  border:1px solid #E7C58B;
  color:var(--navy-deep);
  font-size:.78rem;
}
.demo-object-notice strong{
  flex:0 0 auto;
  color:#A65E16;
  font-family:'IBM Plex Mono',monospace;
  text-transform:uppercase;
  letter-spacing:.07em;
  font-size:.65rem;
}
.demo-object-notice span{color:var(--slate)}

/* ── Objectpagina compact & heringedeeld ─────────────────────────────── */
.object-top{
  padding-bottom:44px;
}
.object-heading-row{
  margin-bottom:24px;
}
.object-gallery{
  margin-top:24px;
}
.object-summary-bar{
  margin-top:18px;
}
.object-content-section.object-details-section{
  padding:54px 0;
}
.object-details-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 300px;
  gap:34px;
  align-items:start;
}
.object-details-intro{
  margin-bottom:22px;
}
.object-details-intro h2{
  margin-bottom:0;
}
.object-feature-groups{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.object-feature-card{
  margin:0;
  padding:18px 20px;
  border:1px solid var(--line);
  background:#fff;
}
.object-feature-card h3{
  font-family:'Fraunces',serif;
  font-size:1.02rem;
  font-weight:500;
  color:var(--navy-deep);
  margin:0 0 10px;
}
.object-feature-card .object-feature-list{
  margin:0;
}
.object-feature-card .object-feature-list>div{
  padding:7px 0;
}
.object-feature-card .object-feature-list dt,
.object-feature-card .object-feature-list dd{
  font-size:.78rem;
}
.object-contact-card-sticky{
  position:sticky;
  top:92px;
}
.object-description-section{
  padding:50px 0 54px;
  background:var(--paper);
  border-top:1px solid var(--line);
}
.object-description-wrap{
  max-width:880px;
}
.object-description-wrap h2{
  margin-bottom:18px;
}
.object-description{
  font-size:.94rem;
  line-height:1.75;
}
.object-location-section{
  padding:54px 0;
}
.object-location-head{
  margin-bottom:24px;
}
.object-location-layout{
  min-height:400px;
  grid-template-columns:minmax(0,1fr) 290px;
}
.object-map{
  min-height:400px;
}
.nearby-panel{
  max-height:400px;
  padding:17px;
}
.nearby-item{
  padding:8px 4px;
}
@media(max-width:920px){
  .object-details-layout{
    grid-template-columns:1fr;
  }
  .object-contact-card-sticky{
    position:static;
  }
}
@media(max-width:760px){
  .object-feature-groups{
    grid-template-columns:1fr;
  }
  .object-content-section.object-details-section,
  .object-description-section,
  .object-location-section{
    padding:42px 0;
  }
}

/* ── Homepage + Verhuur: maximaal drie nieuwste objecten ────────────── */
#homeListings,
#recentVerhuurd{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
@media(max-width:900px){
  #homeListings,
  #recentVerhuurd{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:620px){
  #homeListings,
  #recentVerhuurd{
    grid-template-columns:1fr;
  }
}

/* ── Homepage aanbod: zelfde kaartformaat als verhuurpagina ─────────── */
#homeListings{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
  max-width:1100px;
  margin-left:auto;
  margin-right:auto;
  align-items:stretch;
}
#homeListings .listing-card{
  width:100%;
  max-width:none;
  min-width:0;
  height:100%;
}
#homeListings .listing-img{
  aspect-ratio:4 / 3;
}
#homeListings .listing-body{
  padding:18px 18px 20px;
}
@media(max-width:900px){
  #homeListings{
    grid-template-columns:repeat(2,minmax(0,1fr));
    max-width:760px;
  }
}
@media(max-width:620px){
  #homeListings{
    grid-template-columns:1fr;
    max-width:420px;
  }
}

/* ── WWS uitkomst & WOZ-cap ────────────────────────────────────────── */
.wws-sector-message{
  display:block;
  margin:24px 0 18px;
  padding:22px 24px;
  border:2px solid #E67E22 !important;
  border-radius:14px;
  background:#FFF4E8 !important;
  color:#E56F00 !important;
  font-family:"Fraunces", Georgia, serif;
  font-size:clamp(1.55rem,2.4vw,2.15rem);
  font-weight:700;
  line-height:1.16;
  letter-spacing:-.025em;
  text-align:center;
  box-shadow:0 10px 28px rgba(230,126,34,.14);
}
.wws-sector-message[hidden]{
  display:none !important;
}
.wws-sector-message.is-free-sector,
.wws-sector-message.is-opportunity{
  color:#E56F00 !important;
  background:#FFF4E8 !important;
}
.wws-sector-message.is-free-sector::before,
.wws-sector-message.is-opportunity::before{
  display:block;
  width:42px;
  height:42px;
  margin:0 auto 10px;
  border-radius:50%;
  background:#E67E22;
  color:#fff;
  font-family:"Inter",sans-serif;
  font-size:1.15rem;
  line-height:42px;
  text-align:center;
}
.wws-sector-message.is-free-sector::before{
  content:"✓";
}
.wws-sector-message.is-opportunity::before{
  content:"↗";
}
.wws-cap-note{
  margin:-2px 0 8px;
  padding:7px 10px;
  border-left:3px solid #E67E22;
  background:rgba(230,126,34,.08);
  color:inherit;
  font-size:.78rem;
  line-height:1.35;
}
.wws-cap-note[hidden]{
  display:none !important;
}
@media(max-width:620px){
  .wws-sector-message{
    margin-top:20px;
    padding:18px 16px;
    font-size:1.45rem;
  }
}

/* ── SEO-footer / uitgebreide interne navigatie ─────────────────────── */
.footer-grid-seo{grid-template-columns:1.45fr 1fr 1.15fr .8fr 1fr;gap:34px;align-items:start;}
.footer-intro p{margin-top:16px;font-size:.85rem;line-height:1.65;color:#B7C4CA;max-width:300px;}
.footer-contact-cta{display:inline-block;margin-top:16px;font-size:.82rem;font-weight:700;color:var(--brass-light);border-bottom:1px solid rgba(245,166,35,.55);padding-bottom:2px;}
.footer-nav-group ul{margin:0;padding:0;}
.footer-nav-group li{line-height:1.45;}
.footer-nav-group a{color:#DCE3E6;text-decoration:none;}
.footer-area-list li{color:#AFC0C8;}
.footer-social-links{margin-top:14px!important;}
.footer-utility-links{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;}
.footer-utility-links a{color:#AFC0C8;text-decoration:none;}
.footer-utility-links a:hover{color:var(--brass-light);}
@media(max-width:1050px){.footer-grid-seo{grid-template-columns:1.4fr 1fr 1fr;}.footer-contact-group{grid-column:auto;}}
@media(max-width:760px){.footer-grid-seo{grid-template-columns:1fr 1fr;gap:32px 24px;}.footer-intro{grid-column:1/-1;}.footer-intro p{max-width:520px;}}
@media(max-width:520px){.footer-grid-seo{grid-template-columns:1fr;}.footer-intro{grid-column:auto;}.footer-bottom{margin-top:42px;}}

/* ── HTML-sitemap ───────────────────────────────────────────────────── */
.sitemap-page{padding:74px 0 96px;}
.sitemap-page .section-head{max-width:780px;}
.sitemap-page .section-head p{line-height:1.7;}
.sitemap-link-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:40px;}
.sitemap-link-card{border:1px solid var(--line);background:var(--paper);padding:28px;box-shadow:var(--shadow-sm);}
.sitemap-link-card h2{font-size:1.18rem;color:var(--navy-deep);margin-bottom:16px;font-weight:600;}
.sitemap-link-card ul{list-style:none;margin:0;padding:0;}
.sitemap-link-card li{padding:8px 0;border-bottom:1px solid var(--line);font-size:.9rem;}
.sitemap-link-card li:last-child{border-bottom:0;}
.sitemap-link-card a{color:var(--navy-deep);font-weight:550;}
.sitemap-link-card a:hover{color:var(--brass);}
.sitemap-area-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;}
.sitemap-area-list span{border:1px solid var(--line);background:var(--sand);padding:7px 10px;font-size:.8rem;color:var(--slate);}
@media(max-width:860px){.sitemap-link-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:580px){.sitemap-link-grid{grid-template-columns:1fr;}}

/* ── Uitgebreide SEO-footer ─────────────────────────────────────────── */
.site-footer-expanded{
  margin-top:0;
  background:var(--navy-deep);
  color:#fff;
}
.site-footer-expanded .footer-main{
  padding:64px 0 48px;
}
.footer-grid-5{
  display:grid;
  grid-template-columns:1.45fr 1fr 1.1fr .8fr 1.15fr;
  gap:44px;
  align-items:start;
}
.footer-brand-logo{
  display:inline-flex;
  max-width:220px;
  height:48px;
  margin-bottom:22px;
}
.footer-brand-logo img{
  display:block;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  object-position:left center;
}
.footer-brand p{
  max-width:360px;
  color:#c6d1d6;
  font-size:.9rem;
  line-height:1.7;
}
.footer-primary-link{
  display:inline-block;
  margin-top:20px;
  color:#fff;
  font-size:.86rem;
  font-weight:700;
  border-bottom:1px solid var(--brass);
  padding-bottom:3px;
}
.footer-column h4{
  margin:0 0 18px;
  color:#fff;
  font-family:'Fraunces',serif;
  font-size:1.02rem;
  font-weight:600;
}
.footer-column ul{
  list-style:none;
  margin:0;
  padding:0;
}
.footer-column li{
  margin:0 0 10px;
  color:#b8c6cc;
  font-size:.83rem;
  line-height:1.45;
}
.footer-column a{
  color:#c7d2d6;
  text-decoration:none;
  transition:color .2s ease;
}
.footer-column a:hover,
.footer-primary-link:hover{
  color:var(--brass-light);
}
.footer-workarea li{
  position:relative;
  padding-left:12px;
}
.footer-workarea li::before{
  content:"";
  position:absolute;
  left:0;
  top:.62em;
  width:4px;
  height:4px;
  border-radius:50%;
  background:var(--brass);
}
.footer-contact li{
  word-break:break-word;
}
.footer-social-links{
  margin-top:18px !important;
  padding-top:16px !important;
  border-top:1px solid rgba(255,255,255,.1);
}
.footer-seo-links{
  border-top:1px solid rgba(255,255,255,.1);
  border-bottom:1px solid rgba(255,255,255,.1);
  background:rgba(255,255,255,.025);
}
.footer-seo-inner{
  min-height:58px;
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px 20px;
  padding-top:12px;
  padding-bottom:12px;
}
.footer-seo-inner span{
  font-size:.7rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#8fa3ad;
  font-family:'IBM Plex Mono',monospace;
}
.footer-seo-inner a{
  color:#c9d4d8;
  font-size:.79rem;
  text-decoration:none;
}
.footer-seo-inner a:hover{
  color:var(--brass-light);
}
.footer-bottom-expanded{
  padding-top:20px;
  padding-bottom:24px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  color:#8fa2ab;
  font-size:.72rem;
}
.footer-bottom-expanded .footer-utility-links{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  justify-content:flex-end;
}
.footer-bottom-expanded a{
  color:#aebfc6;
}
.footer-bottom-expanded a:hover{
  color:#fff;
}

@media(max-width:1100px){
  .footer-grid-5{
    grid-template-columns:1.4fr 1fr 1fr;
  }
  .footer-contact{
    grid-column:auto;
  }
}
@media(max-width:760px){
  .site-footer-expanded .footer-main{
    padding:48px 0 34px;
  }
  .footer-grid-5{
    grid-template-columns:1fr 1fr;
    gap:34px 26px;
  }
  .footer-brand{
    grid-column:1 / -1;
  }
  .footer-brand p{
    max-width:520px;
  }
  .footer-bottom-expanded{
    align-items:flex-start;
    flex-direction:column;
  }
  .footer-bottom-expanded .footer-utility-links{
    justify-content:flex-start;
  }
}
@media(max-width:520px){
  .footer-grid-5{
    grid-template-columns:1fr;
  }
  .footer-brand{
    grid-column:auto;
  }
  .footer-seo-inner{
    align-items:flex-start;
    flex-direction:column;
    gap:8px;
  }
}


/* Footer cachefix / definitieve layout override */
footer.site-footer-expanded{
  padding:0 !important;
}
footer.site-footer-expanded .footer-grid.footer-grid-5{
  grid-template-columns:1.45fr 1fr 1.1fr .8fr 1.15fr !important;
  gap:44px !important;
}
footer.site-footer-expanded .footer-bottom.footer-bottom-expanded{
  margin-top:0 !important;
  border-top:0 !important;
}
@media(max-width:1100px){
  footer.site-footer-expanded .footer-grid.footer-grid-5{
    grid-template-columns:1.4fr 1fr 1fr !important;
  }
}
@media(max-width:760px){
  footer.site-footer-expanded .footer-grid.footer-grid-5{
    grid-template-columns:1fr 1fr !important;
  }
}
@media(max-width:520px){
  footer.site-footer-expanded .footer-grid.footer-grid-5{
    grid-template-columns:1fr !important;
  }
}

/* ── Footer verfijning: compacter, rustiger en beter in balans ───────── */
footer.site-footer-expanded .footer-main{
  padding:44px 0 30px !important;
}

footer.site-footer-expanded .footer-grid.footer-grid-5{
  grid-template-columns:1.35fr .95fr 1fr .72fr 1.05fr !important;
  gap:30px !important;
}

footer.site-footer-expanded .footer-brand-logo{
  height:42px;
  margin-bottom:16px;
}

footer.site-footer-expanded .footer-brand p{
  max-width:330px;
  margin:0;
  font-size:.84rem;
  line-height:1.55;
}

footer.site-footer-expanded .footer-primary-link{
  margin-top:14px;
  font-size:.82rem;
}

footer.site-footer-expanded .footer-column h4{
  margin-bottom:12px;
  font-size:.96rem;
}

footer.site-footer-expanded .footer-column li{
  margin-bottom:6px !important;
  font-size:.79rem;
  line-height:1.35;
}

footer.site-footer-expanded .footer-column ul{
  margin:0;
}

footer.site-footer-expanded .footer-workarea li{
  padding-left:10px;
}

footer.site-footer-expanded .footer-social-links{
  margin-top:12px !important;
  padding-top:12px !important;
}

footer.site-footer-expanded .footer-seo-links{
  margin-top:0;
}

footer.site-footer-expanded .footer-seo-inner{
  min-height:46px;
  gap:8px 16px;
  padding-top:9px;
  padding-bottom:9px;
}

footer.site-footer-expanded .footer-seo-inner span{
  font-size:.66rem;
}

footer.site-footer-expanded .footer-seo-inner a{
  font-size:.75rem;
}

footer.site-footer-expanded .footer-bottom.footer-bottom-expanded{
  padding-top:14px;
  padding-bottom:16px;
  font-size:.69rem;
}

footer.site-footer-expanded .footer-bottom-expanded .footer-utility-links{
  gap:10px;
}

/* Afsluitende CTA op homepage: breder en visueel verbonden met footer */
.cta-strip{
  padding:54px 0 !important;
}

.cta-strip .wrap.cta-strip-inner{
  max-width:1180px !important;
  width:calc(100% - 64px);
  display:grid;
  grid-template-columns:minmax(0,1.4fr) auto;
  grid-template-areas:
    "eyebrow button"
    "title button"
    "text button";
  column-gap:56px;
  align-items:center;
}

.cta-strip .eyebrow{
  grid-area:eyebrow;
  margin-bottom:8px;
}

.cta-strip h2{
  grid-area:title;
  max-width:720px;
  margin:0;
}

.cta-strip p{
  grid-area:text;
  max-width:760px;
  margin-top:10px;
}

.cta-strip .cta-row{
  grid-area:button;
  margin:0;
  align-self:center;
}

.cta-strip .cta-row .btn{
  white-space:nowrap;
}

@media(max-width:1100px){
  footer.site-footer-expanded .footer-grid.footer-grid-5{
    grid-template-columns:1.3fr 1fr 1fr !important;
    gap:28px 34px !important;
  }
}

@media(max-width:800px){
  .cta-strip .wrap.cta-strip-inner{
    width:calc(100% - 40px);
    grid-template-columns:1fr;
    grid-template-areas:
      "eyebrow"
      "title"
      "text"
      "button";
    row-gap:0;
  }

  .cta-strip .cta-row{
    margin-top:22px;
  }
}

@media(max-width:760px){
  footer.site-footer-expanded .footer-main{
    padding:38px 0 26px !important;
  }

  footer.site-footer-expanded .footer-grid.footer-grid-5{
    grid-template-columns:1fr 1fr !important;
    gap:26px 24px !important;
  }
}

@media(max-width:520px){
  footer.site-footer-expanded .footer-grid.footer-grid-5{
    grid-template-columns:1fr !important;
    gap:22px !important;
  }

  footer.site-footer-expanded .footer-column h4{
    margin-bottom:9px;
  }

  footer.site-footer-expanded .footer-column li{
    margin-bottom:5px !important;
  }

  .cta-strip{
    padding:44px 0 !important;
  }

  .cta-strip .wrap.cta-strip-inner{
    width:calc(100% - 32px);
  }
}

/* ── Header verfijning: volledige navigatie op één regel ─────────────── */
.header-inner{
  max-width:1320px !important;
  padding:14px 24px !important;
  gap:16px !important;
}
.header-inner > nav{
  flex:1 1 auto;
  min-width:0;
}
.header-inner nav ul{
  flex-wrap:nowrap !important;
  gap:18px !important;
  justify-content:center;
  white-space:nowrap;
}
.header-inner nav a{
  font-size:.80rem !important;
}
.header-inner .logo{
  flex:0 0 auto;
}
.header-inner .logo img{
  height:34px !important;
}
.header-inner .nav-cta{
  flex:0 0 auto;
  padding:9px 14px !important;
  font-size:.76rem !important;
}

@media(max-width:1180px){
  .header-inner nav ul{gap:14px !important;}
  .header-inner nav a{font-size:.76rem !important;}
  .header-inner .nav-cta{display:none !important;}
}
@media(max-width:920px){
  .header-inner{flex-wrap:wrap;}
  .header-inner nav ul{
    position:fixed;
    top:64px;
    left:0;
    right:0;
    background:var(--paper);
    flex-direction:column;
    align-items:flex-start;
    padding:24px 32px;
    gap:18px !important;
    border-bottom:1px solid var(--line);
    transform:translateY(-120%);
    transition:transform .3s;
    z-index:90;
  }
  .header-inner nav ul.open{transform:translateY(0);}
  .header-inner nav a{font-size:.88rem !important;}
  .nav-toggle{display:block !important;}
}

/* ── Woningoptimalisatie ─────────────────────────────────────────────── */
.woningopt-grid .reason-item{
  position:relative;
  padding-top:24px;
}
.woningopt-num{
  font-family:'IBM Plex Mono',monospace;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.12em;
  color:var(--brass);
  margin-bottom:10px;
}
.woningopt-package .management-package-price{
  min-width:170px;
}
.woningopt-badge strong{
  font-size:1rem;
}

/* Lokale werkgebied-links */
.area-chips a.area-chip{
  text-decoration:none;
  cursor:pointer;
  transition:transform .18s ease, border-color .18s ease, background .18s ease;
}
.area-chips a.area-chip:hover{
  transform:translateY(-1px);
  border-color:var(--brass);
  background:#fff;
}
.sitemap-area-list a{
  display:inline-block;
  text-decoration:none;
}

/* Lokale SEO-landingspagina's */
.local-seo-intro{
  padding-bottom:18px;
}
.local-seo-intro .section-head{
  max-width:880px;
  margin-bottom:20px;
}
.local-seo-copy{
  max-width:900px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:26px;
}
.local-seo-copy p{
  color:var(--slate);
  line-height:1.7;
  margin:0;
}
@media(max-width:760px){
  .local-seo-copy{
    grid-template-columns:1fr;
    gap:12px;
  }
}

/* Praktijkvoorbeelden vastgoedbeheer: 6 voorbeelden in een compacte rasteropbouw */
#beheerVoorbeelden.example-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
#beheerVoorbeelden .example-card{
  height:100%;
}
@media(max-width:900px){
  #beheerVoorbeelden.example-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:620px){
  #beheerVoorbeelden.example-grid{grid-template-columns:1fr;}
}

/* Header correcties: compacte util-bar en betrouwbaar mobiel menu */
.util-bar-inner{
  justify-content:flex-start !important;
}
.util-right{
  display:none !important;
}
header{
  position:relative;
}
@media(max-width:920px){
  .header-inner{
    flex-wrap:nowrap !important;
  }
  .header-inner > nav{
    position:static;
  }
  .header-inner nav ul{
    display:none !important;
    position:absolute !important;
    top:100% !important;
    left:0 !important;
    right:0 !important;
    width:100% !important;
    margin:0 !important;
    padding:18px 24px 22px !important;
    background:var(--paper) !important;
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
    box-shadow:var(--shadow-md);
    flex-direction:column !important;
    align-items:stretch !important;
    gap:0 !important;
    transform:none !important;
    z-index:120 !important;
  }
  .header-inner nav ul.open{
    display:flex !important;
    transform:none !important;
  }
  .header-inner nav ul li{
    width:100%;
    margin:0;
  }
  .header-inner nav ul a{
    display:block;
    width:100%;
    padding:11px 0 !important;
    font-size:.9rem !important;
    border-bottom:1px solid rgba(12,52,68,.08);
  }
  .header-inner nav ul li:last-child a{
    border-bottom:0;
  }
  .header-inner nav a[aria-current="page"]::after{
    display:none;
  }
  .nav-toggle{
    display:block !important;
    margin-left:auto;
    line-height:1;
    width:40px;
    height:40px;
    padding:0;
    cursor:pointer;
  }
}

/* Definitief geen adres in de bovenbalk */
.util-bar .util-right,
.util-bar [data-header-address]{
  display:none !important;
}

/* Profielfoto Matthijs Bregman */
.founder-photo img,
.founder-photo-lg img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center 18%;
}

/* Profielfoto scherper en compacter tonen */
.founder-layout{
  align-items:start;
}
.founder-photo{
  width:120px;
  max-width:100%;
  margin:0 auto;
}
.founder-photo-lg{
  width:220px;
  max-width:100%;
  justify-self:start;
}
.founder-photo img,
.founder-photo-lg img,
.founder-headshot{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center 18%;
  image-rendering:auto;
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
  transform:translateZ(0);
}
@media (max-width:760px){
  .founder-photo-lg{
    width:180px;
    margin:0 auto;
    justify-self:center;
  }
}

/* ================================================================
   MOBIELE HOOFDNAVIGATIE
   Losgekoppeld van footer- en overige nav-elementen.
   ================================================================ */
.mobile-nav-panel,
.mobile-nav-backdrop{
  display:none;
}

@media(max-width:920px){
  html.mobile-menu-open,
  html.mobile-menu-open body{
    overflow:hidden;
  }

  .site-main-header .header-inner{
    flex-wrap:nowrap !important;
  }

  .desktop-nav,
  .site-main-header .nav-cta{
    display:none !important;
  }

  .site-main-header .nav-toggle{
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    margin-left:auto;
    width:42px;
    height:42px;
    padding:0;
    border:0;
    background:transparent;
    color:var(--navy-deep);
    font-size:1.65rem;
    line-height:1;
    cursor:pointer;
    position:relative;
    z-index:1003;
  }

  .mobile-nav-backdrop{
    display:block;
    position:fixed;
    inset:0;
    z-index:1000;
    background:rgba(8,44,61,.44);
    backdrop-filter:blur(2px);
  }
  .mobile-nav-backdrop[hidden]{
    display:none !important;
  }

  .mobile-nav-panel{
    display:flex;
    position:fixed;
    top:0;
    right:0;
    bottom:0;
    z-index:1002;
    width:min(88vw,380px);
    padding:22px 24px 28px;
    background:var(--paper);
    box-shadow:-18px 0 45px rgba(8,44,61,.18);
    flex-direction:column;
    transform:translateX(105%);
    transition:transform .26s ease;
    overflow-y:auto;
    visibility:hidden;
  }
  .mobile-nav-panel.open{
    transform:translateX(0);
    visibility:visible;
  }

  .mobile-nav-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding-bottom:18px;
    margin-bottom:8px;
    border-bottom:1px solid var(--line);
    color:var(--navy-deep);
    font-family:'Fraunces',serif;
    font-size:1.25rem;
    font-weight:600;
  }
  .mobile-nav-close{
    border:0;
    background:transparent;
    color:var(--navy-deep);
    font-size:2rem;
    line-height:1;
    padding:2px 4px;
    cursor:pointer;
  }

  /* Belangrijk: overschrijft oude globale nav ul-regels. */
  .mobile-nav-panel .mobile-nav,
  .mobile-nav-panel .mobile-nav ul{
    position:static !important;
    inset:auto !important;
    width:auto !important;
    margin:0 !important;
    padding:0 !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    transform:none !important;
  }
  .mobile-nav-panel .mobile-nav ul{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:0 !important;
    list-style:none;
  }
  .mobile-nav-panel .mobile-nav li{
    width:100%;
    margin:0;
    padding:0;
  }
  .mobile-nav-panel .mobile-nav a{
    display:block;
    width:100%;
    padding:14px 2px !important;
    border-bottom:1px solid rgba(8,44,61,.10);
    color:var(--navy-deep);
    font-size:.96rem !important;
    font-weight:500;
  }
  .mobile-nav-panel .mobile-nav a[aria-current="page"]{
    color:var(--brass);
    font-weight:700;
  }
  .mobile-nav-panel .mobile-nav a[aria-current="page"]::after{
    display:none !important;
  }
  .mobile-nav-cta{
    margin-top:24px;
    width:100%;
    text-align:center;
  }

  /* Footer blijft gewoon footer en kan nooit als mobiel hoofdmenu verschijnen. */
  footer.site-footer nav,
  footer.site-footer nav ul{
    position:static !important;
    inset:auto !important;
    display:block !important;
    width:auto !important;
    margin:0 !important;
    padding:0 !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    transform:none !important;
  }
}

@media(min-width:921px){
  .desktop-nav{
    display:block !important;
  }
  .mobile-nav-panel,
  .mobile-nav-backdrop,
  .site-main-header .nav-toggle{
    display:none !important;
  }
}

/* ================================================================
   NIEUWE BEELDBLOKKEN
   Foto's worden later op deze vaste slots aangesloten.
   ================================================================ */
.media-placeholder{
  position:relative;
  overflow:hidden;
  min-height:260px;
  background:
    linear-gradient(135deg,rgba(8,44,61,.055),rgba(185,137,52,.08)),
    var(--paper);
  border:1px solid var(--line);
}
.media-placeholder[data-ratio="4:5"]{aspect-ratio:4/5;}
.media-placeholder[data-ratio="4:3"]{aspect-ratio:4/3;}
.media-placeholder[data-ratio="16:7"]{aspect-ratio:16/7;}
.media-placeholder[data-ratio="16:9"]{aspect-ratio:16/9;}
.media-placeholder-inner{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  text-align:center;
}
.media-placeholder-label{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  max-width:260px;
  padding:10px 14px;
  background:rgba(250,248,243,.92);
  border:1px solid rgba(8,44,61,.12);
  color:var(--slate);
  font-family:'IBM Plex Mono',monospace;
  font-size:.68rem;
  letter-spacing:.04em;
  line-height:1.45;
}

/* Verhuur: accordion + beeld */
.workflow-media-layout{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr);
  gap:34px;
  align-items:start;
  margin-top:26px;
}
.workflow-media-layout .step-accordion{
  margin-top:0;
}
.workflow-photo-slot{
  position:sticky;
  top:28px;
  min-height:520px;
}

/* Lokale SEO: brede stadsfoto */
.local-city-visual-section{
  padding-top:0;
  padding-bottom:34px;
}
.city-photo-slot{
  min-height:320px;
}

/* Vastgoedbeheer */
.service-visual-section{
  padding-top:56px;
  padding-bottom:56px;
  background:var(--paper);
}
.service-visual-grid{
  display:grid;
  grid-template-columns:minmax(0,.85fr) minmax(360px,1.15fr);
  gap:48px;
  align-items:center;
}
.service-visual-copy h2{
  margin-top:6px;
}
.service-visual-copy p{
  color:var(--slate);
  margin-top:14px;
  max-width:560px;
}
.beheer-main-photo-slot{
  min-height:360px;
}
.practice-photo-strip,
.optimization-photo-strip{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin:26px 0 34px;
}
.practice-photo-slot,
.optimization-photo-slot{
  min-height:210px;
}

/* Woningoptimalisatie */
.optimization-visual-section{
  padding-top:0;
  padding-bottom:24px;
}

/* Over ons: optioneel subtiel beeldvlak */
.about-visual-section{
  padding-top:20px;
}
.about-visual-panel{
  min-height:300px;
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
  overflow:hidden;
  background:linear-gradient(120deg,var(--navy-deep),#244a5b);
}
.about-visual-panel::before{
  content:"Foto: sfeerbeeld woning / interieur";
  position:absolute;
  right:20px;
  bottom:16px;
  color:rgba(255,255,255,.46);
  font-family:'IBM Plex Mono',monospace;
  font-size:.64rem;
}
.about-visual-overlay{
  position:relative;
  z-index:1;
  max-width:660px;
  padding:44px 36px;
  text-align:center;
  color:#fff;
}
.about-visual-overlay .eyebrow{
  color:var(--brass-light);
}
.about-visual-overlay h2{
  color:#fff;
  margin-top:8px;
}
.about-visual-overlay p{
  margin-top:12px;
  color:#e6ecef;
}

@media(max-width:900px){
  .workflow-media-layout,
  .service-visual-grid{
    grid-template-columns:1fr;
  }
  .workflow-photo-slot{
    position:relative;
    top:auto;
    min-height:360px;
    aspect-ratio:16/9 !important;
  }
  .practice-photo-strip,
  .optimization-photo-strip{
    grid-template-columns:1fr 1fr;
  }
}
@media(max-width:620px){
  .practice-photo-strip,
  .optimization-photo-strip{
    grid-template-columns:1fr;
  }
  .city-photo-slot,
  .beheer-main-photo-slot,
  .practice-photo-slot,
  .optimization-photo-slot{
    min-height:220px;
  }
}

/* Echte websitefoto's uit de map Assets */
.media-placeholder.has-real-image{
  background:var(--paper);
}
.media-placeholder.has-real-image .media-real-image{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
}
.workflow-photo-slot .media-real-image{
  object-position:center;
}
.city-photo-slot .media-real-image{
  object-position:center;
}
.about-visual-panel.has-real-image{
  background-image:
    linear-gradient(90deg,rgba(8,44,61,.78),rgba(8,44,61,.45)),
    var(--about-image);
  background-size:cover;
  background-position:center;
}
.about-visual-panel.has-real-image::before{
  content:none;
}

/* ================================================================
   FOTO-ONTWERP V2
   Minder "ingeplakt", meer geïntegreerd in de pagina-opbouw.
   ================================================================ */

.media-placeholder.has-real-image{
  border:0;
  background:transparent;
  overflow:visible;
  isolation:isolate;
}

.media-placeholder.has-real-image::before{
  content:"";
  position:absolute;
  z-index:-1;
  background:var(--sand);
  border:1px solid rgba(8,44,61,.08);
}

/* Algemene beeldbehandeling */
.media-placeholder.has-real-image .media-real-image{
  border-radius:2px;
  box-shadow:0 18px 42px rgba(8,44,61,.12);
  transition:transform .35s ease, box-shadow .35s ease;
}

@media(hover:hover){
  .media-placeholder.has-real-image:hover .media-real-image{
    transform:translateY(-3px) scale(1.004);
    box-shadow:0 24px 54px rgba(8,44,61,.16);
  }
}

/* Verhuur: staande editorial-foto met subtiel achtervlak */
.workflow-photo-slot{
  margin-top:10px;
  padding:0 18px 20px 0;
}
.workflow-photo-slot::before{
  right:0;
  bottom:0;
  width:76%;
  height:72%;
}
.workflow-photo-slot .media-real-image{
  position:relative !important;
  inset:auto !important;
  width:100%;
  height:100%;
  border-radius:0 0 34px 0;
  object-fit:cover;
  object-position:center;
}

/* Lokale SEO-pagina's: brede foto met subtiel afgesneden rand */
.local-city-visual-section{
  overflow:hidden;
}
.city-photo-slot{
  width:calc(100% - 44px);
  margin-left:auto;
  margin-right:22px;
  padding:0 0 18px 18px;
}
.city-photo-slot::before{
  left:0;
  bottom:0;
  width:68%;
  height:58%;
}
.city-photo-slot .media-real-image{
  position:relative !important;
  inset:auto !important;
  border-radius:28px 0 0 0;
  object-fit:cover;
}

/* Afwisseling per lokale pagina: niet iedere stad exact hetzelfde */
body:nth-of-type(even) .city-photo-slot{
  margin-left:22px;
  margin-right:auto;
}
/* Praktische variatie op basis van URL-pagina's */
[data-image-slot="stad-amstelveen"],
[data-image-slot="stad-hoofddorp"],
[data-image-slot="stad-uithoorn"],
[data-image-slot="stad-utrecht"],
[data-image-slot="stad-diemen"],
[data-image-slot="stad-heemstede"]{
  margin-left:22px;
  margin-right:auto;
  padding:0 18px 18px 0;
}
[data-image-slot="stad-amstelveen"]::before,
[data-image-slot="stad-hoofddorp"]::before,
[data-image-slot="stad-uithoorn"]::before,
[data-image-slot="stad-utrecht"]::before,
[data-image-slot="stad-diemen"]::before,
[data-image-slot="stad-heemstede"]::before{
  left:auto;
  right:0;
}
[data-image-slot="stad-amstelveen"] .media-real-image,
[data-image-slot="stad-hoofddorp"] .media-real-image,
[data-image-slot="stad-uithoorn"] .media-real-image,
[data-image-slot="stad-utrecht"] .media-real-image,
[data-image-slot="stad-diemen"] .media-real-image,
[data-image-slot="stad-heemstede"] .media-real-image{
  border-radius:0 28px 0 0;
}

/* Vastgoedbeheer hoofdfoto: beeld loopt iets buiten het grid */
.service-visual-grid{
  position:relative;
}
.beheer-main-photo-slot{
  width:108%;
  margin-left:-8%;
  padding:18px 0 0 18px;
}
.beheer-main-photo-slot::before{
  left:0;
  top:0;
  width:62%;
  height:70%;
}
.beheer-main-photo-slot .media-real-image{
  position:relative !important;
  inset:auto !important;
  border-radius:0 34px 0 0;
}

/* Praktijkfoto's: editorial collage in plaats van drie identieke kaarten */
.practice-photo-strip{
  grid-template-columns:1.12fr .88fr 1fr;
  align-items:end;
  gap:16px;
}
.practice-photo-strip .media-placeholder{
  margin:0;
}
.practice-photo-strip .media-placeholder::before{
  display:none;
}
.practice-photo-strip .media-real-image{
  position:relative !important;
  inset:auto !important;
  border-radius:0;
  object-fit:cover;
}
.practice-photo-strip .media-placeholder:nth-child(1){
  transform:translateY(10px);
}
.practice-photo-strip .media-placeholder:nth-child(2){
  transform:translateY(-12px);
}
.practice-photo-strip .media-placeholder:nth-child(3){
  transform:translateY(5px);
}
.practice-photo-strip .media-placeholder:nth-child(1) .media-real-image{
  border-radius:24px 0 0 0;
}
.practice-photo-strip .media-placeholder:nth-child(3) .media-real-image{
  border-radius:0 0 24px 0;
}

/* Woningoptimalisatie: luxe strook, middelste beeld hoger */
.optimization-photo-strip{
  gap:14px;
  align-items:center;
  margin-top:20px;
}
.optimization-photo-strip .media-placeholder::before{
  display:none;
}
.optimization-photo-strip .media-real-image{
  position:relative !important;
  inset:auto !important;
  border-radius:0;
}
.optimization-photo-strip .media-placeholder:nth-child(2){
  transform:translateY(-18px);
  z-index:2;
}
.optimization-photo-strip .media-placeholder:nth-child(2) .media-real-image{
  box-shadow:0 22px 50px rgba(8,44,61,.16);
}

/* Over ons: foto als sfeerlaag, minder als losse banner */
.about-visual-panel.has-real-image{
  min-height:380px;
  border-radius:0 36px 0 36px;
  overflow:hidden;
  box-shadow:0 20px 50px rgba(8,44,61,.12);
}
.about-visual-overlay{
  margin-right:auto;
  text-align:left;
  max-width:590px;
  padding:54px 50px;
}

/* Mobiel: rustig houden en alle overlap terugbrengen */
@media(max-width:900px){
  .city-photo-slot,
  [data-image-slot^="stad-"]{
    width:100%;
    margin-left:0 !important;
    margin-right:0 !important;
    padding:0 0 14px 14px !important;
  }
  .city-photo-slot::before,
  [data-image-slot^="stad-"]::before{
    left:0 !important;
    right:auto !important;
    bottom:0;
  }

  .beheer-main-photo-slot{
    width:100%;
    margin-left:0;
    padding:14px 0 0 14px;
  }

  .practice-photo-strip,
  .optimization-photo-strip{
    transform:none;
  }
  .practice-photo-strip .media-placeholder,
  .optimization-photo-strip .media-placeholder{
    transform:none !important;
  }
}

@media(max-width:620px){
  .workflow-photo-slot{
    padding:0 12px 12px 0;
  }
  .workflow-photo-slot .media-real-image,
  .city-photo-slot .media-real-image,
  .beheer-main-photo-slot .media-real-image{
    border-radius:0 0 22px 0;
  }

  .practice-photo-strip,
  .optimization-photo-strip{
    display:grid;
    grid-template-columns:1fr;
    gap:14px;
  }

  .about-visual-panel.has-real-image{
    min-height:320px;
    border-radius:0 24px 0 24px;
  }
  .about-visual-overlay{
    padding:36px 28px;
  }
}

/* Scherpte: browser-side interpolatie niet forceren */
.media-real-image{
  image-rendering:auto;
  backface-visibility:visible;
  transform:none;
  filter:none;
}

/* ================================================================
   FOTO-OPTIMALISATIE V3
   Geoptimaliseerde WebP's, natuurlijke uitsnedes en scherpere weergave.
   ================================================================ */

/* De verhuurfoto is nu 4:3 in plaats van een smalle 4:5 uitsnede.
   Daardoor wordt veel minder van de bron weggegooid en hoeft het beeld
   minder sterk te worden uitvergroot. */
.workflow-photo-slot{
  aspect-ratio:4/3 !important;
  min-height:0 !important;
  position:sticky;
  top:28px;
}
.workflow-photo-slot .media-real-image{
  object-position:center center;
}

/* Stadsbeelden zijn vooraf op 16:7 gecropt. Geen extra browser-crop nodig. */
.city-photo-slot{
  aspect-ratio:16/7 !important;
  min-height:0 !important;
}
.city-photo-slot .media-real-image{
  object-fit:cover;
  object-position:center center;
}

/* Overige blokken hebben vooraf 4:3-verhouding. */
.beheer-main-photo-slot,
.practice-photo-slot,
.optimization-photo-slot{
  aspect-ratio:4/3 !important;
  min-height:0 !important;
}

/* Geen GPU-transform op rusttoestand: browser toont de pixels zo schoon mogelijk. */
.media-placeholder.has-real-image .media-real-image{
  transform:none;
  image-rendering:auto;
  -webkit-font-smoothing:antialiased;
}

/* Hover blijft subtiel; geen schaalvergroting meer, want dat kan zachter ogen. */
@media(hover:hover){
  .media-placeholder.has-real-image:hover .media-real-image{
    transform:translateY(-2px);
  }
}

@media(max-width:900px){
  .workflow-photo-slot{
    position:relative;
    top:auto;
    aspect-ratio:4/3 !important;
  }
}

/* ================================================================
   VASTGOEDBEHEER PRAKTIJKVOORBEELDEN V2
   Zes beeldkaarten met behoud van de bestaande teksten.
   ================================================================ */

#beheerVoorbeelden.example-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
  align-items:stretch;
  margin-top:28px;
}

#beheerVoorbeelden .example-card-photo{
  display:flex;
  flex-direction:column;
  min-width:0;
  height:100%;
  padding:0;
  overflow:hidden;
  background:#fff;
  border:1px solid rgba(8,44,61,.10);
  border-radius:0 22px 0 22px;
  box-shadow:0 10px 28px rgba(8,44,61,.07);
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

#beheerVoorbeelden .example-card-media{
  position:relative;
  width:100%;
  aspect-ratio:16/10;
  overflow:hidden;
  background:var(--sand);
}

#beheerVoorbeelden .example-card-media::after{
  content:"";
  position:absolute;
  inset:auto 0 0 0;
  height:34%;
  background:linear-gradient(to top,rgba(8,44,61,.13),transparent);
  pointer-events:none;
}

#beheerVoorbeelden .example-card-media img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
  transform:none;
  transition:transform .45s ease;
}

#beheerVoorbeelden .example-card-body{
  display:flex;
  flex-direction:column;
  flex:1;
  padding:22px 22px 24px;
}

#beheerVoorbeelden .example-card-body h4{
  margin:0 0 10px;
  color:var(--navy-deep);
  font-size:1.03rem;
  line-height:1.32;
}

#beheerVoorbeelden .example-card-body p{
  margin:0;
  color:var(--slate);
  line-height:1.65;
  font-size:.9rem;
}

#beheerVoorbeelden .example-card-photo:nth-child(2),
#beheerVoorbeelden .example-card-photo:nth-child(5){
  transform:translateY(10px);
}

@media(hover:hover){
  #beheerVoorbeelden .example-card-photo:hover{
    transform:translateY(-4px);
    box-shadow:0 18px 40px rgba(8,44,61,.12);
    border-color:rgba(185,137,52,.38);
  }
  #beheerVoorbeelden .example-card-photo:nth-child(2):hover,
  #beheerVoorbeelden .example-card-photo:nth-child(5):hover{
    transform:translateY(6px);
  }
  #beheerVoorbeelden .example-card-photo:hover .example-card-media img{
    transform:scale(1.018);
  }
}

@media(max-width:900px){
  #beheerVoorbeelden.example-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  #beheerVoorbeelden .example-card-photo:nth-child(2),
  #beheerVoorbeelden .example-card-photo:nth-child(5){
    transform:none;
  }
}

@media(max-width:620px){
  #beheerVoorbeelden.example-grid{
    grid-template-columns:1fr;
    gap:18px;
  }
  #beheerVoorbeelden .example-card-photo{
    border-radius:0 18px 0 18px;
  }
  #beheerVoorbeelden .example-card-body{
    padding:19px 19px 22px;
  }
}

/* ================================================================
   VASTGOEDBEHEER DOELGROEP V2
   Rustige, gestroomlijnde doelgroepsectie.
   ================================================================ */

.beheer-audience-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  margin-top:30px;
}

.beheer-audience-card{
  position:relative;
  min-height:220px;
  padding:28px 28px 30px;
  background:#fff;
  border:1px solid rgba(8,44,61,.10);
  border-radius:0 22px 0 22px;
  box-shadow:0 8px 24px rgba(8,44,61,.055);
}

.beheer-audience-num{
  margin-bottom:18px;
  color:var(--brass);
  font-family:'IBM Plex Mono',monospace;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.12em;
}

.beheer-audience-card h3{
  margin:0 0 12px;
  color:var(--navy-deep);
  font-size:1.18rem;
  line-height:1.3;
}

.beheer-audience-card p{
  margin:0;
  color:var(--slate);
  line-height:1.7;
  font-size:.93rem;
}

.beheer-audience-card::after{
  content:"";
  position:absolute;
  left:28px;
  bottom:0;
  width:42px;
  height:2px;
  background:var(--brass);
}

.beheer-audience-note{
  margin-top:22px;
  padding:1px;
  background:linear-gradient(120deg,rgba(185,137,52,.55),rgba(8,44,61,.16));
  border-radius:0 24px 0 24px;
}

.beheer-audience-note-inner{
  padding:30px 34px;
  background:var(--navy-deep);
  border-radius:0 23px 0 23px;
}

.beheer-audience-note .eyebrow{
  color:var(--brass-light);
  margin-bottom:8px;
}

.beheer-audience-note h3{
  margin:0 0 10px;
  color:#fff;
  font-size:1.28rem;
}

.beheer-audience-note p{
  max-width:820px;
  margin:0;
  color:#e4ebee;
  line-height:1.7;
}

@media(hover:hover){
  .beheer-audience-card{
    transition:transform .24s ease, box-shadow .24s ease, border-color .24s ease;
  }
  .beheer-audience-card:hover{
    transform:translateY(-3px);
    box-shadow:0 14px 32px rgba(8,44,61,.09);
    border-color:rgba(185,137,52,.30);
  }
}

@media(max-width:760px){
  .beheer-audience-grid{
    grid-template-columns:1fr;
  }
  .beheer-audience-card{
    min-height:0;
    padding:24px;
  }
  .beheer-audience-card::after{
    left:24px;
  }
  .beheer-audience-note-inner{
    padding:26px 24px;
  }
}

/* ================================================================
   VASTGOEDBEHEER DOELGROEP V3
   Geen kaarten of blokken: één rustige doorlopende sectie.
   ================================================================ */

.beheer-audience-grid,
.beheer-audience-note{
  display:none !important;
}

.beheer-audience-flow{
  max-width:940px;
  margin-top:28px;
}

.beheer-audience-row{
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  gap:22px;
  padding:24px 0;
  border-top:1px solid rgba(8,44,61,.12);
}

.beheer-audience-row:last-of-type{
  border-bottom:1px solid rgba(8,44,61,.12);
}

.beheer-audience-index{
  padding-top:3px;
  color:var(--brass);
  font-family:'IBM Plex Mono',monospace;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.11em;
}

.beheer-audience-row-content h3{
  margin:0 0 7px;
  color:var(--navy-deep);
  font-size:1.08rem;
  line-height:1.35;
}

.beheer-audience-row-content p{
  max-width:780px;
  margin:0;
  color:var(--slate);
  line-height:1.7;
}

.beheer-audience-closing{
  max-width:820px;
  padding-top:30px;
}

.beheer-audience-closing h3{
  margin:0 0 10px;
  color:var(--navy-deep);
  font-size:1.22rem;
}

.beheer-audience-closing p{
  margin:0;
  color:var(--slate);
  line-height:1.72;
}

@media(max-width:620px){
  .beheer-audience-row{
    grid-template-columns:34px minmax(0,1fr);
    gap:14px;
    padding:20px 0;
  }
  .beheer-audience-row-content h3{
    font-size:1rem;
  }
}

/* ================================================================
   MOBIELE NAVIGATIE DEFINITIEF
   Geïsoleerd van alle oude nav ul-regels.
   Desktop blijft ongewijzigd.
   ================================================================ */

.mobile-menu-trigger,
.mobile-menu-overlay,
.mobile-menu-drawer{
  display:none;
}

@media(max-width:920px){

  html.mobile-nav-open,
  html.mobile-nav-open body{
    overflow:hidden !important;
  }

  /* Blauwe contactbalk: telefoon én e-mail zichtbaar */
  .mobile-contact-bar{
    min-height:38px;
    padding-top:0 !important;
    padding-bottom:0 !important;
  }

  .mobile-contact-bar .util-left{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:8px !important;
    width:100%;
    min-width:0;
    white-space:nowrap;
  }

  .mobile-contact-bar .util-phone,
  .mobile-contact-bar .util-email{
    display:inline-flex !important;
    align-items:center;
    gap:5px;
    min-width:0;
    color:#fff !important;
    font-size:.70rem !important;
    line-height:1.2;
  }

  .mobile-contact-bar .util-email span:last-child{
    overflow:hidden;
    text-overflow:ellipsis;
  }

  .mobile-contact-bar .util-dot{
    display:inline-block !important;
    color:rgba(255,255,255,.55) !important;
  }

  .mobile-contact-bar .util-icon{
    display:inline !important;
    flex:none;
  }

  /* Desktop navigatie en desktop CTA weg op mobiel */
  .site-main-header .desktop-nav,
  .site-main-header .nav-cta{
    display:none !important;
  }

  .site-main-header .header-inner{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    flex-wrap:nowrap !important;
  }

  /* Hamburger */
  .mobile-menu-trigger{
    display:inline-flex !important;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:5px;
    width:44px;
    height:44px;
    margin-left:auto;
    padding:0;
    border:0;
    background:transparent;
    cursor:pointer;
    position:relative;
    z-index:2003;
    flex:none;
  }

  .mobile-menu-trigger-line{
    display:block;
    width:24px;
    height:2px;
    background:var(--navy-deep);
    border-radius:2px;
  }

  /* Overlay */
  .mobile-menu-overlay{
    display:block;
    position:fixed;
    inset:0;
    z-index:2000;
    background:rgba(8,44,61,.46);
    backdrop-filter:blur(2px);
    -webkit-backdrop-filter:blur(2px);
  }

  .mobile-menu-overlay[hidden]{
    display:none !important;
  }

  /* Drawer */
  .mobile-menu-drawer{
    display:flex !important;
    flex-direction:column;
    position:fixed !important;
    top:0 !important;
    right:0 !important;
    bottom:0 !important;
    left:auto !important;
    z-index:2002 !important;
    width:min(88vw,390px) !important;
    height:100dvh !important;
    margin:0 !important;
    padding:0 !important;
    background:var(--paper) !important;
    border:0 !important;
    box-shadow:-18px 0 48px rgba(8,44,61,.20) !important;
    transform:translate3d(105%,0,0) !important;
    transition:transform .26s ease !important;
    visibility:hidden;
    overflow:hidden;
  }

  .mobile-menu-drawer.is-open{
    transform:translate3d(0,0,0) !important;
    visibility:visible;
  }

  .mobile-menu-drawer-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    flex:none;
    padding:22px 24px 17px;
    border-bottom:1px solid var(--line);
  }

  .mobile-menu-title{
    color:var(--navy-deep);
    font-family:'Fraunces',serif;
    font-size:1.28rem;
    font-weight:600;
  }

  .mobile-menu-close{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:38px;
    height:38px;
    padding:0;
    border:0;
    background:transparent;
    color:var(--navy-deep);
    font-size:2rem;
    line-height:1;
    cursor:pointer;
  }

  /* Nav volledig los van oude header/footer nav-regels */
  .mobile-menu-drawer .mobile-menu-nav{
    position:static !important;
    display:block !important;
    flex:1 1 auto;
    min-height:0;
    overflow-y:auto;
    padding:7px 24px 18px !important;
    margin:0 !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    transform:none !important;
  }

  .mobile-menu-drawer .mobile-menu-nav ul{
    position:static !important;
    inset:auto !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:0 !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
    list-style:none !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    transform:none !important;
  }

  .mobile-menu-drawer .mobile-menu-nav li{
    display:block !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
  }

  .mobile-menu-drawer .mobile-menu-nav a{
    display:flex !important;
    align-items:center;
    width:100% !important;
    min-height:48px;
    padding:13px 2px !important;
    margin:0 !important;
    color:var(--navy-deep) !important;
    border-bottom:1px solid rgba(8,44,61,.09) !important;
    background:transparent !important;
    font-size:.94rem !important;
    font-weight:500 !important;
    line-height:1.3 !important;
    text-decoration:none !important;
  }

  .mobile-menu-drawer .mobile-menu-nav a[aria-current="page"]{
    color:var(--brass) !important;
    font-weight:700 !important;
  }

  .mobile-menu-drawer .mobile-menu-nav a::after{
    display:none !important;
  }

  /* Oranje CTA altijd onderaan drawer */
  .mobile-menu-bottom{
    flex:none;
    padding:18px 24px calc(22px + env(safe-area-inset-bottom));
    border-top:1px solid var(--line);
    background:var(--paper);
  }

  .mobile-menu-cta{
    display:flex !important;
    align-items:center;
    justify-content:center;
    width:100% !important;
    min-height:50px;
    padding:13px 18px !important;
    margin:0 !important;
    background:var(--brass) !important;
    color:var(--navy-deep) !important;
    border:1px solid var(--brass) !important;
    border-radius:var(--radius) !important;
    font-weight:700 !important;
    text-align:center;
  }

  .mobile-menu-cta:hover{
    background:var(--brass-light) !important;
    color:var(--navy-deep) !important;
  }
}

/* Extra kleine telefoons */
@media(max-width:430px){
  .mobile-contact-bar .util-left{
    gap:6px !important;
  }

  .mobile-contact-bar .util-phone,
  .mobile-contact-bar .util-email{
    font-size:.64rem !important;
  }

  .mobile-contact-bar .util-icon{
    display:none !important;
  }

  .mobile-menu-drawer{
    width:92vw !important;
  }
}

/* Desktop expliciet onaangeraakt */
@media(min-width:921px){
  .mobile-menu-trigger,
  .mobile-menu-overlay,
  .mobile-menu-drawer{
    display:none !important;
  }

  .site-main-header .desktop-nav{
    display:block !important;
  }
}

/* ================================================================
   WONINGOPTIMALISATIE V4
   Diensten en fotografie als geïntegreerde editorial-layout.
   ================================================================ */

.woningopt-services-head{
  max-width:860px;
  margin-bottom:46px;
}

.woningopt-service-list{
  display:flex;
  flex-direction:column;
  gap:74px;
}

.woningopt-service-row{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);
  gap:64px;
  align-items:center;
}

.woningopt-service-row.is-reversed{
  grid-template-columns:minmax(320px,.92fr) minmax(0,1.08fr);
}

.woningopt-service-row.is-reversed .woningopt-service-media{
  order:2;
}

.woningopt-service-row.is-reversed .woningopt-service-copy{
  order:1;
}

.woningopt-service-media{
  position:relative;
  min-width:0;
  padding:0 20px 20px 0;
}

.woningopt-service-media::before{
  content:"";
  position:absolute;
  right:0;
  bottom:0;
  width:66%;
  height:68%;
  background:var(--sand);
  border:1px solid rgba(8,44,61,.08);
  z-index:0;
}

.woningopt-service-row.is-reversed .woningopt-service-media{
  padding:20px 0 0 20px;
}

.woningopt-service-row.is-reversed .woningopt-service-media::before{
  right:auto;
  left:0;
  bottom:auto;
  top:0;
}

.woningopt-service-media img{
  position:relative;
  z-index:1;
  display:block;
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  object-position:center;
  border-radius:0 30px 0 30px;
  box-shadow:0 20px 46px rgba(8,44,61,.12);
}

.woningopt-service-copy{
  max-width:570px;
}

.woningopt-service-num{
  margin-bottom:14px;
  color:var(--brass);
  font-family:'IBM Plex Mono',monospace;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.12em;
}

.woningopt-service-copy h3{
  margin:0 0 15px;
  color:var(--navy-deep);
  font-size:clamp(1.45rem,2.3vw,2rem);
  line-height:1.2;
}

.woningopt-service-copy p{
  margin:0;
  color:var(--slate);
  font-size:.97rem;
  line-height:1.78;
}

/* Coördinatie: geen kaarten, maar rustige doorlopende procesregels */
.woningopt-coordination-flow{
  max-width:920px;
  margin:8px 0 42px;
}

.woningopt-coordination-item{
  display:grid;
  grid-template-columns:50px minmax(0,1fr);
  gap:20px;
  padding:21px 0;
  border-top:1px solid rgba(8,44,61,.12);
}

.woningopt-coordination-item:last-child{
  border-bottom:1px solid rgba(8,44,61,.12);
}

.woningopt-coordination-item > span{
  padding-top:3px;
  color:var(--brass);
  font-family:'IBM Plex Mono',monospace;
  font-size:.7rem;
  font-weight:700;
  letter-spacing:.1em;
}

.woningopt-coordination-item h3{
  margin:0 0 6px;
  color:var(--navy-deep);
  font-size:1.04rem;
}

.woningopt-coordination-item p{
  margin:0;
  max-width:760px;
  color:var(--slate);
  line-height:1.68;
}

@media(max-width:860px){
  .woningopt-service-list{
    gap:54px;
  }

  .woningopt-service-row,
  .woningopt-service-row.is-reversed{
    grid-template-columns:1fr;
    gap:28px;
  }

  .woningopt-service-row.is-reversed .woningopt-service-media,
  .woningopt-service-row.is-reversed .woningopt-service-copy{
    order:initial;
  }

  .woningopt-service-copy{
    max-width:none;
  }
}

@media(max-width:620px){
  .woningopt-service-list{
    gap:44px;
  }

  .woningopt-service-media,
  .woningopt-service-row.is-reversed .woningopt-service-media{
    padding:0 12px 12px 0;
  }

  .woningopt-service-row.is-reversed .woningopt-service-media::before{
    top:auto;
    bottom:0;
    left:auto;
    right:0;
  }

  .woningopt-service-media img{
    border-radius:0 22px 0 22px;
  }

  .woningopt-coordination-item{
    grid-template-columns:34px minmax(0,1fr);
    gap:14px;
  }
}

/* ================================================================
   WONINGOPTIMALISATIE V5
   Drie donkerblauwe dienstenkaders naast elkaar.
   ================================================================ */

.woningopt-blue-services{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
  margin-top:42px;
  align-items:stretch;
}

.woningopt-blue-card{
  position:relative;
  display:flex;
  flex-direction:column;
  min-width:0;
  min-height:100%;
  padding:28px 26px 26px;
  overflow:hidden;
  background:linear-gradient(155deg,var(--navy-deep) 0%,#123f52 100%);
  color:#fff;
  border:1px solid rgba(255,255,255,.10);
  border-radius:0 26px 0 26px;
  box-shadow:0 18px 42px rgba(8,44,61,.14);
}

.woningopt-blue-card::after{
  content:"";
  position:absolute;
  right:-44px;
  top:-44px;
  width:120px;
  height:120px;
  border:1px solid rgba(185,137,52,.24);
  border-radius:50%;
  pointer-events:none;
}

.woningopt-blue-card-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-bottom:24px;
}

.woningopt-blue-card-num{
  color:var(--brass-light);
  font-family:'IBM Plex Mono',monospace;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.12em;
}

.woningopt-blue-card-label{
  padding:5px 9px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:999px;
  color:rgba(255,255,255,.72);
  font-size:.68rem;
  letter-spacing:.05em;
  text-transform:uppercase;
}

.woningopt-blue-card h3{
  min-height:2.5em;
  margin:0 0 13px;
  color:#fff;
  font-size:1.28rem;
  line-height:1.25;
}

.woningopt-blue-card-intro{
  margin:0 0 22px;
  color:#dfe8eb;
  font-size:.91rem;
  line-height:1.68;
}

.woningopt-blue-card-list{
  display:flex;
  flex-direction:column;
  gap:12px;
  margin:0;
  padding:0;
  list-style:none;
}

.woningopt-blue-card-list li{
  display:grid;
  grid-template-columns:22px minmax(0,1fr);
  gap:10px;
  align-items:start;
  color:#f3f5f5;
  font-size:.88rem;
  line-height:1.5;
}

.woningopt-blue-check{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:20px;
  height:20px;
  margin-top:1px;
  border-radius:50%;
  background:rgba(185,137,52,.16);
  color:var(--brass-light);
  font-size:.72rem;
  font-weight:700;
}

.woningopt-blue-card-foot{
  margin-top:auto;
  padding-top:24px;
  color:var(--brass-light);
  font-size:.78rem;
  font-weight:600;
  line-height:1.4;
}

@media(hover:hover){
  .woningopt-blue-card{
    transition:transform .24s ease, box-shadow .24s ease, border-color .24s ease;
  }
  .woningopt-blue-card:hover{
    transform:translateY(-4px);
    box-shadow:0 24px 52px rgba(8,44,61,.19);
    border-color:rgba(185,137,52,.28);
  }
}

@media(max-width:980px){
  .woningopt-blue-services{
    grid-template-columns:1fr;
    max-width:720px;
  }
  .woningopt-blue-card h3{
    min-height:0;
  }
}

@media(max-width:620px){
  .woningopt-blue-card{
    padding:24px 22px 23px;
    border-radius:0 20px 0 20px;
  }
}

/* Woningoptimalisatie: diensten starten direct met de titel */
.woningopt-blue-card > h3{
  margin-top:0;
}

/* ================================================================
   VASTGOEDBLOG FILTERS
   Zoek-, categorie-, datum- en sorteerfilters.
   ================================================================ */

.blog-filter-panel{
  margin:0 0 34px;
  padding:24px 26px 22px;
  background:#fff;
  border:1px solid rgba(8,44,61,.10);
  border-radius:0 24px 0 24px;
  box-shadow:0 10px 30px rgba(8,44,61,.055);
}

.blog-filter-search{
  max-width:680px;
  margin-bottom:18px;
}

.blog-filter-panel label{
  display:block;
  margin-bottom:7px;
  color:var(--navy-deep);
  font-size:.76rem;
  font-weight:700;
  letter-spacing:.04em;
}

.blog-search-field{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:48px;
  padding:0 14px;
  border:1px solid rgba(8,44,61,.16);
  background:var(--paper);
}

.blog-search-field > span{
  color:var(--brass);
  font-size:1.15rem;
}

.blog-search-field input{
  width:100%;
  min-width:0;
  padding:12px 0;
  border:0;
  outline:0;
  background:transparent;
  color:var(--navy-deep);
  font:inherit;
}

.blog-filter-row{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}

.blog-filter-field select{
  width:100%;
  min-height:46px;
  padding:0 38px 0 13px;
  border:1px solid rgba(8,44,61,.16);
  background:var(--paper);
  color:var(--navy-deep);
  font:inherit;
  font-size:.88rem;
}

.blog-filter-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-top:18px;
  padding-top:16px;
  border-top:1px solid rgba(8,44,61,.09);
}

.blog-result-count{
  color:var(--slate);
  font-size:.82rem;
}

.blog-filter-reset{
  padding:0;
  border:0;
  background:transparent;
  color:var(--brass);
  font:inherit;
  font-size:.82rem;
  font-weight:700;
  cursor:pointer;
}

.blog-filter-reset:hover{
  text-decoration:underline;
}

.blog-card-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
  margin-bottom:10px;
}

.blog-card-meta .date{
  margin:0;
}

.blog-card-tags{
  display:flex;
  gap:5px;
  flex-wrap:wrap;
}

.blog-card-tags span{
  padding:4px 7px;
  border-radius:999px;
  background:rgba(185,137,52,.10);
  color:#8b641f;
  font-size:.65rem;
  font-weight:700;
  line-height:1.2;
}

.blog-no-results{
  grid-column:1/-1;
  padding:46px 24px;
  text-align:center;
  border:1px solid rgba(8,44,61,.10);
  background:var(--paper);
}

.blog-no-results strong{
  display:block;
  margin-bottom:7px;
  color:var(--navy-deep);
  font-size:1.05rem;
}

.blog-no-results p{
  margin:0;
  color:var(--slate);
}

@media(max-width:760px){
  .blog-filter-panel{
    padding:20px;
  }

  .blog-filter-row{
    grid-template-columns:1fr;
  }

  .blog-filter-footer{
    align-items:flex-start;
  }
}


/* =====================================================================
   DEFINITIEVE LOCALHOST + LIVE CORRECTIES 2026-09-03
   ===================================================================== */

/* Over ons */
.founder-contact-card{
  width:100%;
  min-width:0;
  overflow:hidden;
}
.founder-contact-line{
  display:flex !important;
  align-items:flex-start;
  gap:7px;
  width:100%;
  min-width:0;
  max-width:100%;
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:break-word;
  line-height:1.42;
}
.about-appointment-section{
  padding:22px 0 72px;
}
.about-appointment-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:42px;
  align-items:center;
  padding:34px 38px;
  background:var(--sand);
  border:1px solid var(--line);
  border-left:4px solid var(--brass);
  box-shadow:var(--shadow-sm);
}
.about-appointment-copy h2{
  margin:5px 0 9px;
  font-family:'Fraunces',serif;
  font-size:clamp(1.65rem,3vw,2.25rem);
  line-height:1.15;
  font-weight:500;
  color:var(--navy-deep);
}
.about-appointment-copy p{
  max-width:760px;
  color:var(--slate);
  font-size:.92rem;
  line-height:1.65;
}
.about-appointment-actions{
  min-width:220px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:11px;
}
.about-call-link{
  color:var(--navy-deep);
  font-size:.78rem;
  font-weight:650;
  text-decoration:underline;
  text-underline-offset:3px;
}

/* Homepage woningkaarten: afbeeldingen vullen het volledige fotokader */
#homeListings .listing-img{
  position:relative;
  width:100%;
  height:auto !important;
  aspect-ratio:4 / 3;
  overflow:hidden;
  background:var(--navy-deep);
}
#homeListings .listing-img > img{
  position:absolute;
  inset:0;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  object-fit:cover !important;
  object-position:center center;
  display:block;
}
#homeListings .listing-card{
  overflow:hidden;
}

/* Nieuwe, strak uitgelijnde footer */
footer.site-footer-clean{
  margin:0;
  padding:0;
  background:var(--navy-deep);
  color:#fff;
}
.site-footer-clean .footer-main{
  padding:46px 0 34px;
}
.footer-clean-grid{
  display:grid;
  grid-template-columns:minmax(260px,1.35fr) minmax(150px,.72fr) minmax(180px,.9fr) minmax(235px,1fr);
  gap:36px;
  align-items:start;
}
.site-footer-clean .footer-brand-logo{
  height:42px;
  margin:0 0 16px;
}
.site-footer-clean .footer-brand p{
  max-width:360px;
  margin:0;
  color:#c4d0d5;
  font-size:.83rem;
  line-height:1.55;
}
.site-footer-clean .footer-primary-link{
  margin-top:14px;
}
.footer-clean-column{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:7px;
  min-width:0;
}
.footer-clean-column h4{
  margin:0 0 6px;
  color:#fff;
  font-family:'Fraunces',serif;
  font-size:.98rem;
  font-weight:600;
}
.footer-clean-column a,
.footer-clean-column span{
  display:block;
  max-width:100%;
  color:#c4d0d5;
  font-size:.79rem;
  line-height:1.35;
  overflow-wrap:anywhere;
}
.footer-clean-column a:hover{
  color:var(--brass-light);
}
.footer-clean-social{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:6px;
}
.footer-area-row{
  border-top:1px solid rgba(255,255,255,.10);
  border-bottom:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.025);
}
.footer-area-inner{
  display:grid;
  grid-template-columns:auto 1fr;
  align-items:start;
  gap:18px;
  padding-top:13px;
  padding-bottom:13px;
}
.footer-area-inner strong{
  padding-top:2px;
  color:#8fa3ad;
  font-family:'IBM Plex Mono',monospace;
  font-size:.66rem;
  letter-spacing:.10em;
  text-transform:uppercase;
}
.footer-area-links{
  display:flex;
  flex-wrap:wrap;
  gap:5px 16px;
}
.footer-area-links a{
  color:#bdcbd1;
  font-size:.74rem;
  line-height:1.4;
}
.footer-area-links a:hover{
  color:var(--brass-light);
}
.footer-clean-bottom{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:24px;
  padding-top:15px;
  padding-bottom:17px;
  color:#8fa2ab;
  font-size:.69rem;
}
.footer-clean-bottom > div{
  display:flex;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:8px 16px;
}
.footer-clean-bottom a{
  color:#aebfc6;
}
.footer-clean-bottom a:hover{
  color:#fff;
}

/* Algemene voorwaarden */
.terms-page{
  padding:64px 0 84px;
}
.terms-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
  margin-top:34px;
}
.terms-card{
  background:#fff;
  border:1px solid var(--line);
  padding:28px;
  box-shadow:var(--shadow-sm);
}
.terms-card h2{
  margin:7px 0 12px;
  color:var(--navy-deep);
  font-size:1.22rem;
}
.terms-card p{
  color:var(--slate);
  font-size:.88rem;
  line-height:1.65;
}
.terms-status{
  display:inline-block;
  margin-top:20px;
  padding:7px 10px;
  background:var(--sand);
  color:var(--slate);
  font:500 .66rem 'IBM Plex Mono',monospace;
  letter-spacing:.08em;
  text-transform:uppercase;
}

/* Waardebepaling */
.valuation-hero{
  padding:64px 0;
}
.valuation-grid{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);
  gap:50px;
  align-items:center;
}
.valuation-grid h1{
  color:var(--navy-deep);
  font-size:clamp(2.2rem,4.6vw,3.65rem);
  font-weight:500;
  line-height:1.08;
}
.valuation-lead{
  max-width:660px;
  margin-top:18px;
  color:var(--slate);
  font-size:1rem;
  line-height:1.68;
}
.valuation-photo{
  height:410px;
  overflow:hidden;
  box-shadow:var(--shadow-md);
}
.valuation-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.valuation-benefits{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:22px;
}
.valuation-benefits span{
  padding:8px 10px;
  border:1px solid var(--line);
  background:#fff;
  color:var(--navy-deep);
  font-size:.75rem;
  font-weight:600;
}
.valuation-form-grid{
  display:grid;
  grid-template-columns:minmax(0,.85fr) minmax(420px,1.15fr);
  gap:54px;
  align-items:start;
}
.valuation-form-grid h2{
  margin-bottom:14px;
  color:var(--navy-deep);
  font-size:clamp(1.8rem,3vw,2.4rem);
  font-weight:500;
}
.valuation-form-grid > div:first-child > p{
  color:var(--slate);
  line-height:1.7;
}
.valuation-form-card{
  padding:30px;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:var(--shadow-md);
}
.valuation-steps{
  display:grid;
  gap:13px;
  margin-top:28px;
}
.valuation-steps > div{
  display:grid;
  grid-template-columns:38px 1fr;
  gap:10px;
  padding-top:12px;
  border-top:1px solid var(--line);
}
.valuation-steps strong{
  color:var(--brass);
  font-family:'IBM Plex Mono',monospace;
}
.valuation-steps span{
  color:var(--slate);
  font-size:.88rem;
}

@media(max-width:1000px){
  .footer-clean-grid{
    grid-template-columns:1.25fr 1fr 1fr;
  }
  .footer-clean-grid .footer-contact{
    grid-column:2 / 4;
  }
}
@media(max-width:850px){
  .about-appointment-card,
  .valuation-grid,
  .valuation-form-grid{
    grid-template-columns:1fr;
  }
  .about-appointment-actions{
    min-width:0;
  }
  .terms-grid{
    grid-template-columns:1fr;
  }
}
@media(max-width:700px){
  .footer-clean-grid{
    grid-template-columns:1fr 1fr;
    gap:28px 24px;
  }
  .footer-clean-grid .footer-brand{
    grid-column:1 / -1;
  }
  .footer-clean-grid .footer-contact{
    grid-column:auto;
  }
  .footer-area-inner{
    grid-template-columns:1fr;
    gap:8px;
  }
  .footer-clean-bottom{
    align-items:flex-start;
    flex-direction:column;
    gap:8px;
  }
  .footer-clean-bottom > div{
    justify-content:flex-start;
  }
  .valuation-photo{
    height:330px;
  }
}
@media(max-width:520px){
  .about-appointment-card{
    padding:26px 22px;
  }
  .footer-clean-grid{
    grid-template-columns:1fr;
  }
  .footer-clean-grid .footer-brand,
  .footer-clean-grid .footer-contact{
    grid-column:auto;
  }
  .valuation-form-card{
    padding:21px;
  }
  .valuation-photo{
    height:260px;
  }
}


/* ===== Gerichte correcties 2026-09-03: home-aanbod + optionele verhuurcheck ===== */

/*
 * Homepage woningaanbod:
 * de afbeelding loopt 1px buiten de afbeeldingscontainer.
 * Dit voorkomt een zichtbare strook aan de rechterzijde door afronding van
 * flex-/viewportbreedtes in verschillende browsers en schermschalen.
 */
#homeListings .home-listing-track .listing-card .listing-img{
  position:relative;
  overflow:hidden;
  width:100%;
  aspect-ratio:4 / 3;
  background:var(--navy-deep);
}
#homeListings .home-listing-track .listing-card .listing-img > img{
  position:absolute !important;
  top:-1px !important;
  right:-1px !important;
  bottom:-1px !important;
  left:-1px !important;
  width:calc(100% + 2px) !important;
  height:calc(100% + 2px) !important;
  min-width:calc(100% + 2px) !important;
  max-width:none !important;
  object-fit:cover !important;
  object-position:center !important;
  display:block !important;
}
#homeListings .home-listing-track > .listing-card{
  min-width:0;
  overflow:hidden;
}

/* Verhuurklaar- & Preventiecheck: zichtbaar als optionele dienst */
.pricing-badge-optional{
  background:var(--sand);
  color:var(--navy-deep);
  border:1px solid var(--brass);
  white-space:nowrap;
}
.pricing-optional-note{
  margin:14px 0 12px;
  padding:11px 13px;
  border-left:3px solid var(--brass);
  background:var(--sand);
  color:var(--navy-deep);
  font-size:.82rem;
  line-height:1.5;
}
.pricing-optional-note strong{
  color:var(--navy-deep);
  font-weight:700;
}
@media(max-width:560px){
  .pricing-card-head{
    align-items:flex-start;
    gap:12px;
  }
  .pricing-badge-optional{
    white-space:normal;
    text-align:center;
  }
}


/* ===== DEFINITIEVE HOMEPAGE FOTO-COVER 2026-09-03 ===== */

/*
 * De Realworks-foto wordt niet langer door de afmetingen van een <img>
 * bepaald. Het gehele fotovlak wordt gevuld door een absolute background.
 */
#homeListings .listing-card.realworks-card .listing-img{
  position:relative !important;
  display:block !important;
  width:100% !important;
  height:220px !important;
  min-width:0 !important;
  padding:0 !important;
  margin:0 !important;
  overflow:hidden !important;
  background:var(--navy-deep) !important;
}
#homeListings .listing-card.realworks-card .listing-photo-cover{
  position:absolute !important;
  inset:0 !important;
  display:block !important;
  width:100% !important;
  height:100% !important;
  margin:0 !important;
  padding:0 !important;
  background-repeat:no-repeat !important;
  background-position:center center !important;
  background-size:cover !important;
  transition:transform .45s ease;
}
#homeListings .listing-card.realworks-card:hover .listing-photo-cover{
  transform:scale(1.035);
}

/* Oude img-regels mogen geen layout meer beïnvloeden mocht browsercache
   tijdelijk oude markup tonen. */
#homeListings .listing-card.realworks-card .listing-img > img{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  object-fit:cover !important;
  object-position:center center !important;
  display:block !important;
}

@media(max-width:900px){
  #homeListings .listing-card.realworks-card .listing-img{
    height:210px !important;
  }
}
@media(max-width:620px){
  #homeListings .listing-card.realworks-card .listing-img{
    height:230px !important;
  }
}


/* ===== Inline waardebepaling formulieren 2026-09-03 ===== */
.overons-valuation-section,
.home-valuation-section,
.verhuur-valuation-section{
  padding:64px 0;
}
.overons-valuation-section{
  padding-top:20px;
}
.valuation-inline-layout{
  display:grid;
  grid-template-columns:minmax(0,.88fr) minmax(420px,1.12fr);
  gap:48px;
  align-items:start;
}
.valuation-inline-copy{
  max-width:620px;
}
.valuation-inline-copy h2{
  margin:6px 0 14px;
  color:var(--navy-deep);
  font-family:'Fraunces',serif;
  font-size:clamp(1.75rem,3vw,2.45rem);
  line-height:1.15;
  font-weight:500;
}
.valuation-inline-copy p{
  color:var(--slate);
  font-size:.92rem;
  line-height:1.68;
}
.valuation-inline-copy .text-link{
  display:inline-block;
  margin-top:14px;
}
.valuation-inline-form{
  background:#fff;
  border:1px solid var(--line);
  box-shadow:var(--shadow-sm);
  padding:28px;
}
.home-valuation-section .valuation-inline-form{
  box-shadow:var(--shadow-md);
}
.overons-valuation-section .valuation-inline-form{
  background:var(--paper);
}
.verhuur-valuation-section .valuation-inline-form{
  background:#fff;
}
.valuation-inline-form textarea{
  min-height:105px;
}
.valuation-inline-points{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:20px;
}
.valuation-inline-points span{
  padding:7px 9px;
  border:1px solid var(--line);
  background:#fff;
  color:var(--navy-deep);
  font-size:.72rem;
  font-weight:600;
}
.valuation-inline-note{
  margin-top:16px;
  padding:10px 12px;
  border-left:3px solid var(--brass);
  background:var(--sand);
  color:var(--navy-deep) !important;
  font-size:.82rem !important;
}
@media(max-width:900px){
  .valuation-inline-layout{
    grid-template-columns:1fr;
    gap:30px;
  }
  .valuation-inline-copy{
    max-width:100%;
  }
}
@media(max-width:600px){
  .overons-valuation-section,
  .home-valuation-section,
  .verhuur-valuation-section{
    padding:48px 0;
  }
  .valuation-inline-form{
    padding:20px;
  }
}


/* ===== VASTE FOOTER-CTA + REALWORKS COVER ALLE KAARTEN 2026-09-03 ===== */

/*
 * De afsluitende CTA hoort vanaf nu bij de footer zelf.
 * Daardoor staat hij op iedere pagina direct boven de footer.
 */
.footer-attached-cta{
  margin:0 !important;
  padding:54px 0 !important;
  background:var(--navy-deep) !important;
  border-top:1px solid rgba(255,255,255,.10);
  border-bottom:1px solid rgba(255,255,255,.10);
}
.footer-attached-cta + footer.site-footer-clean{
  margin-top:0 !important;
  border-top:0 !important;
}
.footer-attached-cta .wrap.cta-strip-inner{
  max-width:1180px !important;
  width:calc(100% - 64px);
  display:grid;
  grid-template-columns:minmax(0,1.4fr) auto;
  grid-template-areas:
    "eyebrow button"
    "title button"
    "text button";
  column-gap:56px;
  align-items:center;
}
.footer-attached-cta .eyebrow{
  grid-area:eyebrow;
  margin-bottom:8px;
}
.footer-attached-cta h2{
  grid-area:title;
  max-width:720px;
  margin:0;
}
.footer-attached-cta p{
  grid-area:text;
  max-width:760px;
  margin-top:10px;
}
.footer-attached-cta .cta-row{
  grid-area:button;
  margin:0;
  align-self:center;
}

/*
 * Realworks-kaarten:
 * listing-photo-cover wordt ook gebruikt buiten de homepage, waaronder
 * de drie recent verhuurde woningen op /woning-verhuren/.
 *
 * Dit is bewust generiek voor .realworks-card en verandert de reeds
 * goedgekeurde cover-methode op Home niet.
 */
.listing-card.realworks-card .listing-img{
  position:relative !important;
  display:block !important;
  width:100% !important;
  height:220px !important;
  min-width:0 !important;
  padding:0 !important;
  margin:0 !important;
  overflow:hidden !important;
  background:var(--navy-deep) !important;
}
.listing-card.realworks-card .listing-photo-cover{
  position:absolute !important;
  inset:0 !important;
  z-index:0;
  display:block !important;
  width:100% !important;
  height:100% !important;
  margin:0 !important;
  padding:0 !important;
  background-repeat:no-repeat !important;
  background-position:center center !important;
  background-size:cover !important;
  transition:transform .45s ease;
}
.listing-card.realworks-card:hover .listing-photo-cover{
  transform:scale(1.035);
}
.listing-card.realworks-card .listing-tag,
.listing-card.realworks-card .listing-kind{
  z-index:2;
}

/* Oude img-markup blijft eveneens als volledige fallback werken. */
.listing-card.realworks-card .listing-img > img{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  display:block !important;
  object-fit:cover !important;
  object-position:center center !important;
}

@media(max-width:900px){
  .footer-attached-cta .wrap.cta-strip-inner{
    width:calc(100% - 40px);
    grid-template-columns:1fr;
    grid-template-areas:
      "eyebrow"
      "title"
      "text"
      "button";
    row-gap:0;
  }
  .footer-attached-cta .cta-row{
    margin-top:22px;
  }
  .listing-card.realworks-card .listing-img{
    height:210px !important;
  }
}
@media(max-width:620px){
  .footer-attached-cta{
    padding:44px 0 !important;
  }
  .footer-attached-cta .wrap.cta-strip-inner{
    width:calc(100% - 32px);
  }
  .listing-card.realworks-card .listing-img{
    height:230px !important;
  }
}

/* ===== DEFINITIEVE LOGOGROOTTE HEADER + FOOTER 2026-09-07 ===== */

/*
 * Deze regels staan bewust helemaal onderaan zodat eerdere regels zoals
 * .header-inner .logo img { height:34px !important; } en
 * .footer-brand-logo { height:42px; } worden overschreven.
 */

/* Headerlogo desktop */
.site-main-header .header-inner .logo{
  display:flex !important;
  align-items:center !important;
  flex:0 0 auto !important;
  height:auto !important;
  max-height:none !important;
  overflow:visible !important;
}

.site-main-header .header-inner .logo img,
.header-inner .logo img,
.logo img{
  display:block !important;
  width:auto !important;
  height:58px !important;
  min-height:58px !important;
  max-height:none !important;
  max-width:none !important;
  object-fit:contain !important;
}

/* Footerlogo */
footer.site-footer-clean .footer-brand-logo,
footer.site-footer-expanded .footer-brand-logo,
.footer-brand-logo{
  display:inline-flex !important;
  align-items:center !important;
  width:auto !important;
  height:76px !important;
  min-height:76px !important;
  max-height:none !important;
  max-width:none !important;
  margin-bottom:18px !important;
  overflow:visible !important;
}

footer.site-footer-clean .footer-brand-logo img,
footer.site-footer-expanded .footer-brand-logo img,
.footer-brand-logo img,
.footer-logo img{
  display:block !important;
  width:auto !important;
  height:76px !important;
  min-height:76px !important;
  max-height:none !important;
  max-width:none !important;
  object-fit:contain !important;
  object-position:left center !important;
}

/* Houd de navigatie netjes in balans met het grotere logo */
@media(min-width:921px){
  .site-main-header .header-inner{
    min-height:86px !important;
  }
}

/* Tablet / mobiel iets compacter, maar nog steeds duidelijk groter */
@media(max-width:920px){
  .site-main-header .header-inner .logo img,
  .header-inner .logo img,
  .logo img{
    height:50px !important;
    min-height:50px !important;
  }

  footer.site-footer-clean .footer-brand-logo,
  footer.site-footer-expanded .footer-brand-logo,
  .footer-brand-logo{
    height:64px !important;
    min-height:64px !important;
  }

  footer.site-footer-clean .footer-brand-logo img,
  footer.site-footer-expanded .footer-brand-logo img,
  .footer-brand-logo img,
  .footer-logo img{
    height:64px !important;
    min-height:64px !important;
  }
}

@media(max-width:520px){
  .site-main-header .header-inner .logo img,
  .header-inner .logo img,
  .logo img{
    height:46px !important;
    min-height:46px !important;
  }

  footer.site-footer-clean .footer-brand-logo,
  footer.site-footer-expanded .footer-brand-logo,
  .footer-brand-logo{
    height:58px !important;
    min-height:58px !important;
  }

  footer.site-footer-clean .footer-brand-logo img,
  footer.site-footer-expanded .footer-brand-logo img,
  .footer-brand-logo img,
  .footer-logo img{
    height:58px !important;
    min-height:58px !important;
  }
}

/* ===== AVG, PRIVACY & COOKIE CONSENT 2026-09-07 ===== */
.form-privacy-note{
  margin-top:14px;
  color:var(--slate);
  font-size:.76rem;
  line-height:1.55;
}
.form-privacy-note a{
  color:var(--navy-deep);
  text-decoration:underline;
  text-decoration-color:var(--brass);
  text-underline-offset:3px;
}

.cookie-banner{
  position:fixed;
  z-index:10000;
  left:22px;
  right:22px;
  bottom:22px;
  max-width:1180px;
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:28px;
  align-items:center;
  padding:22px 24px;
  background:var(--navy-deep);
  color:#fff;
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 20px 55px rgba(4,24,38,.32);
}
.cookie-banner-copy strong{
  display:block;
  margin-bottom:5px;
  font-family:'Fraunces',serif;
  font-size:1.15rem;
  font-weight:600;
}
.cookie-banner-copy p{
  max-width:760px;
  margin:0;
  color:#d8e1e5;
  font-size:.84rem;
  line-height:1.55;
}
.cookie-banner-links,
.cookie-settings-links{
  display:flex;
  flex-wrap:wrap;
  gap:8px 16px;
  margin-top:9px;
}
.cookie-banner-links a,
.cookie-settings-links a{
  color:var(--brass-light);
  font-size:.75rem;
  text-decoration:underline;
  text-underline-offset:3px;
}
.cookie-banner-actions,
.cookie-settings-actions{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
}
.cookie-action-btn{
  min-height:42px;
  padding:10px 14px;
  border:1px solid rgba(255,255,255,.55);
  background:#fff;
  color:var(--navy-deep);
  font:600 .78rem 'Inter',sans-serif;
  cursor:pointer;
}
.cookie-action-btn:hover,
.cookie-action-btn:focus-visible{
  outline:2px solid var(--brass-light);
  outline-offset:2px;
}

.cookie-modal-backdrop{
  position:fixed;
  inset:0;
  z-index:10001;
  background:rgba(4,24,38,.56);
  backdrop-filter:blur(2px);
}
.cookie-settings-modal{
  position:fixed;
  z-index:10002;
  top:50%;
  left:50%;
  width:min(680px,calc(100% - 32px));
  max-height:calc(100vh - 40px);
  overflow:auto;
  transform:translate(-50%,-50%);
  padding:28px;
  background:var(--paper);
  color:var(--ink);
  border:1px solid var(--line);
  box-shadow:0 28px 70px rgba(4,24,38,.30);
}
.cookie-settings-head{
  display:flex;
  justify-content:space-between;
  gap:24px;
  align-items:flex-start;
  padding-bottom:18px;
  border-bottom:1px solid var(--line);
}
.cookie-settings-head h2{
  color:var(--navy-deep);
  font-size:1.65rem;
  font-weight:500;
}
.cookie-modal-close{
  width:38px;
  height:38px;
  border:0;
  background:transparent;
  color:var(--navy-deep);
  font-size:2rem;
  line-height:1;
  cursor:pointer;
}
.cookie-settings-intro{
  margin:18px 0 4px;
  color:var(--slate);
  font-size:.88rem;
  line-height:1.6;
}
.cookie-choice-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:20px;
  align-items:center;
  padding:17px 0;
  border-bottom:1px solid var(--line);
  cursor:pointer;
}
.cookie-choice-row strong{
  display:block;
  color:var(--navy-deep);
  font-size:.9rem;
}
.cookie-choice-row span:not(.cookie-always-on){
  display:block;
  margin-top:3px;
  color:var(--slate);
  font-size:.76rem;
  line-height:1.45;
}
.cookie-choice-row input{
  width:22px;
  height:22px;
  accent-color:var(--brass);
}
.cookie-always-on{
  padding:6px 8px;
  background:var(--sand);
  color:var(--navy-deep);
  font:600 .65rem 'IBM Plex Mono',monospace;
  white-space:nowrap;
}
.cookie-settings-modal .cookie-settings-actions{
  margin-top:22px;
}
.cookie-settings-modal .cookie-action-btn{
  border-color:var(--navy-deep);
}
.footer-clean-bottom .js-cookie-settings{
  border:0;
  background:transparent;
  padding:0;
  font:inherit;
}

.privacy-page{
  padding:68px 0 92px;
}
.privacy-shell{
  max-width:900px;
}
.privacy-lead{
  max-width:760px;
  margin-top:16px;
  color:var(--slate);
  line-height:1.7;
}
.privacy-updated{
  margin-top:13px;
  color:var(--brass);
  font:500 .72rem 'IBM Plex Mono',monospace;
}
.privacy-content{
  margin-top:42px;
}
.privacy-content section{
  padding:28px 0;
  border-top:1px solid var(--line);
}
.privacy-content h2{
  margin:0 0 12px;
  color:var(--navy-deep);
  font-size:1.45rem;
  font-weight:500;
}
.privacy-content h3{
  margin:20px 0 8px;
  color:var(--navy-deep);
  font-size:1rem;
}
.privacy-content p,
.privacy-content li{
  color:var(--slate);
  font-size:.91rem;
  line-height:1.72;
}
.privacy-content p + p{margin-top:12px;}
.privacy-content ul{
  margin:10px 0 0 20px;
}
.privacy-content li{margin-bottom:7px;}
.privacy-content a{
  color:var(--navy-deep);
  text-decoration:underline;
  text-decoration-color:var(--brass);
  text-underline-offset:3px;
}
.privacy-table{
  width:100%;
  margin-top:14px;
  border-collapse:collapse;
  font-size:.82rem;
}
.privacy-table th,
.privacy-table td{
  padding:11px 12px;
  border:1px solid var(--line);
  text-align:left;
  vertical-align:top;
}
.privacy-table th{
  background:var(--sand);
  color:var(--navy-deep);
}

@media(max-width:780px){
  .cookie-banner{
    grid-template-columns:1fr;
    gap:16px;
    left:12px;
    right:12px;
    bottom:12px;
    padding:19px;
  }
  .cookie-banner-actions,
  .cookie-settings-actions{
    display:grid;
    grid-template-columns:1fr;
  }
  .cookie-action-btn{width:100%;}
}
@media(max-width:540px){
  .cookie-settings-modal{padding:21px;}
  .cookie-choice-row{grid-template-columns:1fr auto;gap:12px;}
  .privacy-table{display:block;overflow-x:auto;}
}

/* ================================================================
   DEFINITIEVE INLOGNAVIGATIE V7 — SITEBREED
   Inloggen komt uit de centrale C.nav en werkt daardoor ook met de
   oorspronkelijke renderHeader() op iedere pagina.
   ================================================================ */

/* Meer ruimte voor het extra navigatie-item op brede schermen. */
@media(min-width:921px){
  .header-inner{
    max-width:1440px !important;
    padding-left:20px !important;
    padding-right:20px !important;
    gap:13px !important;
  }
  .header-inner nav ul{
    gap:14px !important;
  }
  .header-inner nav a{
    font-size:.77rem !important;
  }
}

/* Kennismakings-CTA iets eerder weg zodat Inloggen nooit uit de header valt. */
@media(max-width:1320px) and (min-width:921px){
  .header-inner .nav-cta{
    display:none !important;
  }
}

/* Desktop: de exacte accountknop als één geheel. */
.desktop-nav a[href$="/inloggen/"]{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:7px !important;
  min-height:38px !important;
  padding:8px 12px !important;
  margin:0 !important;
  border:1px solid var(--navy-deep) !important;
  border-radius:var(--radius) !important;
  background:var(--navy-deep) !important;
  color:#fff !important;
  font-size:.76rem !important;
  font-weight:700 !important;
  line-height:1 !important;
  white-space:nowrap !important;
  box-shadow:none !important;
}

/* Klein wit account-icoon ín de knop. */
.desktop-nav a[href$="/inloggen/"]::before{
  content:"" !important;
  display:block !important;
  width:16px !important;
  height:16px !important;
  flex:0 0 16px !important;
  background-repeat:no-repeat !important;
  background-position:center !important;
  background-size:16px 16px !important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3Cpath d='M4.5 21c.6-5 3.2-7.5 7.5-7.5S18.9 16 19.5 21'/%3E%3C/svg%3E") !important;
}

.desktop-nav a[href$="/inloggen/"]:hover,
.desktop-nav a[href$="/inloggen/"][aria-current="page"]{
  background:var(--navy) !important;
  border-color:var(--navy) !important;
  color:#fff !important;
}

/* Geen normale actieve onderstreping op de knop. */
.desktop-nav a[href$="/inloggen/"]::after,
.desktop-nav a[href$="/inloggen/"][aria-current="page"]::after{
  display:none !important;
  content:none !important;
}

/* Oude losse accountknoppen/iconen uit eerdere patches kunnen nooit meer tonen. */
.site-main-header .header-inner > .nav-login,
.site-main-header .header-inner > a.nav-login,
.site-main-header .header-inner > .nav-login-link,
.mobile-menu-bottom > .mobile-menu-login,
.mobile-menu-bottom > .nav-login,
.mobile-menu-bottom > .nav-login-link{
  display:none !important;
}

/* Mobiel / half scherm: uitsluitend de oranje knop in het geopende menu. */
@media(max-width:920px){
  .mobile-menu-drawer .mobile-menu-nav a[href$="/inloggen/"],
  .mobile-menu-drawer .mobile-menu-nav a[href$="/inloggen/"]:hover,
  .mobile-menu-drawer .mobile-menu-nav a[href$="/inloggen/"][aria-current="page"]{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:100% !important;
    min-height:48px !important;
    margin:14px 0 0 !important;
    padding:12px 15px !important;
    border:1px solid var(--brass) !important;
    border-radius:var(--radius) !important;
    background:var(--brass) !important;
    color:var(--navy-deep) !important;
    font-size:.9rem !important;
    font-weight:700 !important;
    line-height:1 !important;
  }

  /* Op mobiel geen icoon: precies de rustige oranje knop uit het menu. */
  .mobile-menu-drawer .mobile-menu-nav a[href$="/inloggen/"]::before,
  .mobile-menu-drawer .mobile-menu-nav a[href$="/inloggen/"]::after{
    display:none !important;
    content:none !important;
  }
}

/* ================================================================
   COMPACTE PORTAALPAGINA
   ================================================================ */
.portal-page-final{background:var(--paper);}
.portal-heading-final{padding:48px 0 22px;}
.portal-heading-final .wrap,
.portal-section-final .wrap{max-width:1060px;}
.portal-heading-final .eyebrow{margin-bottom:7px;}
.portal-heading-final h1{
  margin:0;
  color:var(--navy-deep);
  font-family:'Fraunces',serif;
  font-size:clamp(2rem,3.7vw,3rem);
  font-weight:500;
  line-height:1.08;
}
.portal-section-final{padding:0 0 66px;}
.portal-grid-final{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.portal-card-final{
  display:flex;
  flex-direction:column;
  min-height:258px;
  padding:20px 22px;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:var(--shadow-sm);
}
.portal-card-beheer{border-top:3px solid var(--brass);}
.portal-card-verkoop{border-top:3px solid var(--navy-deep);}
.portal-company-final{
  margin-bottom:16px;
  color:var(--navy-deep);
  font-family:'IBM Plex Mono',monospace;
  font-size:.64rem;
  font-weight:700;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.portal-card-beheer .portal-company-final{color:var(--brass);}
.portal-role-final{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:9px;
  color:var(--slate);
  font-size:.7rem;
}
.portal-role-final span{
  font-family:'IBM Plex Mono',monospace;
  font-weight:700;
  letter-spacing:.08em;
}
.portal-role-final strong{
  color:var(--navy-deep);
  font-size:.72rem;
}
.portal-card-final h2{
  margin:0 0 8px;
  color:var(--navy-deep);
  font-family:'Fraunces',serif;
  font-size:1.35rem;
  font-weight:500;
  line-height:1.18;
}
.portal-card-final p{
  max-width:440px;
  margin:0 0 16px;
  color:var(--slate);
  font-size:.82rem;
  line-height:1.5;
}
.portal-action-final{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  width:100%;
  min-height:42px;
  margin-top:auto;
  padding:10px 12px;
  border:1px solid var(--brass);
  background:var(--brass);
  color:var(--navy-deep);
  font-size:.77rem;
  font-weight:700;
}
a.portal-action-final:hover{background:var(--brass-light);}
.portal-action-disabled{
  border-color:var(--line);
  background:var(--sand);
  cursor:default;
}

@media(max-width:760px){
  .portal-heading-final{padding:38px 0 18px;}
  .portal-grid-final{grid-template-columns:1fr;gap:8px;}
  .portal-card-final{min-height:0;padding:19px 20px 18px;}
}

