/* Hindivine menu (Oct 2026): desktop mega menu + mobile accordion menu.
   Groups: Weight Loss Services, Our Services, About. Every service has its own icon. */

/* ================= desktop ================= */
.lpn{display:none}
@media (min-width:1024px){
  html body :is(.hx-nav .hx-nav-in,.nav .nav-in){position:relative}
  html body .lpn{display:flex;align-items:center;gap:2px;margin:0 auto;font-family:var(--lp-sans,"Figtree",system-ui,sans-serif)}
  html body .lpn-item{position:static}
  html body .lpn-item[data-k="ab"]{position:relative}
  html body .lpn-top{appearance:none;border:0;background:transparent;color:#fff;font:600 15px/1 var(--lp-sans,"Figtree",system-ui,sans-serif);letter-spacing:.005em;display:inline-flex;align-items:center;gap:6px;height:42px;padding:0 14px;border-radius:999px;cursor:pointer;text-decoration:none;white-space:nowrap;transition:background .25s,color .25s}
  html body .lpn-top svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;opacity:.8;transition:transform .35s cubic-bezier(.22,1,.36,1)}
  html body .lpn-top:hover,html body .lpn-top[aria-expanded="true"]{background:rgba(255,255,255,.1);color:#fff}
  html body .lpn-top[aria-expanded="true"] svg{transform:rotate(180deg)}
  html body .lpn-top[aria-current="page"],html body .lpn-item.is-current>.lpn-top{box-shadow:inset 0 -2px 0 var(--hvc-46C9A1,#46C9A1)}
  html body .lpn-top:focus-visible{outline:2px solid var(--hvc-46C9A1,#46C9A1);outline-offset:2px}

  /* panel */
  html body .lpn-panel{position:absolute;top:calc(100% + 12px);left:50%;z-index:120;display:flex;gap:18px;padding:22px;border-radius:24px;background:#FFFFFF;color:var(--hvc-14231E,#14231E);
    box-shadow:0 0 0 1px rgba(var(--hvr-0A3528,10,53,40),.08),0 30px 70px -24px rgba(var(--hvr-062018,6,32,24),.45),0 12px 24px -16px rgba(var(--hvr-062018,6,32,24),.3);
    opacity:0;visibility:hidden;transform:translate(-50%,10px);transition:opacity .28s ease,transform .38s cubic-bezier(.22,1,.36,1),visibility 0s linear .38s}
  html body .lpn-panel::before{content:"";position:absolute;left:0;right:0;top:-16px;height:16px}
  html body .lpn-item.is-open>.lpn-panel{opacity:1;visibility:visible;transform:translate(-50%,0);transition:opacity .25s ease,transform .38s cubic-bezier(.22,1,.36,1),visibility 0s}
  html body .lpn-lg{width:min(1120px,calc(100vw - 40px))}
  html body .lpn-md{width:min(880px,calc(100vw - 40px))}
  html body .lpn-sm{width:330px;padding:12px}
  html body .lpn-cols{flex:1;display:grid;gap:6px 14px;min-width:0}
  html body .lpn-lg .lpn-cols{grid-template-columns:repeat(3,minmax(0,1fr))}
  html body .lpn-md .lpn-cols{grid-template-columns:repeat(2,minmax(0,1fr))}
  html body .lpn-col{display:flex;flex-direction:column;gap:2px;min-width:0}
  html body .lpn-grp{margin:2px 10px 8px;font:700 11.5px/1.2 var(--lp-sans,"Figtree",sans-serif);letter-spacing:.12em;text-transform:uppercase;color:var(--hvc-167C5F,#167C5F);display:flex;align-items:center;gap:8px}
  html body .lpn-grp::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,rgba(var(--hvr-167C5F,22,124,95),.25),transparent)}

  /* links */
  html body .lpn-link{display:flex;align-items:center;gap:12px;padding:9px 10px;border-radius:14px;text-decoration:none;color:var(--hvc-14231E,#14231E);transition:background .2s,transform .25s cubic-bezier(.22,1,.36,1)}
  html body .lpn-link:hover,html body .lpn-link:focus-visible{background:var(--hvc-EEF7F3,#EEF7F3);outline:none}
  html body .lpn-link:hover{transform:translateX(3px)}
  html body .lpn-link[aria-current="page"]{background:var(--hvc-DDF0E8,#DDF0E8)}
  html body .lpn-ic{flex:none;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(145deg,var(--hvc-EEF7F3,#EEF7F3),var(--hvc-DDF0E8,#DDF0E8));color:var(--hvc-0C6450,#0C6450);box-shadow:inset 0 0 0 1px rgba(var(--hvr-167C5F,22,124,95),.14);transition:background .25s,color .25s,transform .35s cubic-bezier(.22,1,.36,1)}
  html body .lpn-ic svg{width:21px;height:21px}
  html body .lpn-link:hover .lpn-ic{background:linear-gradient(145deg,var(--hvc-167C5F,#167C5F),var(--hvc-0F5A46,#0F5A46));color:#fff;transform:rotate(-5deg) scale(1.05)}
  html body .lpn-tx{display:flex;flex-direction:column;min-width:0}
  html body .lpn-tx b{font:600 14.5px/1.3 var(--lp-sans,"Figtree",sans-serif);color:var(--hvc-14231E,#14231E)}
  html body .lpn-tx small{font:400 12.5px/1.35 var(--lp-sans,"Figtree",sans-serif);color:#5D6E67;margin-top:2px}

  /* promo card */
  html body .lpn-promo{flex:none;width:250px;display:flex;flex-direction:column;justify-content:flex-end;padding:22px;border-radius:18px;color:#fff;
    background:radial-gradient(260px 200px at 100% 0%,rgba(var(--hvr-46C9A1,70,201,161),.35),transparent 70%),linear-gradient(160deg,var(--hvc-13705A,#13705A),var(--hvc-0F5A46,#0F5A46) 60%,var(--hvc-0D4A3A,#0D4A3A))}
  html body .lpn-promo b{font:500 22px/1.2 var(--lp-serif,"Fraunces",Georgia,serif);color:#fff}
  html body .lpn-promo p{margin:10px 0 18px;font:400 13.5px/1.55 var(--lp-sans,"Figtree",sans-serif);color:var(--hvc-E3EFEA,#E3EFEA)}
  html body .lpn-pbtn{display:inline-flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;padding:0 16px;border-radius:999px;background:#fff;color:var(--hvc-0A3528,#0A3528);font:700 14px/1 var(--lp-sans,"Figtree",sans-serif);text-decoration:none;transition:transform .25s}
  html body .lpn-pbtn:hover{transform:translateY(-2px)}
  html body .lpn-pbtn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
  html body .lpn-pwa{display:inline-flex;align-items:center;gap:8px;margin-top:12px;color:var(--hvc-A9E8D3,#A9E8D3);font:600 13.5px/1 var(--lp-sans,"Figtree",sans-serif);text-decoration:none}
  html body .lpn-pwa svg{width:17px;height:17px;fill:currentColor}
  html body .lpn-pwa:hover{color:#fff}
  html body .lpn-sm .lpn-cols{grid-template-columns:1fr}
}
/* narrower laptops: keep everything on one line */
@media (min-width:1024px) and (max-width:1279px){
  html body :is(.hx-nav .hx-call,.nav .call){display:none!important}
  html body .lpn-top{padding:0 11px;font-size:14.5px}
  html body .lpn-promo{display:none}
}
@media (min-width:1024px) and (max-width:1120px){
  html body .lpn-lg .lpn-tx small,html body .lpn-md .lpn-tx small{display:none}
}

/* ================= mobile / tablet ================= */
html body :is(.hx-m-menu,#mMenu) .lpm-menu{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}
html body :is(.hx-m-menu,#mMenu) .lpm-acc{border:0!important;margin:0!important;padding:0!important;border-radius:20px;background:rgba(255,255,255,.05);box-shadow:inset 0 0 0 1px rgba(var(--hvr-A9E8D3,169,232,211),.16);overflow:hidden}
html body :is(.hx-m-menu,#mMenu) .lpm-acc[open]{background:rgba(255,255,255,.07);box-shadow:inset 0 0 0 1px rgba(var(--hvr-A9E8D3,169,232,211),.3)}
html body :is(.hx-m-menu,#mMenu) .lpm-acc>summary{list-style:none;display:flex;align-items:center;gap:12px;min-height:62px;padding:10px 14px;cursor:pointer;color:#fff;border:0!important;background:none!important}
html body :is(.hx-m-menu,#mMenu) .lpm-acc>summary::-webkit-details-marker{display:none}
html body :is(.hx-m-menu,#mMenu) .lpm-acc>summary::after,html body :is(.hx-m-menu,#mMenu) .lpm-acc>summary::before{display:none!important}
html body :is(.hx-m-menu,#mMenu) .lpm-gic{flex:none;width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(145deg,var(--hvc-46C9A1,#46C9A1),var(--hvc-167C5F,#167C5F));color:var(--hvc-062A20,#062A20)}
html body :is(.hx-m-menu,#mMenu) .lpm-gic svg{width:22px;height:22px;color:#fff}
html body :is(.hx-m-menu,#mMenu) .lpm-sum{flex:1;font:600 17px/1.2 var(--lp-sans,"Figtree",sans-serif);color:#fff}
html body :is(.hx-m-menu,#mMenu) .lpm-chev{flex:none;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.08);transition:transform .35s cubic-bezier(.22,1,.36,1)}
html body :is(.hx-m-menu,#mMenu) .lpm-chev svg{width:18px;height:18px;fill:none;stroke:var(--hvc-A9E8D3,#A9E8D3);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
html body :is(.hx-m-menu,#mMenu) .lpm-acc[open] .lpm-chev{transform:rotate(180deg)}
html body :is(.hx-m-menu,#mMenu) .lpm-body{padding:2px 10px 14px}
html body :is(.hx-m-menu,#mMenu) .lpm-grp{margin:12px 6px 6px;font:700 11.5px/1.2 var(--lp-sans,"Figtree",sans-serif);letter-spacing:.12em;text-transform:uppercase;color:var(--hvc-46C9A1,#46C9A1)}
html body :is(.hx-m-menu,#mMenu) .lpm-link{display:flex;align-items:center;gap:12px;min-height:56px;padding:8px 8px;border-radius:14px;text-decoration:none;color:#fff;transition:background .2s}
html body :is(.hx-m-menu,#mMenu) .lpm-link:active,html body :is(.hx-m-menu,#mMenu) .lpm-link[aria-current="page"]{background:rgba(var(--hvr-46C9A1,70,201,161),.14)}
html body :is(.hx-m-menu,#mMenu) .lpm-link .lpn-ic{flex:none;width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:rgba(255,255,255,.07);color:var(--hvc-A9E8D3,#A9E8D3);box-shadow:inset 0 0 0 1px rgba(var(--hvr-A9E8D3,169,232,211),.18)}
html body :is(.hx-m-menu,#mMenu) .lpm-link .lpn-ic svg{width:20px;height:20px}
html body :is(.hx-m-menu,#mMenu) .lpm-link .lpn-tx{display:flex;flex-direction:column;min-width:0}
html body :is(.hx-m-menu,#mMenu) .lpm-link .lpn-tx b{font:600 15px/1.3 var(--lp-sans,"Figtree",sans-serif);color:#fff}
html body :is(.hx-m-menu,#mMenu) .lpm-link .lpn-tx small{font:400 12.5px/1.35 var(--lp-sans,"Figtree",sans-serif);color:var(--hvc-D5E6DF,#D5E6DF);margin-top:2px}
html body :is(.hx-m-menu,#mMenu) .lpm-all{display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;margin:10px 4px 2px;border-radius:999px;background:#fff;color:var(--hvc-0A3528,#0A3528);font:700 14.5px/1 var(--lp-sans,"Figtree",sans-serif);text-decoration:none}
html body :is(.hx-m-menu,#mMenu) .lpm-all svg,html body :is(.hx-m-menu,#mMenu) .lpm-q>svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
html body :is(.hx-m-menu,#mMenu) .lpm-quick{display:grid;grid-template-columns:1fr 1fr;gap:10px}
html body :is(.hx-m-menu,#mMenu) .lpm-q{display:flex;align-items:center;gap:10px;min-height:58px;padding:8px 12px;border-radius:18px;background:rgba(255,255,255,.05);box-shadow:inset 0 0 0 1px rgba(var(--hvr-A9E8D3,169,232,211),.16);color:#fff;text-decoration:none;font:600 15px/1.2 var(--lp-sans,"Figtree",sans-serif)}
html body :is(.hx-m-menu,#mMenu) .lpm-q span:not(.lpm-gic){flex:1}
html body :is(.hx-m-menu,#mMenu) .lpm-q .lpm-gic{width:36px;height:36px;border-radius:11px}
html body :is(.hx-m-menu,#mMenu) .lpm-q .lpm-gic svg{width:19px;height:19px}
html body :is(.hx-m-menu,#mMenu) .lpm-q>svg{color:var(--hvc-A9E8D3,#A9E8D3)}
/* old mobile items that are no longer used */
html body :is(.hx-m-menu,#mMenu)>details:not(.lpm-acc),html body :is(.hx-m-menu,#mMenu)>a.hx-big{display:none!important}

@media (prefers-reduced-motion:reduce){
  html body .lpn-panel,html body .lpn-link,html body .lpn-ic,html body .lpm-chev{transition:none!important}
}

/* override older mobile-menu rules */
html body :is(.hx-m-menu,#mMenu) .lpm-menu,html body :is(.hx-m-menu,#mMenu) .lpm-acc,html body :is(.hx-m-menu,#mMenu) .lpm-acc>summary{width:100%!important;min-width:0!important;max-width:100%!important;box-sizing:border-box}
html body :is(.hx-m-menu,#mMenu) .lpm-body{display:block!important;min-width:0}

html body :is(.hx-m-menu,#mMenu) .lpm-link,html body :is(.hx-m-menu,#mMenu) .lpm-q{justify-content:flex-start!important;text-align:left!important;width:100%!important;box-sizing:border-box}
html body :is(.hx-m-menu,#mMenu) :is(.lpm-link,.lpm-all,.lpm-q)::after,html body :is(.hx-m-menu,#mMenu) :is(.lpm-link,.lpm-all,.lpm-q)::before{display:none!important;content:none!important}
html body :is(.hx-m-menu,#mMenu) .lpm-acc>summary{justify-content:flex-start!important}
html body :is(.hx-m-menu,#mMenu) a.lpm-all{color:var(--hvc-0A3528,#0A3528)!important;background:#fff!important}
html body :is(.hx-m-menu,#mMenu) a.lpm-link,html body :is(.hx-m-menu,#mMenu) a.lpm-q{color:#fff!important}
html body .lpn a.lpn-pbtn{color:var(--hvc-0A3528,#0A3528)!important;background:#fff!important}
html body .lpn a.lpn-pwa{color:var(--hvc-A9E8D3,#A9E8D3)!important}
html body .lpn a.lpn-link{color:var(--hvc-14231E,#14231E)!important}
/* roomier weight loss panel so titles stay on one line */
@media (min-width:1024px){
  html body .lpn-lg{width:min(1200px,calc(100vw - 32px))}
  html body .lpn-promo{width:230px}
  html body .lpn-lg .lpn-cols{grid-template-columns:1.12fr 1fr 1.05fr}
  html body .lpn-ic{width:38px;height:38px}
}

/* strongest overrides for button text colours */
html:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root body :is(.hx-m-menu,#mMenu) a.lpm-all,html:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root body :is(.hx-m-menu,#mMenu) a.lpm-all svg{color:var(--hvc-0A3528,#0A3528)!important;-webkit-text-fill-color:var(--hvc-0A3528,#0A3528)!important;stroke:var(--hvc-0A3528,#0A3528)}
html:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root body :is(.hx-m-menu,#mMenu) a.lpm-link,html:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root body :is(.hx-m-menu,#mMenu) a.lpm-q{color:#fff!important;-webkit-text-fill-color:#fff!important;font-size:inherit}
html:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root body :is(.hx-m-menu,#mMenu) a.lpm-link .lpn-tx b{color:#fff!important;-webkit-text-fill-color:#fff!important}
html:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root body :is(.hx-m-menu,#mMenu) a.lpm-link .lpn-tx small{color:var(--hvc-D5E6DF,#D5E6DF)!important;-webkit-text-fill-color:var(--hvc-D5E6DF,#D5E6DF)!important}
html:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root body :is(.hx-m-menu,#mMenu) a.lpm-link .lpn-ic{color:var(--hvc-A9E8D3,#A9E8D3)!important}
html:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root body .lpn a.lpn-pbtn{color:var(--hvc-0A3528,#0A3528)!important;-webkit-text-fill-color:var(--hvc-0A3528,#0A3528)!important}
html:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root body .lpn a.lpn-link .lpn-tx b{color:var(--hvc-14231E,#14231E)!important;-webkit-text-fill-color:var(--hvc-14231E,#14231E)!important}
html:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root body .lpn a.lpn-link .lpn-tx small{color:#5D6E67!important;-webkit-text-fill-color:#5D6E67!important}

/* the menu id beats an older id-based rule that painted all menu text white */
html:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root body :is(#hxMenu,#mMenu) a.lpm-all,html:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root body :is(#hxMenu,#mMenu) a.lpm-all svg{color:var(--hvc-0A3528,#0A3528)!important;-webkit-text-fill-color:var(--hvc-0A3528,#0A3528)!important}

/* clearer icons: larger glyphs in the tiles */
@media (min-width:1024px){
  html body .lpn-ic{width:42px!important;height:42px!important;border-radius:13px}
  html body .lpn-ic svg{width:24px!important;height:24px!important}
}
html body :is(.hx-m-menu,#mMenu) .lpm-link .lpn-ic{width:42px;height:42px}
html body :is(.hx-m-menu,#mMenu) .lpm-link .lpn-ic svg{width:23px;height:23px}
