:root{
  --rp-ink:#18232f;
  --rp-text:#1f2933;
  --rp-muted:#5c6773;
  --rp-orange:#ff8500;
  --rp-orange-dark:#ed7900;
  --rp-bg:#f7f4ef;
  --rp-glass:rgba(255,255,255,.90);
  --rp-glass-strong:rgba(255,255,255,.96);
  --rp-warm-dark:#8f4f1e;
  --rp-border:rgba(31,41,51,.12);
  --rp-shadow:0 16px 38px rgba(24,35,47,.09);
  --rp-container:1160px;
  --rp-header-height:64px;
  --rp-logo-panel-width:920px;
  --rp-logo-panel-padding:20px 24px;
  --rp-hero-logo-width:300px;
  --rp-hero-logo-height:64px;
  --rp-radius:12px;
  --rp-radius-sm:10px;
  --rp-motion:cubic-bezier(.2,.7,.2,1);
}

html{
  scroll-padding-top:calc(var(--rp-header-height) + 12px);
  background:#514e46;
}
body{
  font-family:Arial,Helvetica,sans-serif!important;
  color:var(--rp-text)!important;
  font-size:15px!important;
  line-height:1.48!important;
  min-height:100vh!important;
  background-color:#514e46!important;
  background-image:
    linear-gradient(90deg,rgba(247,244,239,.42),rgba(247,244,239,.30) 54%,rgba(247,244,239,.42)),
    linear-gradient(180deg,rgba(12,14,16,.03),rgba(247,244,239,.08) 68%,rgba(247,244,239,.22)),
    url("images/renovatieplanner-hero-background.png")!important;
  background-size:cover!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
  background-attachment:fixed!important;
  overflow-x:hidden!important;
}
body::before{
  content:""!important;
  position:fixed!important;
  inset:0!important;
  z-index:-2!important;
  background:transparent!important;
  filter:none!important;
  pointer-events:none!important;
}
body::after{
  content:""!important;
  position:fixed!important;
  inset:0!important;
  z-index:-1!important;
  background:transparent!important;
  pointer-events:none!important;
}
body.home-page::before,
body.home-page::after{display:none!important}

.container{width:min(var(--rp-container),calc(100% - 32px))!important;margin-inline:auto!important}
header{
  position:sticky!important;
  top:0!important;
  z-index:60!important;
  background:rgba(247,244,239,.88)!important;
  border-bottom:1px solid var(--rp-border)!important;
  backdrop-filter:blur(12px)!important;
}
.nav,.topbar-inner{
  min-height:var(--rp-header-height)!important;
  display:grid!important;
  grid-template-columns:164px minmax(0,1fr) 128px!important;
  align-items:center!important;
  gap:14px!important;
  padding:0!important;
}
.brand{
  inline-size:164px!important;
  min-width:0!important;
  display:flex!important;
  align-items:center!important;
}
.brand img{
  width:auto!important;
  max-width:164px!important;
  height:32px!important;
  max-height:40px!important;
  display:block!important;
  object-fit:contain!important;
}
.menu{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:14px!important;
  flex-wrap:nowrap!important;
  min-width:0!important;
  color:#26313d!important;
  font-size:14px!important;
  line-height:1.2!important;
  font-weight:800!important;
}
.menu a{
  position:relative!important;
  flex:0 1 auto!important;
  min-width:0!important;
  opacity:1!important;
  padding:9px 0!important;
  color:inherit!important;
  text-decoration:none!important;
  white-space:nowrap!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  line-height:1.1!important;
}
.menu a:hover{color:var(--rp-ink)!important}
.menu .active,
.menu .active-link,
.menu a[aria-current="page"]{
  background:transparent!important;
  color:var(--rp-ink)!important;
  padding:9px 0!important;
  box-shadow:none!important;
  font-weight:800!important;
}
.menu .active::after,
.menu .active-link::after,
.menu a[aria-current="page"]::after{
  content:""!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:3px!important;
  height:2px!important;
  border-radius:999px!important;
  background:var(--rp-orange)!important;
}
.account-nav{
  inline-size:128px!important;
  min-width:128px!important;
  display:flex!important;
  justify-content:flex-end!important;
  align-items:center!important;
}
.login-link,.dashboard-link{
  width:118px!important;
  min-height:34px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:999px!important;
  padding:0 14px!important;
  background:var(--rp-ink)!important;
  color:#fff!important;
  font-weight:900!important;
  font-size:14px!important;
  line-height:1!important;
  white-space:nowrap!important;
  box-shadow:0 8px 18px rgba(24,35,47,.12)!important;
}
.dashboard-link{background:var(--rp-orange)!important}
.mobile-menu-toggle{display:none!important}

