*{box-sizing:border-box;margin:0;padding:0}
:root{
  --sage-dark:#2c5f4f;
  --sage:#7a9485;
  --sage-light:#e8f0eb;
  --cream:#eef3eb;
  --cream2:#e5ebe2;
  --white:#fff;
  --text:#333;
  --muted:#555;
  --muted2:#4d7262;
  --border:#dde8da;
  --r:12px;
}
html{scroll-behavior:smooth}
body{font-family:'Georgia',serif;background:linear-gradient(135deg,var(--cream) 0%,var(--cream2) 100%);color:var(--text);line-height:1.8;min-height:100vh;display:flex;flex-direction:column}
main{flex:1}

/* ── NAV ── */
nav{background:var(--white);box-shadow:0 2px 10px rgba(0,0,0,.1);position:sticky;top:0;z-index:300}
.nav-container{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;padding:15px 20px}
.logo{font-size:1.5em;font-weight:300;color:var(--sage-dark);text-decoration:none;letter-spacing:1px}
.nav-links{display:flex;gap:30px;list-style:none;align-items:center}
.nav-links a{color:var(--sage-dark);text-decoration:none;font-size:1em;transition:color .3s}
.nav-links a:hover{color:var(--sage)}
.nav-book{background:var(--sage-dark)!important;color:#fff!important;padding:8px 20px;border-radius:6px;transition:background .3s}
.nav-book:hover{background:#234538!important}
.hamburger{display:none;background:none;border:none;font-size:22px;color:var(--sage-dark);cursor:pointer}

/* ── MOBILE NAV ── */
.mobile-nav{display:none;position:fixed;inset:0;background:var(--white);z-index:400;flex-direction:column;padding:24px}
.mobile-nav.open{display:flex}
.mobile-nav-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}
.mobile-nav-logo{font-size:19px;font-weight:300;color:var(--sage-dark);letter-spacing:1px}
.mobile-nav-close{background:none;border:none;font-size:26px;color:var(--muted);cursor:pointer}
.mobile-nav ul{list-style:none}
.mobile-nav ul li a{display:block;padding:14px 0;font-size:17px;color:var(--text);text-decoration:none;border-bottom:1px solid var(--border)}
.mob-book{display:block;margin-top:28px;background:var(--sage-dark);color:#fff;text-align:center;padding:15px;border-radius:6px;font-size:16px;font-weight:600;text-decoration:none}

/* ── PAGE HEADER ── */
.page-header{max-width:1140px;margin:0 auto;padding:60px 32px 36px;text-align:center}
.page-header h1{font-size:2.5em;color:var(--sage-dark);font-weight:300;margin-bottom:12px;letter-spacing:1px}
.page-header p{color:#777;font-size:1.05em;font-style:italic;margin-bottom:20px}
.header-meta{display:flex;justify-content:center;gap:24px;flex-wrap:wrap}
.header-meta span{font-size:.9em;color:var(--muted);display:flex;align-items:center;gap:6px}
.header-meta span::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--sage);display:inline-block}

/* ── PAGE GRID ── */
.page{max-width:1140px;margin:0 auto;padding:0 32px 80px;display:grid;grid-template-columns:260px 1fr;gap:48px;align-items:start}

/* ── SIDEBAR ── */
.sidebar{position:sticky;background:var(--white);border-radius:var(--r);border:1px solid var(--border);overflow:hidden;box-shadow:0 4px 6px rgba(0,0,0,.05)}
.sidebar-section{padding:16px 18px 10px;font-size:14px;font-weight:400;font-style:italic;color:var(--muted)}
.sidebar-section-compact{padding-bottom:6px}
.sidebar-btn{display:block;width:100%;text-align:left;background:none;border:none;padding:11px 18px;font-size:14px;font-weight:500;color:var(--muted);cursor:pointer;font-family:inherit;border-left:3px solid transparent;transition:all .18s}
.sidebar-btn:hover{color:var(--text);background:var(--cream)}
.sidebar-btn.active{color:var(--sage-dark);font-weight:600;background:var(--sage-light);border-left-color:var(--sage-dark)}
.sidebar-divider{height:1px;background:var(--border);margin:8px 0}
.sidebar-need{padding:14px 18px}
.sidebar-need h2{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--muted);margin-bottom:10px}
.need-item{font-size:13px;color:var(--muted);padding:5px 0;line-height:1.5;border-bottom:1px solid var(--border)}
.need-item:last-child{border-bottom:none}
.need-item strong{color:var(--sage-dark);display:block;font-size:12px;font-weight:600}
.sidebar-book-wrap{padding:14px}
.sidebar-book-hint{font-size:12px;color:var(--muted);font-style:italic;margin-bottom:8px;line-height:1.5}
.sidebar-book{display:block;background:var(--sage-dark);color:#fff;text-align:center;padding:13px;border-radius:6px;font-size:15px;font-weight:600;text-decoration:none;transition:background .3s;box-shadow:0 2px 8px rgba(44,95,79,.25)}
.sidebar-book:hover{background:#234538}
.sidebar-expect{padding:0 18px 16px;font-size:13px;color:var(--muted);line-height:1.7}
.sidebar-expect li{list-style:none;padding:3px 0;display:flex;align-items:center;gap:8px}
.sidebar-expect li::before{content:'';width:5px;height:5px;border-radius:50%;background:var(--sage);flex-shrink:0}

/* ── MOBILE TABS ── */
.mobile-tabs{display:none;background:var(--white);border-bottom:1px solid var(--border);position:sticky;z-index:200;overflow:hidden}
.mobile-tabs-inner{display:flex;gap:0;overflow-x:auto;scrollbar-width:none}
.mobile-tabs-inner::-webkit-scrollbar{display:none}
.m-tab{flex-shrink:0;padding:12px 16px;font-size:12px;font-weight:600;cursor:pointer;border:none;background:none;color:var(--muted);font-family:inherit;white-space:nowrap;border-bottom:2px solid transparent;transition:all .18s}
.m-tab.active{color:var(--sage-dark);border-bottom-color:var(--sage-dark)}

/* ── CONTENT ── */
.content{min-width:0}
.cat-section{display:none}
.cat-section.active{display:block;animation:fadeUp .2s ease}
@keyframes fadeUp{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

/* ── CATEGORY HEADER ── */
.cat-header{margin-bottom:20px;padding-bottom:14px;border-bottom:1px solid var(--border)}
.cat-header h2{font-size:1.6em;font-weight:300;color:var(--sage-dark);margin-bottom:6px;letter-spacing:.5px}
.cat-header p{font-size:.95em;color:var(--muted);font-style:italic}

/* ── SERVICE CARD (desktop) ── */
.service-card{background:var(--white);border-radius:var(--r);border:1px solid var(--border);margin-bottom:10px;box-shadow:0 2px 6px rgba(0,0,0,.04);transition:box-shadow .2s;scroll-margin-top:80px}
.service-card:hover{box-shadow:0 4px 14px rgba(44,95,79,.09)}
.sc-main{display:grid;grid-template-columns:1fr auto;gap:20px;padding:18px 20px;align-items:start}
.sc-name{font-size:1.05em;font-weight:500;color:var(--text);margin-bottom:4px;line-height:1.4}
.sc-duration{font-size:.88em;color:var(--muted2);margin-bottom:10px}
.sc-summary{font-size:.93em;color:var(--muted);line-height:1.65;margin-bottom:10px}
.sc-pills{display:flex;flex-wrap:wrap;gap:6px}
.sc-pill{background:none;border:1px solid var(--border);border-radius:4px;padding:3px 10px;font-size:.8em;color:var(--muted);line-height:1.5}
.sc-right{text-align:right;min-width:130px;flex-shrink:0}
.sc-price{font-size:1.2em;font-weight:700;color:var(--sage-dark);margin-bottom:6px}
.sc-price-rows{display:flex;flex-direction:column;align-items:stretch;gap:5px;margin-top:8px}
.sc-price-rows span{font-size:.82em;color:var(--muted)}
.sc-price-rows a{display:block;color:var(--sage-dark);font-weight:600;font-size:.82em;text-decoration:none;text-align:center;border:1.5px solid var(--sage-dark);border-radius:6px;padding:7px 14px;white-space:nowrap;transition:background .15s,color .15s}
.sc-price-rows a:hover{background:var(--sage-dark);color:#fff}
.sc-book-now{display:block;margin-top:10px;padding:7px 14px;background:var(--sage-dark);color:#fff;border-radius:6px;font-size:.82em;font-weight:600;text-decoration:none;text-align:center;white-space:nowrap;transition:opacity .15s}
.sc-book-now:hover{opacity:.85}

/* ── PULL QUOTE ── */
.sc-quote{margin-top:14px;padding:12px 14px;border-left:3px solid var(--border);font-size:.88em;color:var(--muted);font-style:italic;line-height:1.7}
.sc-quote cite{display:block;margin-top:6px;font-style:normal;font-size:.9em;color:var(--muted2);font-weight:600}

/* ── FEATURED CARD ── */
.sc-featured{border-color:#c5dace}

/* ── POPULAR BADGE ── */
.popular-badge{display:inline-block;background:var(--sage-light);border:1px solid #b0ccbb;color:var(--sage-dark);font-size:.75em;font-weight:600;padding:2px 9px;border-radius:20px;letter-spacing:.4px;margin-bottom:6px;text-transform:uppercase}

/* ── NOT SURE BOX ── */
.not-sure{background:var(--sage-light);border-radius:var(--r);border:1px solid #c5dace;padding:18px 20px;margin-top:8px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.not-sure p{font-size:.93em;color:var(--sage-dark);line-height:1.6;font-style:italic}
.not-sure a{flex-shrink:0;background:var(--sage-dark);color:#fff;padding:9px 18px;border-radius:6px;font-size:.88em;font-weight:600;text-decoration:none;transition:background .2s}
.not-sure a:hover{background:#234538}

/* ── STICKY MOBILE BOOK ── */
.sticky-book{display:none;position:fixed;bottom:0;left:0;right:0;padding:12px 16px;background:rgba(238,243,235,.97);backdrop-filter:blur(8px);border-top:1px solid var(--border);z-index:150}
.sticky-book a{display:block;background:var(--sage-dark);color:#fff;text-align:center;padding:14px;border-radius:6px;font-size:15px;font-weight:600;text-decoration:none}

/* ── PROMO BADGE (injected by promos.js) ── */
.sc-promo-badge{background:#b85c38;color:#fff;font-size:.75em;font-weight:700;padding:3px 10px;border-radius:20px;display:inline-block;margin-bottom:8px}
.sc-promo-price{color:#b85c38;font-weight:700}
.sc-promo-strike{color:#767676;text-decoration:line-through}

/* ── HEALTH PLAN BAND ── */
.health-plan-band{background:var(--sage-light);border-top:1px solid #c5dace;border-bottom:1px solid #c5dace;padding:40px 32px}
.health-plan-inner{max-width:1140px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:32px}
.health-plan-text h2{font-size:1.3em;font-weight:300;color:var(--sage-dark);margin-bottom:8px;letter-spacing:.5px}
.health-plan-text p{font-size:.95em;color:var(--muted);line-height:1.7}
.health-plan-text p.health-plan-providers{margin-top:8px;font-style:italic}
.health-plan-btn{flex-shrink:0;background:var(--sage-dark);color:#fff;padding:12px 24px;border-radius:6px;font-size:.93em;font-weight:600;text-decoration:none;white-space:nowrap;transition:background .2s}
.health-plan-btn:hover{background:#234538}

footer{text-align:center;padding:40px 20px 20px;color:var(--muted2);font-size:.9em;line-height:1.6}
footer a{color:var(--muted2);text-decoration:none}
footer a:hover{text-decoration:underline}

/* ── RESPONSIVE ── */
@media(max-width:860px){
  .nav-links{display:none}
  .hamburger{display:block}
  .page{grid-template-columns:1fr;padding:0 0 16px}
  .sidebar{display:none}
  .health-plan-band{padding:24px 20px 96px}
  .health-plan-inner{flex-direction:column;align-items:flex-start}
  .mobile-tabs{display:block}
  .content{padding:16px}
  .sticky-book{display:block}
  footer{padding-bottom:80px}
  .page-header{padding:28px 20px 16px}
  .page-header h1{font-size:1.8em}
  .sc-main{grid-template-columns:1fr}
  .sc-right{text-align:left}
  .not-sure{flex-direction:column;align-items:flex-start}
}
@media(min-width:861px){
  .page-header{padding:50px 32px 30px}
}
