/* round261: shared public header (assets/site-nav.js renders it from ONE
   config), the phone bottom tab bar, the skip link, the compact homepage
   hero and the pricing.html hub. Kept out of style.css so its ?v=194
   cache-buster (pinned on every page) does not move. Linked as
   assets/site-nav.css?v=261. Everything here is scoped to classes the
   script adds (.mm-header / .mm-nav / .mm-tabbar-on), so a page whose
   script did not run keeps the plain fallback links styled by style.css. */

/* ---- skip link + focus ---- */
.skip-link{position:absolute;left:-9999px;top:0;z-index:300;background:var(--white);color:var(--navy);font-weight:bold;padding:10px 16px;border-radius:0 0 6px 0;text-decoration:none;}
.skip-link:focus{left:0;outline:3px solid var(--red);outline-offset:0;}
#main-content:focus{outline:none;}

/* ---- header: desktop ---- */
header.mm-header .nav-row{position:relative;gap:12px;}
header.mm-header nav.mm-nav{display:flex;flex:1;align-items:center;justify-content:space-between;gap:18px;margin-left:28px;}
nav.mm-nav ul{list-style:none;margin:0;padding:0;}
nav.mm-nav .mm-primary{display:flex;align-items:center;gap:22px;}
nav.mm-nav .mm-client{display:flex;align-items:center;gap:10px;}
nav.mm-nav .mm-menu-extra{display:none;}
nav.mm-nav a{white-space:nowrap;}
nav.mm-nav a.mm-link{display:inline-block;}
nav.mm-nav a[aria-current="page"],nav.mm-nav a.mm-link.active{color:var(--white);border-bottom:2px solid var(--red);}
header.mm-header a:focus-visible,header.mm-header button:focus-visible{outline:2px solid var(--white);outline-offset:3px;border-radius:3px;}

