/* Native WordPress menu data; approved Noto / navy / fine-rule vocabulary. */
.htwp-site-navigation { color:var(--e-global-color-secondary,#18232e); font-family:'Noto Sans',sans-serif; }
.htwp-nav .htwp-site-navigation { display:flex; align-items:center; justify-content:flex-end; gap:8px; }
.htwp-desktop-navigation { min-width:0; }
.elementor-location-header.htwp-sticky-header { position:sticky; top:var(--htwp-admin-offset,0px); z-index:100; height:var(--htwp-header-reserved,auto); pointer-events:none; }
.htwp-sticky-header .htwp-header { pointer-events:auto; }
.elementor .htwp-header.htwp-header-compact .htwp-header-row { min-height:var(--htwp-compact-height,64px); padding-block:6px; }
.htwp-header.htwp-header-compact .htwp-header-row>.htwp-logo { width:var(--htwp-compact-logo,176px); flex-basis:var(--htwp-compact-logo,176px); }
.htwp-header.htwp-header-compact .htwp-logo img { width:var(--htwp-compact-logo,176px); }
.htwp-header-compact { box-shadow:0 4px 14px #18232e0a; }
/* Scroll inside the panel so its existing hover bridge is not clipped. */
.htwp-mega-content { max-height:calc(100dvh - var(--htwp-sticky-offset,100px) - 64px); overflow-y:auto; overscroll-behavior:contain; }
html:has(.htwp-sticky-header) { scroll-padding-top:calc(var(--htwp-sticky-offset,80px) + 24px); }
.elementor .htwp-clinical-navigation:has(.ht-reading-nav.ht-reading-enhanced) { top:calc(var(--htwp-sticky-offset,0px) + 12px); }
.htwp-site-navigation .htwp-search-open { display:flex; align-items:center; justify-content:center; width:44px; min-width:44px; height:48px; color:inherit; }
.htwp-search-open:hover { background:#f6f6f4; }
.htwp-search-dialog { width:calc(100% - 40px); max-width:760px; max-height:calc(100dvh - 48px); margin:24px auto; padding:28px; border:1px solid #d8dcde; background:#fff; color:#18232e; overflow-y:auto; overscroll-behavior:contain; }
.htwp-search-dialog::backdrop { background:#18232e80; }
.htwp-search-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:20px; }
.htwp-search-heading h2 { font-size:28px; line-height:1.3; font-weight:500; margin:0; }
.htwp-site-navigation .htwp-search-close { width:44px; height:44px; flex-shrink:0; font-size:22px; }
.htwp-search-form label { display:block; font-size:16px; margin-bottom:12px; }
.htwp-search-input-row { display:flex; gap:12px; }
.htwp-search-input-row input { min-width:0; width:100%; border:1px solid #b4bdc4; border-radius:0; min-height:48px; font:inherit; font-size:17px; padding:10px 12px; color:#18232e; background:#fff; }
.htwp-search-input-row button,.htwp-site-navigation .htwp-search-input-row button { background:var(--e-global-color-primary,#304d67); color:#fff; padding:12px 18px; min-height:48px; font-size:14px; font-family:inherit; white-space:nowrap; border:0; border-radius:0; }
.htwp-search-input-row button:hover,.htwp-site-navigation .htwp-search-input-row button:hover { background:#18232e; color:#fff; }
.htwp-search-input-row input:focus-visible,.htwp-search-page :is(a,button):focus-visible { outline:3px solid #304d67; outline-offset:3px; }
.htwp-search-help { font-size:13px; line-height:1.6; color:#46515b; margin:12px 0 20px; }
.htwp-search-status { font-size:14px; line-height:1.6; margin:0 0 12px; }
.htwp-search-results { list-style:none; padding:0; margin:0; }
.htwp-search-results li { border-top:1px solid #d8dcde; margin:0; }
.htwp-search-results a { display:block; padding:16px 0; color:#18232e; text-decoration:none; }
.htwp-search-results a:hover .htwp-search-result-title { text-decoration:underline; text-underline-offset:4px; }
.htwp-search-type { display:block; font-size:12px; line-height:1.5; color:#46515b; margin-bottom:5px; }
.htwp-search-result-title { display:block; font-size:18px; font-weight:500; line-height:1.5; }
.htwp-search-description { display:block; font-size:14px; line-height:1.6; color:#46515b; margin-top:6px; }
.htwp-search-page { padding-block:64px 80px; min-height:50vh; }
.htwp-search-page h1 { font-size:clamp(30px,4vw,42px); font-weight:500; line-height:1.3; margin-bottom:28px; }
.htwp-site-navigation ul { list-style:none; padding:0; margin:0; }
.htwp-site-navigation button { font:inherit; color:inherit; border:0; border-radius:0; background:none; padding:0; }
.htwp-site-navigation a { color:inherit; text-decoration:none; }
.htwp-site-navigation a:hover,.htwp-site-navigation a[aria-current] { color:var(--e-global-color-primary,#304d67); text-decoration:underline; text-underline-offset:5px; }
.htwp-site-navigation :is(a,button,summary):focus-visible { outline:3px solid var(--e-global-color-primary,#304d67); outline-offset:3px; }
.elementor .htwp-header { position:relative; z-index:100; }
.htwp-header-row .htwp-nav,.htwp-nav .elementor-widget-container,.htwp-nav .elementor-shortcode { position:static; }
.htwp-site-navigation button:is(:hover,:focus) { background:#f6f6f4; color:inherit; }
.htwp-nav .htwp-nav-roots { display:flex; justify-content:flex-end; align-items:center; gap:2px; }
.htwp-nav-root>a,.htwp-nav-root>button { display:flex; align-items:center; min-height:48px; padding:12px 10px; font-size:var(--htwp-navigation-text,14px); font-weight:500; white-space:nowrap; }
.htwp-mega-toggle span { margin-left:7px; font-size:15px; }
.htwp-site-navigation .htwp-current-branch { color:var(--e-global-color-primary,#304d67); font-weight:600; }
.htwp-mega-panel { display:none; position:absolute; top:100%; left:50%; transform:translateX(-50%); width:calc(100vw - 112px); max-width:1280px; background:#fff; padding:24px 28px 18px; border:1px solid #d8dcde; box-shadow:0 16px 26px #18232e12; }
.htwp-mega-panel:before { content:''; position:absolute; top:-32px; left:0; width:100%; height:32px; }
.htwp-mega-open .htwp-mega-panel { display:block; }
.htwp-mega-panel .htwp-directory-groups { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; }
[data-htwp-mega=techniques] .htwp-directory-groups { grid-template-columns:repeat(2,minmax(0,1fr)); }
.htwp-nav-root[data-htwp-mega=doctor] { position:relative; }
[data-htwp-mega=doctor] .htwp-mega-panel { left:0; transform:none; width:320px; }
[data-htwp-mega=doctor] .htwp-directory-groups { grid-template-columns:minmax(0,1fr); }
[data-htwp-mega=information] .htwp-mega-panel { width:min(900px,calc(100vw - 80px)); }
.htwp-mega-panel h3 { font-size:17px; line-height:1.4; font-weight:500; margin:0 0 14px; padding-bottom:14px; border-bottom:1px solid #d8dcde; letter-spacing:-.015em; }
.htwp-mega-panel li a { display:block; font-size:14px; line-height:1.45; padding:8px 0; }
.htwp-mega-utility { display:flex; gap:24px; border-top:1px solid #d8dcde; padding-top:13px; margin-top:18px; font-size:13px; }
.htwp-mega-utility a { min-height:28px; display:flex; align-items:center; }
.htwp-drawer-open { display:none; }
.htwp-navigation-drawer { color:var(--e-global-color-secondary,#18232e); padding:0 24px 24px; margin:0 0 0 auto; width:100%; max-width:520px; height:100dvh; max-height:100dvh; border:0; background:#fff; overflow-y:auto; overscroll-behavior:contain; }
.htwp-navigation-drawer::backdrop { background:#18232e80; }
.htwp-drawer-header { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:86px; border-bottom:1px solid #d8dcde; margin-bottom:12px; }
.htwp-drawer-header a { display:flex; align-items:center; min-height:48px; }
.htwp-drawer-logo { display:block; width:170px; height:auto; }
.htwp-site-navigation .htwp-drawer-close { width:48px; height:48px; font-size:24px; }
.htwp-mobile-roots>li { border-bottom:1px solid #d8dcde; }
.htwp-mobile-roots>li>a,.htwp-mobile-accordion>summary { display:flex; align-items:center; justify-content:space-between; min-height:54px; padding:12px 0; font-size:20px; font-weight:500; line-height:1.35; cursor:pointer; }
.htwp-mobile-accordion>summary { list-style:none; }
.htwp-mobile-accordion>summary::-webkit-details-marker { display:none; }
.htwp-mobile-accordion[open]>summary span { transform:rotate(45deg); }
.htwp-mobile-accordion .htwp-directory-group { padding:18px 0 8px; }
.htwp-mobile-accordion h3 { font-size:16px; line-height:1.45; margin:0 0 8px; font-weight:500; color:var(--e-global-color-primary,#304d67); }
.htwp-mobile-accordion li a { display:flex; align-items:center; min-height:44px; padding:10px 0; font-size:15px; line-height:1.5; }
.htwp-mobile-all a { display:flex; align-items:center; min-height:48px; margin-bottom:12px; font-size:14px; }
.htwp-nav-utility { display:grid; gap:20px; padding-top:28px; }
.htwp-nav-utility span { display:block; font-size:12px; letter-spacing:.04em; }
.htwp-nav-utility a { display:flex; align-items:center; min-height:44px; font-size:20px; }
.htwp-nav-emergency_phone { border-left:2px solid var(--e-global-color-primary,#304d67); padding-left:14px; }
.htwp-directory { padding:0 0 32px; }
.htwp-directory .htwp-directory-group { border-top:1px solid #d8dcde; padding:40px 0 44px; }
.htwp-directory h2 { font-size:clamp(26px,2.7vw,34px); font-weight:500; line-height:1.2; letter-spacing:-.03em; margin:0 0 14px; }
.htwp-directory .htwp-directory-description { font-size:16px; color:var(--e-global-color-text,#46515b); margin-bottom:22px; }
.htwp-directory ul { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 32px; list-style:none; padding:0; margin:0; }
.htwp-directory li { margin:0; padding:0; border-bottom:1px solid #e6e8e9; }
.htwp-directory li a { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:64px; padding:14px 0; font-size:17px; line-height:1.5; text-decoration:none; color:var(--e-global-color-secondary,#18232e); }
.htwp-directory a span { font-size:18px; flex-shrink:0; color:var(--e-global-color-primary,#304d67); transition:transform .18s; }
.htwp-directory a:hover,.htwp-directory a:focus-visible { color:var(--e-global-color-primary,#304d67); text-decoration:underline; text-underline-offset:5px; }
.htwp-directory a:hover span { transform:translate(3px,-3px); }
.htwp-directory a:focus-visible { outline:3px solid var(--e-global-color-primary,#304d67); outline-offset:3px; }
.htwp-examples { display:flex; flex-wrap:wrap; gap:4px 20px; list-style:none; padding:0; margin:0; }
.htwp-examples li { margin:0; }
.htwp-examples a { display:inline-flex; align-items:center; min-height:44px; color:var(--e-global-color-primary,#304d67); font-size:16px; text-decoration:underline; text-decoration-color:#b8c5cf; text-underline-offset:5px; }
.htwp-examples a:hover { text-decoration-color:currentColor; }
/* Numbers are decorative; their scale and spacing cannot compete with the section name. */
.htwp-compact-chapters .htwp-chapter>h2 { font-size:var(--htwp-chapter-title,clamp(26px,2.5vw,32px)); line-height:1.25; }
.htwp-compact-chapters .htwp-chapter>h2:before { font-size:var(--htwp-chapter-number,34px); line-height:1; margin-bottom:14px; }
.elementor .htwp-clinical-title { max-width:1100px; }
@media(max-width:1200px) and (min-width:1025px) {
 .elementor .htwp-header-row { gap:12px; }
 .htwp-header-row>.htwp-logo { width:160px; flex-basis:160px; }
 .htwp-nav-root>a,.htwp-nav-root>button { padding-inline:6px; font-size:13px; }
 .htwp-header.htwp-header-compact .htwp-header-row>.htwp-logo { width:160px; flex-basis:160px; }
 .htwp-header.htwp-header-compact .htwp-logo img { width:160px; }
 .htwp-mega-panel { width:calc(100vw - 64px); }
}
@media(max-width:1024px) {
 .htwp-desktop-navigation { display:none; }
 .htwp-site-navigation .htwp-drawer-open { display:flex; align-items:center; justify-content:center; gap:12px; min-height:48px; min-width:100px; margin-left:auto; font-size:15px; }
 .htwp-directory ul { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .htwp-compact-chapters .htwp-chapter>h2 { font-size:var(--htwp-chapter-title-tablet,28px); }
 .htwp-compact-chapters .htwp-chapter>h2:before { font-size:var(--htwp-chapter-number-tablet,30px); }
}
@media(max-width:767px) {
 .htwp-directory ul { grid-template-columns:minmax(0,1fr); }
 .htwp-directory .htwp-directory-group { padding:28px 0 32px; }
 .htwp-directory li a { min-height:56px; font-size:16px; }
 .htwp-compact-chapters .htwp-chapter>h2 { font-size:var(--htwp-chapter-title-mobile,26px); }
 .htwp-compact-chapters .htwp-chapter>h2:before { font-size:var(--htwp-chapter-number-mobile,28px); margin-bottom:12px; }
 .htwp-navigation-drawer { padding-inline:20px; }
 .htwp-header-row>.htwp-logo { width:clamp(128px,38vw,188px); flex-basis:clamp(128px,38vw,188px); }
 .htwp-header-row>.htwp-logo img { width:100%; }
 .htwp-header.htwp-header-compact .htwp-header-row>.htwp-logo { width:var(--htwp-compact-logo-mobile,130px); flex-basis:var(--htwp-compact-logo-mobile,130px); }
 .htwp-header.htwp-header-compact .htwp-logo img { width:var(--htwp-compact-logo-mobile,130px); }
 .elementor .htwp-header.htwp-header-compact .htwp-header-row { min-height:var(--htwp-compact-height-mobile,60px); }
 .htwp-site-navigation .htwp-drawer-open { min-width:76px; gap:8px; }
 .htwp-nav .htwp-site-navigation { gap:4px; }
 .htwp-search-dialog { padding:20px; width:calc(100% - 24px); margin:12px auto; max-height:calc(100dvh - 24px); }
 .htwp-search-input-row { flex-wrap:wrap; gap:10px; }
 .htwp-search-input-row button { width:100%; }
 .htwp-search-result-title { font-size:17px; }
}
@media(prefers-reduced-motion:reduce) { .htwp-site-navigation *, .htwp-directory a span { transition:none; scroll-behavior:auto; } }
