/* Shared navigation only; page content and held Services presentation stay intact. */
html{scroll-padding-top:7rem}
.grouped-header,.grouped-header.is-scrolled{background:#fffdf8;border-bottom:1px solid #d7d9cb}
.grouped-header .header-bar,.grouped-header.is-scrolled .header-bar{display:grid;grid-template-columns:auto 1fr auto;gap:2rem;min-height:96px;padding-block:1rem}
.grouped-header .wordmark{margin:0;gap:.65rem}
.grouped-header .centre-symbol{width:48px;height:48px}
.grouped-header .centre-name{font-size:1.75rem}
.grouped-header .primary-nav{display:block;grid-column:2;grid-row:1;width:auto;opacity:1}
.grouped-header .primary-nav>ul{display:flex;justify-content:center;align-items:center;gap:.25rem;overflow:visible;padding:0;max-height:none;border:0}
.grouped-header .primary-nav li{margin:0}
.grouped-header .primary-nav a,.grouped-header .nav-btn{display:flex;align-items:center;gap:.5rem;background:transparent;border:0;border-radius:4px;color:#34281c;font:500 1rem/1.4 var(--font-body);padding:.7rem .8rem;min-height:44px;text-decoration:none;cursor:pointer;white-space:nowrap;max-width:none}
.grouped-header .nav-btn::after{content:none}
.grouped-header .primary-nav a:hover,.grouped-header .nav-btn:hover,.grouped-header .nav-btn[aria-expanded=true]{background:#e8eddf;color:#244431}
.grouped-header .primary-nav a[aria-current=page],.grouped-header .nav-section-current>.nav-btn{color:#35543c;text-decoration:underline;text-decoration-color:#bc5a2d;text-decoration-thickness:2px;text-underline-offset:7px}
.grouped-header :is(a,button):focus-visible{outline:2px solid #35543c;outline-offset:4px}
.grouped-header .nav-chevron{width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-3px}
.grouped-header .nav-btn[aria-expanded=true] .nav-chevron{transform:rotate(225deg);margin-top:3px}
.grouped-header .nav-group{position:relative}
.grouped-header .nav-group>ul{display:none;position:absolute;top:calc(100% + .5rem);left:0;min-width:285px;max-width:340px;padding:.5rem;list-style:none;background:#fffdf8;border:1px solid #d7d9cb;border-radius:8px;box-shadow:0 12px 30px #24443118;opacity:1;visibility:visible;transform:none;pointer-events:auto;max-height:none;margin:0;z-index:60}
.grouped-header .nav-group[data-open=true]>ul{display:block}
.grouped-header .nav-group>ul a{white-space:normal;padding:.8rem .9rem;line-height:1.5}
.grouped-header .header-actions{display:block;grid-column:3;grid-row:1;margin:0}
.grouped-header .header-actions .btn{font-size:.9375rem;padding:.8rem 1.15rem;background:#35543c;border-color:#35543c;color:#fffdf8;white-space:nowrap}
.grouped-header .header-actions .btn:hover{background:#244431;border-color:#244431}
.grouped-header .menu-toggle,.grouped-header .primary-nav .mobile-booking,.grouped-header .primary-nav a.mobile-home{display:none}
@media(max-width:1200px){
 .grouped-header .header-bar,.grouped-header.is-scrolled .header-bar{grid-template-columns:1fr auto;gap:0 1rem;min-height:78px;padding-block:.85rem}
 .grouped-header .header-actions{display:none}
 .grouped-header .menu-toggle{display:block;grid-column:2;grid-row:1;min-height:44px;padding:.6rem .85rem;border:1px solid #35543c;border-radius:4px;background:transparent;color:#35543c;font:600 1rem/1.4 var(--font-body);cursor:pointer}
 .grouped-header .primary-nav{display:none;grid-column:1/-1;grid-row:2;width:100%}
 .grouped-header .primary-nav[data-open=true]{display:block}
 .grouped-header .primary-nav>ul{display:block;max-height:calc(100dvh - 110px);overflow-y:auto;overscroll-behavior:contain;padding:.75rem 0 .25rem;margin-top:.75rem;border-top:1px solid #d7d9cb}
 .grouped-header .primary-nav a,.grouped-header .nav-btn{width:100%;min-height:48px;font-size:1.0625rem;padding:.75rem .5rem}
 .grouped-header .nav-btn{justify-content:space-between}
 .grouped-header .nav-group>ul{position:static;min-width:0;max-width:none;box-shadow:none;border:0;border-left:2px solid #d7d9cb;border-radius:0;margin:.2rem 0 .5rem .5rem;padding:0 0 0 .5rem;background:transparent}
 .grouped-header .nav-group>ul a{font-size:1rem;padding:.65rem .75rem}
 .grouped-header .primary-nav a.mobile-home{display:flex}
 .grouped-header .primary-nav .mobile-booking{display:flex!important;justify-content:center;width:100%!important;max-width:none;background:#35543c!important;color:#fffdf8!important;border-radius:4px;margin:.75rem 0 .25rem;padding:.85rem 1rem!important;font-size:1rem}
}
@media(max-width:400px){.grouped-header .centre-symbol{width:40px;height:40px}.grouped-header .centre-name{font-size:1.5rem}.grouped-header .wordmark{gap:.5rem}}
/* Self-check is a visible entry point for visitors who are not ready to book. */
.grouped-header .header-bar,.grouped-header.is-scrolled .header-bar{gap:1.25rem}
.grouped-header .header-actions{display:flex;align-items:center;gap:.65rem}
.grouped-header .primary-nav a,.grouped-header .nav-btn{padding-inline:.6rem}
.grouped-header .header-actions .header-self-check{display:flex;align-items:center;justify-content:center;gap:.65rem;background:#fcf3e6;color:#9a4426;border:1px solid #9a4426}
.grouped-header .header-actions .header-self-check:hover{background:#f3e3cf;color:#78351e;border-color:#78351e}
.grouped-header .header-actions .header-self-check[aria-current=page]{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:2px}
@media(max-width:1200px){
 .grouped-header .header-bar,.grouped-header.is-scrolled .header-bar{gap:.65rem 1rem}
 .grouped-header .header-actions{grid-column:1/-1;grid-row:2;display:flex}
 .grouped-header .header-actions .btn:not(.header-self-check){display:none}
 .grouped-header .header-actions .header-self-check{display:flex;width:100%;min-height:44px;padding:.6rem 1rem;font-size:1rem}
 .grouped-header .primary-nav{grid-row:3}
 .grouped-header .primary-nav>ul{max-height:calc(100dvh - 165px);margin-top:0}
}
/* Flexible narrow header also supports enlarged text without horizontal scrolling. */
@media(max-width:600px){
 .grouped-header .header-bar,.grouped-header.is-scrolled .header-bar{display:flex;flex-wrap:wrap;gap:.65rem 1rem;padding-inline:20px}
 .grouped-header .wordmark{flex:1 1 170px;max-width:100%;min-width:0}
 .grouped-header .centre-name{min-width:0;overflow-wrap:anywhere;text-transform:none;letter-spacing:-.04em}
 .grouped-header .centre-name>span{letter-spacing:.25em;text-transform:uppercase}
 .grouped-header .centre-symbol{flex:none}
 .grouped-header .menu-toggle{flex:0 0 auto;margin-left:auto}
 .grouped-header .header-actions{order:2;width:100%;min-width:0}
 .grouped-header .header-actions .header-self-check{white-space:normal;min-width:0}
 .grouped-header .primary-nav{order:3;min-width:0;width:100%}
 .grouped-header .primary-nav a,.grouped-header .nav-btn{white-space:normal;overflow-wrap:anywhere}
}

/* Emily's direct page labels. Desktop separates actions from the complete route row. */
.direct-header .header-bar,.direct-header.is-scrolled .header-bar{grid-template-columns:minmax(0,1fr) auto;gap:.5rem 1.5rem;padding-block:.65rem;min-height:0}
.direct-header .centre-symbol{width:60px;height:60px}
.direct-header .wordmark{grid-column:1;grid-row:1}
.direct-header .header-actions{grid-column:2;grid-row:1}
.direct-header .primary-nav{grid-column:1/-1;grid-row:2}
.direct-header .primary-nav>ul{justify-content:space-between;flex-wrap:wrap;gap:0 .25rem;border-top:1px solid var(--line);padding-top:.25rem}
.direct-header .primary-nav a{font-size:1rem;padding:.6rem .4rem;white-space:normal;line-height:1.35;max-width:none;letter-spacing:normal}
.direct-header .primary-nav .mobile-booking{display:none!important}
@media(max-width:1200px){
 .direct-header .header-bar,.direct-header.is-scrolled .header-bar{grid-template-columns:minmax(0,1fr) auto;gap:0 .75rem;padding-block:.55rem}
 .direct-header .centre-symbol{width:46px;height:46px}
 .direct-header .primary-nav{grid-row:3}
 .direct-header .header-actions{grid-column:1/-1;grid-row:2}
 .direct-header .primary-nav>ul{display:block;max-height:calc(100dvh - 155px);overflow-y:auto;padding-top:.5rem}
 .direct-header .primary-nav a{font-size:1.125rem;min-height:48px;padding:.65rem .5rem}
 .direct-header .primary-nav .mobile-booking{display:flex!important}
}
@media(max-width:600px){.direct-header .centre-symbol{width:44px;height:44px}.direct-header .centre-name{font-size:1.6rem}}
.telehealth-strip{background:#35543c;color:#fffdf8;text-align:center;font:500 .9375rem/1.4 var(--font-body);padding:.6rem 1rem}
.direct-header .primary-nav a[href*="influences"]{max-width:none}
