/* Shared visual system. Special tools keep their functional layout. */
.refined-page, .refined-shell {
  --blue: #18496c;
  --blue-dark: #15384c;
  --gold: #cfaf68;
  --light: #f5f4ef;
  --line: #dedfd9;
  --text: #20333d;
  --muted: #58676e;
  --shadow: 0 12px 32px rgba(21, 56, 76, .06);
  background: #fffefa;
}
.refined-page .container { width: min(1200px, calc(100% - 48px)); }
.refined-page main::before, .refined-page main::after,
.refined-page .hero::after { display: none; }
.refined-page .site-header { background: #fffefa; backdrop-filter: none; }
.refined-page .brand img { width: 220px; }
.refined-page .nav-links { gap: 20px; }
.refined-page .nav-links a { font-size: 14px; }
.refined-page .btn { border-radius: 5px; font-weight: 700; }
.refined-page .btn-primary { background: var(--blue-dark); border-color: var(--blue-dark); color: white; }
.refined-page .btn-primary:hover { background: #24536c; border-color: #24536c; color: white; }
.refined-page .btn-secondary { background: var(--blue-dark); border-color: var(--blue-dark); color: white; }
.refined-page .btn-light { background: transparent; border-color: #bac5c7; color: var(--blue-dark); }
.refined-page .eyebrow { color: #6f5b2b; letter-spacing: .14em; font-size: 12px; font-weight: 800; }
.refined-page section { padding: 76px 0; }
.refined-page h2 { letter-spacing: -.035em; line-height: 1.15; }
.refined-page .section-head { max-width: 710px; margin-bottom: 34px; }
.refined-page .section-head h2 { font-size: clamp(30px, 3.5vw, 43px); }
.refined-page .hero-conversion { min-height: 0; background: #f5f4ef; padding: 54px 0; color: var(--text); }
.refined-page .hero-conversion .hero-grid { grid-template-columns: 1fr 1.1fr; gap: 54px; align-items: center; }
.refined-page .hero-conversion h1,
.refined-page .refined-service-hero h1 { color: var(--blue-dark); font-size: clamp(46px, 5.2vw, 72px); line-height: 1.03; letter-spacing: -.055em; margin: 18px 0 24px; }
.refined-page .hero-conversion .hero-lead { color: #4c5d64; font-size: 19px; line-height: 1.7; max-width: 480px; }
.refined-page .hero-actions { gap: 12px; margin-top: 28px; }
.refined-page .hero-actions .btn { padding: 14px 20px; font-size: 15px; }
.refined-page .hero-conversion .btn-primary,
.refined-page .refined-service-hero .btn-primary { color: white; background: var(--blue-dark); border-color: var(--blue-dark); }
.refined-page .hero-conversion .btn-primary:hover,
.refined-page .refined-service-hero .btn-primary:hover { background: #24536c; }
.refined-page .hero-actions .btn-outline { color: var(--blue-dark); background: transparent; border-color: #bac5c7; }
.refined-page .hero-actions .btn-outline:hover { background: #e8e9e2; }
.refined-page .hero-rating { color: var(--blue-dark); margin-top: 25px; }
.refined-page .hero-rating__stars { color: #846315; }
.refined-hero-image { margin: 0; overflow: hidden; border-radius: 8px; position: relative; box-shadow: var(--shadow); }
.refined-hero-image picture { display: block; }
.refined-page .refined-hero-image img { display: block; width: 100%; height: 470px; object-fit: cover; object-position: center; }
.refined-hero-image figcaption { position: absolute; bottom: 0; left: 0; right: 0; background: linear-gradient(transparent, rgba(12, 31, 42, .9)); color: white; padding: 60px 28px 25px; display: grid; gap: 5px; }
.refined-hero-image figcaption span { font-size: 11px; text-transform: uppercase; letter-spacing: .15em; }
.refined-hero-image figcaption strong { font-size: 20px; }
.refined-hero-image figcaption a { font-size: 13px; text-underline-offset: 4px; }
.refined-page .trustbar { background: #fffefa; border-bottom: 1px solid var(--line); }
.refined-page .trust-items { padding: 18px 0; color: #465b65; font-size: 13px; }
.refined-page #projecten { padding-bottom: 66px; }
.refined-page .project { box-shadow: none; background: transparent; border: 0; border-radius: 0; }
.refined-page .project picture { overflow: hidden; border-radius: 7px; }
.refined-page .project picture img { height: 290px; object-fit: cover; }
.refined-page .project:hover { transform: none; box-shadow: none; }
.refined-page .projects { grid-template-columns: 1.35fr 1fr 1fr; gap: 28px; align-items: start; }
.refined-page .project:first-child picture img { height: 365px; }
.refined-page .project-content { padding: 22px 0 0; }
.refined-page .project-meta { color: #746036; font-size: 11px; letter-spacing: .1em; text-transform: uppercase; }
.refined-page .project h3 { font-size: 23px; letter-spacing: -.025em; line-height: 1.25; }
.refined-page .project-points { font-size: 14px; }
.refined-page .project .text-link { font-size: 14px; }
.refined-page .section-actions { justify-content: flex-start; }
.refined-page .service-choice-section { background: #f5f4ef; }
.refined-services { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
.refined-services .card { padding: 26px 0; border: 0; border-top: 2px solid #cfaf68; border-radius: 0; background: transparent; box-shadow: none; display: flex; flex-direction: column; align-items: flex-start; }
.refined-services .card:hover { transform: none; box-shadow: none; }
.service-number { color: #756039; font-size: 11px; letter-spacing: .12em; font-weight: 700; }
.refined-services h3 { font-size: 25px; letter-spacing: -.025em; margin: 26px 0 0; }
.refined-services p { color: var(--muted); margin-bottom: 24px; }
.refined-services .text-link, .refined-services .refined-service-links { margin-top: auto; }
.refined-service-links { display: flex; flex-wrap: wrap; gap: 12px 24px; }
.refined-more-services { border-top: 1px solid var(--line); margin-top: 28px; padding: 20px 0 0; }
.refined-more-services summary { cursor: pointer; font-weight: 700; }
.refined-more-services .local-link-list { margin-top: 18px; }
.refined-page .configurator-promo { background: #15384c; color: white; }
.refined-page .configurator-promo h2 { color: white; font-size: clamp(32px, 3.5vw, 46px); }
.refined-page .configurator-promo p, .refined-page .configurator-promo li { color: #e0e7e8; }
.refined-page .configurator-promo .eyebrow { color: #dec486; }
.refined-page .configurator-promo .btn-primary { background: #dec486; color: #15384c; border-color: #dec486; }
.refined-page .configurator-promo .btn-primary:hover { background: #edd6a2; }
.refined-page .configurator-promo-visual { border-radius: 7px; box-shadow: none; }
.refined-page .configurator-promo-visual span { color: white; }
.refined-page .section-light { background: #f5f4ef; }
.refined-page .card, .refined-page .contact-panel, .refined-page .review-trust { box-shadow: none; }
.refined-page .about-compact { background: #f5f4ef; }
.refined-about-image { width: 100%; height: 240px; object-fit: cover; border-radius: 5px; margin-bottom: 25px; }
.refined-page #contact { background: #eceee8; }
.refined-page .contact-panel { background: #fffefa; border: 1px solid var(--line); border-radius: 8px; }
.refined-page .contact-panel, .refined-page .contact-panel p,
.refined-page .contact-panel h2, .refined-page .contact-panel h3,
.refined-page .form-more summary { color: var(--text); }
.refined-page .form-more { border-color: var(--line); }
.refined-page .form-more summary span { color: var(--muted); }
.refined-page .form-privacy { color: var(--muted) !important; }
.refined-page #quote-form .form-field-help,
.refined-page #quote-form .form-photo-route,
.refined-page #quote-form .form-photo-route a { color: var(--muted); }
.refined-page #quote-form .form-field-error { color: #a42e21; }
.refined-page #quote-form :is(input, textarea)[aria-invalid="true"] { border-color: #a42e21; }
.refined-page #quote-form .form-submit-status { color: #155535; background: #e2f2e8; }
.refined-page #quote-form .form-submit-status.is-error { color: #91271d; background: #fce8e3; }
.refined-page .contact-panel .btn-primary { background: var(--blue-dark); color: white; border-color: var(--blue-dark); }
.refined-page .contact-panel .btn-primary:hover { background: #24536c; color: white; border-color: #24536c; }
.refined-page .contact-form input, .refined-page .contact-form textarea, .refined-page .contact-form select { border-radius: 4px; }
.refined-page .floating-review { display: none; }
.refined-page .home-desktop-whatsapp { display: none; }
.refined-page .fade-in { opacity: 1; transform: none; transition: none; }
.refined-page .refined-service-hero { background: #f5f4ef; color: var(--text); padding: 40px 0 54px; }
.refined-service-hero > .container { display: grid; grid-template-columns: 1fr 1.1fr; gap: 54px; align-items: center; }
.refined-page .refined-service-hero p { color: #4c5d64; }
.refined-page .refined-service-hero .eyebrow { color: #6f5b2b; }
.refined-page .refined-hero-note { font-size: 13px; margin-top: 24px; }
.refined-page .breadcrumb { background: #f5f4ef; }
.refined-page .content { gap: 60px; }
.refined-service-page .content > article > h2 { margin-top: 42px; font-size: 30px; }
.refined-page .refined-price-note { background: #f5f4ef; border-left: 3px solid var(--gold); padding: 28px; margin: 35px 0; border-radius: 0 6px 6px 0; }
.refined-page .sidebar .btn-outline { color: var(--blue-dark); border-color: #bac5c7; }
.refined-page .sidebar .contact-panel h2 { color: var(--blue-dark); }
.refined-page .sidebar .contact-panel p { color: var(--muted); }
.refined-page .sidebar .cta-row { display: grid; }
.refined-page .visual-proof-band { box-shadow: none; }
.refined-page .page-hero:not(.refined-service-hero) {
  background: #f5f4ef;
  color: var(--text);
  padding: 54px 0;
}
.refined-page .page-hero:not(.refined-service-hero) h1 {
  color: var(--blue-dark);
  max-width: 900px;
  font-size: clamp(36px, 4.5vw, 58px);
  line-height: 1.08;
  letter-spacing: -.045em;
}
.refined-page .page-hero:not(.refined-service-hero) p { color: #4c5d64; }
.refined-page .page-hero .eyebrow { color: #6f5b2b; }
.refined-page .page-hero .btn-primary { background: var(--blue-dark); border-color: var(--blue-dark); color: white; }
.refined-page .page-hero .btn-primary:hover { background: #24536c; border-color: #24536c; }
.refined-page .content > article { min-width: 0; }
.refined-page .content > article > p { max-width: 72ch; line-height: 1.8; }
.refined-page .content a:not(.btn) { text-underline-offset: 4px; }
.refined-page .content figure { margin-left: 0; margin-right: 0; }
.refined-page .content .sidebar .card { background: transparent; border: 0; border-top: 1px solid var(--line); padding: 24px 0; }
.refined-page .sidebar .link-list a { padding-block: 8px; }
.refined-page .btn { min-height: 46px; }
.refined-page :is(p,h1,h2,h3,a,summary) { overflow-wrap: break-word; }
.refined-page [id] { scroll-margin-top: 100px; }
.refined-page .nav-links { max-height: calc(100dvh - 100px); overflow-y: auto; }
.refined-page .refined-service-hero h1 { font-size: clamp(40px, 4.5vw, 62px); }
.refined-page .content > article > h2 { margin-top: 42px; font-size: 30px; }
.refined-page .content .steps { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.refined-page .content .step { background: #f5f4ef; border-radius: 6px; padding: 22px; }
.refined-page .content .step h3 { font-size: 20px; line-height: 1.25; }
.refined-page .content .step p { font-size: 15px; }
.refined-page .card, .refined-page .article-quick-card { border-radius: 6px; }
.refined-page .planning-page-block { grid-template-columns: 1fr; }
.refined-page .floor-hero-photo { box-shadow: none; border-radius: 8px; }
.refined-page .content .contact-panel .project-fit { background: #f5f4ef; }
.refined-page .content .contact-panel .project-fit li { color: var(--muted); }
.refined-page .contact-panel .btn-outline { color: var(--blue-dark); border-color: #bac5c7; }
.refined-page .contact-panel .btn-outline:hover { background: #f5f4ef; }
.refined-page .cta-band .btn-primary,
.refined-page .focus-cta-card .btn-primary { background: #dec486; border-color: #dec486; color: #15384c; }
.refined-page .cta-band .btn-light,
.refined-page .focus-cta-card .btn-light { background: white; color: #15384c; }
.refined-page .site-footer, .refined-shell .site-footer { background: #15384c; }
.refined-page .footer-grid-pro, .refined-shell .footer-grid-pro { grid-template-columns: 1.25fr .9fr 1fr .9fr; }
.refined-page .nav-links [aria-current="page"], .refined-shell .nav-links [aria-current="page"] { text-decoration: underline; text-underline-offset: 6px; }
.refined-shell .site-header { background: #fffefa; backdrop-filter: none; }
.refined-shell .site-header .container, .refined-shell .site-footer .container { width: min(1200px, calc(100% - 48px)); }
.refined-shell .brand img { width: 220px; }
.refined-shell .nav-links { gap: 20px; }
.refined-shell .nav-links a { font-size: 14px; }
.refined-shell .site-header .btn { border-radius: 5px; }
.refined-shell .site-header .btn-secondary { background: #15384c; color: white; border-color: #15384c; }
@media (max-width: 1100px) {
  .refined-page .nav-toggle { display: block; }
  .refined-page .nav-links { position: absolute; left: 16px; right: 16px; top: 76px; display: none; flex-direction: column; align-items: stretch; gap: 0; padding: 12px; background: #fffefa; border: 1px solid var(--line); border-radius: 6px; box-shadow: var(--shadow); }
  .refined-page .nav-links.is-open { display: flex; }
  .refined-page .nav-links a { padding: 12px; }
  .refined-page .brand img { width: 180px; }
  .refined-page .hero-conversion .hero-grid, .refined-service-hero > .container { gap: 30px; }
  .refined-shell .nav-toggle { display: block; }
  .refined-shell .nav-links { position: absolute; left: 16px; right: 16px; top: 76px; display: none; flex-direction: column; align-items: stretch; gap: 0; padding: 12px; background: #fffefa; border: 1px solid var(--line); border-radius: 6px; box-shadow: var(--shadow); }
  .refined-shell .nav-links.is-open { display: flex; }
  .refined-shell .nav-links a { padding: 12px; }
  .refined-shell .brand img { width: 180px; }
}
@media (max-width: 900px) {
  .refined-page .hero-conversion .hero-grid, .refined-service-hero > .container { grid-template-columns: 1fr; }
  .refined-page .hero-conversion .hero-lead { max-width: 630px; }
  .refined-page .refined-hero-image img { height: 400px; }
  .refined-services { gap: 14px; }
  .refined-services .card { padding: 22px 0; }
  .refined-services h3 { font-size: 22px; }
  .refined-page .projects { grid-template-columns: 1fr 1fr; }
  .refined-page .project:first-child { grid-column: 1 / -1; }
  .refined-page .project:first-child picture img { height: 360px; }
  .refined-page .footer-grid-pro, .refined-shell .footer-grid-pro { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 620px) {
  .refined-page .container { width: calc(100% - 32px); }
  .refined-page section { padding: 48px 0; }
  .refined-page .hero-conversion, .refined-page .refined-service-hero { padding: 30px 0; }
  .refined-page .hero-conversion h1, .refined-page .refined-service-hero h1 { font-size: clamp(42px, 12vw, 58px); margin-top: 14px; }
  .refined-page .hero-conversion .hero-lead { font-size: 17px; }
  .refined-page .hero-actions { margin-top: 22px; }
  .refined-page .hero-actions .btn { width: 100%; }
  .refined-page .refined-hero-image img { height: 300px; }
  .refined-hero-image figcaption { padding: 45px 20px 18px; }
  .refined-page .trust-items-four { grid-template-columns: 1fr 1fr; gap: 12px; font-size: 11px; }
  .refined-services { grid-template-columns: 1fr; }
  .refined-services h3 { margin-top: 16px; }
  .refined-page .projects { grid-template-columns: 1fr; }
  .refined-page .project picture img, .refined-page .project:first-child picture img { height: auto; aspect-ratio: 4 / 3; }
  .refined-page .content { gap: 30px; }
  .refined-page .refined-price-note { padding: 22px; }
  .refined-page .page-hero:not(.refined-service-hero) { padding: 32px 0; }
  .refined-page .page-hero:not(.refined-service-hero) h1 { font-size: clamp(32px, 9vw, 44px); }
  .refined-page .content .steps { grid-template-columns: 1fr; }
  .refined-page .footer-grid-pro, .refined-shell .footer-grid-pro { grid-template-columns: 1fr; }
  .refined-shell .site-header .container, .refined-shell .site-footer .container { width: calc(100% - 32px); }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .refined-page *, .refined-shell * { animation: none !important; transition: none !important; }
}

/* Woningpaspoort bij oplevering */
.woningpaspoort{margin:48px 0;padding:32px;background:#f5f4ef;border-top:4px solid #d6bb65;border-radius:6px;scroll-margin-top:110px}
.woningpaspoort h2{font-size:clamp(25px,3vw,34px);line-height:1.2;margin:10px 0 18px}
.woningpaspoort p{line-height:1.75}
.paspoort-grid{display:grid;gap:20px;margin:28px 0}
.paspoort-item{border-top:1px solid #d7d8d2;padding-top:20px}
.paspoort-item>span{font-size:13px;font-weight:700;color:#516c80;letter-spacing:.12em}
.paspoort-item h3{margin:6px 0 8px;font-size:21px}
.paspoort-item p{margin:0}
.paspoort-benefit{background:#fff;padding:24px;border-radius:5px}
.paspoort-benefit h3{margin-top:0}
.paspoort-note{font-size:14px;color:#52636c;margin-bottom:0}
@media(max-width:600px){.woningpaspoort{padding:22px 18px}.paspoort-benefit{padding:18px}}

.refined-page .woningpaspoort{padding:32px!important}
.refined-page .paspoort-cover{max-width:340px;margin:30px auto 36px!important;padding:0}
.paspoort-cover img{display:block;width:100%;height:auto;border-radius:3px;box-shadow:0 14px 32px #172e4225}
.paspoort-cover figcaption{font-size:14px;line-height:1.6;color:#52636c;margin-top:16px;text-align:center}
@media(max-width:600px){.refined-page .woningpaspoort{padding:22px 18px!important}.refined-page .paspoort-cover{max-width:280px}}
