/* The approved design, with accessible navigation and one conversion surface. */
html { scroll-padding-top: 100px; }
body { overflow-wrap: break-word; }
[hidden] { display: none !important; }
.reveal { opacity: 1 !important; transform: none !important; }
:focus-visible { outline: 3px solid var(--ink); outline-offset: 4px; }
.btn-primary,.button-primary { background: var(--coral); color: var(--ink); }
.btn-service { background: var(--ink); color: white; }
.ns-skip { position: fixed; top: -100px; left: 16px; z-index: 9999; background: white; padding: 12px; }
.ns-skip:focus { top: 10px; }
/* Desktop panels align to the header, so every menu has room for three columns. */
.header { background: #fff; border-bottom: 1px solid var(--line); }
.header > .container { position: relative; gap: 18px; }
.nav-actions { gap: 8px; }
.nav-actions .btn { padding: 14px 18px; }
.ns-nav-group { position: static; }
.ns-nav-group summary { list-style:none; padding:14px 10px; cursor:pointer; font-weight:500; font-size:.93rem; border-radius:8px; }
.ns-nav-group summary::after { content:none; }
.ns-nav-group summary { display:flex; align-items:center; gap:7px; white-space:nowrap; }
.ns-menu-caret { display:block; flex:none; transition:transform .15s; }
.ns-nav-group[open] .ns-menu-caret { transform:rotate(180deg); }
.ns-nav-group summary::-webkit-details-marker { display:none; }
.ns-nav-group[open] summary, .ns-nav-group summary:hover { background:var(--bg-alt); }
/* Ward's solution menu: three spacious columns with a clear first step. */
.header > .container, .topbar > .container { max-width:1600px; }
.ns-mega-panel { position:absolute; top:100%; left:var(--pad); right:var(--pad); z-index:30; padding:24px; background:#fff; border:1px solid var(--line); border-top:3px solid var(--coral); border-radius:0 0 12px 12px; box-shadow:var(--sh-3); max-height:calc(100dvh - 150px); overflow:auto; }
.ns-mega-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.ns-mega-column { --menu-accent:var(--coral); --menu-wash:var(--coral-wash); min-width:0; }
.ns-mega-blue { --menu-accent:#32A0FF; --menu-wash:rgba(50,160,255,.08); }
.ns-mega-column + .ns-mega-column { border-left:1px solid var(--line); padding-left:24px; }
.ns-mega-heading { display:flex; gap:16px; align-items:center; padding-bottom:18px; min-height:106px; }
.ns-mega-heading img { flex:none; width:80px; height:80px; padding:12px; border-radius:50%; background:var(--menu-wash); object-fit:contain; }
.ns-mega-heading p { font-size:.92rem; line-height:1.45; color:var(--ink-mute); }
.ns-mega-heading .ns-mega-title { font-size:1.4rem; font-weight:700; margin-bottom:4px; color:var(--ink); }
.ns-mega-column ul { list-style:none; padding:0; margin:0; }
.ns-mega-column li + li { border-top:1px solid var(--line); }
.ns-mega-column li.ns-mega-featured + li { border-top:0; }
.ns-mega-column li a { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:15px 16px; border-radius:8px; color:var(--ink); font-size:1rem; line-height:1.35; }
.ns-mega-arrow { flex:none; }
.ns-mega-column li.ns-mega-featured a { background:var(--menu-wash); color:var(--menu-accent); font-weight:700; margin-bottom:2px; }
.ns-mega-column li a:hover { background:var(--menu-wash); text-decoration:underline; text-underline-offset:3px; }
.ns-mobile { padding:12px var(--pad) 24px; background:#fff; border-bottom:1px solid var(--line); }
.ns-mobile .ns-mega-panel { position:static; max-height:none; box-shadow:none; border:0; padding:12px 0; }
.ns-mobile .ns-mega-grid { grid-template-columns:1fr; gap:20px; }
.ns-mobile .ns-mega-column + .ns-mega-column { border-left:0; padding-left:0; border-top:1px solid var(--line); padding-top:16px; }
.ns-mobile .ns-mega-heading { min-height:0; padding-bottom:6px; }
.ns-mobile .ns-mega-heading img { width:56px; height:56px; }
.ns-mobile .ns-mega-heading .ns-mega-title { font-size:1.25rem; }
#binnenunits { scroll-margin-top:110px; }
.topbar { background:var(--navy); color:#fff; }
.topbar .container { min-height:38px; gap:14px; }
.topbar a:hover { color:#fff; text-decoration:underline; }
.ns-top-phone { white-space:nowrap; font-weight:600; }
.ns-hours { display:flex; align-items:center; gap:8px; font-size:.82rem; line-height:1.3; }
.ns-status-dot { width:9px; height:9px; flex:none; border-radius:50%; border:1px solid var(--ink); }
.ns-status-dot.is-open { background:var(--service); box-shadow:0 0 0 3px rgba(255,255,255,.4); }
.ns-status-dot.is-closed { background:var(--coral); }
.ns-today-hours { margin-left:8px; }
.ns-mobile > .nav-link { display: block; padding: 14px 10px; }
.ns-mobile > .btn { margin-top: 15px; }
.ns-booking-page { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; }
.booking-intent { border-radius: 18px; padding: 26px; background: white; color: var(--ink); border: 1px solid var(--line); box-shadow: 0 20px 50px rgba(50,50,50,.08); }
.booking-intent h2 { font-size: 1.5rem; line-height: 1.25; margin-bottom: 20px; }
.booking-intent label { font-size: .9rem; display: block; margin-bottom: 8px; font-weight: 600; }
.booking-intent select { display: block; width: 100%; padding: 14px 10px; background: #fff; color: var(--ink); border: 1px solid var(--line-strong); border-radius: 8px; font: inherit; margin-bottom: 14px; }
.button { display: inline-flex; justify-content: center; align-items: center; padding: 14px 22px; border: 0; border-radius: 8px; font: 700 1rem var(--font-body, sans-serif); cursor: pointer; text-decoration: none; }
.booking-intent button { width: 100%; }
.booking-detail { padding: 28px; border: 1px solid var(--line); border-radius: 18px; background: var(--bg-alt); }
.booking-detail p { margin-bottom: 20px; }
.booking-frame { border: 0; border-radius: 12px; }
.booking-review-note { padding: 16px; border-left: 3px solid var(--coral); margin: 24px 0; background: var(--coral-wash); font-size: .88rem; }
.booking-alternatives { margin-top: 24px; }
.booking-alternatives a { text-decoration: underline; }
.foot-col h2 { font-size: 1rem; color: white; margin-bottom: 16px; }
.ns-legacy { max-width: 860px; margin: auto; }
.ns-legacy p,.ns-legacy ul { margin: 0 0 24px; line-height: 1.75; }
.ns-legacy h2,.ns-legacy h3 { margin: 40px 0 20px; }
.ns-legacy ul { padding-left: 24px; }
.ns-legacy li { margin-bottom: 10px; }
.ns-legacy-img { width: 100%; max-height: 440px; object-fit: cover; border-radius: 16px; margin: 24px 0; }
.ns-page-hero { background: var(--mist,#f5f6f8); padding: 70px 0; }
.ns-page-hero .container { display: grid; grid-template-columns: 1.5fr 1fr; gap: 55px; align-items: center; }
.ns-page-hero h1 { font-size: clamp(2rem,4.5vw,3.6rem); line-height: 1.08; margin: 15px 0 24px; }
.ns-original-icon { width: 90px; height: 90px; object-fit: contain; display: block; margin-bottom: 18px; }
.ns-archive-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
.ns-archive-card { border: 1px solid var(--line); border-radius: 14px; padding: 24px; background: white; display: block; }
.ns-archive-card:hover { border-color: var(--coral); }
.ns-archive-card h2 { font-size: 1.25rem; line-height: 1.3; margin-bottom: 12px; }
.ns-original-domains { display: grid; grid-template-columns: repeat(4,1fr); gap: 18px; padding: 24px 0 0; }
.ns-original-domains a { padding: 18px; background: white; border: 1px solid var(--line); border-radius: 12px; }
.ns-original-domains img { width: 80px; height: 80px; object-fit: contain; margin: 0 auto 10px; }
.ns-original-domains span { display: block; text-align: center; font-weight: 700; }
.ns-hero .lede { color: #fff; }
.ns-hero-booking { background: none; padding: 0; box-shadow: none; }
.ns-topic:not(:has(.ns-media)) { grid-template-columns: 1fr; max-width: 840px; }
.ns-hero-inner > .ns-pills { grid-column: 1; margin-top: 0; }
@media(min-width:1101px) { .burger { display: none; } }
@media(max-width:1100px) { .ns-desktop { display:none; } .burger { display:inline-flex; font-size: 24px; } .ns-advice { display:none; } }
@media(max-width:768px) {
 .ns-hero .ns-actions { display:none; }
 .header .container { gap: 12px; } .brand img { max-width: 120px; height: auto; } .brand-tagline { display:none; }
 .ns-page-hero .container,.ns-booking-page { grid-template-columns: 1fr; gap: 28px; }
 .ns-page-hero { padding: 38px 0; } .ns-archive-grid { grid-template-columns: 1fr; }
 .ns-original-domains { grid-template-columns: repeat(2,1fr); }
 .booking-intent { padding: 22px; } .topbar span { font-size: .75rem; }
 .foot-top { gap: 30px; } .foot-bottom { flex-wrap:wrap; gap:14px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation:none !important; transition:none !important; } }

.btn-primary:hover,.button-primary:hover { background:var(--ink); color:#fff; }
.btn-service:hover { background:var(--coral); color:var(--ink); }
.ns-card a,.ns-text-link,.ns-related-link { color:var(--ink); text-decoration:underline; text-decoration-color:var(--coral); text-underline-offset:4px; }
.ns-original-domains a:hover { border-color:var(--coral); }
.ns-original-domains img { width:64px; height:64px; }
.ns-trust_strip { padding-block:24px; }
.ns-trust_strip .ns-card { border:0; border-left:2px solid var(--coral); border-radius:0; padding:8px 20px; background:transparent; }
.ns-trust_strip .ns-card h3 { font-size:1.15rem; }
.ns-trust_strip .ns-card p { margin-top:8px; font-size:.94rem; }
.ns-trust_strip .ns-card a { margin-top:10px; font-size:.88rem; }
.ns-brands_strip { padding-block:36px; }
.ns-cards-brands_strip { grid-template-columns:repeat(6,minmax(0,1fr)); gap:12px; }
.ns-cards-brands_strip .ns-card { padding:16px; }
.ns-cards-brands_strip h3 { font-size:1.05rem; }
.ns-cards-brands_strip p { font-size:.86rem; margin-top:8px; }
.ns-home-intro { display:grid; grid-template-columns:1fr 1fr; gap:40px; }
.ns-home-intro .ns-section-head { margin-bottom:0; }
@media(max-width:1100px) { .ns-cards-brands_strip { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:768px) {
 .ns-home-intro { grid-template-columns:1fr; gap:24px; }
 .ns-hero-inner { padding-block:32px; }
 .ns-hero-inner > .ns-pills { grid-column:auto; }
 .topbar .container { padding-block:7px; }
 .ns-today-hours { display:none; }
 .ns-hours { font-size:.75rem; }
 .ns-mobile .ns-nav-group summary { font-size:1.1rem; padding:14px 0; }
 .ns-trust_strip .ns-cards { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 10px; }
 .ns-trust_strip .ns-card { padding:4px 12px; }
 .ns-cards-brands_strip { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .ns-original-domains { gap:12px; padding-top:20px; }
}

.ns-home-proof { display:grid; grid-template-columns:1.1fr .9fr; gap:32px; align-items:center; }
.ns-home-proof .ns-section-head { margin:0; }
.ns-home-proof .ns-actions { grid-column:1; margin-top:0; }
.ns-home-case { grid-column:2; grid-row:1 / span 2; }
.ns-home-case img { width:100%; aspect-ratio:3/2; object-fit:cover; border-radius:14px; }
.ns-home-case span { display:block; color:white; margin-top:10px; text-decoration:underline; text-underline-offset:4px; }
.ns-case-cover { width:100%; aspect-ratio:3/2; object-fit:cover; border-radius:8px; margin-bottom:18px; }
.ns-opening-table { max-width:640px; }
.ns-opening-table h2 { margin-bottom:24px; }
.ns-opening-table dl { margin:0 0 20px; }
.ns-opening-table dl div { display:flex; justify-content:space-between; gap:20px; padding:9px 0; border-bottom:1px solid var(--line); }
.ns-opening-table dt { font-weight:600; }
.ns-opening-table dd { margin:0; }
@media(max-width:768px) { .ns-home-proof { grid-template-columns:1fr; gap:24px; }.ns-home-case { grid-column:1; grid-row:auto; }.ns-opening-table dl div { flex-wrap:wrap; gap:6px 20px; } }

.ns-proof_banner .lede { color:#fff; }
.ns-home-proof .ns-section-head { grid-column:1; grid-row:1; }
.ns-home-proof { align-items:start; gap:22px 32px; }
.ns-home-case img { max-height:340px; }
.ns-page-hero { background:var(--bg-alt); }
@media(max-width:768px) { .nav-actions .btn-service { display:inline-flex; margin-left:0; font-size:.9rem; padding:13px 14px; }.ns-home-proof .ns-actions { grid-row:2; }.ns-home-case { grid-row:3; } }

.ns-legacy h2 { font-size:clamp(1.45rem,2.4vw,1.85rem); line-height:1.2; }.ns-legacy h3 { font-size:1.3rem; line-height:1.3; }.ns-archive-note { padding:14px 18px; background:var(--bg-alt); border-left:3px solid var(--coral); font-size:.92rem; margin-bottom:24px; }

.foot-brand img { width:170px; height:auto; object-fit:contain; }
.ns-appointment { padding:36px 0 52px; background:var(--bg-alt); }
.ns-appointment-inner { max-width:1000px; }
.ns-appointment-heading { margin-bottom:24px; }
.ns-appointment-heading h1 { font-size:clamp(1.85rem,3.3vw,2.8rem); line-height:1.12; margin:14px 0 14px; }
.ns-appointment-heading .lede { max-width:65ch; font-size:1.06rem; }
.ns-change-intent { display:inline-block; font-size:.92rem; text-decoration:underline; text-underline-offset:4px; }
.ns-appointment .booking-detail { padding:0; background:transparent; border:0; border-radius:0; }
.booking-frame { display:block; width:100%; height:620px; background:transparent; }
.booking-detail > p { font-size:.86rem; margin:14px 0 0; }
.booking-detail > p a { text-decoration:underline; text-underline-offset:3px; }
.ns-appointment-choices { display:grid; gap:12px; }
.ns-appointment-choice { display:flex; gap:20px; align-items:center; background:#fff; border:1px solid var(--line); border-radius:12px; padding:22px; }
.ns-appointment-choice img { flex:none; width:54px; height:54px; object-fit:contain; }
.ns-appointment-choice div { flex:1; }
.ns-appointment-choice h2 { font-size:1.25rem; line-height:1.3; margin-bottom:5px; }
.ns-appointment-choice p { font-size:.94rem; line-height:1.4; }
.ns-appointment-choice > span { font-size:1.3rem; }
.ns-appointment-choice:hover { border-color:var(--coral); box-shadow:var(--sh-1); }
@media(max-width:600px) { .ns-appointment { padding:26px 0 36px; }.ns-appointment-choice { gap:14px; padding:18px; }.ns-appointment-choice img { width:42px; height:42px; }.ns-appointment-heading h1 { font-size:1.9rem; } }

/* Text introduces the subject; photo and real intake share the next row. */
.ns-hero-split .ns-hero-inner { grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr); align-items:stretch; gap:28px 36px; padding-block:40px; }
.ns-hero-split .ns-hero-copy { grid-column:1 / -1; max-width:960px; }
.ns-hero-split .ns-hero-copy h1 { font-size:clamp(2.1rem,3.8vw,3.5rem); line-height:1.1; }
.ns-hero-split .ns-hero-copy .lede { max-width:76ch; margin-top:16px; font-size:1.12rem; line-height:1.6; }
.ns-hero-split .ns-hero-copy .ns-actions { margin-top:16px; }
.ns-hero-split .ns-hero-inner > .ns-media { grid-column:1; grid-row:2; display:flex; background:#fff; border-radius:14px; overflow:hidden; min-height:300px; }
.ns-hero-split .ns-hero-inner > .ns-media img { width:100%; height:100%; min-height:300px; max-height:440px; aspect-ratio:auto; object-fit:contain; border-radius:0; }
.ns-hero-split .ns-hero-booking { grid-column:2; grid-row:2; align-self:start; min-width:0; }
.ns-hero-split .ns-hero-inner > .ns-pills { grid-column:1 / -1; grid-row:3; margin:0; }
.booking-hero { padding:24px; background:#fff; border-radius:14px; box-shadow:0 12px 32px rgba(0,0,0,.1); }
.booking-hero .booking-hero-kicker { color:var(--ink); font-size:.78rem; text-transform:uppercase; letter-spacing:.11em; margin:0 0 8px; }
.booking-hero h2 { font-size:1.55rem; line-height:1.2; margin:0 0 12px; }
.booking-hero .booking-hero-intro { color:var(--ink); font-size:.94rem; line-height:1.5; margin:0 0 14px; }
.booking-hero-frame { border-radius:0; min-width:0; height:280px; }
.booking-hero .booking-hero-fallback { margin:10px 0 0; font-size:.8rem; line-height:1.4; }
.booking-hero-fallback a { color:var(--ink); text-decoration:underline; text-underline-offset:3px; }
.ns-hero-inner.ns-hero-expanded .ns-hero-booking { grid-column:1 / -1; grid-row:3; }
.ns-hero-inner.ns-hero-expanded > .ns-media { grid-column:1 / -1; max-height:320px; }
.ns-hero-inner.ns-hero-expanded > .ns-media img { min-height:0; max-height:320px; }
.ns-hero-inner.ns-hero-expanded .booking-hero { max-width:940px; margin-inline:auto; }
.ns-topic.ns-topic-has-photo { grid-template-columns:minmax(0,1fr) minmax(0,1fr); max-width:none; }
.ns-editorial-photo { margin:0; min-width:0; }
.ns-editorial-photo img { display:block; width:100%; height:auto; max-height:460px; object-fit:contain; border-radius:12px; background:var(--bg-alt); }
.ns-editorial-photo figcaption,.ns-photo-grid figcaption { font-size:.86rem; line-height:1.5; margin-top:10px; color:var(--ink-mute); }
.ns-photo-story { padding-block:42px; }
.ns-photo-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; align-items:start; }
.ns-photo-grid figure { margin:0; min-width:0; }
.ns-photo-grid img { width:100%; height:auto; max-height:400px; object-fit:contain; background:var(--bg-alt); border-radius:12px; }
.ns-card-photo { display:block; width:100%; aspect-ratio:3/2; object-fit:cover; border-radius:9px; margin:0 0 18px; }
.ns-hero-split:has(.booking-hero) .ns-hero-copy .ns-actions { display:none; }
@media(max-width:900px) {
 .ns-hero-split .ns-hero-inner { grid-template-columns:minmax(0,1fr) minmax(320px,1fr); gap:24px; }
 .ns-hero-split .ns-hero-inner > .ns-media img { min-height:260px; }
 .booking-hero { padding:20px; }
}
@media(max-width:760px) {
 .ns-hero-split .ns-hero-inner { grid-template-columns:minmax(0,1fr); gap:24px; padding-block:30px; }
 .ns-hero-split .ns-hero-copy,.ns-hero-split .ns-hero-booking { grid-column:1; grid-row:auto; }
 .ns-hero-split .ns-hero-inner > .ns-media { display:flex; grid-column:1; grid-row:2; min-height:0; }
 .ns-hero-split .ns-hero-inner > .ns-media img { min-height:0; max-height:280px; height:auto; }
 .ns-hero-split .ns-hero-booking { grid-row:3; }
 .ns-hero-split .ns-hero-inner > .ns-pills { grid-column:1; grid-row:auto; }
 .ns-hero-split .ns-hero-copy h1 { font-size:clamp(2rem,8vw,2.7rem); }
 .ns-hero-split .ns-hero-copy .lede { font-size:1.02rem; }
 .ns-topic.ns-topic-has-photo,.ns-photo-grid { grid-template-columns:minmax(0,1fr); gap:24px; }
 .ns-topic-has-photo .ns-editorial-photo { order:1; }
 .ns-photo-story { padding-block:30px; }
}

.ns-page-hero .container:not(:has(.booking-hero)) { grid-template-columns:minmax(0,1fr); max-width:1000px; }
.ns-hero-split .ns-hero-inner:not(:has(.booking-hero)) > .ns-media { grid-column:1 / -1; }

@media(max-width:760px) {
 .ns-hero-split .ns-hero-booking { grid-row:2; }
 .ns-hero-split .ns-hero-inner > .ns-media { grid-row:3; }
 .ns-hero-inner.ns-hero-expanded .ns-hero-booking { grid-row:2; }
 .ns-hero-inner.ns-hero-expanded > .ns-media { grid-row:3; }
}

.ns-hero-split .ns-hero-inner > .ns-media { align-self:start; min-height:0; background:transparent; }
.ns-hero-split .ns-hero-inner > .ns-media img { height:auto; min-height:0; border-radius:14px; }

.booking-hero-start label { display:block; color:var(--ink); font-size:.9rem; margin-bottom:8px; }
.booking-start-email { display:block; width:100%; padding:13px; border:1px solid var(--line-strong); border-radius:8px; font:inherit; font-size:16px; color:var(--ink); background:white; margin-bottom:14px; }
.booking-hero-hint { color:var(--ink); font-size:.82rem; line-height:1.5; margin:14px 0 0; }
.booking-hero-start button { color:var(--ink); }
.booking-email-handoff { margin:0; }

.ns-appointment { overflow-anchor:none; }

/* The topbar supports trust and maintenance; contact details live in the footer. */
.topbar .ns-top-reviews,.topbar .ns-top-maintenance { display:inline-flex; align-items:center; gap:8px; font-size:.82rem; line-height:1.35; padding-block:8px; }
.ns-top-reviews svg { color:var(--coral); flex:none; }
.ns-top-maintenance { font-weight:600; white-space:nowrap; }
.footer .ns-hours { flex-wrap:wrap; gap:8px; margin:14px 0 12px; }
.footer .ns-today-hours { display:block; width:100%; margin:0; }
.ns-footer-hours { margin-bottom:16px; font-size:.88rem; }
.ns-footer-hours summary { cursor:pointer; text-decoration:underline; text-underline-offset:3px; }
.footer .ns-opening-table { margin-top:12px; font-size:.82rem; }
.footer .ns-opening-table dl > div { display:flex; justify-content:space-between; gap:12px; padding:6px 0; border-bottom:1px solid rgba(255,255,255,.18); }
.footer .ns-opening-table dd { margin:0; text-align:right; }
.footer .ns-opening-table p { font-size:.8rem; }
@media(max-width:480px) { .topbar .container { gap:12px; } .topbar .ns-top-reviews,.topbar .ns-top-maintenance { font-size:.75rem; gap:6px; } }

.ns-mega-neutral-icon .ns-mega-heading img { background:rgba(50,50,50,.07); }

/* Align the homepage team and service-van photos in matching frames. */
#home_team_photos .ns-home-photo-frame { aspect-ratio:16 / 9; overflow:hidden; border-radius:12px; }
#home_team_photos .ns-home-photo-frame img { display:block; width:100%; height:100%; max-height:none; aspect-ratio:auto; object-fit:cover; object-position:50% 65%; }

/* Homepage briefing v1: residential content, existing brand and shared flows. */
#ns-home .section { padding-block:48px; }
#ns-home .ns-section-head { max-width:850px; margin-bottom:26px; }
#ns-home .ns-section-head .lede { font-size:1.05rem; margin-top:14px; }
#ns-home .ns-hero-copy h1 { font-size:clamp(2.1rem,3.6vw,3.25rem); line-height:1.12; }
#ns-home .ns-hero-inner { gap:36px; padding-block:48px; }
#ns-home .ns-home-soft { background:var(--bg-alt); }
#ns-home #home-vervanging { background:#fff; }
#ns-home #mig_home_proof { background:var(--bg-alt); }
#ns-home .ns-home-products,#ns-home .ns-home-routes,#ns-home .ns-home-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
#ns-home .ns-home-projects { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
#ns-home .ns-home-photo-card { display:flex; flex-direction:column; overflow:hidden; border:1px solid var(--line); border-radius:14px; background:white; color:var(--ink); text-decoration:none; }
#ns-home .ns-home-photo-card > img { width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; }
#ns-home .ns-home-photo-card > div { display:flex; flex-direction:column; flex:1; padding:22px; }
#ns-home h3 { font-size:1.2rem; line-height:1.3; }
#ns-home .ns-home-photo-card p { margin-top:10px; font-size:.95rem; }
#ns-home .ns-home-card-cta { display:flex; align-items:center; justify-content:space-between; gap:10px; font-size:.9rem; font-weight:600; margin-top:auto; padding-top:20px; }
#ns-home .ns-home-photo-card:hover .ns-home-card-cta { text-decoration:underline; text-underline-offset:3px; }
#ns-home .ns-home-benefits { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px; }
#ns-home .ns-home-icon { width:44px; height:44px; object-fit:contain; margin-bottom:14px; }
#ns-home .ns-home-benefits p,#ns-home .ns-home-routes p,#ns-home .ns-home-steps p { font-size:.95rem; margin-top:10px; }
#ns-home .ns-home-source-note { color:var(--ink-mute); font-size:.85rem; margin:20px 0 12px; }
#ns-home .ns-home-routes a { display:block; padding:24px; background:white; border:1px solid var(--line); border-radius:12px; color:var(--ink); }
#ns-home .ns-home-routes h3 { display:flex; justify-content:space-between; gap:12px; }
#ns-home .ns-home-routes a:hover h3 { text-decoration:underline; text-underline-offset:3px; }
#ns-home .ns-home-service { background:var(--ink); color:white; }
#ns-home .ns-home-service h2 { color:white; }
#ns-home .ns-home-service .eyebrow { color:var(--coral); }
#ns-home .ns-home-service .ns-home-source-note { color:white; }
#ns-home .ns-home-steps { list-style:none; padding:0; margin:0 0 26px; counter-reset:none; }
#ns-home .ns-home-step-number { display:inline-flex; width:36px; height:36px; align-items:center; justify-content:center; border-radius:50%; background:var(--coral-wash); font-weight:700; margin-bottom:14px; }
#ns-home .ns-home-showroom { display:grid; grid-template-columns:1.2fr 1fr; gap:36px; align-items:center; }
#ns-home .ns-home-showroom img { display:block; width:100%; height:auto; aspect-ratio:16/10; object-fit:cover; border-radius:14px; }
#ns-home .ns-home-contact { margin:18px 0 24px; font-size:.95rem; }
#ns-home .ns-home-contact a { text-decoration:underline; text-underline-offset:3px; }
#ns-home .ns-home-brands { padding-block:30px; background:#fff; }
#ns-home .ns-home-brands h2 { font-size:1.15rem; text-align:center; }
#ns-home .ns-home-brands ul { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:20px 36px; list-style:none; padding:0; margin:22px 0 0; max-width:100%; }
#ns-home .ns-home-brands li { max-width:100%; }
#ns-home .ns-home-brands img { width:130px; max-width:100%; height:48px; object-fit:contain; }
@media(max-width:1000px) { #ns-home .ns-home-benefits { grid-template-columns:repeat(2,minmax(0,1fr)); } #ns-home .ns-home-products,#ns-home .ns-home-routes { gap:16px; } }
@media(max-width:760px) { #ns-home .section { padding-block:34px; } #ns-home .ns-home-products,#ns-home .ns-home-routes,#ns-home .ns-home-projects,#ns-home .ns-home-steps,#ns-home .ns-home-showroom { grid-template-columns:1fr; } #ns-home .ns-hero-inner { padding-block:34px; } #ns-home .ns-hero-copy h1 { font-size:2.15rem; } #ns-home .ns-home-photo-card > img { aspect-ratio:16/9; } #ns-home .ns-home-showroom .ns-section-head { margin-bottom:0; } #ns-home .ns-home-benefits { gap:24px 18px; } }

#ns-home .ns-hero .ns-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:24px; }

/* Ward review v1.3: a quiet hero, distinct appointment choices and a human closing. */
.brand { display:flex; align-items:center; gap:14px; flex:none; }
.brand img { display:block; width:128px; height:auto; object-fit:contain; transform:none; }
.ns-brand-signature { font-size:.72rem; line-height:1.45; font-weight:500; color:var(--ink); border-left:1px solid var(--line); padding-left:12px; }
.topbar .ns-top-contact { display:inline-flex; align-items:center; gap:8px; font-size:.82rem; padding-block:8px; font-weight:600; }
.ns-footer-contact { display:flex; align-items:center; gap:9px; }
.ns-contact-icon { flex:none; color:var(--coral); }
.ns-footer-hours summary { display:flex; align-items:center; gap:9px; }
#ns-home .ns-hero-calm { background:var(--bg-alt); color:var(--ink); border-bottom:1px solid var(--line); }
#ns-home .ns-hero-calm::before,#ns-home .ns-hero-calm::after { display:none; }
#ns-home .ns-hero-calm h1,#ns-home .ns-hero-calm .lede { color:var(--ink); }
#ns-home .ns-hero-calm .ns-hero-inner { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); align-items:center; padding-block:54px; gap:48px; }
#ns-home .ns-hero-calm .eyebrow { color:var(--ink); }
#ns-home .ns-hero-calm .lede { font-size:1.1rem; line-height:1.6; max-width:560px; }
#ns-home .ns-hero-calm .btn-ghost { background:var(--ink); color:#fff; border:1px solid var(--ink); }
#ns-home .ns-hero-calm .btn-ghost:hover { background:#454545; }
.ns-home-advice { background:#fff; border:1px solid var(--line); border-radius:18px; padding:26px; box-shadow:0 8px 30px rgba(50,50,50,.06); scroll-margin-top:120px; }
.ns-home-advice h2 { font-size:1.6rem; line-height:1.2; margin:0 0 14px; }
.ns-home-advice fieldset { border:0; padding:0; margin:16px 0; min-width:0; }
.ns-home-advice legend,.ns-home-advice label { font-size:.9rem; font-weight:600; }
.ns-home-advice .ns-advice-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin-top:10px; }
.ns-home-advice .ns-advice-options label { display:flex; align-items:center; justify-content:center; gap:6px; padding:12px 8px; background:var(--bg-alt); border:1px solid var(--line); border-radius:10px; cursor:pointer; text-align:center; font-size:.82rem; min-height:62px; }
.ns-home-advice .ns-advice-options label:has(input:checked) { background:var(--coral-wash); border-color:var(--coral); }
.ns-home-advice .ns-advice-options input { accent-color:var(--ink); flex:none; }
.ns-home-advice select { display:block; width:100%; font:inherit; font-size:16px; color:var(--ink); background:#fff; border:1px solid var(--line-strong); border-radius:8px; padding:12px; margin-top:8px; }
.ns-home-advice .ns-advice-description,.ns-home-advice .ns-advice-video-help { font-size:.9rem; line-height:1.5; margin:14px 0; color:var(--ink); }
.ns-home-advice .ns-advice-continue { width:100%; font:inherit; }
#ns-home .ns-home-routes a { background:#f7f5f2; border-color:#e5dfd8; }
#ns-home .ns-home-service .ns-home-routes a { background:#eeebe7; }
#ns-home .ns-home-showroom { grid-template-columns:1fr 1fr; align-items:center; gap:48px; }
#ns-home .ns-showroom-copy .lede { margin-top:18px; font-size:1.05rem; }
#ns-home .ns-showroom-copy .ns-actions { margin-top:20px; }
#ns-home .ns-home-showroom img { aspect-ratio:4/3; }
#ns-home .ns-home-closing { padding:24px 0 48px; background:var(--bg-alt); }
#ns-home .ns-closing-grid { display:grid; grid-template-columns:1.45fr 1fr; border-radius:18px; overflow:hidden; background:var(--ink); color:#fff; }
#ns-home .ns-closing-grid > img { display:block; width:100%; height:100%; object-fit:cover; object-position:50% 88%; min-height:360px; }
#ns-home .ns-closing-copy { padding:38px 30px; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; }
#ns-home .ns-closing-copy h2 { color:#fff; font-size:1.9rem; line-height:1.2; }
#ns-home .ns-closing-copy p { margin-bottom:20px; }
#ns-home .ns-closing-copy .ns-text-link { color:#fff; margin-top:18px; }
#ns-home .ns-closing-copy .eyebrow { color:var(--coral); font-size:calc(.7rem + 2px); }
#ns-home .ns-closing-copy :focus-visible,#ns-home .ns-home-service :focus-visible { outline-color:#fff; }
@media(max-width:1100px) { .brand { gap:10px; } .brand img { width:108px; } .ns-brand-signature { font-size:.65rem; padding-left:8px; } #ns-home .ns-hero-calm .ns-hero-inner { gap:28px; } }
@media(max-width:760px) { #ns-home .ns-hero-calm .ns-hero-inner,#ns-home .ns-closing-grid,#ns-home .ns-home-showroom { grid-template-columns:1fr; } #ns-home .ns-hero-calm .ns-hero-inner { padding-block:32px; } .ns-home-advice { padding:20px; } #ns-home .ns-closing-grid > img { min-height:0; height:auto; aspect-ratio:16/10; object-position:center bottom; } #ns-home .ns-closing-copy { padding:26px; } #ns-home .ns-home-closing { padding:12px 0 32px; } #ns-home .ns-home-showroom { gap:24px; } }
@media(max-width:400px) { .brand img { width:95px; } .ns-brand-signature { font-size:.62rem; } .ns-home-advice .ns-advice-options label { padding:10px 4px; font-size:.75rem; } }
.footer .foot-col a,.footer .foot-col p,.footer .ns-hours,.footer .ns-footer-hours,.footer .foot-brand p { color:#f1efec; opacity:1; }
.ns-home-advice .ns-advice-options label:has(input:focus-visible) { outline:3px solid var(--ink); outline-offset:3px; }
@media(max-width:360px) { .nav-actions .btn-service { display:none; } }

/* Supplied team photograph: quiet grey gradient, crop anchored on the people. */
#ns-home .ns-hero-team { position:relative; isolation:isolate; overflow:hidden; }
#ns-home .ns-hero-team-photo { position:absolute; inset:0; z-index:-1; pointer-events:none; opacity:.44; }
#ns-home .ns-hero-team-photo img { width:100%; height:100%; object-fit:cover; object-position:50% 100%; }
#ns-home .ns-hero-team::after { display:block; content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(236,236,236,.85) 0%,rgba(236,236,236,.45) 45%,rgba(236,236,236,.05) 75%),linear-gradient(0deg,rgba(236,236,236,.12),rgba(236,236,236,.65)); pointer-events:none; }
@media(max-width:760px) { #ns-home .ns-hero-team-photo { height:420px; opacity:.374; } #ns-home .ns-hero-team-photo img { object-position:50% 100%; } #ns-home .ns-hero-team::after { background:linear-gradient(180deg,rgba(236,236,236,.55),rgba(236,236,236,.3) 280px,var(--bg-alt) 430px); } }
#ns-home .ns-daikin-highlight{display:grid;grid-template-columns:1.5fr 1fr;gap:40px;align-items:center;padding:30px;border:1px solid var(--line);border-radius:16px;background:#f7f5f2}#ns-home .ns-daikin-highlight h2{font-size:clamp(1.5rem,2.3vw,2rem);line-height:1.2;margin-bottom:16px}#ns-home .ns-daikin-summary{text-align:center;padding:24px;background:#fff;border-radius:12px;display:grid;gap:10px}#ns-home .ns-daikin-summary>span:first-child{font-weight:700}#ns-home .ns-daikin-summary ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}#ns-home .ns-daikin-summary li{background:#ececec;padding:9px;border-radius:6px}#ns-home .ns-daikin-summary small{font-size:.75rem;color:var(--muted)}
#ns-heating .ns-heating-comparison-expanded{grid-template-columns:repeat(2,minmax(0,1fr))}#ns-heating .ns-heating-product-visual{width:100%;height:auto;aspect-ratio:4/3;display:block;background:#f5f3f0}
@media(max-width:760px){#ns-home .ns-daikin-highlight{grid-template-columns:1fr;gap:22px;padding:22px}#ns-heating .ns-heating-comparison-expanded{grid-template-columns:1fr}}

/* Homepage readability: local contrast behind copy preserves the team photograph. */
#ns-home .ns-hero-team-photo { opacity:1; }
#ns-home .ns-hero-team::after { background:linear-gradient(90deg,rgba(50,50,50,.82),rgba(50,50,50,.32) 58%,rgba(50,50,50,.08)); }
#ns-home .ns-hero-team .ns-hero-copy { padding:28px;border-radius:18px;background:rgba(50,50,50,.9);color:#fff; }
#ns-home .ns-hero-team .ns-hero-copy :is(h1,.lede) { color:#fff; }
#ns-home .ns-hero-team .ns-hero-copy .eyebrow { color:var(--text-accent-dark); }
#ns-home #mig_home_hero .ns-hero-copy .accent { color:var(--coral); }
#ns-home .ns-home-service-online { margin-top:32px;padding-top:28px;border-top:1px solid #777; }
#ns-home .ns-home-service-online h3,#ns-home .ns-home-service-contact h3 { color:inherit;font-size:1.4rem; }
#ns-home .ns-home-service-online p,#ns-home .ns-home-service-contact p { max-width:740px;margin:14px 0 22px; }
#ns-home .ns-home-service-contact { margin-top:30px; }
#ns-home .ns-daikin-label { display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:18px; }
#ns-home .ns-daikin-label img { width:130px;height:65px;object-fit:contain; }
@media(max-width:760px) {
 #ns-home .ns-hero-team-photo { height:500px;opacity:1; }
 #ns-home .ns-hero-team::after { background:linear-gradient(180deg,rgba(50,50,50,.38),rgba(50,50,50,.15) 380px,var(--bg-alt) 520px); }
 #ns-home .ns-hero-team .ns-hero-copy { padding:22px; }
 #ns-home .ns-home-service-online .btn,#ns-home .ns-home-service-contact .btn { width:100%; }
}

/* Approved homepage: one hero copy block and three ordinary page links. */
#ns-home .ns-hero-calm .ns-hero-inner { grid-template-columns:minmax(0,1fr);padding-block:56px; }
#ns-home .ns-hero-team .ns-hero-copy { max-width:650px;background:rgba(50,50,50,.85); }
#ns-home .ns-hero-team .ns-hero-copy .lede { max-width:580px; }
#ns-home .ns-hero-team .btn-ghost { background:transparent;border-color:#fff;color:#fff; }
#ns-home .ns-hero-team .btn-ghost:hover,#ns-home .ns-closing-copy .btn-ghost:hover { background:#fff;color:#303030; }
#ns-home #mig_home_hero .ns-home-hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; max-width:100%; }
#ns-home #mig_home_hero .ns-home-hero-actions .btn { min-height:52px; }
#ns-home #mig_home_hero .ns-home-hero-actions .btn-primary { background:var(--coral); color:var(--ink); border-color:transparent; }
#ns-home #mig_home_hero .ns-home-hero-actions .btn-ghost { background:#fff; color:var(--ink); border:1px solid rgba(50,50,50,.3); }
#ns-home #mig_home_hero .ns-home-hero-actions .btn-ghost:hover { background:#ece9e6; color:var(--ink); border-color:var(--ink); }
#ns-home #home-service .ns-section-head { margin-bottom:14px; }
#ns-home .ns-home-service-emphasis { margin:0 0 6px; font-size:1.05rem; }
#ns-home .ns-home-service-note { margin:0 0 16px; }
#ns-home .ns-home-service-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
#ns-home .ns-home-service-cards article { display:flex; flex-direction:column; gap:8px; padding:18px 20px; background:#fff; border:1px solid var(--line); border-radius:14px; }
#ns-home .ns-home-service-icon { color:var(--ink); }
#ns-home .ns-home-service-cards h3,#ns-home .ns-home-service-cards p { margin:0; }
#ns-home .ns-home-service-cards p { flex:1; }
#ns-home .ns-home-service-cards .btn { align-self:flex-start; margin-top:8px; min-height:48px; background:#fff; color:var(--ink); border:1px solid rgba(50,50,50,.3); }
#ns-home .ns-home-service-cards .btn:hover { background:#ece9e6; border-color:var(--ink); color:var(--ink); }
#ns-home .ns-daikin-highlight { position:relative;padding-top:50px; }
#ns-home .ns-daikin-new { position:absolute;top:0;left:30px;background:var(--coral);color:#303030;font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:7px 14px;border-radius:0 0 8px 8px; }
#ns-home .ns-home-service { padding-block:44px; }
#ns-home .ns-home-service .ns-section-head .lede { color:#f1efec; }
#ns-home .ns-home-service-online { margin-top:24px;padding-top:0;border:0; }
#ns-home .ns-home-service-online .ns-home-service-contact { margin:14px 0 0;font-size:.95rem; }
#ns-home .ns-home-service-contact a { color:#fff;text-decoration:underline;text-underline-offset:4px; }
#ns-home .ns-closing-copy .ns-actions { margin-top:0;gap:10px; }
#ns-home .ns-closing-copy .btn-ghost { color:#fff;border-color:#fff;background:transparent; }
@media(max-width:760px) {
 #ns-home .ns-hero-calm .ns-hero-inner { padding-block:32px; }
 #ns-home .ns-hero-team-photo { height:100%; }
 #ns-home .ns-hero-team::after { background:rgba(50,50,50,.45); }
 #ns-home .ns-home-service { padding-block:32px; }
}
@media(max-width:600px) { #ns-home .ns-hero-copy .ns-actions,#ns-home .ns-closing-copy .ns-actions { display:grid;grid-template-columns:1fr;width:100%; } }

/* Final homepage hero: targeted gradient, no card or second column. */
#ns-home .ns-hero-team .ns-hero-copy { background:transparent;border-radius:0;padding:0; }
#ns-home .ns-hero-team::after { background:linear-gradient(90deg,rgba(35,35,35,.94) 0%,rgba(35,35,35,.9) 48%,rgba(35,35,35,.25) 72%,rgba(35,35,35,.08)); }
@media(max-width:760px) { #ns-home .ns-hero-team::after { background:linear-gradient(90deg,rgba(35,35,35,.93),rgba(35,35,35,.85) 85%,rgba(35,35,35,.7)); } }

/* Service chooser only: existing planner URLs and detail pages stay intact. */
.ns-service-choice-page .ns-appointment-choice{color:var(--ink);text-decoration:none;min-height:102px}
.ns-service-choice-page .ns-appointment-choice>span{font-size:1.5rem;color:var(--text-accent-light);flex:none}
.ns-service-choice-page .ns-appointment-choice:focus-visible{outline:3px solid var(--text-accent-light);outline-offset:4px}
.ns-service-choice-contact{margin-top:28px;padding-top:22px;border-top:1px solid var(--line);max-width:65ch}
.ns-service-choice-contact h2{font-size:1.1rem;margin:0 0 10px;line-height:1.3}
.ns-service-choice-contact p{font-size:.94rem;line-height:1.55;margin:0 0 14px}
.ns-service-choice-contact .btn{font-size:.9rem;padding:10px 16px;color:var(--ink);background:transparent;border-color:#767676}
.ns-service-choice-contact .btn:hover{background:#fff}

/* Service booking: office contact remains secondary to the embedded planner. */
.ns-service-booking-contact{margin-top:26px;padding-top:22px;border-top:1px solid var(--line);max-width:75ch}
.ns-service-booking-contact h2{font-size:1.15rem;line-height:1.35;margin:0 0 10px}
.ns-service-booking-contact p{font-size:.94rem;line-height:1.6;margin:0 0 14px}
.ns-service-booking-contact-links{display:flex;flex-wrap:wrap;gap:12px 24px;margin:16px 0}
.ns-service-booking-contact-links a{font-size:.94rem;color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.ns-service-booking-contact .ns-service-booking-hours{font-size:.85rem;margin:0}
@media(max-width:600px){.ns-service-booking-contact-links{flex-direction:column;align-items:flex-start;gap:12px}.ns-service-booking-contact{margin-top:22px}}

/* Homepage hero: supplied installation illustration, keep subjects on the right. */
#ns-home #mig_home_hero .ns-hero-team-photo img { object-position:75% top; }
#ns-home #mig_home_hero .ns-hero-copy > p:not(.eyebrow):not(.lede) { margin-top:18px; }
@media(max-width:760px) { #ns-home #mig_home_hero .ns-hero-team-photo img { object-position:100% top; } }

/* Match the ACV frame to its native ratio without changing the visible logo size. */
#ns-home #mig_home_brands li:last-child img { width:84px; }
/* Remove Atlantic's unused horizontal frame space; keep its visible 96px mark. */
@media(min-width:900px) { #ns-home #mig_home_brands li:nth-child(4) img { width:96px; } }

/* Homepage hero: vertically balance the existing title and two actions. */
#ns-home #mig_home_hero .ns-hero-inner { min-height:545px; align-items:center; }
#ns-home #mig_home_hero .ns-hero-copy .ns-actions { margin-top:30px; }
#ns-home .ns-hero-trust { color:#fff; font-size:.95rem; letter-spacing:.01em; }
#ns-home .ns-home-choices { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
#ns-home .ns-home-projects { grid-template-columns:repeat(3,minmax(0,1fr)); }
#ns-home .ns-home-photo-card:hover,#ns-home .ns-home-photo-card:focus-visible { border-color:#323232; box-shadow:0 10px 24px rgba(50,50,50,.08); }
#ns-home .ns-home-choice-more { margin-top:22px; }
#ns-home .ns-home-choice-more a { font-weight:600; text-underline-offset:3px; }
#ns-home .ns-home-benefits { grid-template-columns:repeat(3,minmax(0,1fr)); }
#ns-home #installatieaanvraag,#ns-home #home-keuzes,#ns-home #mig_home_proof { scroll-margin-top:120px; }
#ns-home .ns-home-request { max-width:860px; }
#ns-home .ns-install-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
#ns-home .ns-install-wide { grid-column:1 / -1; }
#ns-home .ns-home-request label,#ns-home .ns-home-request legend { font-weight:600; font-size:.95rem; }
#ns-home .ns-home-request input,#ns-home .ns-home-request select,#ns-home .ns-home-request textarea { display:block; width:100%; margin-top:8px; font:inherit; font-size:16px; color:var(--ink); background:#fff; border:1px solid var(--line-strong, #b9b3ab); border-radius:8px; padding:12px; }
#ns-home .ns-home-request fieldset { border:0; padding:0; margin:18px 0 0; }
#ns-home .ns-home-request [data-field-error] { display:block; min-height:1.2em; color:#8a2b22; font-size:.85rem; margin-top:6px; }
#ns-home .ns-install-pref,#ns-home .ns-install-privacy { margin-top:16px; font-size:.95rem; }
#ns-home .ns-install-privacy { display:flex; gap:10px; align-items:flex-start; }
#ns-home .ns-install-privacy input { width:auto; margin-top:3px; }
#ns-home [data-contact-status] { min-height:1.4em; margin:14px 0; }
#ns-home [data-contact-status][data-error="true"] { color:#8a2b22; }
#ns-home .ns-review-source-link { display:inline-block; margin-top:8px; font-size:.85rem; }
.ns-home-mobile-request { display:none; }
.header .ns-home-request { white-space:nowrap; }
@media(max-width:1100px) { #ns-home .ns-home-choices { grid-template-columns:repeat(2,minmax(0,1fr)); } #ns-home .ns-home-benefits { grid-template-columns:1fr; } }
@media(max-width:760px) {
  #ns-home .ns-home-choices,#ns-home .ns-home-projects,#ns-home .ns-home-service-cards,#ns-home .ns-install-grid { grid-template-columns:1fr; }
  #ns-home #mig_home_hero .ns-home-hero-actions { flex-direction:column; align-items:stretch; }
  #ns-home #mig_home_hero .ns-home-hero-actions .btn,#ns-home .ns-home-service-cards .btn { width:100%; white-space:normal; text-align:center; }
  #ns-home .ns-hero-copy .ns-actions .btn { width:100%; }
  .header .ns-home-request { display:none; }
  .ns-home-mobile-request { display:block; position:fixed; z-index:45; left:12px; right:12px; bottom:12px; padding:12px 16px; border-radius:999px; background:var(--coral); color:#fff; text-align:center; font-weight:700; text-decoration:none; box-shadow:0 8px 20px rgba(50,50,50,.18); }
  .ns-home-mobile-request[hidden] { display:none !important; }
  #ns-home { padding-bottom:72px; }
  .topbar .ns-top-permanence-home { max-width:16rem; line-height:1.25; white-space:normal; }
}

/* Team photo after the showroom: full frame, original ratio, no crop. */
#ns-home #home-team { background:#fff; }
#ns-home #home-team .ns-home-team-photo { display:block; width:100%; height:auto; margin-inline:auto; border-radius:14px; }

/* Homepage process steps: four equal columns, then two, then one. */
#ns-home #home-aanpak .ns-home-steps { grid-template-columns:repeat(4,minmax(0,1fr)); align-items:start; margin-bottom:0; }
#ns-home #home-aanpak .ns-home-steps > li { min-width:0; }
#ns-home #home-aanpak .ns-home-choice-more { margin-top:28px; text-align:left; }
@media(min-width:761px) {
  #ns-home #home-aanpak .ns-home-steps h3 { min-height:2.6em; }
  #ns-home #mig_home_hero .ns-home-hero-actions { flex-wrap:nowrap; align-items:stretch; }
}
@media(max-width:1100px) { #ns-home #home-aanpak .ns-home-steps { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:760px) { #ns-home #home-aanpak .ns-home-steps { grid-template-columns:minmax(0,1fr); } }
