/* Shared header and footer for every page of greatmindswellness.com.
   The markup lives in each page between <!-- gm:header --> / <!-- gm:footer --> markers and is written by
   tools/site_chrome.py; edit the menu there and re-run it. Every selector is prefixed gm- so the per-page
   stylesheets (which style bare header/footer/nav/p elements) cannot leak in, and vice versa. */

.gm-h,.gm-f,.gm-notice{--gm-forest:#0b3d34;--gm-forest-deep:#082b25;--gm-green:#1e5c4a;--gm-green-hover:#174a3b;--gm-gold:#b8924a;
  --gm-ink:#1b2622;--gm-ink-2:#3e4b45;--gm-mute:#5a675f;--gm-line:#e1e3da;--gm-line-strong:#c9cec3;--gm-paper:#faf8f4;--gm-sage:#f1f4ef;
  font-family:"Figtree","Helvetica Neue",Arial,sans-serif;-webkit-font-smoothing:antialiased}
.gm-h *,.gm-f *{box-sizing:border-box}
.gm-h li,.gm-f li{padding:0;color:inherit}
.gm-h li::before,.gm-f li::before,.gm-h li::after,.gm-f li::after{content:none !important;display:none !important}
.gm-wrap{width:min(1200px,calc(100% - 40px));margin:0 auto}

/* ---------- site-wide notice ---------- */
.gm-notice{background:#0b3d34;border-bottom:3px solid #b8924a;color:#d7e2d9}
.gm-notice p{margin:0;padding:11px 0;text-align:center;font-size:.95rem;line-height:1.5}
.gm-notice b{color:#fff;font-weight:700}
@media(max-width:600px){.gm-notice p{font-size:.88rem;padding:10px 0}}

/* ---------- header ---------- */
.gm-h{position:sticky;top:0;z-index:50;margin:0;padding:0;background:rgba(250,248,244,.97);border-bottom:1px solid var(--gm-line);backdrop-filter:saturate(1.4) blur(6px)}
.gm-h.is-scrolled{box-shadow:0 8px 24px -20px rgba(11,61,52,.35)}
.gm-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:72px}
.gm-logo{display:block;flex:0 1 auto;min-width:0}
.gm-h .gm-logo img{display:block;height:50px;width:auto;max-width:100%}
.gm-right{display:flex;align-items:center;gap:12px;flex:none}
.gm-tel{display:none;font-weight:600;color:var(--gm-forest);text-decoration:none;font-size:.95rem;white-space:nowrap;font-variant-numeric:tabular-nums}
.gm-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:9px 18px;border-radius:999px;background:var(--gm-green);color:#fff;
  font-weight:600;font-size:.92rem;line-height:1.2;text-decoration:none;white-space:nowrap;border:0;transition:background .2s}
.gm-btn:hover{background:var(--gm-green-hover);color:#fff}
.gm-btn .gm-short{display:none}
.gm-burger{all:unset;box-sizing:border-box;display:grid;place-items:center;width:44px;height:44px;border-radius:10px;cursor:pointer;color:var(--gm-forest);flex:none}
.gm-burger:hover{background:var(--gm-sage)}
.gm-burger:focus-visible,.gm-nav a:focus-visible,.gm-nav button:focus-visible,.gm-btn:focus-visible{outline:2px solid var(--gm-green);outline-offset:2px}
.gm-burger svg{width:24px;height:24px}
.gm-burger .gm-x,.gm-burger[aria-expanded="true"] .gm-m{display:none}
.gm-burger[aria-expanded="true"] .gm-x{display:block}

.gm-nav ul{list-style:none;margin:0;padding:0}
.gm-nav a,.gm-nav button{font:inherit;color:var(--gm-ink-2);text-decoration:none}
.gm-nav button{all:unset;box-sizing:border-box;cursor:pointer;font-family:inherit;color:var(--gm-ink-2)}
.gm-caret{display:inline-block;width:8px;height:8px;margin-left:5px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:translateY(-3px) rotate(45deg);transition:transform .2s}
.gm-nav button[aria-expanded="true"] .gm-caret{transform:translateY(1px) rotate(-135deg)}
.gm-nav [aria-current="page"]{color:var(--gm-forest);font-weight:600}
.gm-sub-h{display:block;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gm-mute)}
.gm-tel-m{display:none}
.gm-soon{display:inline-block;margin-left:6px;padding:2px 8px;border-radius:999px;background:#f3ead8;color:#7a5c22;font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;vertical-align:middle;white-space:nowrap}
.gm-f .gm-soon{background:rgba(184,146,74,.22);color:#e9d3a6;margin-left:0}

/* mobile and tablet: the nav is a drop-down drawer under the bar */
@media (max-width:1199px){
  .gm-nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--gm-paper);border-bottom:1px solid var(--gm-line);
    max-height:calc(100vh - 72px);overflow-y:auto;box-shadow:0 18px 30px -24px rgba(11,61,52,.4)}
  .gm-nav.is-open{display:block}
  .gm-nav>ul{width:min(1200px,calc(100% - 40px));margin:0 auto;padding:6px 0 10px}
  .gm-nav>ul>li{border-bottom:1px solid var(--gm-line)}
  .gm-nav>ul>li>a,.gm-nav>ul>li>button{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:52px;padding:12px 2px;font-weight:500;color:var(--gm-ink);font-size:1.02rem}
  .gm-dd>ul{display:none;padding:0 0 12px 12px}
  .gm-dd>button[aria-expanded="true"]+ul{display:block}
  .gm-dd>ul a{display:block;padding:10px 2px;min-height:44px;color:var(--gm-ink-2)}
  .gm-sub-h{padding:12px 2px 4px}
  .gm-tel-m{display:block;width:min(1200px,calc(100% - 40px));margin:4px auto 18px;padding:12px 2px;font-weight:600;color:var(--gm-green);text-decoration:none}
}
@media (max-width:639px){
  .gm-h .gm-logo img{height:40px}
  .gm-btn{padding:9px 14px}
  .gm-btn .gm-long{display:none}
  .gm-btn .gm-short{display:inline}
}