.mm-has-mega{display:flex;align-items:center;gap:2px;}
.mm-mega-btn{background:none;border:none;color:#d7deee;cursor:pointer;font-family:inherit;padding:4px 6px;min-width:28px;min-height:28px;border-radius:4px;line-height:1;}
.mm-mega-btn:hover,.mm-has-mega.open .mm-mega-btn{color:var(--white);background:rgba(255,255,255,0.1);}
.mm-mega-btn .nav-caret{display:inline-block;font-size:8pt;transition:transform .15s ease;}
.mm-has-mega.open .mm-mega-btn .nav-caret{transform:rotate(180deg);}

/* client group: ghost link, outline button, the one filled button */
nav.mm-nav .mm-btn-ghost{color:#d7deee;padding:7px 10px !important;border:1px solid transparent !important;border-radius:4px;}
nav.mm-nav .mm-btn-ghost:hover,nav.mm-nav .mm-btn-ghost[aria-current="page"]{color:var(--white);border-color:rgba(255,255,255,0.45) !important;text-decoration:none;}
nav.mm-nav .mm-btn-outline{color:var(--white) !important;padding:6px 14px !important;border:2px solid rgba(255,255,255,0.85) !important;border-radius:4px;font-weight:bold;}
nav.mm-nav .mm-btn-outline:hover{background:var(--white);color:var(--navy) !important;text-decoration:none;}
nav.mm-nav .nav-cta[aria-current="page"]{border-bottom:none;}

/* mega-menu panel: the four offers as track-colored cards */
.mm-mega{display:none;position:absolute;left:24px;right:24px;top:100%;z-index:130;background:var(--white);color:var(--ink);border-top:3px solid var(--red);border-radius:0 0 10px 10px;box-shadow:0 14px 30px rgba(10,16,32,0.28);padding:18px 18px 14px 18px;}
.mm-has-mega.open .mm-mega{display:block;}
.mm-mega-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;}
nav.mm-nav a.mm-card{display:flex;flex-direction:column;gap:4px;white-space:normal;padding:12px 14px !important;border:1px solid var(--border) !important;border-left:5px solid var(--navy) !important;border-radius:8px;color:var(--ink);background:var(--light-bg);text-decoration:none;min-height:44px;}
nav.mm-nav a.mm-card:hover,nav.mm-nav a.mm-card:focus-visible{box-shadow:0 0 0 2px var(--navy) inset;color:var(--ink);text-decoration:none;}
nav.mm-nav a.mm-card:focus-visible{outline:3px solid var(--navy);outline-offset:2px;}
.mm-card.trk-hybrid{background:#e3eafc;border-left-color:var(--blue) !important;}
.mm-card.trk-specialty{background:var(--purple-bg);border-left-color:var(--purple) !important;}
.mm-card.trk-stretch{background:var(--yellow-bg);border-left-color:var(--yellow) !important;}
.mm-card.trk-newcomer{background:#fbeeec;border-left-color:var(--red) !important;}
.mm-card.trk-nutrition{background:var(--teal-bg);border-left-color:var(--teal) !important;}
.mm-card-title{font-weight:bold;color:var(--navy);font-size:10.5pt;}
.mm-card-text{font-size:9pt;line-height:1.4;color:var(--ink);}
.mm-card-hint{font-size:8.8pt;font-weight:bold;color:#9b2c20;margin-top:auto;}
.mm-mega-more{display:flex;flex-wrap:wrap;gap:6px 20px;margin-top:12px;padding-top:10px;border-top:1px solid var(--border);}
nav.mm-nav .mm-mega-more a{color:var(--navy);font-weight:bold;font-size:9.2pt;border-bottom:none;padding:4px 0;}
nav.mm-nav .mm-mega-more a:hover{text-decoration:underline;border-bottom:none;}
nav.mm-nav .mm-mega a:focus-visible{outline:2px solid var(--navy);outline-offset:2px;}

@media (min-width:761px){
  /* style.css hides the fallback nav at <= 800px; the rendered nav is a
     desktop bar down to 761px */
  header.mm-header nav.mm-nav{display:flex;position:static;flex-direction:row;background:none;padding:0;border:0;}
  header.mm-header .menu-toggle{display:none;}
  nav.mm-nav a.mm-link{padding:6px 0;width:auto;border-bottom:2px solid transparent;}
  nav.mm-nav a.mm-link:hover,nav.mm-nav a.mm-link.active,nav.mm-nav a.mm-link[aria-current="page"]{color:var(--white);border-bottom-color:var(--red);}
  nav.mm-nav .mm-client a{width:auto;}
  nav.mm-nav .nav-cta{margin-top:0;}
}
@media (min-width:761px) and (max-width:1059px){
  nav.mm-nav .mm-client li:nth-child(2){display:none;} /* "Book a session" -> Schedule covers it */
  header.mm-header nav.mm-nav{margin-left:16px;gap:12px;}
  nav.mm-nav .mm-primary{gap:14px;}
}
@media (min-width:761px) and (max-width:899px){
  header.mm-header .brand .name{font-size:14pt;}
  header.mm-header .nav-row{padding-left:16px;padding-right:16px;}
  nav.mm-nav .mm-primary li:nth-child(5){display:none;} /* Resources stays in the footer */
  nav.mm-nav .mm-primary{gap:12px;}
  nav.mm-nav a,.mm-mega-btn{font-size:9pt;}
  .mm-mega{left:12px;right:12px;}
  .mm-mega-cards{grid-template-columns:repeat(2,minmax(0,1fr));}
}

/* ---- header: phones (<= 760px) -- logo + menu button; full-height menu ---- */
@media (max-width:760px){
  header.mm-header .nav-row{padding:10px 16px;}
  header.mm-header .menu-toggle{display:flex;align-items:center;justify-content:center;min-width:48px;min-height:48px;}
  header.mm-header nav.mm-nav{display:none;position:absolute;top:100%;left:0;right:0;margin:0;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:14px;background:var(--navy-2);border-bottom:3px solid var(--red);padding:8px 20px calc(24px + env(safe-area-inset-bottom, 0px)) 20px;max-height:calc(100vh - 70px);max-height:calc(100dvh - 70px);overflow-y:auto;-webkit-overflow-scrolling:touch;}
  header.mm-header nav.mm-nav.open{display:flex;}
  body.mm-menu-open{overflow:hidden;}
  nav.mm-nav .mm-primary{flex-direction:column;align-items:stretch;gap:0;}
  nav.mm-nav .mm-primary>li{border-bottom:1px solid #33447a;}
  nav.mm-nav a.mm-link{display:flex;align-items:center;min-height:48px;padding:0;border-bottom:none;font-size:11pt;flex:1;}
  nav.mm-nav a.mm-link.active,nav.mm-nav a.mm-link[aria-current="page"]{border-bottom:none;box-shadow:inset 4px 0 0 var(--red);padding-left:12px;}
  .mm-has-mega{flex-wrap:wrap;}
  .mm-mega-btn{min-width:48px;min-height:48px;font-size:11pt;}
  .mm-mega{position:static;flex-basis:100%;box-shadow:none;border-top:none;border-radius:8px;padding:10px;margin:0 0 12px 0;}
  .mm-mega-cards{grid-template-columns:1fr;gap:8px;}
  nav.mm-nav .mm-client{flex-direction:column;align-items:stretch;gap:10px;}
  nav.mm-nav .mm-client a{display:flex;align-items:center;justify-content:center;min-height:48px;font-size:11pt;width:auto;}
  nav.mm-nav .mm-btn-ghost{border-color:rgba(255,255,255,0.45) !important;}
  nav.mm-nav .mm-menu-extra{display:flex;gap:24px;justify-content:center;}
  nav.mm-nav .mm-menu-extra a{display:inline-flex;align-items:center;min-height:44px;border-bottom:none;}
}

/* ---- phone bottom tab bar ---- */
.mm-tabbar{display:none;}
@media (max-width:760px){
  body.mm-tabbar-on{padding-bottom:calc(64px + env(safe-area-inset-bottom, 0px));}
  body.mm-tabbar-on.has-mobile-cta{padding-bottom:calc(64px + env(safe-area-inset-bottom, 0px));}
  body.mm-tabbar-on .mobile-cta{display:none !important;}
  body.mm-tabbar-on .mobile-cta + .site-footer{padding-bottom:18px;}
  .mm-tabbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:45;background:var(--white);border-top:1px solid var(--border);box-shadow:0 -2px 12px rgba(20,25,40,0.10);padding:4px calc(4px + env(safe-area-inset-right, 0px)) calc(4px + env(safe-area-inset-bottom, 0px)) calc(4px + env(safe-area-inset-left, 0px));}
  .mm-tab{flex:1 1 0;min-width:0;min-height:52px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--muted);font-size:8pt;font-weight:bold;text-decoration:none;border-radius:8px;position:relative;}
  .mm-tab svg{width:22px;height:22px;}
  .mm-tab:hover{text-decoration:none;color:var(--navy);}
  .mm-tab.active{color:var(--navy);background:var(--light-bg);}
  .mm-tab.active::before{content:"";position:absolute;top:0;left:28%;right:28%;height:3px;border-radius:0 0 3px 3px;background:var(--red);}
  .mm-tab:focus-visible{outline:2px solid var(--blue);outline-offset:1px;}
  body.mm-kb-open .mm-tabbar,body.mm-menu-open .mm-tabbar{display:none;}
  body.mm-kb-open{padding-bottom:0;}
}

/* ---- homepage: compact hero so "Start here" shows above the fold ---- */
.page-home .hero{padding:34px 0 30px 0;}
.page-home .hero .wrap{gap:36px;}
.page-home .hero h1{font-size:26pt;margin-bottom:10px;}
.page-home .hero .eyebrow{margin-bottom:6px;}
.page-home .hero .redline{margin-bottom:12px;}
.page-home .hero p.lead{font-size:11pt;margin-bottom:12px;}
.page-home .hero .ng-notice{margin:0 0 14px 0 !important;padding:6px 10px;font-size:8.8pt;}
.page-home .hero .perk-callout{margin-top:14px !important;padding:9px 14px !important;border-width:1px !important;border-left-width:5px !important;}
.page-home .hero .perk-callout [data-perk-headline]{font-size:10pt !important;margin-bottom:2px !important;}
.page-home .hero .perk-callout [data-perk-fineprint]{font-size:8.4pt !important;}
.page-home .hero-photo img{width:190px;height:190px;}
.page-home .start-here{padding-top:22px;}
@media (max-width:800px){
  .page-home .hero{padding:22px 0 22px 0;}
  .page-home .hero .wrap{gap:14px;}
  .page-home .hero-photo img{width:108px;height:108px;border-width:3px;}
  .page-home .hero h1{font-size:21pt;}
  .page-home .hero p.lead{font-size:10.4pt;}
  .page-home .start-here{padding-top:18px;}
}

/* ---- pricing.html ---- */
.pq{background:var(--light-bg);border:1px solid var(--border);border-radius:12px;padding:20px 22px;margin:0 0 30px 0;}
.pq h2{margin-top:0;}
.pq fieldset{border:none;margin:0 0 14px 0;padding:0;}
.pq legend{font-weight:bold;color:var(--navy);font-size:10.8pt;margin-bottom:8px;padding:0;}
.pq-options{display:flex;flex-wrap:wrap;gap:8px;}
.pq-options label{position:relative;display:inline-flex;align-items:center;min-height:44px;padding:8px 14px;border:1px solid var(--border);border-radius:999px;background:var(--white);cursor:pointer;font-size:9.8pt;color:var(--ink);}
.pq-options input{position:absolute;opacity:0;width:1px;height:1px;}
.pq-options label:has(input:checked){background:var(--navy);border-color:var(--navy);color:var(--white);}
.pq-options label.is-checked{background:var(--navy);border-color:var(--navy);color:var(--white);}
.pq-options label:has(input:focus-visible){outline:3px solid var(--blue);outline-offset:2px;}
.pq-options label.is-focus{outline:3px solid var(--blue);outline-offset:2px;}
.pq-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;}
.pq-error{color:var(--red);font-weight:bold;font-size:9.4pt;margin:6px 0 0 0;}
.pq-result:empty{display:none;}
.pq-card{margin-top:16px;background:var(--white);border:1px solid var(--border);border-left:6px solid var(--navy);border-radius:10px;padding:16px 18px;}
.pq-card.trk-hybrid{border-left-color:var(--blue);}
.pq-card.trk-specialty{border-left-color:var(--purple);}
.pq-card.trk-stretch{border-left-color:var(--yellow);}
.pq-card.trk-newcomer{border-left-color:var(--red);}
.pq-card h3{margin:0 0 6px 0;color:var(--navy);font-size:13pt;}
.pq-card p{margin:0 0 8px 0;font-size:10pt;}
.pq-card .btn-row{margin-top:10px;}
.pq-note{font-size:8.8pt;color:var(--muted);margin:10px 0 0 0;}

.pt-tablist{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 18px 0;padding:0;border-bottom:2px solid var(--border);}
.pt-tab{background:none;border:none;border-bottom:4px solid transparent;margin-bottom:-2px;padding:10px 14px;min-height:44px;font-family:inherit;font-size:10pt;font-weight:bold;color:var(--muted);cursor:pointer;border-radius:6px 6px 0 0;}
.pt-tab:hover{color:var(--navy);background:var(--light-bg);}
.pt-tab[aria-selected="true"]{color:var(--navy);background:var(--light-bg);}
.pt-tab.trk-hybrid[aria-selected="true"]{border-bottom-color:var(--blue);}
.pt-tab.trk-specialty[aria-selected="true"]{border-bottom-color:var(--purple);}
.pt-tab.trk-stretch[aria-selected="true"]{border-bottom-color:var(--yellow);}
.pt-tab.trk-nutrition[aria-selected="true"]{border-bottom-color:var(--teal);}
.pt-tab.trk-membership[aria-selected="true"]{border-bottom-color:var(--navy);}
.pt-tab.trk-newcomer[aria-selected="true"]{border-bottom-color:var(--red);}
.pt-tab:focus-visible{outline:3px solid var(--blue);outline-offset:2px;}
.pt-tablist[hidden]{display:none;}
.pt-panel{scroll-margin-top:96px;margin:0 0 34px 0;}
.pt-js .pt-panel[hidden]{display:none;}
.pt-panel h2{margin-top:0;}
.pt-embed{margin:14px 0;}
.pt-embed .data-table,.pt-embed .pay-table{margin-bottom:16px;}
.pt-embed h3.pt-sub{font-size:11.5pt;color:var(--navy);margin:18px 0 6px 0;}
.pt-loading{font-size:9.4pt;color:var(--muted);}
.pt-subtabs{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 14px 0;}
.pt-subtabs button{border:1px solid var(--border);border-radius:999px;background:var(--white);padding:8px 14px;min-height:44px;font-family:inherit;font-size:9.6pt;cursor:pointer;color:var(--navy);}
.pt-subtabs button[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:var(--white);}
.pt-subtabs button:focus-visible{outline:3px solid var(--blue);outline-offset:2px;}
.pt-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;}
#hybrid,#specialty,#stretch,#nutrition,#memberships,#newcomer,#find-my-plan{scroll-margin-top:96px;}

@media (max-width:640px){
  .pq{padding:16px 14px;}
  .pt-tablist{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;}
  .pt-tab{flex:0 0 auto;}
}

@media (prefers-reduced-motion:reduce){
  .mm-mega-btn .nav-caret{transition:none;}
}

/* pricing.html buttons on light backgrounds */
.btn-ghost-navy{background:transparent;color:var(--navy) !important;border:2px solid var(--navy);}
.btn-ghost-navy:hover{background:var(--light-bg);}
.btn-link{background:none;border:none;color:var(--navy);text-decoration:underline !important;font-family:inherit;cursor:pointer;padding:12px 8px;}
.pq .btn,.pq-card .btn{min-height:44px;}
/* round266: About left the top bar, so spread the four links across the free space */
@media (min-width:1060px){
  nav.mm-nav .mm-primary{flex:1;justify-content:space-evenly;gap:0;padding:0 18px;}
}