main{
  padding-top:28px!important;
  padding-bottom:44px!important;
  animation:rpPageIn 260ms var(--rp-motion) both;
}
body.home-page main{padding:0!important}
@keyframes rpPageIn{
  from{opacity:.01;transform:translateY(6px)}
  to{opacity:1;transform:none}
}
h1{font-size:clamp(30px,3.5vw,42px)!important;line-height:1.08!important;letter-spacing:0!important;color:var(--rp-ink)!important}
body.home-page .home-hero__title,
body.home-page .home-hero__title strong,
body.home-page .home-hero__title span{color:#fff!important}
h2{font-size:clamp(23px,2.6vw,31px)!important;line-height:1.15!important;letter-spacing:0!important;color:var(--rp-ink)!important}
h3{font-size:clamp(17px,1.8vw,21px)!important;line-height:1.2!important;color:var(--rp-ink)!important}
p,li{font-size:15px;line-height:1.5}
.hero,.faq-hero{padding-top:30px!important;padding-bottom:22px!important}
.hero-logo{
  width:min(var(--rp-hero-logo-width),72vw)!important;
  height:var(--rp-hero-logo-height)!important;
  margin:0 auto 12px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.hero-logo img{
  width:auto!important;
  height:auto!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
}
.faq-page .faq-hero img{
  display:block!important;
  width:min(var(--rp-hero-logo-width),72vw)!important;
  height:var(--rp-hero-logo-height)!important;
  margin:0 auto 12px!important;
  object-fit:contain!important;
}
.hero-text,.section-intro,.subtitle,.intro,.form-intro{font-size:15px!important;line-height:1.5!important;color:var(--rp-muted)!important}
.hero>.container,.faq-hero>.container,.intro-card,.lead-gate,.search-panel,.results-head{
  background:rgba(255,255,255,.90)!important;
  backdrop-filter:blur(10px)!important;
}

/* One compact logo panel shared by every public hero that contains the brand logo. */
.hero>.container:has(.hero-logo),
.faq-page .faq-hero>.container{
  width:min(var(--rp-logo-panel-width),calc(100% - 32px))!important;
  padding:var(--rp-logo-panel-padding)!important;
  border:1px solid var(--rp-border)!important;
  border-radius:var(--rp-radius)!important;
  background:var(--rp-glass)!important;
  box-shadow:var(--rp-shadow)!important;
  backdrop-filter:blur(12px)!important;
}

.card,.info-card,.contact-card,.intro-card,.form-card,.login-card,.legal-card,.faq-cta,.faq-item,.search-card,.request-form,.trust-card,.price-panel,.investment-panel,.work-card,.quote-card,.profile-head{
  border-radius:var(--rp-radius)!important;
  border:1px solid var(--rp-border)!important;
  background:var(--rp-glass)!important;
  box-shadow:var(--rp-shadow)!important;
  backdrop-filter:blur(12px)!important;
}

main.page{
  width:min(820px,calc(100% - 22px))!important;
  margin:28px auto 36px!important;
  padding:44px 28px!important;
  border:1px solid var(--rp-border)!important;
  border-radius:var(--rp-radius)!important;
  background:var(--rp-glass)!important;
  box-shadow:var(--rp-shadow)!important;
  backdrop-filter:blur(12px)!important;
}
.profile-head{padding:16px!important}

/* Preserve high-contrast brand panels after the shared card treatment. */
.quote-card{
  background:linear-gradient(135deg,rgba(24,35,47,.98),rgba(36,49,63,.95))!important;
  border-color:rgba(255,255,255,.12)!important;
  color:#fff!important;
}
.quote-card h2{color:#fff!important}
.quote-card p{color:rgba(255,255,255,.88)!important}
.trust-card{
  background:linear-gradient(135deg,#8f4f1e,#a85d27)!important;
  border-color:rgba(111,59,21,.46)!important;
  color:#fff!important;
}
.trust-card h2,.trust-card li,.trust-card small{color:#fff!important}
.trust-card li::before{color:var(--rp-warm-dark)!important}

.home-search{
  width:min(100%,940px)!important;
  max-width:940px!important;
  min-width:0!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.26fr) minmax(0,1fr) minmax(150px,.7fr) 176px!important;
  align-items:stretch!important;
  gap:0!important;
  padding:7px!important;
  border:1px solid rgba(255,255,255,.72)!important;
  border-radius:12px!important;
  background:rgba(255,255,255,.96)!important;
  box-shadow:0 12px 28px rgba(0,0,0,.16)!important;
  overflow:visible!important;
}
.home-search__field{
  position:relative!important;
  min-width:0!important;
  min-height:46px!important;
  padding:7px 10px!important;
  display:grid!important;
  grid-template-columns:18px minmax(0,1fr) 24px!important;
  gap:8px!important;
  align-items:center!important;
  border:0!important;
  border-radius:8px!important;
  background:transparent!important;
  text-align:left!important;
  transition:background-color 150ms ease,box-shadow 150ms ease,color 150ms ease!important;
}
.home-search__field.is-open{
  z-index:130!important;
  background:#fffaf3!important;
  box-shadow:inset 0 0 0 1px rgba(255,133,0,.72),0 5px 16px rgba(24,35,47,.08)!important;
}
.home-search__field+.home-search__field{
  border-left:1px solid #e3ded6!important;
  border-top:0!important;
}
.home-search__field-main,
.home-search__input-row{
  min-width:0!important;
  width:100%!important;
  padding:0!important;
  display:grid!important;
  justify-items:start!important;
  text-align:left!important;
}
.home-search__label,
.home-search__value,
.home-search__input{
  min-width:0!important;
  max-width:100%!important;
  text-align:left!important;
}
.home-search__value,
.home-search__input{
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.home-search__chevron{
  position:static!important;
  inset:auto!important;
  transform:none!important;
  justify-self:end!important;
  align-self:center!important;
}
.home-search__chevron svg{transition:transform 160ms var(--rp-motion)!important}
.home-search__field.is-open .home-search__chevron svg{transform:rotate(180deg)!important}
.home-search__submit-wrap{
  min-width:0!important;
  padding:0 0 0 8px!important;
  border-left:1px solid #e3ded6!important;
  display:flex!important;
  align-items:stretch!important;
}
.home-search__submit{
  width:100%!important;
  min-width:0!important;
  min-height:46px!important;
  border-radius:9px!important;
  white-space:nowrap!important;
}
.home-dropdown{
  position:absolute!important;
  left:0!important;
  right:auto!important;
  top:calc(100% + 10px)!important;
  z-index:500!important;
  overflow:auto!important;
  border:1px solid #ded4c7!important;
  background:#fffdfa!important;
  box-shadow:0 18px 42px rgba(24,35,47,.2)!important;
  opacity:0;
  transform:translateY(-6px) scale(.995);
  transform-origin:top left;
  transition:opacity 150ms ease,transform 170ms var(--rp-motion),visibility 0s linear 170ms!important;
  will-change:opacity,transform;
}
.home-search__field.is-open .home-dropdown{
  opacity:1;
  transform:translateY(0) scale(1);
  transition-delay:0s!important;
}
.home-dropdown.is-closing{pointer-events:none!important}
.home-search__field[data-home-dropdown="sector"] .home-dropdown{width:min(560px,calc(100vw - 48px))!important}
.home-search__field[data-home-dropdown="location"] .home-dropdown{width:min(430px,calc(100vw - 48px))!important}
.home-search__field[data-home-dropdown="period"] .home-dropdown{width:min(310px,calc(100vw - 48px))!important}
.more-work-note{
  margin-top:14px!important;
  padding:16px!important;
  border:1px solid rgba(255,133,0,.24)!important;
  border-radius:8px!important;
  background:rgba(255,248,239,.9)!important;
}
.more-work-note h3{margin:0 0 6px!important;color:var(--rp-ink)!important}
.more-work-note p{margin:0 0 12px!important;color:var(--rp-muted)!important}
.legal-card{max-width:900px!important;margin-inline:auto!important}
.primary-button,.secondary-button,.button,.primary,.secondary,.email-link,.search-button,.action,.maes-banner__cta,.maes-banner__link{
  border-radius:999px!important;
  font-size:14px!important;
  line-height:1.1!important;
  font-weight:900!important;
}
.primary-button,.button.primary,.email-link,.action.primary,.search-button,.maes-banner__cta,.home-search__submit,.lead-gate-submit{
  background:var(--rp-orange)!important;
  border-color:var(--rp-orange)!important;
  color:var(--rp-ink)!important;
}
.primary-button:hover,.button.primary:hover,.email-link:hover,.action.primary:hover,.search-button:hover,.maes-banner__cta:hover,.home-search__submit:hover,.lead-gate-submit:hover{background:var(--rp-orange-dark)!important}
.dashboard-link{color:var(--rp-ink)!important}
.kicker{color:#93401f!important}
.contact-row small{color:var(--rp-muted)!important}
.stars,.review-stars{color:#8a5a20!important}
.terms-card a,
.faq-page .section-kicker,
.faq-page .faq-answer a,
.faq-page .faq-item summary::after{color:var(--rp-warm-dark)!important}
.faq-page .faq-item[open] summary::after{color:var(--rp-ink)!important}
:where(a,button,input,select,textarea,summary):focus-visible{
  outline:3px solid var(--rp-ink)!important;
  outline-offset:3px!important;
}
input,select,textarea{
  font-size:15px!important;
  min-height:40px!important;
  border-radius:8px!important;
}
footer{
  background:rgba(247,244,239,.88)!important;
  border-top:1px solid var(--rp-border)!important;
  color:#66717d!important;
  padding:22px 0!important;
  font-size:13px!important;
  text-align:center!important;
  backdrop-filter:blur(12px)!important;
}

/* Compact, consistent public-page treatments. */
.contractors-page main,.faq-page main{width:100%}
.contractors-page .hero>.container,
.faq-page .faq-hero>.container{
  width:min(var(--rp-logo-panel-width),calc(100% - 32px))!important;
  padding:var(--rp-logo-panel-padding)!important;
  border:1px solid var(--rp-border)!important;
  border-radius:var(--rp-radius)!important;
  box-shadow:var(--rp-shadow)!important;
}
.contractors-page .hero{padding:24px 0 18px!important}
.contractors-page .hero-logo{width:min(var(--rp-hero-logo-width),72vw)!important;margin-bottom:12px!important}
.contractors-page h1{font-size:clamp(29px,3.5vw,39px)!important;margin-bottom:9px!important}
.contractors-page .hero-text{max-width:680px!important;margin-bottom:15px!important;font-weight:650!important}
.contractors-page .actions,
.faq-page .hero-actions{display:flex!important;align-items:center!important;justify-content:center!important;gap:9px!important;flex-wrap:wrap!important}
.contractors-page .primary-button,
.contractors-page .secondary-button,
.faq-page .button{
  min-height:40px!important;
  padding:0 17px!important;
  border-radius:999px!important;
  line-height:1.15!important;
  box-shadow:0 8px 18px rgba(24,35,47,.1)!important;
}
.contractors-page .section{padding:0 0 18px!important}
.contractors-page .feature-grid,.contractors-page .info-grid{gap:10px!important}
.contractors-page .card,.contractors-page .info-card{padding:15px!important}
.contractors-page .card h3{margin-bottom:5px!important}
.contractors-page .card p,.contractors-page .info-card p{margin-bottom:8px!important;font-weight:650!important}
.contractors-page .price-panel{
  padding:20px 22px!important;
  border-radius:var(--rp-radius)!important;
  background:rgba(24,35,47,.94)!important;
}
.contractors-page .price-panel h2{margin:4px 0 7px!important;color:#fff!important}
.contractors-page .price-panel p{margin:0!important}
.contractors-page .list{gap:6px!important;margin-top:9px!important}
.contractors-page .list span{
  min-height:38px!important;
  padding:9px 11px!important;
  border-radius:var(--rp-radius-sm)!important;
}
.contractors-page .investment-panel{padding:20px!important}
.contractors-page .investment-grid{gap:10px!important;margin-top:12px!important}
.contractors-page .investment-card{
  padding:13px!important;
  border-radius:var(--rp-radius-sm)!important;
}
.contractors-page .investment-list{gap:6px!important}
.contractors-page .investment-list span{
  min-height:38px!important;
  padding:9px 11px 9px 30px!important;
  border-radius:var(--rp-radius-sm)!important;
}
.contractors-page .investment-note{padding:12px 13px!important;border-radius:var(--rp-radius-sm)!important}

.faq-page .faq-hero{padding:24px 0 16px!important}
.faq-page .faq-hero>.container{padding:var(--rp-logo-panel-padding)!important}
.faq-page .faq-hero img{width:min(var(--rp-hero-logo-width),72vw)!important;margin-bottom:12px!important}
.faq-page .faq-hero h1{font-size:clamp(29px,3.5vw,39px)!important;margin-bottom:8px!important}
.faq-page .hero-actions{margin-top:14px!important}
.faq-page .faq-tools{padding:0 0 16px!important}
.faq-page .search-card{padding:13px 14px!important}
.faq-page .faq-layout{gap:22px!important;padding-bottom:28px!important}
.faq-page .section-head{margin-bottom:9px!important}
.faq-page .section-kicker{margin-bottom:4px!important}
.faq-page .section-head h2{font-size:clamp(21px,2.4vw,28px)!important;margin-bottom:5px!important}
.faq-page .faq-list{gap:7px!important}
.faq-page .faq-item{
  interpolate-size:allow-keywords;
  border-radius:var(--rp-radius-sm)!important;
  box-shadow:0 8px 20px rgba(24,35,47,.055)!important;
  transition:border-color 150ms ease,box-shadow 150ms ease,background-color 150ms ease!important;
}
.faq-page .faq-item[open]{border-color:rgba(255,133,0,.3)!important;box-shadow:0 10px 24px rgba(24,35,47,.08)!important}
.faq-page .faq-item summary{min-height:46px!important;padding:11px 13px!important;font-size:14px!important;line-height:1.3!important}
.faq-page .faq-item summary::after{width:23px!important;height:23px!important;font-size:18px!important;transition:transform 170ms var(--rp-motion),background-color 150ms ease,color 150ms ease!important}
.faq-page .faq-item[open] summary::after{content:"+"!important;transform:rotate(45deg)!important}
.faq-page .faq-answer{padding:0 13px 12px!important;font-size:13.5px!important;animation:none!important}
.faq-page .faq-answer p{margin-top:9px!important}
.faq-page .answer-actions{margin-top:11px!important;padding:1px 0 2px!important}
.faq-page .faq-item::details-content{
  block-size:0;
  opacity:0;
  overflow:clip;
  transition:block-size 180ms var(--rp-motion),content-visibility 180ms allow-discrete,opacity 130ms ease!important;
}
.faq-page .faq-item[open]::details-content{block-size:auto;opacity:1}
.faq-page .faq-cta{margin:0 0 34px!important;padding:18px 20px!important}
.faq-page .faq-cta p{margin:6px auto 13px!important}
footer strong{color:#24313f!important}
.footer-links{display:flex!important;justify-content:center!important;gap:16px!important;flex-wrap:wrap!important;margin-top:9px!important}
.footer-links a{color:#18232f!important;font-weight:800!important}

/* The homepage choices remain visible while the one-time details form stays compact. */
body[data-results-view="form"] .search-panel{display:none!important}
body[data-results-view="form"] .hero-top{display:none!important}
body[data-results-view="form"] .hero{padding-top:14px!important;padding-bottom:8px!important}
body[data-results-view="form"] .hero>.container{
  width:min(920px,calc(100% - 32px))!important;
  padding:14px 16px!important;
}
body[data-results-view="form"] .summary-row{
  display:flex!important;
  gap:6px!important;
  margin:0!important;
  padding:0!important;
}
body[data-results-view="form"] .summary-chip{
  max-width:100%!important;
  overflow-wrap:anywhere!important;
  background:rgba(255,248,239,.96)!important;
}
body[data-results-view="form"] .adjust-search{display:inline-flex!important;margin-top:9px!important}
body[data-results-view="form"] .status-area{margin-top:9px!important}
body[data-results-view="form"] .results-wrap{padding-top:10px!important}
body[data-results-view="form"] .results-list.is-form-view{width:min(860px,100%)!important;margin-inline:auto!important}
body[data-results-view="form"] .lead-gate{
  width:100%!important;
  min-width:0!important;
  gap:13px!important;
  padding:16px!important;
}
body[data-results-view="form"] .lead-gate-grid>*{min-width:0!important}
body[data-results-view="form"] .lead-gate h3{font-size:clamp(19px,2.5vw,23px)!important}
body[data-results-view="form"] .lead-gate-field input,
body[data-results-view="form"] .lead-gate-field select,
body[data-results-view="form"] .lead-gate-field textarea{max-width:100%!important}

@media(max-width:820px){
  body{
    background-attachment:scroll!important;
    background-position:center top!important;
  }
  .container{width:min(100% - 22px,var(--rp-container))!important}
  main.page{margin:12px auto 20px!important;padding:28px 16px!important}
  .rp-public-header{
    padding-top:env(safe-area-inset-top,0px)!important;
    overflow:visible!important;
  }
  .rp-public-header .container{overflow:visible!important}
  .nav,.topbar-inner{
    min-height:64px!important;
    grid-template-columns:minmax(0,1fr) 42px!important;
    gap:8px!important;
    padding:8px 0!important;
  }
  .rp-public-header .rp-js-nav{
    position:relative!important;
    grid-template-columns:minmax(0,1fr)!important;
    padding:8px calc(50px + env(safe-area-inset-right,0px)) 8px 0!important;
    overflow:visible!important;
    transform:none!important;
  }
  .brand{inline-size:auto!important}
  .brand img{height:31px!important;max-width:150px!important}
  .mobile-menu-toggle{
    display:inline-flex!important;
    position:absolute!important;
    top:12px!important;
    right:max(0px,env(safe-area-inset-right,0px))!important;
    z-index:4!important;
    grid-column:auto!important;
    grid-row:auto!important;
    width:40px!important;
    height:40px!important;
    border:1px solid rgba(31,41,51,.14)!important;
    border-radius:10px!important;
    background:rgba(255,255,255,.72)!important;
    color:var(--rp-ink)!important;
    align-items:center!important;
    justify-content:center!important;
    flex-direction:column!important;
    gap:4px!important;
    cursor:pointer!important;
    transform:none!important;
    margin:0!important;
  }
  .mobile-menu-toggle span{
    width:18px!important;
    height:2px!important;
    border-radius:999px!important;
    background:currentColor!important;
    display:block!important;
  }
  .rp-public-header .menu{
    grid-column:1 / -1!important;
    width:100%!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:2px!important;
    overflow:visible!important;
    padding:8px 0 0!important;
    font-size:14px!important;
    text-align:left!important;
  }
  .menu a{
    display:flex!important;
    align-items:center!important;
    min-height:40px!important;
    padding:8px 10px!important;
    border-radius:8px!important;
    white-space:normal!important;
  }
  .menu .active::after,.menu .active-link::after,.menu a[aria-current="page"]::after{display:none!important}
  .menu .active,.menu .active-link,.menu a[aria-current="page"]{
    background:rgba(255,133,0,.12)!important;
    color:#9f5400!important;
    padding:8px 10px!important;
  }
  .rp-public-header .account-nav{
    grid-column:1 / -1!important;
    inline-size:100%!important;
    min-width:0!important;
    justify-content:stretch!important;
    padding:4px 0 0!important;
  }
  .login-link,.dashboard-link{
    width:100%!important;
    min-height:40px!important;
    border-radius:8px!important;
  }
  .rp-js-nav .menu,
  .rp-js-nav .account-nav{display:none!important}
  .rp-js-nav.is-menu-open .menu{display:grid!important}
  .rp-js-nav.is-menu-open .account-nav{display:flex!important}
  main{padding-top:20px!important;padding-bottom:34px!important}
  h1{font-size:clamp(27px,8vw,34px)!important}
  h2{font-size:clamp(22px,6vw,28px)!important}
  h3{font-size:18px!important}
  p,li,.hero-text,.section-intro,.subtitle,.intro,.form-intro{font-size:15px!important}
  .hero,.faq-hero{padding-top:22px!important;padding-bottom:18px!important}
}

@media(max-width:700px){
  .hero>.container:has(.hero-logo),
  .contractors-page .hero>.container,
  .faq-page .faq-hero>.container{width:min(100% - 22px,var(--rp-logo-panel-width))!important;padding:16px 14px!important}
  .hero-logo,.faq-page .faq-hero img{width:min(260px,70vw)!important;height:54px!important;margin-bottom:10px!important}
  .contractors-page .feature-grid,.contractors-page .info-grid,.contractors-page .investment-grid{grid-template-columns:1fr!important}
  .contractors-page .section{padding-bottom:14px!important}
  .contractors-page .card,.contractors-page .info-card,.contractors-page .price-panel,.contractors-page .investment-panel{padding:14px!important}
  .contractors-page .actions,.contractors-page .primary-button,.contractors-page .secondary-button,
  .faq-page .hero-actions,.faq-page .hero-actions .button{width:100%!important}
  .faq-page .faq-item summary{align-items:center!important;padding:11px 12px!important}
  .faq-page .faq-answer{padding:0 12px 11px!important}
  .faq-page .faq-cta{margin-bottom:26px!important;padding:15px!important}
  body[data-results-view="form"] .hero{padding-top:10px!important;padding-bottom:6px!important}
  body[data-results-view="form"] .hero>.container{width:min(100% - 18px,920px)!important;padding:11px!important}
  body[data-results-view="form"] .summary-row{gap:5px!important}
  body[data-results-view="form"] .summary-chip{flex:1 1 100%!important;padding:6px 9px!important}
  body[data-results-view="form"] .results-wrap{padding:8px 0 34px!important}
  body[data-results-view="form"] .results-wrap>.container{width:min(100% - 18px,1160px)!important}
  body[data-results-view="form"] .lead-gate{padding:13px!important;gap:11px!important}
  body[data-results-view="form"] .lead-gate-form{gap:10px!important;padding-top:11px!important}
  body[data-results-view="form"] .lead-gate-grid{grid-template-columns:1fr!important;gap:9px!important}
  body[data-results-view="form"] .lead-gate-field input,
  body[data-results-view="form"] .lead-gate-field select,
  body[data-results-view="form"] .lead-gate-field textarea{min-height:44px!important;font-size:16px!important;padding:9px 10px!important}
  body[data-results-view="form"] .lead-gate-field textarea{min-height:92px!important}
  body[data-results-view="form"] .lead-gate-consent{gap:8px!important;font-size:12px!important}
  body[data-results-view="form"] .lead-gate-consent input{flex:0 0 18px!important;width:18px!important;height:18px!important}
  body[data-results-view="form"] .lead-gate-actions{gap:8px!important}
  body[data-results-view="form"] .lead-gate-submit{min-height:46px!important;border-radius:999px!important}
}

@media(max-width:767px){
  .home-search{
    width:100%!important;
    grid-template-columns:1fr!important;
    padding:7px!important;
    border-radius:14px!important;
  }
  .home-search__field{
    min-height:48px!important;
    grid-template-columns:18px minmax(0,1fr) 24px!important;
    padding:8px 10px!important;
    display:grid!important;
    flex-direction:initial!important;
    align-items:center!important;
    justify-content:initial!important;
    text-align:left!important;
  }
  .home-search__field+.home-search__field{
    border-left:0!important;
    border-top:1px solid #e3ded6!important;
  }
  .home-search__field-main,
  .home-search__input-row{
    justify-items:start!important;
    padding:0!important;
  }
  .home-search__label{font-size:12px!important;white-space:nowrap!important}
  .home-search__value{font-size:12px!important}
  .home-search__input{
    max-width:100%!important;
    font-size:14px!important;
  }
  .home-search__chevron{
    position:static!important;
    right:auto!important;
    left:auto!important;
    top:auto!important;
    transform:none!important;
  }
  .home-search__submit-wrap{
    grid-column:1!important;
    padding:8px 0 0!important;
    border-left:0!important;
    border-top:1px solid #e3ded6!important;
  }
  .home-search__submit{min-height:48px!important;border-radius:10px!important}
  .home-dropdown,
  .home-search__field[data-home-dropdown="sector"] .home-dropdown,
  .home-search__field[data-home-dropdown="location"] .home-dropdown,
  .home-search__field[data-home-dropdown="period"] .home-dropdown{
    position:fixed!important;
    left:14px!important;
    right:14px!important;
    top:auto!important;
    bottom:16px!important;
    width:auto!important;
    max-width:none!important;
    max-height:min(70vh,520px)!important;
    margin:0!important;
    border-radius:14px!important;
    box-shadow:0 22px 60px rgba(18,27,38,.26)!important;
  }
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important}
  main{animation:none!important}
  .home-search__field,.home-dropdown,.home-search__chevron svg,
  .faq-page .faq-item,.faq-page .faq-item::details-content,.faq-page .faq-item summary::after{transition:none!important;animation:none!important}
}

/* Public compact scale ----------------------------------------------------
   This is intentionally scoped to the stylesheet loaded by public pages.
   Dashboard and beheer views do not load public-site.css. */
:root{
  --rp-container:980px;
  --rp-header-height:56px;
  --rp-logo-panel-width:760px;
  --rp-logo-panel-padding:13px 17px;
  --rp-hero-logo-width:232px;
  --rp-hero-logo-height:48px;
  --rp-radius:10px;
  --rp-radius-sm:8px;
  --rp-shadow:0 9px 24px rgba(24,35,47,.085);
}

body{font-size:14px!important;line-height:1.43!important}
.container{width:min(var(--rp-container),calc(100% - 28px))!important}
.nav,.topbar-inner{
  grid-template-columns:150px minmax(0,1fr) 112px!important;
  gap:11px!important;
}
.brand{inline-size:150px!important}
.brand img{max-width:150px!important;height:29px!important}
.menu{gap:11px!important;font-size:13px!important}
.menu a,.menu .active,.menu .active-link,.menu a[aria-current="page"]{padding-top:7px!important;padding-bottom:7px!important}
.account-nav{inline-size:112px!important;min-width:112px!important}
.login-link,.dashboard-link{width:106px!important;min-height:32px!important;padding-inline:12px!important;font-size:13px!important;box-shadow:0 5px 13px rgba(24,35,47,.11)!important}

main{padding-top:17px!important;padding-bottom:27px!important}
main.page{width:min(760px,calc(100% - 20px))!important;margin:16px auto 24px!important;padding:22px 20px!important}
h1{font-size:clamp(25px,3vw,34px)!important;line-height:1.1!important}
h2{font-size:clamp(20px,2.25vw,26px)!important;line-height:1.17!important}
h3{font-size:clamp(16px,1.55vw,18px)!important;line-height:1.22!important}
p,li,.hero-text,.section-intro,.subtitle,.intro,.form-intro{font-size:14px!important;line-height:1.44!important}
.hero,.faq-hero{padding-top:16px!important;padding-bottom:12px!important}
.hero-logo,.faq-page .faq-hero img{margin-bottom:8px!important}
.hero>.container:has(.hero-logo),.faq-page .faq-hero>.container{padding:var(--rp-logo-panel-padding)!important}

.card,.info-card,.contact-card,.intro-card,.form-card,.login-card,.legal-card,.faq-cta,.search-card,.request-form,.trust-card,.price-panel,.investment-panel,.work-card,.quote-card,.profile-head{padding:13px!important}
.profile-head{padding:13px!important}
.legal-card{max-width:760px!important}
.section,.content-section,.intro-section,.how-section,.benefits-section,.steps-section,.contact-section,.features-section{padding-top:12px!important;padding-bottom:12px!important}
.grid,.feature-grid,.info-grid,.investment-grid,.cards-grid,.steps-grid,.benefits-grid,.contact-grid{gap:9px!important}

.primary-button,.secondary-button,.button,.primary,.secondary,.email-link,.search-button,.action,.maes-banner__cta,.maes-banner__link{
  min-height:36px!important;
  padding:8px 14px!important;
  font-size:13px!important;
  box-shadow:0 5px 13px rgba(24,35,47,.09)!important;
}
input,select,textarea{min-height:38px!important;font-size:14px!important;padding-top:8px!important;padding-bottom:8px!important}
label,.field-label,.form-label{font-size:13px!important}
footer{padding:14px 0!important;font-size:12px!important}
.footer-links{gap:12px!important;margin-top:6px!important}

.home-search{width:min(100%,860px)!important;max-width:860px!important;grid-template-columns:minmax(0,1.2fr) minmax(0,.95fr) minmax(132px,.7fr) 184px!important;padding:5px!important;border-radius:10px!important}
.home-search__field{min-height:42px!important;padding:5px 8px!important;gap:6px!important}
.home-search__submit{min-height:42px!important;font-size:13px!important}
.home-search__submit svg{flex:0 0 17px!important}
.home-search__submit-wrap{padding-left:6px!important}
.home-dropdown{top:calc(100% + 7px)!important;box-shadow:0 12px 30px rgba(24,35,47,.18)!important}
.more-work-note{margin-top:9px!important;padding:11px!important}

.contractors-page .hero,.faq-page .faq-hero{padding:14px 0 10px!important}
.contractors-page h1,.faq-page .faq-hero h1{font-size:clamp(25px,3vw,33px)!important;margin-bottom:6px!important}
.contractors-page .hero-text{max-width:620px!important;margin-bottom:10px!important}
.contractors-page .actions,.faq-page .hero-actions{gap:7px!important}
.contractors-page .primary-button,.contractors-page .secondary-button,.faq-page .button{min-height:36px!important;padding:7px 14px!important}
.contractors-page .section{padding-bottom:11px!important}
.contractors-page .feature-grid,.contractors-page .info-grid{gap:8px!important}
.contractors-page .card,.contractors-page .info-card{padding:11px!important}
.contractors-page .price-panel,.contractors-page .investment-panel{padding:14px!important}
.contractors-page .list,.contractors-page .investment-list{gap:4px!important;margin-top:7px!important}
.contractors-page .list span,.contractors-page .investment-list span{min-height:34px!important;padding-top:7px!important;padding-bottom:7px!important}
.contractors-page .investment-grid{gap:8px!important;margin-top:8px!important}
.contractors-page .investment-card{padding:10px!important}
.contractors-page .investment-note{padding:9px 10px!important}

.faq-page .hero-actions{margin-top:9px!important}
.faq-page .faq-tools{padding-bottom:10px!important}
.faq-page .search-card{padding:10px 11px!important}
.faq-page .faq-layout{gap:14px!important;padding-bottom:18px!important}
.faq-page .section-head{margin-bottom:6px!important}
.faq-page .section-head h2{font-size:clamp(19px,2vw,24px)!important;margin-bottom:3px!important}
.faq-page .faq-list{gap:5px!important}
.faq-page .faq-item summary{min-height:42px!important;padding:9px 11px!important;font-size:13.5px!important}
.faq-page .faq-item summary::after{width:21px!important;height:21px!important;font-size:17px!important}
.faq-page .faq-answer{padding:0 11px 9px!important;font-size:13px!important}
.faq-page .faq-answer p{margin-top:6px!important}
.faq-page .answer-actions{margin-top:8px!important}
.faq-page .faq-cta{margin-bottom:20px!important;padding:13px!important}
.faq-page .faq-cta p{margin:4px auto 9px!important}

body[data-results-view="form"] .hero>.container{width:min(760px,calc(100% - 28px))!important;padding:10px 12px!important}
body[data-results-view="form"] .lead-gate{gap:9px!important;padding:12px!important}
body[data-results-view="form"] .lead-gate h3{font-size:clamp(17px,2vw,20px)!important}

@media(max-width:820px){
  :root{--rp-header-height:58px;--rp-logo-panel-padding:12px 13px;--rp-hero-logo-width:218px;--rp-hero-logo-height:45px}
  .container{width:min(100% - 18px,var(--rp-container))!important}
  .nav,.topbar-inner{min-height:58px!important;padding:7px 0!important}
  .brand img{height:29px!important;max-width:145px!important}
  .mobile-menu-toggle{width:42px!important;height:42px!important}
  .menu a,.login-link,.dashboard-link{min-height:44px!important}
  main{padding-top:14px!important;padding-bottom:24px!important}
  main.page{margin:10px auto 16px!important;padding:18px 14px!important}
  h1{font-size:clamp(24px,7vw,30px)!important}
  h2{font-size:clamp(19px,5.5vw,24px)!important}
  h3{font-size:16px!important}
  p,li,.hero-text,.section-intro,.subtitle,.intro,.form-intro{font-size:14px!important}
  .hero,.faq-hero{padding-top:13px!important;padding-bottom:9px!important}
  .primary-button,.secondary-button,.button,.primary,.secondary,.email-link,.search-button,.action,.maes-banner__cta,.maes-banner__link{min-height:44px!important}
  input,select,textarea{min-height:44px!important;font-size:16px!important}
}

@media(max-width:700px){
  .hero>.container:has(.hero-logo),.contractors-page .hero>.container,.faq-page .faq-hero>.container{width:min(100% - 18px,var(--rp-logo-panel-width))!important;padding:12px!important}
  .hero-logo,.faq-page .faq-hero img{width:min(218px,66vw)!important;height:45px!important;margin-bottom:7px!important}
  .contractors-page .card,.contractors-page .info-card,.contractors-page .price-panel,.contractors-page .investment-panel{padding:11px!important}
  .faq-page .faq-item summary{min-height:44px!important;padding:9px 10px!important}
  .faq-page .faq-answer{padding:0 10px 9px!important}
  .faq-page .faq-cta{margin-bottom:18px!important;padding:12px!important}
}

@media(max-width:767px){
  .home-search{padding:5px!important;border-radius:11px!important}
  .home-search__field{min-height:44px!important;padding:6px 9px!important}
  .home-search__submit-wrap{padding-top:6px!important}
  .home-search__submit{min-height:44px!important}
  .home-dropdown,.home-search__field[data-home-dropdown="sector"] .home-dropdown,.home-search__field[data-home-dropdown="location"] .home-dropdown,.home-search__field[data-home-dropdown="period"] .home-dropdown{left:9px!important;right:9px!important;bottom:9px!important;max-height:min(72vh,500px)!important}
}

@media(max-width:390px){
  .container{width:calc(100% - 14px)!important}
  main.page{width:calc(100% - 12px)!important;padding:15px 11px!important}
  .hero>.container:has(.hero-logo),.contractors-page .hero>.container,.faq-page .faq-hero>.container{width:calc(100% - 14px)!important;padding:10px!important}
  .card,.info-card,.contact-card,.intro-card,.form-card,.login-card,.legal-card,.faq-cta,.search-card,.request-form,.trust-card,.price-panel,.investment-panel,.work-card,.quote-card,.profile-head{padding:11px!important}
}

/* Homepage responsive guard ----------------------------------------------
   Keep this after the compact desktop scale above. The desktop search-grid
   uses !important, so the narrow layout must win later in the cascade. */
@media(max-width:900px){
  body.home-page .home-search{
    width:100%!important;
    max-width:100%!important;
    grid-template-columns:minmax(0,1fr)!important;
    align-items:stretch!important;
    gap:0!important;
  }
  body.home-page .home-search__field{
    grid-column:1!important;
    width:100%!important;
    max-width:100%!important;
  }
  body.home-page .home-search__field+.home-search__field{
    border-left:0!important;
    border-top:1px solid #e3ded6!important;
  }
  body.home-page .home-search__submit-wrap{
    grid-column:1!important;
    width:100%!important;
    padding:7px 0 0!important;
    border-left:0!important;
    border-top:1px solid #e3ded6!important;
  }
  body.home-page .home-search__submit{width:100%!important;min-width:0!important}
  body.home-page .home-dropdown,
  body.home-page .home-search__field[data-home-dropdown="sector"] .home-dropdown,
  body.home-page .home-search__field[data-home-dropdown="location"] .home-dropdown,
  body.home-page .home-search__field[data-home-dropdown="period"] .home-dropdown{
    position:static!important;
    inset:auto!important;
    width:100%!important;
    max-width:100%!important;
    margin:8px 0 0!important;
  }
  body.home-page .home-search__error{
    position:static!important;
    grid-column:1 / -1!important;
    width:100%!important;
    max-width:none!important;
    margin-top:4px!important;
  }
}

@media(max-width:820px){
  body.home-page .nav{
    width:100%!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 42px!important;
    align-items:center!important;
    gap:8px!important;
  }
  body.home-page .brand{
    grid-column:1!important;
    grid-row:1!important;
    justify-self:start!important;
  }
  body.home-page .mobile-menu-toggle{
    grid-column:2!important;
    grid-row:1!important;
    justify-self:end!important;
    margin:0!important;
  }
  body.home-page .menu,
  body.home-page .account-nav{grid-column:1 / -1!important}
}

@media(max-width:767px){
  body.home-page .home-search{
    display:grid!important;
    padding:5px!important;
    border-radius:11px!important;
    overflow:visible!important;
  }
  body.home-page .home-search__field{
    min-width:0!important;
    min-height:44px!important;
    grid-template-columns:18px minmax(0,1fr) 24px!important;
    padding:6px 9px!important;
    gap:7px!important;
  }
  body.home-page .home-search__field-main,
  body.home-page .home-search__input-row{
    width:100%!important;
    min-width:0!important;
    padding:0!important;
  }
  body.home-page .home-search__chevron{
    position:static!important;
    inset:auto!important;
    transform:none!important;
  }
  body.home-page .home-dropdown,
  body.home-page .home-search__field[data-home-dropdown="sector"] .home-dropdown,
  body.home-page .home-search__field[data-home-dropdown="location"] .home-dropdown,
  body.home-page .home-search__field[data-home-dropdown="period"] .home-dropdown{
    position:fixed!important;
    inset:auto 9px 9px 9px!important;
    z-index:120!important;
    width:auto!important;
    max-width:none!important;
    max-height:min(72vh,500px)!important;
    margin:0!important;
    overflow:auto!important;
    overscroll-behavior:contain;
  }
}

/* Repository-wide public consistency --------------------------------------
   Compact cards, readable legal content and a single visible brand mark. */
body:not(.home-page) main{min-height:calc(100vh - var(--rp-header-height) - 118px)!important}
.public-content-page .hero>.container,
.questionnaire-page .hero>.container,
.contractors-page .hero>.container,
.faq-page .faq-hero>.container{
  width:min(760px,calc(100% - 28px))!important;
  padding:16px 18px!important;
  border:1px solid var(--rp-border)!important;
  border-radius:var(--rp-radius)!important;
  background:var(--rp-glass)!important;
  box-shadow:var(--rp-shadow)!important;
  backdrop-filter:blur(12px)!important;
}
.public-content-page .hero-text,
.questionnaire-page .hero-text,
.contractors-page .hero-text,
.faq-page .hero-text{max-width:650px!important}
.public-form-page main,
.public-auth-page main{padding-top:14px!important;padding-bottom:24px!important}
.questionnaire-page .request-form{max-width:760px!important;padding:16px!important}
.questionnaire-page .form-section{margin-top:10px!important;padding:13px!important}
.questionnaire-page .section-heading{margin-bottom:10px!important}
.questionnaire-page .trust-card-compact{margin-top:12px!important}
.legal-page main{padding-top:14px!important;padding-bottom:24px!important}
.legal-page .legal-card{max-width:760px!important;padding:22px 24px!important}
.legal-page .legal-card>h1{margin-bottom:3px!important}
.legal-page .legal-card h2{margin:18px 0 6px!important;font-size:18px!important}
.legal-page .legal-card p,
.legal-page .legal-card li{font-size:13.5px!important;line-height:1.5!important}
.legal-page .legal-card p{margin:0 0 8px!important}
.legal-page .legal-card ul{margin:7px 0 10px 19px!important;display:grid!important;gap:4px!important}
.legal-page .meta{margin-bottom:14px!important;color:var(--rp-muted)!important}
.legal-cookie-button{min-height:38px!important;border:0!important;border-radius:999px!important;background:var(--rp-orange)!important;color:var(--rp-ink)!important;padding:8px 14px!important;font:inherit!important;font-size:13px!important;font-weight:900!important;cursor:pointer!important}
@media(max-width:700px){
  .public-content-page .hero>.container,
  .questionnaire-page .hero>.container,
  .contractors-page .hero>.container,
  .faq-page .faq-hero>.container{width:calc(100% - 16px)!important;padding:13px!important}
  .questionnaire-page .request-form{padding:12px!important}
  .questionnaire-page .form-section{padding:11px!important}
  .legal-page .legal-card{padding:16px 14px!important}
  .legal-page .legal-card h2{font-size:17px!important;margin-top:15px!important}
}
