/* ---------- Treatments mega menu (desktop) and the expanding Treatments item in the phone menu ---------- */
.mega{display:flex}
.mega-btn{display:inline-flex;align-items:center;gap:.45rem;background:none;border:0;padding:0;cursor:pointer;position:relative;
  font:inherit;font-size:.8125rem;letter-spacing:.16em;text-transform:uppercase;color:var(--cream-dim);transition:color .3s}
.mega-btn::before{content:"";position:absolute;inset:-.75rem -.6rem} /* ~44px touch target, matching the menu links */
.mega-btn svg{width:11px;height:11px;transition:transform .3s var(--ease)}
.mega-btn:hover,.mega-btn[aria-expanded="true"]{color:var(--gold-bright)}
.mega-btn[aria-expanded="true"] svg{transform:rotate(180deg)}
.mega-btn:focus-visible{outline:1px solid var(--gold);outline-offset:6px}

.mega-panel{position:absolute;left:0;right:0;top:100%;background:var(--menu-bg);border-top:1px solid var(--nav-border);
  border-bottom:1px solid var(--nav-border);box-shadow:0 30px 60px -40px rgba(20,30,60,.45);padding:2.6rem 0 2.8rem}
.mega-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:2.4rem;align-items:start}
.mega-col{display:flex;flex-direction:column;align-items:flex-start}
.mega-group{font-family:var(--serif);font-size:1.2rem;line-height:1.25;color:var(--cream);margin-bottom:1rem}
.mega-panel ul{list-style:none;display:grid;gap:.55rem;margin-bottom:1.3rem}
.mega-panel li a{font-size:.9375rem;color:var(--cream-dim);transition:color .3s}
.mega-panel li a:hover{color:var(--gold-display)}
@media(max-width:1120px){.mega-panel{display:none!important}}

/* phone menu */
.mobile-menu{overflow-y:auto;justify-content:safe center;padding-block:4.5rem 2.5rem}
.mm-treat{display:flex;flex-direction:column;align-items:center}
.mm-toggle{display:inline-flex;align-items:center;gap:.6rem;background:none;border:0;cursor:pointer;
  font-family:var(--serif);font-size:1.9rem;color:var(--cream);letter-spacing:.04em}
.mm-toggle svg{width:16px;height:16px;transition:transform .3s var(--ease)}
.mm-toggle[aria-expanded="true"] svg{transform:rotate(180deg)}
.mm-sub{display:flex;flex-direction:column;align-items:center;gap:.85rem;margin-top:1.1rem}
.mm-sub[hidden]{display:none}
.mobile-menu .mm-sub a{font-family:var(--sans);font-size:1rem;letter-spacing:.04em;color:var(--cream-dim)}
.mobile-menu .mm-sub .mm-label{margin-top:.6rem;text-align:center;font-size:.6875rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}
