/* Kinesio shared navigation - works on homepage Shadow DOM and regular pages. */
.kn-actions{display:flex;align-items:center;justify-content:flex-end;gap:16px;margin-left:auto;flex-shrink:0}
.kn-cta{display:inline-flex;justify-content:center;align-items:center;min-height:43px;padding:11px 18px;background:#ed653d;color:#fff!important;border-radius:3px;font:800 11px/1.2 Montserrat,Arial,sans-serif;letter-spacing:.055em;text-transform:uppercase;text-decoration:none;white-space:nowrap}
.kn-cta:hover{filter:brightness(1.12)}
.kn-toggle{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:10px 13px;background:transparent;border:1px solid #62666a;color:#fff;min-height:44px;border-radius:3px;cursor:pointer;font:800 11px/1 Montserrat,Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;transition:background .2s,border-color .2s}
.kn-toggle:hover,.kn-toggle[aria-expanded="true"]{background:#24282a;border-color:#ed653d}
.kn-toggle:focus-visible,.kn-panel button:focus-visible,.kn-panel a:focus-visible,.kn-panel summary:focus-visible{outline:3px solid #ed653d;outline-offset:3px}
.kn-bars{width:21px;height:17px;display:flex;flex-direction:column;justify-content:space-between;flex-shrink:0}
.kn-bars i{display:block;height:2px;width:100%;background:#fff;border-radius:2px}
.kn-toggle[aria-expanded="true"] .kn-bars i:first-child{transform:translateY(7.5px) rotate(45deg)}
.kn-toggle[aria-expanded="true"] .kn-bars i:nth-child(2){opacity:0}
.kn-toggle[aria-expanded="true"] .kn-bars i:last-child{transform:translateY(-7.5px) rotate(-45deg)}
.kn-dimmer[hidden],.kn-panel[hidden]{display:none!important}
.kn-dimmer{position:fixed;inset:0;background:rgba(0,0,0,.68);z-index:998;backdrop-filter:blur(3px)}
.kn-panel{position:fixed;z-index:999;right:0;top:0;bottom:0;width:min(432px,100vw);overflow-y:auto;overscroll-behavior:contain;background:#15181a;color:#fff;box-shadow:-16px 0 50px rgba(0,0,0,.43);border-left:1px solid #383b3e;padding:28px 29px calc(34px + env(safe-area-inset-bottom));font-family:'DM Sans',Arial,sans-serif}
.kn-panel *{box-sizing:border-box}.kn-panel a{color:#fff!important;text-decoration:none}.kn-panel-head{display:flex;justify-content:space-between;align-items:center;gap:16px;border-bottom:1px solid #424648;padding-bottom:23px;margin-bottom:12px}
.kn-panel-label{color:#ed653d;font:800 11px/1.4 Montserrat,Arial,sans-serif;text-transform:uppercase;letter-spacing:.17em}
.kn-close{background:transparent;border:1px solid #65696c;border-radius:3px;color:white;min-height:39px;padding:8px 11px;cursor:pointer;font:800 11px Montserrat,Arial,sans-serif;text-transform:uppercase;letter-spacing:.04em}
.kn-link,.kn-panel summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 3px;color:#fff;font:800 clamp(19px,4vw,24px)/1.3 Montserrat,Arial,sans-serif;letter-spacing:-.035em;border-bottom:1px solid #34383a;cursor:pointer}
.kn-panel summary{list-style:none}.kn-panel summary::-webkit-details-marker{display:none}.kn-panel summary::after{content:'+';color:#ed653d;font-size:28px;font-weight:500;line-height:1}.kn-services[open] > summary::after,.kn-memberships[open] > summary::after,.kn-therapy-options[open] > summary::after{content:'−'}
.kn-link::after{content:'↗';font-size:17px;font-weight:500;color:#ed653d}.kn-link:hover,.kn-panel summary:hover{color:#ffa78a}
.kn-subnav{padding:10px 5px 16px 22px;border-bottom:1px solid #34383a;display:flex;flex-direction:column;gap:0}
.kn-subnav a{display:block;padding:11px 0;color:#cdd0d0!important;font:700 14px/1.4 'DM Sans',Arial,sans-serif;border-bottom:1px solid #2f3234}
.kn-subnav a:last-child{border-bottom:0}.kn-subnav a:hover{color:#ff9b7a!important}.kn-active{color:#ff9c77!important}
.kn-panel-bottom{padding-top:27px}.kn-panel-bottom .kn-bottom-cta{display:flex;align-items:center;justify-content:center;min-height:53px;background:#ed653d;border-radius:3px;font:800 12px/1.3 Montserrat,Arial,sans-serif;letter-spacing:.03em;text-transform:uppercase;padding:12px 16px;text-align:center}
.kn-panel-bottom p{font-size:12px;line-height:1.6;color:#a8acad;text-align:center;margin-top:14px}
body.kn-locked{overflow:hidden}
@media(max-width:640px){.kn-toggle{padding:9px 11px;gap:8px;min-height:43px}.kn-toggle .kn-menu-word{display:none}.kn-cta{display:none}.kn-panel{padding:22px 22px calc(40px + env(safe-area-inset-bottom));width:min(100vw,420px)}.kn-link,.kn-panel summary{font-size:21px;padding:16px 3px}.kn-panel-bottom{padding-top:22px}}
@media(prefers-reduced-motion:reduce){.kn-toggle{transition:none}}

/* Nested expandable treatment navigation */
.kn-panel .kn-therapy-options{border-bottom:1px solid #34383a}
.kn-panel .kn-therapy-options > summary{font:750 13px/1.4 'DM Sans',Arial,sans-serif;padding:13px 2px 13px 10px;color:#e1e4e4;border-bottom:0;letter-spacing:0}
.kn-panel .kn-therapy-options > summary::after{font-size:19px}
.kn-therapy-links{border-left:2px solid #ed653d;margin:0 0 11px 12px;padding:0 0 0 14px}
.kn-panel .kn-therapy-links a{display:block;font:600 13px/1.4 'DM Sans',Arial,sans-serif;padding:9px 0;color:#cdd0d0!important;border-bottom:1px solid #303436}
.kn-panel .kn-therapy-links a:last-child{border-bottom:0}
.kn-panel .kn-therapy-links a:hover{color:#ffad94!important}


/* 2026-10-15: top-level section separation and predictable accordion layout. */
.kn-panel > details.kn-services,
.kn-panel > details.kn-memberships {
  display: block;
  position: relative;
  clear: both;
  width: 100%;
  flex: none;
}
.kn-panel > details.kn-memberships {
  margin-top: 13px;
  padding-top: 10px;
  border-top: 1px solid #53575a;
}
.kn-panel > details.kn-services > summary,
.kn-panel > details.kn-memberships > summary {
  display: flex;
  width: 100%;
  min-height: 60px;
  align-items: center;
  margin: 0;
  line-height: 1.3;
}
.kn-panel > details > .kn-subnav {
  display: flex;
  position: static;
  width: 100%;
  flex-direction: column;
  clear: both;
}
.kn-panel .kn-subnav-intro {
  color: #a7afb1;
  font: 600 11px/1.5 'DM Sans', Arial, sans-serif;
  letter-spacing: .025em;
  margin: 0 0 6px;
  padding: 5px 0 7px;
  border-bottom: 1px solid #303536;
}
@media (max-width:640px) {
  .kn-panel > details.kn-memberships { margin-top: 11px; padding-top: 8px; }
  .kn-panel > details.kn-services > summary,
  .kn-panel > details.kn-memberships > summary { min-height: 56px; }
}

/* Simplified information architecture: two primary care paths, no nested menus. */
.kn-panel .kn-link-gym { flex-wrap:wrap; gap:2px 14px; }
.kn-panel .kn-link-gym::after { order: 2; margin-left:auto; }
.kn-link-hint { order:3;flex-basis:100%;display:block; font:600 12px/1.5 'DM Sans',Arial,sans-serif; letter-spacing:0;color:#aeb7b9; margin:1px 0 0; }
.kn-panel .kn-active { color:#ffad94!important; }
@media(max-width:640px){ .kn-link-hint{font-size:11px;} }
