/* Gevelwerken Limburg — Local Authority Engine v40 */
:root{
  --gwl40-green:#062f27;
  --gwl40-green-2:#0b4639;
  --gwl40-green-3:#eaf3ef;
  --gwl40-orange:#d96c32;
  --gwl40-orange-dark:#b95122;
  --gwl40-ink:#12211d;
  --gwl40-muted:#5c6b66;
  --gwl40-line:#dce7e2;
  --gwl40-bg:#f7faf8;
  --gwl40-white:#fff;
  --gwl40-radius:22px;
  --gwl40-shadow:0 20px 55px rgba(6,47,39,.12);
}
.gwl40-page{overflow-x:hidden}
.gwl40-main{background:#fff;color:var(--gwl40-ink);font-size:17px;line-height:1.72}
.gwl40-main *{box-sizing:border-box}
.gwl40-main a{text-underline-offset:3px}
.gwl40-shell{width:min(1180px,calc(100% - 48px));margin-inline:auto}
.gwl40-main h1,.gwl40-main h2,.gwl40-main h3{font-family:inherit;letter-spacing:-.025em;line-height:1.12;margin:0;color:var(--gwl40-ink)}
.gwl40-main h1{font-size:clamp(2.35rem,5vw,4.7rem);max-width:920px}
.gwl40-main h2{font-size:clamp(1.85rem,3.5vw,3.15rem);max-width:900px}
.gwl40-main h3{font-size:1.18rem}
.gwl40-main p{margin:0 0 1.1rem;color:#33433e}
.gwl40-eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:.76rem;font-weight:850;letter-spacing:.14em;color:var(--gwl40-orange);text-transform:uppercase;margin-bottom:16px}
.gwl40-eyebrow:before{content:"";width:30px;height:2px;background:currentColor}
.gwl40-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:9px;font-size:.84rem;margin-bottom:34px;color:#e0ede8}
.gwl40-breadcrumb a{color:#fff;text-decoration:none;opacity:.9}
.gwl40-breadcrumb span[aria-current="page"]{opacity:.76}
.gwl40-hero{position:relative;isolation:isolate;background:linear-gradient(135deg,#03261f 0%,#0b4639 70%,#125847 100%);padding:52px 0 66px;color:#fff;overflow:hidden}
.gwl40-hero:after{content:"";position:absolute;right:-140px;bottom:-200px;width:520px;height:520px;border:80px solid rgba(255,255,255,.035);border-radius:50%;z-index:-1}
.gwl40-hero .gwl40-eyebrow{color:#f29b68}
.gwl40-hero h1,.gwl40-hero h2,.gwl40-hero p{color:#fff}
.gwl40-hero-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.62fr);gap:56px;align-items:center}
.gwl40-lead{font-size:clamp(1.08rem,1.7vw,1.35rem);line-height:1.6;max-width:760px;margin-top:22px!important;color:#e5f0ec!important}
.gwl40-actions{display:flex;flex-wrap:wrap;gap:13px;margin-top:29px}
.gwl40-btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:13px 21px;border-radius:12px;font-weight:800;text-decoration:none!important;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
.gwl40-btn:hover{transform:translateY(-2px)}
.gwl40-btn-primary{background:var(--gwl40-orange);color:#fff!important;box-shadow:0 12px 28px rgba(217,108,50,.28)}
.gwl40-btn-primary:hover{background:var(--gwl40-orange-dark)}
.gwl40-btn-light{background:#fff;color:var(--gwl40-green)!important;border:1px solid rgba(255,255,255,.6)}
.gwl40-trust{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:26px;color:#d7e7e1;font-size:.85rem}
.gwl40-trust span:before{content:"✓";color:#f29b68;font-weight:900;margin-right:7px}
.gwl40-hero-card{background:#fff;color:var(--gwl40-ink);padding:28px;border-radius:var(--gwl40-radius);box-shadow:var(--gwl40-shadow);border-top:5px solid var(--gwl40-orange)}
.gwl40-hero-card span{font-size:.75rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase;color:var(--gwl40-orange)}
.gwl40-hero-card h2{font-size:1.55rem;color:var(--gwl40-ink);margin:8px 0 16px}
.gwl40-hero-card p,.gwl40-hero-card li{color:#4a5a55;font-size:.95rem}
.gwl40-hero-card ol{padding-left:20px;margin:13px 0 19px}
.gwl40-hero-card a{font-weight:850;color:var(--gwl40-green);text-decoration:none}
.gwl40-answer{padding:0 0 12px;background:#fff}
.gwl40-answer-box{position:relative;margin-top:-1px;background:#fff;border:1px solid var(--gwl40-line);border-top:0;border-radius:0 0 20px 20px;padding:26px 31px;box-shadow:0 14px 34px rgba(6,47,39,.08)}
.gwl40-answer-box>span{display:block;font-size:.72rem;font-weight:900;letter-spacing:.13em;color:var(--gwl40-orange);margin-bottom:8px}
.gwl40-answer-box p{font-size:1.06rem;margin:0;color:#23332e}
.gwl40-section{padding:78px 0}
.gwl40-section.gwl40-soft{background:var(--gwl40-bg);border-block:1px solid #edf3f0}
.gwl40-two{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:58px;align-items:start}
.gwl40-two h2{margin-bottom:25px}
.gwl40-check-card{background:var(--gwl40-green);border-radius:var(--gwl40-radius);padding:28px;color:#fff;position:sticky;top:120px;box-shadow:var(--gwl40-shadow)}
.gwl40-check-card h3{color:#fff;font-size:1.4rem;margin-bottom:17px}
.gwl40-check-card ul{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.gwl40-check-card li{position:relative;padding-left:26px;color:#e6f0ed}
.gwl40-check-card li:before{content:"✓";position:absolute;left:0;color:#f29b68;font-weight:900}
.gwl40-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:30px}
.gwl40-card-grid>a{display:block;background:#fff;border:1px solid var(--gwl40-line);border-radius:18px;padding:24px;text-decoration:none;box-shadow:0 10px 28px rgba(6,47,39,.06);transition:.18s ease}
.gwl40-card-grid>a:hover{transform:translateY(-3px);border-color:#bbd2c8;box-shadow:0 18px 38px rgba(6,47,39,.1)}
.gwl40-card-grid strong{display:block;color:var(--gwl40-green);font-size:1.12rem;margin-bottom:9px}
.gwl40-card-grid p{font-size:.94rem;margin:0;color:#596963}
.gwl40-card-grid span{display:inline-block;margin-top:12px;font-weight:800;color:var(--gwl40-orange)}
.gwl40-card-grid-large{grid-template-columns:repeat(3,minmax(0,1fr))}
.gwl40-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-top:31px}
.gwl40-steps>div{background:#fff;border:1px solid var(--gwl40-line);border-radius:18px;padding:24px}
.gwl40-soft .gwl40-steps>div{box-shadow:0 9px 25px rgba(6,47,39,.05)}
.gwl40-steps b{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#f8e5da;color:var(--gwl40-orange-dark);font-size:.85rem;margin-bottom:17px}
.gwl40-steps h3{margin-bottom:9px}
.gwl40-steps p{font-size:.94rem;margin:0}
.gwl40-proof{background:var(--gwl40-green);color:#fff}
.gwl40-proof .gwl40-eyebrow{color:#f29b68}
.gwl40-proof h2,.gwl40-proof p{color:#fff}
.gwl40-proof-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:55px;align-items:center}
.gwl40-proof-card{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:18px;padding:25px}
.gwl40-proof-card strong{display:block;font-size:1.18rem;margin-bottom:8px}
.gwl40-proof-card p{margin:0;color:#deebe6}
.gwl40-text-link{font-weight:850;color:var(--gwl40-orange)!important;text-decoration:none}
.gwl40-links h2{margin-bottom:15px}
.gwl40-related{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-top:28px}
.gwl40-related a{display:block;border:1px solid var(--gwl40-line);border-radius:15px;padding:19px;text-decoration:none;background:#fff}
.gwl40-related strong{display:block;color:var(--gwl40-green);margin-bottom:5px}
.gwl40-related span{font-size:.84rem;color:var(--gwl40-muted)}
.gwl40-chip-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:25px}
.gwl40-chip-links a{display:inline-flex;padding:10px 14px;border:1px solid var(--gwl40-line);border-radius:999px;text-decoration:none;color:var(--gwl40-green);font-weight:750;background:#fff}
.gwl40-faq{background:var(--gwl40-bg)}
.gwl40-faq h2{margin-bottom:28px}
.gwl40-faq-list{display:grid;gap:12px;max-width:900px}
.gwl40-faq details{background:#fff;border:1px solid var(--gwl40-line);border-radius:14px;padding:0 20px}
.gwl40-faq summary{cursor:pointer;font-weight:800;color:var(--gwl40-green);padding:18px 34px 18px 0;position:relative;list-style:none}
.gwl40-faq summary::-webkit-details-marker{display:none}
.gwl40-faq summary:after{content:"+";position:absolute;right:2px;top:14px;font-size:1.45rem;color:var(--gwl40-orange)}
.gwl40-faq details[open] summary:after{content:"–"}
.gwl40-faq details p{padding:0 30px 18px 0;margin:0}
.gwl40-final{background:linear-gradient(130deg,#052a23,#0b4639);padding:78px 0;color:#fff;text-align:center}
.gwl40-final span{font-size:.76rem;font-weight:900;letter-spacing:.13em;color:#f29b68}
.gwl40-final h2{color:#fff;margin:13px auto 16px;max-width:900px}
.gwl40-final p{color:#dce9e5;max-width:700px;margin:0 auto}
.gwl40-final .gwl40-actions{justify-content:center}
.gwl40-article-hero{background:linear-gradient(145deg,#f3f8f5,#fff);padding:50px 0 64px;border-bottom:1px solid var(--gwl40-line)}
.gwl40-article-hero .gwl40-breadcrumb{color:#6f7f79}
.gwl40-article-hero .gwl40-breadcrumb a{color:var(--gwl40-green)}
.gwl40-article-hero h1{color:var(--gwl40-ink);max-width:930px}
.gwl40-article-hero .gwl40-lead{color:#52625d!important;max-width:720px}
.gwl40-article-hero .gwl40-btn-light{border-color:var(--gwl40-line);box-shadow:0 8px 22px rgba(6,47,39,.07)}
.gwl40-article-meta{display:flex;flex-wrap:wrap;gap:10px 22px;font-size:.83rem;color:#66766f;margin-top:24px}
.gwl40-article-width{max-width:880px}
.gwl40-article-width h2{font-size:clamp(1.55rem,2.6vw,2.2rem);margin:48px 0 19px}
.gwl40-table-wrap{overflow:auto;border:1px solid var(--gwl40-line);border-radius:16px;margin:25px 0 38px;background:#fff}
.gwl40-table-wrap table{border-collapse:collapse;width:100%;min-width:620px}
.gwl40-table-wrap th,.gwl40-table-wrap td{text-align:left;padding:15px 17px;border-bottom:1px solid var(--gwl40-line);vertical-align:top}
.gwl40-table-wrap th{background:var(--gwl40-green);color:#fff;font-size:.9rem}
.gwl40-table-wrap td:first-child{font-weight:800;color:var(--gwl40-green);width:28%}
.gwl40-note{background:#eff7f3;border-left:5px solid var(--gwl40-orange);padding:21px 23px;border-radius:0 14px 14px 0;margin:27px 0}
.gwl40-note strong{display:block;color:var(--gwl40-green);margin-bottom:7px}
.gwl40-note p{margin:0}
.gwl40-content-list{display:grid;gap:11px;padding-left:22px}
.gwl40-location-group{padding:36px 0;border-bottom:1px solid var(--gwl40-line)}
.gwl40-location-group h2{font-size:1.7rem;margin-bottom:21px}
.gwl40-location-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.gwl40-location-list a{border:1px solid var(--gwl40-line);border-radius:14px;padding:17px;text-decoration:none;background:#fff}
.gwl40-location-list strong{display:block;color:var(--gwl40-green)}
.gwl40-location-list span{font-size:.82rem;color:var(--gwl40-muted)}
@media (max-width:980px){
  .gwl40-hero-grid,.gwl40-two,.gwl40-proof-grid{grid-template-columns:1fr}
  .gwl40-hero-card{max-width:620px}
  .gwl40-card-grid,.gwl40-card-grid-large{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gwl40-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gwl40-related{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gwl40-location-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gwl40-check-card{position:static}
}
@media (max-width:640px){
  .gwl40-shell{width:min(100% - 40px,1180px)}
  .gwl40-main{font-size:16px;line-height:1.68}
  .gwl40-hero{padding:32px 0 48px}
  .gwl40-breadcrumb{margin-bottom:25px}
  .gwl40-main h1{font-size:clamp(2.05rem,11vw,3.15rem)}
  .gwl40-main h2{font-size:clamp(1.7rem,8vw,2.35rem)}
  .gwl40-hero-grid{gap:34px}
  .gwl40-actions{display:grid;grid-template-columns:1fr}
  .gwl40-btn{width:100%}
  .gwl40-trust{display:grid;gap:8px}
  .gwl40-hero-card{padding:22px}
  .gwl40-answer-box{padding:22px 20px}
  .gwl40-section{padding:58px 0}
  .gwl40-card-grid,.gwl40-card-grid-large,.gwl40-steps,.gwl40-related,.gwl40-location-list{grid-template-columns:1fr}
  .gwl40-final{padding:61px 0}
  .gwl40-table-wrap{margin-inline:-4px}
  .gwl40-proof-grid{gap:28px}
}


/* GWL REGION VISUAL V42 */
.gwl42-region-visual {
  padding-top: 62px;
  padding-bottom: 72px;
}

.gwl42-region-copy {
  max-width: 820px;
  margin-bottom: 26px;
}

.gwl42-region-copy h2 {
  margin: 8px 0 13px;
}

.gwl42-region-copy p {
  margin: 0;
  color: var(--gwl40-muted);
}

.gwl42-region-figure {
  margin: 0;
}

.gwl42-region-photo {
  position: relative;
  overflow: hidden;
  border-radius: 22px;
  background: #dfe9e4;
  border: 1px solid var(--gwl40-line);
  box-shadow: 0 20px 55px rgba(6,47,39,.14);
  aspect-ratio: 16 / 7;
}

.gwl42-region-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.gwl42-label {
  position: absolute;
  top: 18px;
  z-index: 2;
  min-width: 82px;
  padding: 10px 18px;
  border-radius: 12px;
  color: #fff;
  font-size: .88rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-align: center;
  text-transform: uppercase;
  box-shadow: 0 8px 22px rgba(0,0,0,.18);
}

.gwl42-label-before {
  left: 18px;
  background: #073c32;
}

.gwl42-label-after {
  right: 18px;
  background: #e7541c;
}

.gwl42-region-figure figcaption {
  margin-top: 13px;
  color: #64756f;
  font-size: .88rem;
  line-height: 1.55;
}

@media (max-width: 640px) {
  .gwl42-region-visual {
    padding-top: 46px;
    padding-bottom: 54px;
  }

  .gwl42-region-photo {
    aspect-ratio: 1.2 / 1;
    border-radius: 17px;
  }

  .gwl42-region-photo img {
    object-position: center;
  }

  .gwl42-label {
    top: 12px;
    min-width: 64px;
    padding: 8px 12px;
    font-size: .75rem;
  }

  .gwl42-label-before {
    left: 12px;
  }

  .gwl42-label-after {
    right: 12px;
  }
}
/* END GWL REGION VISUAL V42 */

/* GWL NO DECORATIVE LINES V42.1 */
/*
 * Geen losse decoratieve horizontale streepjes voor of na sectielabels.
 * Dit raakt alleen label-/eyebrowachtige elementen, niet normale borders,
 * tabellen, formulieren of inhoudelijke scheidingslijnen.
 */
.gwl40-eyebrow::before,
.gwl40-eyebrow::after,
.eyebrow::before,
.eyebrow::after,
.section-eyebrow::before,
.section-eyebrow::after,
.section-kicker::before,
.section-kicker::after,
.kicker::before,
.kicker::after,
.overline::before,
.overline::after,
.pretitle::before,
.pretitle::after,
.pre-title::before,
.pre-title::after,
.section-label::before,
.section-label::after,
[class*="eyebrow"]::before,
[class*="eyebrow"]::after,
[class*="kicker"]::before,
[class*="kicker"]::after,
[class*="overline"]::before,
[class*="overline"]::after,
.gwl-v421-no-decorative-line::before,
.gwl-v421-no-decorative-line::after {
  content: none !important;
  display: none !important;
  width: 0 !important;
  min-width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  background: none !important;
  box-shadow: none !important;
}

.gwl40-eyebrow,
.eyebrow,
.section-eyebrow,
.section-kicker,
.kicker,
.overline,
.pretitle,
.pre-title,
.section-label,
[class*="eyebrow"],
[class*="kicker"],
[class*="overline"],
.gwl-v421-no-decorative-line {
  gap: 0 !important;
}

/* Definitieve projectcontrastregels */
body.gwl-v421-project-page main .gwl-v421-dark-surface h1,
body.gwl-v421-project-page main .gwl-v421-dark-surface h2,
body.gwl-v421-project-page main .gwl-v421-dark-surface h3,
body.gwl-v421-project-page main .gwl-v421-dark-surface h4,
body.gwl-v421-project-page main .gwl-v421-dark-surface h5,
body.gwl-v421-project-page main .gwl-v421-dark-surface h6,
body.gwl-v421-project-page main .gwl-v421-force-light-title,
body.gwl-v421-project-page main .gwl-v421-force-light-title * {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  text-shadow: none !important;
  opacity: 1 !important;
}

body.gwl-v421-project-page main .gwl-v421-dark-surface .subtitle,
body.gwl-v421-project-page main .gwl-v421-dark-surface .sub-title,
body.gwl-v421-project-page main .gwl-v421-dark-surface .section-subtitle,
body.gwl-v421-project-page main .gwl-v421-dark-surface .section-description,
body.gwl-v421-project-page main .gwl-v421-dark-surface .project-subtitle,
body.gwl-v421-project-page main .gwl-v421-dark-surface .project-description,
body.gwl-v421-project-page main .gwl-v421-dark-surface .lead,
body.gwl-v421-project-page main .gwl-v421-force-light-copy,
body.gwl-v421-project-page main .gwl-v421-force-light-copy * {
  color: rgba(255,255,255,.88) !important;
  -webkit-text-fill-color: rgba(255,255,255,.88) !important;
  opacity: 1 !important;
}

body.gwl-v421-project-page main .gwl-v421-dark-surface .eyebrow,
body.gwl-v421-project-page main .gwl-v421-dark-surface .section-eyebrow,
body.gwl-v421-project-page main .gwl-v421-dark-surface .section-kicker,
body.gwl-v421-project-page main .gwl-v421-dark-surface .kicker,
body.gwl-v421-project-page main .gwl-v421-dark-surface .overline {
  color: #f29b68 !important;
  -webkit-text-fill-color: #f29b68 !important;
}
/* END GWL NO DECORATIVE LINES V42.1 */