/* V5: interface sizing +10%, wider content, responsive gutters retained. */
.header-subline{position:static;background:linear-gradient(105deg,#fbf0f4,#fbf6f3 65%,#fbf1f5);border-bottom:1.1px solid #f1e8e9}.subline-inner{display:flex;align-items:center;justify-content:space-between;gap:27.5px;min-height:96.8px;padding-top:16.5px;padding-bottom:16.5px}.subline-usps{display:flex;align-items:center;list-style:none;margin:0;padding:0;min-width:0;gap:0}.subline-usps>li{display:flex;align-items:center;gap:12.1px;font-size:13.2px;line-height:1.5;font-weight:650;padding:0 23.1px;border-right:1.1px solid #e7d8df;white-space:nowrap}.subline-usps>li:first-child{padding-left:0}.subline-usps>li:last-child{padding-right:0;border:0}.subline-icon{flex-shrink:0;display:grid;place-items:center;width:38.5px;height:38.5px;border-radius:50%;background:#fce4f0;color:var(--pink)}.subline-icon .icon{width:27.5px;height:27.5px;stroke-width:1.7}.subline-rating{display:flex;align-items:center;gap:20.9px;flex-shrink:0;border:1.1px solid #f1e9ec;border-radius:1098.9px;background:#fff;box-shadow:0 5.5px 16.5px #39251b08;padding:9.9px 22px;min-height:67.1px;transition:box-shadow .2s}.subline-rating:hover{box-shadow:0 5.5px 18.7px #933a6622}.subline-rating:focus-visible{outline:2.2px solid var(--pink);outline-offset:4.4px}.subline-rating>img{display:block;width:93.5px;height:33px;object-fit:contain;flex-shrink:0}.subline-score{display:flex;flex-direction:column;padding-left:18.7px;border-left:1.1px solid #e7e5e3;line-height:1.15}.subline-score>strong{font-size:29.7px;font-weight:800;letter-spacing:-.04em;color:var(--pink-dark)}.subline-score>small{font-size:9.9px;color:var(--muted);white-space:nowrap;margin-top:3.3px}.subline-review-link{display:flex;align-items:center;gap:11px;border-left:1.1px solid #e7e5e3;padding-left:19.8px;font-size:12.1px;font-weight:800;color:var(--pink-dark);white-space:nowrap}.subline-review-link .icon{width:19.8px;height:19.8px;flex-shrink:0}
@media(max-width:1375px){.subline-inner{gap:19.8px}.subline-usps>li{font-size:12.1px;gap:8.8px;padding:0 15.4px}.subline-icon{width:33px;height:33px}.subline-icon .icon{width:24.2px;height:24.2px}.subline-rating{gap:14.3px;padding:9.9px 16.5px}.subline-rating>img{width:80.3px;height:29.7px}.subline-score{padding-left:14.3px}.subline-score>strong{font-size:27.5px}.subline-review-link{padding-left:14.3px;font-size:11px;gap:7.7px}}
@media(max-width:1155px){.subline-inner{display:grid;grid-template-columns:1fr;gap:16.5px;padding-top:18.7px;padding-bottom:18.7px}.subline-usps{justify-content:center}.subline-usps>li{font-size:13.2px;padding:0 27.5px;gap:11px}.subline-rating{justify-self:center;gap:24.2px;min-height:61.6px;padding:8.8px 25.3px}.subline-rating>img{width:88px}.subline-score{padding-left:22px}.subline-review-link{padding-left:22px;font-size:12.1px;gap:14.3px}}
@media(max-width:682px){.subline-inner{gap:14.3px;padding-top:15.4px;padding-bottom:15.4px}.subline-usps{display:grid;grid-template-columns:1fr 1fr;gap:11px}.subline-usps>li{font-size:11px;line-height:1.6;padding:0 8.8px 0 0;white-space:normal;gap:8.8px}.subline-usps>li:nth-child(2){border:0;padding-left:3.3px;padding-right:0}.subline-usps>.subline-funda-usp{display:none}.subline-icon{width:31.9px;height:31.9px}.subline-icon .icon{width:23.1px;height:23.1px}.subline-rating{justify-self:stretch;display:grid;grid-template-columns:68.2px minmax(79.2px,1fr) minmax(99px,1.25fr);gap:11px;min-height:63.8px;padding:9.9px 14.3px}.subline-rating>img{width:68.2px;height:26.4px}.subline-score{padding-left:12.1px}.subline-score>strong{font-size:27.5px}.subline-score>small{font-size:8.8px;margin-top:4.4px;white-space:normal}.subline-review-link{font-size:11px;line-height:1.5;white-space:normal;padding-left:12.1px;gap:5.5px}.subline-review-link .icon{width:17.6px;height:17.6px}}

@media(max-width:374px){.subline-rating{grid-template-columns:62px minmax(68px,1fr) minmax(88px,1.25fr);gap:8px;padding:10px 12px;min-width:0;width:100%}.subline-rating>img{width:62px;max-width:100%}.subline-score,.subline-review-link{padding-left:9px}.subline-review-link .icon{display:none}}

/* V16: compact mobile header and WINIX-style top-opening navigation. */
.mobile-menu-top,.mobile-menu-intro,.main-nav>.mobile-offer-link,.mobile-menu-language,.menu-toggle-label{display:none}
.subline-carousel{min-width:0}.usp-pause{display:none}
@media(max-width:990px){
 .site-header{background:#fff;backdrop-filter:none;-webkit-backdrop-filter:none}
 .site-header .header-inner{width:calc(100% - 32px);min-height:86px;gap:12px}
 .site-header .brand{order:0;margin-right:auto}.site-header .brand img{display:block;width:72px;height:66px}
 .site-header .header-actions{order:1;margin-left:0;gap:0}
 .site-header .header-actions>.language-switch,.site-header .header-contact,.site-header .mobile-call{display:none!important}
 .site-header .header-actions .offer-button{display:inline-flex;min-height:44px;padding:11px 17px;font-size:12px;line-height:1.2;justify-content:center;border-radius:999px}
 .site-header .menu-toggle{order:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:44px;min-width:44px;min-height:48px;padding:3px;border:0;background:none;color:var(--dark)}
 .site-header .menu-toggle .icon{width:25px;height:25px}.menu-toggle-label{display:block;font-size:9px;line-height:1.2;font-weight:700}
 .site-header .main-nav{position:fixed;inset:0;width:100%;max-width:none;height:100dvh;margin:0;padding:16px max(24px,calc((100vw - 560px)/2));padding-top:max(16px,env(safe-area-inset-top));padding-bottom:max(28px,env(safe-area-inset-bottom));border:0;border-radius:0;background:#fff;box-shadow:none;gap:0;opacity:0;visibility:hidden;transform:translateY(-18px);transition:opacity .24s ease,transform .3s cubic-bezier(.2,.7,.2,1);overscroll-behavior:contain;font-size:18px;line-height:1.4;overflow-y:auto;overflow-x:hidden}
 .site-header .main-nav.open{opacity:1;visibility:visible;transform:translateY(0)}
 .mobile-menu-top{display:flex;align-items:center;justify-content:space-between;padding-bottom:16px;flex-shrink:0}
 .main-nav .mobile-menu-top .mobile-brand{display:block;padding:0;border:0}.mobile-menu-top .mobile-brand img{width:72px;height:66px;object-fit:contain}
 .main-nav .menu-close{position:static;display:grid;place-items:center;width:44px;height:44px;padding:9px;border-radius:50%;background:var(--blush);color:var(--dark)}
 .mobile-menu-intro{position:relative;display:flex;align-items:center;min-height:108px;margin-bottom:16px;padding:22px;border-radius:20px;overflow:hidden;flex-shrink:0;background:var(--blush)}
 .mobile-menu-intro:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#173d32f2,#173d32c9 45%,#173d3215)}
 .mobile-menu-intro img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 60%}
 .mobile-menu-intro>span{position:relative;z-index:1;color:#fff;font-size:23px;font-weight:800;line-height:1.25}.mobile-menu-intro small{display:block;font-size:11px;font-weight:500;margin-top:7px}
 .main-nav>.mobile-offer-link{display:flex;align-items:center;gap:13px;background:var(--blush);color:var(--pink-dark);border:0;border-radius:14px;margin-bottom:8px;padding:16px 18px}
 .mobile-offer-link>.icon:last-child{margin-left:auto}.mobile-offer-link .icon{width:22px;height:22px}
 .main-nav>a:not(.mobile-offer-link),.main-nav>.nav-dropdown{padding:19px 4px;border-bottom:1px solid #ece7e8;font-size:17px}
 .main-nav>.nav-dropdown>summary{justify-content:flex-start;gap:13px}.main-nav>.nav-dropdown>summary .service-chevron{margin-left:auto;transition:transform .25s}.main-nav>.nav-dropdown[open]>summary .service-chevron{transform:rotate(180deg)}
 .main-nav .services-menu{background:#fcf7f8;margin-top:16px;padding:10px;border-radius:16px}
 .main-nav .services-menu a{gap:12px;padding:12px 8px!important}.main-nav .menu-service-icon{width:40px;height:40px;background:#fff;border:1px solid #f4e8ee;border-radius:12px}.main-nav .services-menu strong{font-size:14px}.main-nav .services-menu small{font-size:11px}
 .mobile-menu-language{display:flex;align-self:flex-start;width:max-content;margin-top:24px;flex-shrink:0}.mobile-menu-language a{min-height:38px;min-width:44px;display:grid;place-items:center;font-size:11px;padding:8px 13px}
 .main-nav .mobile-actions{display:flex;margin-top:22px;gap:12px;padding-bottom:4px;flex-shrink:0}.main-nav .mobile-actions .button{min-height:48px;font-size:14px;border-radius:999px;justify-content:center}
 .header-subline{position:static}.header-subline .subline-inner{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:66px;padding-top:6px;padding-bottom:6px;width:calc(100% - 32px)}
 .subline-carousel{display:flex;align-items:center;flex:1 1 auto;min-width:0;gap:3px;max-width:430px}
 .subline-usps{display:flex;justify-content:flex-start;gap:0;flex:1 1 auto;min-width:0;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
 .subline-usps::-webkit-scrollbar{display:none}.header-subline .subline-usps>li{display:flex;flex:0 0 100%;min-width:0;min-height:48px;scroll-snap-align:start;white-space:normal;padding:0;border:0;gap:8px;font-size:11px;line-height:1.35;font-weight:650}
 .header-subline .subline-icon{width:25px;height:28px;background:transparent;border-radius:0}.header-subline .subline-icon .icon{width:22px;height:22px}
 .subline-carousel.is-rotating .subline-usps{display:grid;overflow:hidden;scroll-snap-type:none}.subline-carousel.is-rotating .subline-usps>li{grid-area:1/1;visibility:hidden;opacity:0;transform:translateY(7px);pointer-events:none;transition:opacity .45s ease,transform .45s ease}.subline-carousel.is-rotating .subline-usps>li.is-active{visibility:visible;opacity:1;transform:translateY(0);pointer-events:auto}
 .subline-carousel.is-rotating .usp-pause{display:grid;place-items:center;flex:0 0 24px;min-width:24px;width:24px;min-height:44px;padding:0;border:0;border-radius:12px;background:transparent;font-size:13px;font-weight:700;line-height:1;color:var(--green)}
 .header-subline .subline-rating{display:flex;justify-content:center;align-items:center;gap:8px;justify-self:auto;flex:0 0 auto;min-height:42px;padding:7px 10px;border-radius:999px;box-shadow:none}
 .header-subline .subline-rating>img{width:46px;height:20px;max-width:46px}.header-subline .subline-score{padding-left:8px;border-left:1px solid #e7e0e0;line-height:1}.header-subline .subline-score>strong{font-size:20px;letter-spacing:-.04em}.header-subline .subline-score>small,.header-subline .subline-review-link{display:none}
 .site-header button:focus-visible,.usp-pause:focus-visible{outline:2px solid var(--pink-dark);outline-offset:3px}
}
@media(min-width:683px) and (max-width:990px){.header-subline .subline-usps>li{font-size:13px}.header-subline .subline-rating{padding:8px 14px;gap:12px}.header-subline .subline-rating>img{width:59px;max-width:59px;height:22px}.header-subline .subline-score>strong{font-size:23px}}
@media(prefers-reduced-motion:reduce){.site-header .main-nav,.subline-carousel.is-rotating .subline-usps>li{transition:none!important}}
/* Match the current WINIX row: menu, brand, language choice, primary action. */
@media(max-width:990px){
 .site-header .header-inner{width:calc(100% - 28px);gap:10px;min-height:82px}
 .site-header .menu-toggle{order:0;width:38px;min-width:38px;min-height:44px;flex-direction:row;padding:6px}.site-header .menu-toggle-label{display:none}
 .site-header .brand{order:1;margin-right:0}.site-header .brand img{width:66px;height:60px}
 .site-header .header-actions{order:2;margin-left:auto;gap:8px}
 .site-header .header-actions>.language-switch{display:flex!important;padding:3px;gap:0}
 .site-header .header-actions>.language-switch a{display:grid;place-items:center;min-height:31px;min-width:29px;padding:7px 6px;font-size:9px}
 .site-header .header-actions .offer-button{min-height:41px;padding:10px 13px;font-size:11px}
}
@media(max-width:374px){
 .site-header .header-inner{width:calc(100% - 20px);gap:6px;min-height:76px}
 .site-header .brand img{width:54px;height:52px}.site-header .menu-toggle{width:34px;min-width:34px;padding:4px}
 .site-header .header-actions{gap:6px}.site-header .header-actions>.language-switch a{min-width:25px;font-size:9px;padding:7px 5px}
 .site-header .header-actions .offer-button{font-size:10px;padding:10px 11px}
}

/* Preserve the review count in the natural accessible name of the compact link. */
@media(max-width:990px){.header-subline .subline-score>small{display:block;position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border:0}}

/* Let the roof overlap the green bar while it is above the sticky navigation. */
@media (min-width: 991px) {
 .site-header .brand img {
  display: block;
  width: 114px;
  height: auto;
  transform: translateY(var(--mm-logo-offset, 0px));
 }
}

@media (max-width: 990px) {
 .site-header .brand img { height: auto; }
}

@media (min-width: 991px) {
 .site-header .main-nav > a,
 .site-header .main-nav > .nav-dropdown > summary {
  font-size: 15.7px;
 }
}

/* Compact trust strip beneath the main navigation. */
.header-subline .subline-score {
 display: grid;
 grid-template-columns: auto auto;
 align-items: center;
 column-gap: 8px;
}
.header-subline .subline-score > strong {
 grid-row: 1 / 3;
 line-height: 1;
}
.subline-stars {
 color: #f1b145;
 font-size: 11px;
 letter-spacing: 1px;
 line-height: 1;
 white-space: nowrap;
}
@media (min-width: 991px) {
 .header-subline .subline-inner {
  display: flex;
  min-height: 48px;
  padding-block: 4px;
  gap: 12px;
 }
 .header-subline .subline-usps > li {
  font-size: 11px;
  gap: 6px;
  padding-inline: clamp(8px, 1vw, 16px);
 }
 .header-subline .subline-usps > li:first-child { padding-left: 0; }
 .header-subline .subline-usps > li:last-child { padding-right: 0; }
 .header-subline .subline-icon { width: 24px; height: 24px; }
 .header-subline .subline-icon .icon { width: 17px; height: 17px; }
 .header-subline .subline-rating {
  min-height: 36px;
  padding: 4px 10px;
  gap: 9px;
 }
 .header-subline .subline-rating > img { width: 52px; height: 20px; }
 .header-subline .subline-score { padding-left: 9px; }
 .header-subline .subline-score > strong { font-size: 24px; }
 .header-subline .subline-score > small { font-size: 8px; margin-top: 0; }
 .header-subline .subline-review-link { padding-left: 9px; font-size: 10px; }
 .header-subline .subline-review-link .icon { width: 14px; height: 14px; }
}
@media (max-width: 990px) {
 .header-subline .subline-inner { min-height: 42px; padding-block: 0; }
 .header-subline .subline-usps > li { min-height: 42px; }
 .header-subline .subline-rating { min-height: 34px; padding: 4px 8px; }
 .header-subline .subline-score > strong { font-size: 17px; }
 .subline-stars { font-size: 9px; letter-spacing: 0; }
}

.topline-partners {
 display: flex;
 align-items: center;
 gap: 14px;
 margin-left: auto;
 flex: none;
}
.topline-partners img {
 display: block;
 width: auto;
 height: 17px;
 filter: brightness(0) invert(.86);
}
.topline-partners .topline-funda { display: inline-flex; margin-left: 0; }
.topline-partners .topline-move {
 display: inline-flex;
 align-items: center;
 gap: 6px;
 margin-left: 0;
 padding: 5px 12px;
 border-radius: 999px;
 background: #e5e8e5;
 color: #263b31;
 line-height: 1.35;
 font-weight: 800;
 white-space: nowrap;
}
.topline-partners .topline-move:hover { background: #fff; }
.topline-partners a:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
@media (max-width: 990px) { .topline-partners { display: none; } }

@media (min-width: 991px) {
 .topline .wrap { min-height: 49px; }
}

.mobile-nav-icon, .mobile-nav-arrow { display: none; }
@media (max-width: 990px) {
 .topline { display: block; }
 .topline .wrap { min-height: 30px; justify-content: center; }
 .topline .wrap > span:first-child { font-size: clamp(9px, 2.55vw, 11px); gap: 6px; }
 .topline .wrap > span:first-child .icon { width: 13px; height: 13px; }
 .topline .wrap > i, .topline .wrap > span:nth-of-type(2) { display: none; }
 .site-header .header-inner { min-height: 73px; gap: clamp(5px, 2vw, 10px); }
 .site-header .menu-toggle {
  width: 44px;
  min-width: 44px;
  min-height: 44px;
  padding: 8px;
  border-radius: 10px;
 }
 .site-header .menu-toggle .icon { width: 24px; height: 24px; }
 .site-header .header-actions { gap: clamp(5px, 2vw, 10px); }
 .site-header .header-actions .offer-button { min-height: 38px; padding: 8px 11px; }
 .site-header .main-nav {
  inset: 0 auto 0 0;
  width: min(84vw, 360px);
  height: 100dvh;
  padding: max(8px, env(safe-area-inset-top)) 19px 0;
  transform: translateX(-100%);
  transition: transform .26s ease, opacity .26s ease, visibility .26s;
  box-shadow: 12px 0 32px #19372b24;
 }
 .site-header .main-nav.open { transform: translateX(0); }
 .mobile-menu-top { border-bottom: 1px solid var(--line); padding-bottom: 9px; }
 .main-nav .menu-close { background: transparent; }
 .main-nav > a:not(.mobile-offer-link),
 .main-nav > .nav-dropdown,
 .main-nav > .mobile-offer-link {
  padding: 14px 2px;
  margin: 0;
  border: 0;
  border-bottom: 1px solid var(--line);
  border-radius: 0;
  background: transparent;
  color: var(--ink);
  font-size: 15px;
 }
 .main-nav > a:not(.mobile-offer-link) { display: flex; align-items: center; gap: 12px; }
 .main-nav > a > .mobile-nav-icon,
 .main-nav > a > .mobile-nav-arrow { display: flex; }
 .main-nav > a > .mobile-nav-icon { color: var(--pink-dark); }
 .mobile-nav-icon .icon, .mobile-offer-link > .icon:first-child { width: 20px; height: 20px; color: var(--pink-dark); }
 .mobile-nav-arrow { margin-left: auto; }
 .mobile-nav-arrow .icon { width: 15px; height: 15px; transform: rotate(-90deg); }
 .main-nav .services-menu { margin-top: 10px; padding: 5px; }
 .main-nav .mobile-menu-language { display: none; }
 .main-nav .mobile-actions { margin-top: 18px; gap: 8px; }
 .main-nav .mobile-actions .button { min-width: 0; padding: 8px; font-size: 11px; min-height: 42px; }
 .main-nav .mobile-actions .button .icon { display: none; }
 .main-nav .mobile-menu-intro {
  min-height: clamp(100px, 20dvh, 165px);
  margin: auto -19px 0;
  border-radius: 0;
  align-items: flex-end;
  padding: 16px 19px;
 }
 .main-nav .mobile-menu-intro:after { background: linear-gradient(180deg,#fff 0%,#fff2 44%,#173d3288 100%); }
 .main-nav .mobile-menu-intro > span { font-size: 17px; }
 .main-nav .mobile-menu-intro small { display: none; }
}
@media (max-width: 682px) {
 #main .hero-slideshow h1,
 #main .page-banner h1,
 #main .service-hero h1,
 #main.about-page h1,
 #main .property-address h1 {
  font-size: clamp(27px, 7.7vw, 34px);
  line-height: 1.14;
  letter-spacing: -.042em;
  text-wrap: balance;
 }
 #main .hero-slideshow h1 br { display: none; }
 #main .hero-slideshow .hero-inner { padding-top: 31px; }
}

/* Full house logo transitions to the compact wordmark without moving navigation. */
.site-header .brand .brand-logo-compact { display: none; }
.site-header .brand.brand-has-compact { position: relative; display: block; }
.site-header .brand.brand-has-compact .brand-logo-full {
 opacity: 1;
 transform: translateY(var(--mm-logo-offset, 0px)) scale(1);
 transform-origin: 50% 60%;
 transition: opacity .28s ease, transform .38s cubic-bezier(.22,.68,.2,1);
}
.site-header .brand.brand-has-compact .brand-logo-compact {
 display: block;
 position: absolute;
 top: 50%; left: 50%;
 width: 88px; height: auto;
 opacity: 0;
 transform: translate(-50%, -43%) scale(.84);
 pointer-events: none;
 transition: opacity .28s ease, transform .38s cubic-bezier(.22,.68,.2,1);
}
.site-header.is-stuck .brand.brand-has-compact .brand-logo-full {
 opacity: 0; transform: translateY(-8px) scale(.78);
}
.site-header.is-stuck .brand.brand-has-compact .brand-logo-compact {
 opacity: 1; transform: translate(-50%, -50%) scale(1);
}
@media (max-width: 990px) {
 .site-header .brand.brand-has-compact .brand-logo-full { --mm-logo-offset: 0px; }
 .site-header .brand.brand-has-compact .brand-logo-compact { width: 58px; }
}
@media (max-width: 374px) {
 .site-header .brand.brand-has-compact .brand-logo-compact { width: 48px; }
}
@media (prefers-reduced-motion: reduce) {
 .site-header .brand.brand-has-compact .brand-logo-full,
 .site-header .brand.brand-has-compact .brand-logo-compact { transition: none; }
}

/* Compact the sticky header together with its logo. */
html.mm-header-resizing { overflow-anchor: none; }
.site-header .header-inner { transition: min-height .38s cubic-bezier(.22,.68,.2,1); }
.site-header .brand.brand-has-compact {
 max-height: 112px;
 transition: max-height .38s cubic-bezier(.22,.68,.2,1);
}
.site-header.is-stuck .header-inner { min-height: 80px; }
.site-header.is-stuck .brand.brand-has-compact { max-height: 64px; }
@media (max-width: 990px) {
 .site-header.is-stuck .header-inner { min-height: 60px; }
 .site-header.is-stuck .brand.brand-has-compact { max-height: 44px; }
}
@media (prefers-reduced-motion: reduce) {
 .site-header .header-inner,
 .site-header .brand.brand-has-compact { transition: none; }
}
