/* Reference header enhancement. New elements are absent from mobile layout. */
.ihh-header-utility,.ihh-header-booking{display:none}

@media(min-width:1024px){
  html{scroll-padding-top:130px}
  :is(body.home.ihh-approved,body) .site-header.site-header--reference{
    background:#00213f;color:#fff;
  }
  .site-header--reference .ihh-header-utility{
    display:block;height:34px;background:#00182b;border-bottom:1px solid rgba(255,255,255,.1);
  }
  .site-header--reference .ihh-header-utility__inner{
    display:flex;align-items:center;justify-content:space-between;gap:20px;
    width:min(1280px,calc(100% - 64px));height:34px;margin:0 auto;
    color:#b9cbdc;font-size:11px;line-height:1.3;
  }
  .ihh-header-utility__left,.ihh-header-utility__right{
    display:flex;align-items:center;gap:24px;min-width:0;
  }
  .ihh-header-utility__right{flex-shrink:0}
  .ihh-header-availability,.ihh-header-address,.ihh-header-email,.ihh-header-call{
    display:inline-flex;align-items:center;gap:8px;color:inherit;text-decoration:none;white-space:nowrap;
  }
  .ihh-header-availability>span{width:7px;height:7px;flex:none;border-radius:50%;background:#43b39c}
  .ihh-header-address{gap:7px}
  .ihh-header-utility svg{width:14px;height:14px;flex:none;fill:none;stroke:var(--gold,#f5a800);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  .ihh-header-call strong{color:#fff;font-weight:650;letter-spacing:.02em}
  .ihh-header-utility a:hover{color:#fff}
  :is(body.home.ihh-approved,body) .site-header.site-header--reference .header-inner{
    display:flex;align-items:center;justify-content:space-between;
    width:min(1280px,calc(100% - 64px));height:88px;min-height:88px;
    margin:0 auto;padding:0;gap:28px;
  }
  :is(body.home.ihh-approved,body) .site-header.site-header--reference .brand{
    display:flex;align-items:center;justify-content:flex-start;flex:0 0 90px;max-width:90px;
  }
  :is(body.home.ihh-approved,body) .site-header.site-header--reference .brand .site-logo{
    display:block;flex:none;width:auto;height:52px;max-width:100%;max-height:52px;object-fit:contain;
  }
  :is(body.home.ihh-approved,body) .site-header.site-header--reference .desktop-nav{
    display:block;flex:1;min-width:0;margin:0;order:0;
  }
  :is(body.home.ihh-approved,body) .site-header.site-header--reference .desktop-nav>ul{
    display:flex;align-items:center;justify-content:center;gap:clamp(16px,2vw,30px);
  }
  :is(body.home.ihh-approved,body) .site-header.site-header--reference .desktop-nav>ul>li>a{
    display:inline-flex;align-items:center;gap:8px;padding-block:16px;
    color:#e5edf6;font-size:14px;font-weight:500;line-height:1.4;
    text-transform:none;letter-spacing:-.025em;text-decoration:none;
  }
  .site-header--reference .desktop-nav>ul>.nav-item--mr>a{font-size:13px}
  .site-header--reference .desktop-nav>ul>.nav-item--mr>a::before{
    content:"";width:5px;height:5px;flex:none;border-radius:50%;background:var(--gold,#f5a800);
  }
  :is(body.home.ihh-approved,body) .site-header.site-header--reference .desktop-nav>ul>li>a:hover,
  :is(body.home.ihh-approved,body) .site-header.site-header--reference .desktop-nav>ul>li>a[aria-current="page"],
  :is(body.home.ihh-approved,body) .site-header.site-header--reference .desktop-services-menu.is-open>a{
    color:var(--gold,#f5a800);
  }
  :is(body.home.ihh-approved,body) .site-header.site-header--reference .ihh-header-booking{
    display:inline-flex;align-items:center;justify-content:center;flex:none;gap:9px;order:1;
    min-height:42px;padding:0 20px;border:1px solid var(--gold,#f5a800);border-radius:4px;
    color:#00213f;background:var(--gold,#f5a800);font-size:13px;font-weight:650;line-height:1.3;
    white-space:nowrap;text-decoration:none;
  }
  .ihh-header-booking svg{display:block;width:17px;height:17px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  .site-header--reference .ihh-header-booking:hover{background:#ffbb24;border-color:#ffbb24}
  :is(body.home.ihh-approved,body) .site-header.site-header--reference .header-actions,
  :is(body.home.ihh-approved,body) .site-header.site-header--reference .mobile-search{display:none}
  .site-header--reference a:focus-visible{outline:2px solid #f5a800;outline-offset:4px}
  :is(body.home.ihh-approved,body) .site-header.site-header--reference.site-header--sticky{
    height:110px;min-height:110px;box-shadow:0 5px 18px rgba(0,24,47,.15);
  }
  :is(body.home.ihh-approved,body) .site-header.site-header--reference.site-header--sticky .header-inner{
    height:76px;min-height:76px;
  }
  :is(body.home.ihh-approved,body) .site-header.site-header--reference.site-header--sticky .site-logo{
    height:50px;max-height:50px;
  }
  html:has(body.admin-bar){scroll-padding-top:162px}
  /* Reserve the two-row header plus a 32px reading gap on existing inner heroes. */
  body:has(.site-header--reference) .subpage-hero .subpage-hero__inner,
  body:has(.site-header--reference) .services-hero .services-hero__inner{padding-top:154px}
  body:has(.site-header--reference) .article-hero{padding-top:154px}

}
@media(min-width:1024px) and (max-width:1199px){
  .site-header--reference .ihh-header-address{display:none}
  :is(body.home.ihh-approved,body) .site-header.site-header--reference .header-inner{gap:14px;width:calc(100% - 48px)}
  :is(body.home.ihh-approved,body) .site-header.site-header--reference .brand{flex-basis:72px;max-width:72px}
  :is(body.home.ihh-approved,body) .site-header.site-header--reference .desktop-nav>ul{gap:14px}
  :is(body.home.ihh-approved,body) .site-header.site-header--reference .desktop-nav>ul>li>a{font-size:12px}
  :is(body.home.ihh-approved,body) .site-header.site-header--reference .ihh-header-booking{padding-inline:14px;font-size:12px}
}

/* Homepage desktop: match the approved reference gap (8.4% of viewport width). */
@media (min-width: 1024px) {
  body.home.ihh-approved .ihh-home-hero__inner { padding-top: calc(122px + 8.4vw); }
}

/* Position the roof, rather than the text: the source roof starts at 16% of image height.
   Preserve image scale and right edge; leave the reference's 5.6vw sky gap below the header. */
@media (min-width: 1024px) {
  body.home.ihh-approved .ihh-home-hero__image {
    inset: calc(122px + 5.6vw - 16%) 0 auto auto;
    width: auto;
    max-width: none;
    height: 100%;
    object-fit: contain;
  }
}
