/* ---------- Intro ---------- */
.home-intro { position: relative; z-index: 5; width: 100%; padding: 82px 0 110px; overflow: hidden; color: var(--textColor); background: #F6F3F0; }
.home-intro::after { position: absolute; z-index: 1; right: -5%; bottom: -34px; left: -5%; height: 70px; content: ""; background:#F6F3F0; border-radius: 0 0 50% 50% / 0 0 100% 100%; box-shadow:none; pointer-events: none; }
.home-intro__container { position: relative; z-index: 2; width: calc(100% - 40px); max-width: var(--container-width); margin: 0 auto; text-align: center; }
.home-intro__eyebrow { margin: 0 0 5px; color: var(--backgroundColorOrange); font-size: 14px; line-height: 1.4; font-weight: 600; text-transform: uppercase; }
.home-intro__title { max-width: 1180px; margin: 0 auto; color: var(--textColor); font-size: clamp(30px, 2.1vw, 36px); line-height: 1.2; font-weight: 700; letter-spacing: -.025em; text-wrap: balance; }
.home-intro__title.line_center { margin-bottom: 18px; padding-bottom: 11px !important; }
.home-intro__title span { color: var(--backgroundColorOrange); }
.home-intro__description { max-width: 820px; margin: 0 auto; color: #3a3a3a; font-size: 17px; line-height: 1.75; }
.home-intro__description p { margin: 0; }
.home-intro__description p + p { margin-top: 16px; }
.home-intro__description blockquote { max-width: 760px; margin: 28px auto 0; padding: 22px 28px; font-style: italic; background: #fff; border: 1px solid rgba(15,15,15,.06); border-left: 3px solid var(--backgroundColorOrange); border-radius: 12px; box-shadow: var(--shadow-card); }
.home-intro__description blockquote p { margin: 0; }
.home-intro__description blockquote p + p { margin-top: 8px; }
.home-intro__description blockquote cite { color: var(--textColor); font-size: 14px; font-style: normal; font-weight: 600; }


@media (max-width: 1100px) {
.home-intro { padding: 76px 0 100px; }
.home-intro__title { max-width: 1000px; font-size: clamp(29px, 3vw, 34px); }
.home-intro__description { max-width: 760px; }
}

@media (max-width: 767px) {
.home-intro { padding: 60px 0 80px; }
.home-intro::after { bottom: -22px; height: 46px; box-shadow:none; }
.home-intro__container { width: calc(100% - 32px); }
.home-intro__eyebrow { margin-bottom: 4px; font-size: 12px; }
.home-intro__title { max-width: 600px; font-size: clamp(27px, 8vw, 34px); line-height: 1.25; }
.home-intro__title.line_center { margin-bottom: 16px; padding-bottom: 10px !important; }
.home-intro__description { font-size: 15px; line-height: 1.65; }
.home-intro__description blockquote { margin-top: 22px; padding: 16px 18px; }
}

/* Highlights row (27-09) */
.home-intro__highlights { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin:32px auto 0; padding:0; list-style:none; }
.home-intro__highlight { display:inline-flex; align-items:center; gap:10px; margin:0; padding:11px 18px 11px 14px; color:var(--textColor); background:#fff; border:1px solid rgba(15,15,15,.07); border-radius:999px; box-shadow:0 8px 22px rgba(15,15,15,.05); font-size:14.5px; line-height:1.3; font-weight:600; }
.home-intro__highlight-icon { flex:0 0 20px; width:20px; height:20px; color:var(--backgroundColorOrange); }
@media (max-width:767px) {
.home-intro__description { font-size:15.5px; }
.home-intro__highlights { gap:8px; margin-top:24px; }
.home-intro__highlight { padding:9px 14px 9px 11px; font-size:13.5px; }
.home-intro__highlight-icon { flex-basis:18px; width:18px; height:18px; }
}

/* ---------- Strakker (27-09) ---------- */
@media (min-width:768px) {
.home-intro__eyebrow { margin-bottom:8px; }
.home-intro__title { font-size:var(--h2-size); line-height:1.18; }
}

/* Intro followed by another light block: less bottom space. */
.home-intro:has(+ :is(.image-text-block:not(.image-text-block--has-background), .features-light, .content-highlight, .phone-showcase, .portfolio-showcase, .tarieven-block, .faq-block, .cta-block)) { padding-bottom: 64px; }
@media (max-width:767px) { .home-intro:has(+ :is(.image-text-block:not(.image-text-block--has-background), .features-light, .content-highlight, .phone-showcase, .portfolio-showcase, .tarieven-block, .faq-block, .cta-block)) { padding-bottom: 44px; } }
