.im-site-head{position:relative;z-index:15;background:#fff;color:#181818;border-bottom:1px solid #ddd;font:600 13px/1.4 'DM Sans',Arial,sans-serif}
.im-head-inner{max-width:1400px;margin:auto;min-height:76px;padding:0 clamp(18px,4vw,60px);display:flex;align-items:center;gap:clamp(10px,1.6vw,26px)}
.im-brand{font-size:28px;font-weight:750;letter-spacing:-2.1px;margin-right:auto;text-decoration:none;color:#161616;line-height:1}
#im-main-nav,.im-head-actions{display:flex;align-items:center;gap:clamp(10px,1.4vw,22px)}
.im-site-head a,.im-site-head summary{color:inherit;text-decoration:none}
.im-nav-group{position:relative}.im-nav-group summary{display:flex;align-items:center;gap:6px;cursor:pointer;min-height:48px;list-style:none;white-space:nowrap}.im-nav-group summary::-webkit-details-marker{display:none}.im-nav-group summary:after{content:'';width:5px;height:5px;border-right:1.5px solid;border-bottom:1.5px solid;transform:rotate(45deg) translateY(-1px)}.im-nav-group[open] summary:after{transform:rotate(225deg)}
.im-nav-group ul{position:absolute;z-index:10;top:100%;left:-14px;min-width:225px;max-width:320px;width:max-content;padding:7px;margin:0;list-style:none;border:1px solid #ccc;box-shadow:0 8px 20px #0002;background:#fff}
.im-nav-group li{margin:0;padding:0}.im-nav-group li a{display:block;padding:11px 12px;line-height:1.35}.im-nav-group a:hover,.im-nav-group a:focus-visible{background:#f2f1ed}.im-site-head :focus-visible{outline:2px solid #111;outline-offset:3px}
.im-head-actions{gap:13px}.im-head-phone{white-space:nowrap}.im-head-contact,.im-search-open-button,.im-menu-button{border:1px solid #bbb!important;border-radius:3px!important;padding:8px 10px!important;background:white!important;color:#171717!important;font:inherit!important;min-height:40px;cursor:pointer}.im-search-open-button,.im-menu-button{display:inline-flex;align-items:center;justify-content:center;gap:6px}.im-menu-button{display:none}.im-search-heading{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}
#im-main-nav>a:hover,.im-head-phone:hover{text-decoration:underline}
@media(max-width:1180px){.im-head-phone{display:none}}
@media(max-width:1100px){.im-head-inner{min-height:58px;gap:9px}.im-brand{font-size:25px}.im-menu-button{display:inline-flex}#im-main-nav{display:none}#im-main-nav[data-open]{display:flex;position:absolute;top:100%;left:0;right:0;padding:8px 5vw 18px;align-items:stretch;flex-direction:column;gap:0;max-height:72dvh;overflow:auto;background:#fff;box-shadow:0 6px 14px #0002}#im-main-nav>*,.im-nav-group summary{min-height:44px}.im-nav-group ul{position:static;box-shadow:none;border:0;border-left:2px solid #ccc;max-width:none;width:auto;margin:0 0 7px 8px;padding:0 8px}#im-main-nav>a{display:flex;align-items:center}.im-head-actions{gap:7px}}
@media(max-width:540px){.im-search-open-button span{display:none}.im-menu-button,.im-head-contact,.im-search-open-button{min-height:44px}.im-search-open-button{min-width:44px}.im-head-inner{padding:0 12px}}
.im-hero-reviews{background:#f6f5f1;color:#171717;border-bottom:1px solid #ddd;font-family:'DM Sans',Arial,sans-serif}.im-hero-reviews>div{max-width:1380px;margin:auto;padding:11px clamp(16px,5vw,68px);display:flex;gap:12px 23px;align-items:center;flex-wrap:wrap;font-size:14px;line-height:1.45}.im-hero-reviews strong,.im-hero-reviews a{color:#151515}.im-review-stars{color:#fbbc04;font-size:18px;letter-spacing:1px;white-space:nowrap}.im-hero-reviews a{text-decoration:underline;text-underline-offset:.18em}.im-hero-reviews q:before,.im-hero-reviews q:after{content:none}.im-hero-reviews cite{color:#555;font-size:12px;font-style:normal;white-space:nowrap}.im-review-line{display:flex;align-items:center;gap:9px;flex-wrap:wrap}span.im-review-quote{font-size:14px}.im-review-translation{font-size:11px}
.im-person-strip{display:flex;align-items:flex-start;gap:10px 14px;flex-wrap:wrap;margin:18px 0 22px}.im-person-strip a{width:88px!important;text-decoration:none;text-align:center;color:#202020;line-height:1.3;font-size:12px;font-weight:650}.im-person-strip img{width:72px;height:72px;object-fit:cover;border-radius:100%;border:2px solid #fff;margin:0 auto 6px}.im-person-strip a:hover span{text-decoration:underline}
@media(max-width:650px){.im-hero-reviews>div{display:block;padding-top:8px;padding-bottom:8px}.im-review-line{gap:6px 8px}.im-review-quote{display:block;margin-top:3px}.im-hero-reviews .im-review-link{display:none}}

.im-score-only .im-review-line{display:inline-flex;align-items:center;gap:9px;text-decoration:none;line-height:1.25}.im-score-only .im-review-line:hover b{text-decoration:underline}.im-score-only>div{padding-top:8px;padding-bottom:8px}
.im-hero-media-stack{min-width:0;max-width:100%;align-self:center}
.im-google-score{display:flex;align-items:center;gap:9px;width:max-content;max-width:100%;margin:0 auto 12px 0;color:#181818;font:650 15px/1.35 'DM Sans',Arial,sans-serif;text-decoration:none}
.im-google-score img{display:block;width:64px;height:auto;max-height:22px;object-fit:contain;filter:none}
.im-google-score .im-review-stars{letter-spacing:.04em;color:#fbbc04;font-size:19px;line-height:1}.im-google-score:hover b{text-decoration:underline}.im-google-score:focus-visible{outline:2px solid #181818;outline-offset:4px}
@media(max-width:760px){.im-google-score{margin-bottom:9px}.im-hero-media-stack .hero-visual{margin-top:0}}
.im-site-head .im-mobile-valuation{display:none}#im-main-nav>.im-nav-valuation{white-space:nowrap}
@media(max-width:1250px){.im-head-phone{display:none}}
@media(max-width:1100px){.im-site-head .im-mobile-valuation{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:6px 10px;background:#191919;border-radius:3px;color:#fff;white-space:nowrap}.im-site-head #im-main-nav>.im-nav-valuation{display:none}.im-head-actions .im-head-contact{display:none}}
@media(max-width:460px){.im-brand{font-size:23px}.im-head-inner{gap:6px;padding-inline:9px}.im-menu-button{font-size:12px!important;padding:6px!important}.im-head-actions{gap:5px}.im-site-head .im-mobile-valuation{font-size:12px;min-height:44px;padding:6px}.im-menu-button svg{width:16px}.im-search-open-button{min-width:40px;padding:6px!important}}
#im-main-nav>.im-contact-mobile-menu{display:none}
.im-foot-sitemap{max-width:1260px;margin:auto;padding:10px clamp(18px,4vw,50px) 20px}.im-foot-sitemap summary{cursor:pointer;width:max-content;font-weight:650;list-style:revert;font-size:14px}.im-foot-sitemap nav{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:5px 18px;margin:12px 0}.im-foot-sitemap a{color:inherit;font-size:14px;padding:6px 0;text-decoration:underline;text-underline-offset:3px}.im-small-footer{background:#181818;color:#fff;position:relative;margin:24px 0 0}
@media(max-width:1100px){#im-main-nav[data-open]>.im-contact-mobile-menu{display:flex}}

/* Keep the primary paths on one line, and reveal the second reviews link when space allows. */
#im-main-nav>.im-direct-reviews { display:none }
@media (min-width:1101px) {
  .im-site-head { font-size:14px }
  .im-head-inner { max-width:1580px; box-sizing:border-box; padding-inline:clamp(12px,1.7vw,28px); gap:clamp(12px,1.25vw,22px) }
  #im-main-nav { gap:clamp(12px,1.15vw,20px) }
  #im-main-nav>.im-nav-valuation { font-weight:750; padding:.6rem .68rem; color:#fff; background:#191919; border-radius:3px }
  .im-nav-group>ul { max-width:min(340px,80vw); max-height:calc(100dvh - 9rem); overflow-y:auto }
  .im-nav-group:nth-last-of-type(-n+2)>ul { left:auto; right:-12px }
}
@media (min-width:1101px) and (max-width:1279px) {
  #im-main-nav,.im-head-inner { gap:10px }
  .im-search-open-button span,.im-head-actions .im-head-contact { display:none }
}
@media (min-width:1400px) {
  #im-main-nav>.im-direct-reviews{display:inline-flex;align-items:center;min-height:44px;white-space:nowrap}
}
@media (min-width:1251px) and (max-width:1549px) { .im-head-phone { display:none } }
@media (max-width:1100px) {
  #im-main-nav[data-open]>.im-direct-reviews {display:flex}
}
@media (max-width:359px) {
  .im-menu-button span { display:none }
  .im-menu-button { min-width:40px;min-height:44px }
}

@media (max-width:319px) {
  .im-head-inner {display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 8px;padding-block:5px}
  .im-brand{margin:0}.im-menu-button {justify-self:end}
  .im-head-actions{grid-column:1 / -1;justify-content:space-between}
}


/* Compact mobile header: keep logo, menu, valuation and search inside viewport. */
@media (max-width: 780px) {
 .im-site-head { width:100%; max-width:100%; }
 .im-site-head .im-head-inner { width:100%; max-width:100%; box-sizing:border-box; min-width:0; min-height:60px; padding-inline:clamp(9px,3.2vw,18px); gap:6px; }
 .im-site-head .im-brand { display:block; min-width:0; margin-right:auto; font-size:clamp(19px,4.8vw,23px); letter-spacing:-1.25px; word-spacing:.14em; white-space:nowrap; }
 .im-site-head .im-head-actions { flex-shrink:0; gap:5px; }
 .im-site-head .im-menu-button { flex-shrink:0; display:inline-flex; align-items:center; justify-content:center; min-width:40px; min-height:42px; padding:6px !important; }
 .im-site-head .im-menu-button span { display:none; }
 .im-site-head .im-search-open-button { flex-shrink:0; min-width:40px; min-height:42px; padding:7px !important; }
 .im-site-head .im-mobile-valuation { min-height:42px; padding:7px 8px; font-size:clamp(10px,2.9vw,12px); line-height:1.1; white-space:nowrap; }
 #im-main-nav[data-open] { box-sizing:border-box; width:100%; max-width:100%; padding:12px 18px 20px; }
}
@media (max-width: 360px) {
 .im-site-head .im-head-inner { padding-inline:7px; gap:3px; }
 .im-site-head .im-brand { font-size:18px; letter-spacing:-1.1px; word-spacing:.13em; }
 .im-site-head .im-menu-button { min-width:36px; padding:5px !important; }
 .im-site-head .im-search-open-button { min-width:36px; padding:5px !important; }
 .im-site-head .im-mobile-valuation { font-size:10px; padding:6px; }
}

/* Mobile: keep header focused on brand, menu and valuation; remove site-wide search icon. */
@media (max-width: 1100px) {
  .im-site-head .im-search-open-button { display: none !important; }
}

/* Shared wordmark and compact, two-column secondary navigation. */
.im-site-head .im-brand, .im-footer .im-footer-wordmark { white-space: nowrap; }
.im-site-head .im-brand { flex: 0 0 auto; }
.im-more-panel strong { display: block; margin: 4px 12px 8px; font-size: 14px; }
.im-nav-more .im-more-panel ul {
  position: static; width: auto; min-width: 0; max-width: none; max-height: none;
  margin: 0; padding: 0; border: 0; box-shadow: none;
}
@media (min-width:1101px) {
  .im-head-inner { min-height: 80px; padding-inline: clamp(26px, 3vw, 56px); gap: clamp(18px, 2.25vw, 36px); }
  #im-main-nav { gap: clamp(20px, 2.25vw, 36px); }
  .im-head-actions { gap: 10px; }
  .im-site-head .im-head-contact, .im-site-head .im-search-open-button {
    display: inline-flex; align-items: center; justify-content: center;
    min-height: 44px; padding: 8px !important; border: 0 !important;
  }
  .im-site-head .im-head-contact:hover, .im-site-head .im-search-open-button:hover { background: #f4f4f4 !important; }
  .im-search-open-button { min-width: 44px; }
  .im-search-open-button span { display: none; }
  .im-nav-more[open] > .im-more-panel {
    position: absolute; z-index: 10; top: 100%; right: -12px;
    display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 18px;
    width: min(550px, 66vw); max-height: calc(100dvh - 9rem); overflow: auto;
    padding: 18px; background: #fff; border: 1px solid #ddd; box-shadow: 0 8px 20px #0002;
  }
}
@media (max-width:1100px) {
  .im-nav-more[open] > .im-more-panel { margin: 0 0 12px 8px; padding-left: 8px; border-left: 2px solid #ccc; }
  .im-more-panel > div + div { margin-top: 14px; }
}