/* desktop: one row with drop-down panels */
@media (min-width:1200px){
  .gm-burger{display:none}
  .gm-tel{display:inline-block}
  .gm-nav>ul{display:flex;align-items:center;gap:0}
  .gm-nav>ul>li{position:relative}
  .gm-nav>ul>li>a,.gm-nav>ul>li>button{display:inline-flex;align-items:center;padding:10px 8px;font-size:.92rem;font-weight:500;white-space:nowrap;border-radius:8px}
  .gm-nav>ul>li>a:hover,.gm-nav>ul>li>button:hover{color:var(--gm-forest);background:var(--gm-sage)}
  .gm-dd>ul{display:none;position:absolute;top:calc(100% + 6px);left:-8px;min-width:240px;padding:10px;background:#fff;border:1px solid var(--gm-line);
    border-radius:14px;box-shadow:0 22px 44px -22px rgba(11,61,52,.35)}
  .gm-dd>ul::before{content:"";position:absolute;left:0;right:0;top:-8px;height:8px}
  .gm-dd.gm-wide>ul{min-width:460px;display:none;grid-template-columns:1fr 1fr;column-gap:10px}
  .gm-dd>button[aria-expanded="true"]+ul{display:block}
  .gm-dd.gm-wide>button[aria-expanded="true"]+ul{display:grid}
  .gm-dd>ul a{display:block;padding:9px 12px;border-radius:8px;font-size:.94rem;color:var(--gm-ink)}
  .gm-dd>ul a:hover{background:var(--gm-sage);color:var(--gm-forest)}
  .gm-sub-h{padding:8px 12px 4px}
  .gm-dd .gm-col{display:block}
}
@media (min-width:1200px) and (hover:hover){
  .gm-dd:hover>ul{display:block}
  .gm-dd.gm-wide:hover>ul{display:grid}
}
@media (min-width:1200px) and (max-width:1359px){.gm-tel{display:none}}
@media (min-width:1360px){.gm-h .gm-wrap{width:min(1280px,calc(100% - 40px))}}

/* ---------- footer ---------- */
.gm-f{background:var(--gm-forest-deep);color:#b7c7ba;padding:64px 0 28px;font-size:.94rem;line-height:1.6;margin:0}
.gm-f p{margin:0 0 6px;color:#b7c7ba;font-size:inherit}
.gm-f a{color:#fff;text-decoration:none}
.gm-f a:hover{text-decoration:underline;text-underline-offset:.2em}
.gm-f ul{list-style:none;margin:0;padding:0}
.gm-f li{padding:0;margin:0 0 9px}
.gm-f li a{color:#d7e2d9}
.gm-ftop{display:grid;gap:36px;padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,.14)}
.gm-fh{font-size:.8rem !important;letter-spacing:.1em;text-transform:uppercase;color:#8ea394 !important;margin:0 0 14px !important;font-weight:600}
.gm-fh+ul{margin-bottom:22px}
.gm-logo-card{display:inline-block;background:#fff;border-radius:14px;padding:16px 18px;margin:0 0 18px}
.gm-logo-card img{display:block;width:auto;height:130px}
.gm-f a.gm-addr{color:#d7e2d9;text-decoration:underline;text-decoration-color:rgba(215,226,217,.4);text-underline-offset:.22em}
.gm-f .gm-note{font-size:.86rem;color:#8ea394;margin-top:10px}
.gm-social{display:flex;gap:16px;align-items:center;margin-top:18px}
.gm-social a{display:inline-flex;width:40px;height:40px;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.14);border-radius:50%;color:#fff}
.gm-social a:hover{border-color:#fff;background:rgba(255,255,255,.06);text-decoration:none}
.gm-fcrisis{margin-top:32px;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.14);color:#d0dbd2;font-size:.9rem}
.gm-fcrisis b{color:#fff}
.gm-fcrisis a{text-decoration:underline}
.gm-legal{margin-top:22px;font-size:.8rem;color:#8ea394;display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between}
.gm-legal a{color:#b7c7ba}
@media (min-width:700px){.gm-ftop{grid-template-columns:1fr 1fr}}
@media (min-width:1100px){.gm-ftop{grid-template-columns:1.3fr 1fr 1fr 1.2fr}}
