/* Dr Stretcher global navigation — 22 October 2026
   Design safeguard: homepage's premium centred SVG wordmark, spacing,
   hero, photography and content are not altered. */
.brand-home{display:inline-block;max-width:100%;color:inherit;text-decoration:none}
.brand-home:focus-visible{outline:2px solid #006044;outline-offset:6px;border-radius:4px}
.site-nav{position:relative;z-index:40;background:#fffefa;border-top:1px solid #f2e9e0;border-bottom:1px solid #e8ded3;}
.site-nav-inner{max-width:1550px;min-height:51px;padding:0 clamp(15px,2.7vw,40px);margin:auto;display:grid;grid-template-columns:170px minmax(0,1fr) 170px;align-items:center;gap:15px}
.site-nav-links{display:flex;align-items:center;justify-content:center;gap:clamp(17px,2.15vw,33px);min-width:0}
.site-nav-links a{font:700 11px/1.3 'DM Sans',Arial,sans-serif;letter-spacing:.075em;text-decoration:none;white-space:nowrap;border-bottom:2px solid transparent;padding:18px 0 15px;transition:color .2s,border-color .2s}
.site-nav-links a:hover,.site-nav-links a[aria-current="page"]{color:#004b35;border-bottom-color:#004b35}
.site-nav-cta{justify-self:end;display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:9px 15px;border-radius:99px;background:#004b35;color:white;font:800 10px/1.1 'DM Sans',Arial,sans-serif;letter-spacing:.055em;text-decoration:none;white-space:nowrap;transition:background-color .2s}
.site-nav-cta:hover{background:#006044}
.site-nav-cta span{font-size:15px;margin-left:8px}
.site-nav-mobile{display:none}
.site-nav a:focus-visible,.site-nav-mobile summary:focus-visible{outline:2px solid #c59b55;outline-offset:4px}
@media(max-width:1120px){
 .site-nav-inner{grid-template-columns:1fr auto;gap:8px;min-height:47px}
 .site-nav-links{justify-content:flex-start;gap:clamp(12px,1.8vw,25px)}
 .site-nav-links a{font-size:10px;letter-spacing:.035em}
 .site-nav-cta{padding:8px 12px;font-size:9px}
}
@media(max-width:850px){
 .site-nav-inner{display:block;min-height:0;padding:0 clamp(17px,4vw,28px)}
 .site-nav-links,.site-nav-cta{display:none}
 .site-nav-mobile{display:block;position:relative}
 .site-nav-mobile summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:10px;cursor:pointer;min-height:49px;font:800 11px/1.3 'DM Sans',Arial,sans-serif;letter-spacing:.09em;color:#004b35;user-select:none}
 .site-nav-mobile summary::-webkit-details-marker{display:none}
 .site-nav-mobile .menu-toggle{display:inline-flex;align-items:center;gap:8px;color:#212322}
 .site-nav-mobile .menu-toggle svg{height:19px;width:19px;stroke:currentColor;stroke-width:1.7;fill:none}
 .site-nav-mobile[open] summary .menu-toggle{color:#004b35}
 .site-nav-mobile nav{position:absolute;top:100%;left:-17px;right:-17px;background:#fffefa;z-index:100;border:1px solid #e8ded3;border-top:none;box-shadow:0 16px 28px #25201722;padding:10px 18px 18px;display:flex;flex-direction:column}
 .site-nav-mobile nav a{text-decoration:none;display:block;padding:12px 10px;border-bottom:1px solid #eee6dc;font:700 13px/1.4 'DM Sans',Arial,sans-serif}
 .site-nav-mobile nav a:hover,.site-nav-mobile nav a[aria-current="page"]{color:#004b35;background:#eff5ef}
 .site-nav-mobile nav .mobile-book-button{background:#004b35;color:white;border-radius:40px;text-align:center;margin-top:14px;border-bottom:none;padding:14px 16px;letter-spacing:.06em}
}
@media(max-width:480px){.site-nav-mobile summary{min-height:43px;font-size:10px}}
@media print{.site-nav{display:none!important}}
/* Align the existing dedicated-page desktop/mobile navigation with the homepage's links. */
.sub-header .desktop-nav a{letter-spacing:.055em}
.sub-header .desktop-nav a:focus-visible,.sub-header .menu summary:focus-visible,.sub-header .menu a:focus-visible,.sub-header .sub-brand:focus-visible{outline:2px solid #c59b55;outline-offset:3px}
