/*
 * GGD nav: [ggd_nav]. Brand tokens from the Elementor kit / blocks.css, with
 * fallbacks so the nav renders correctly on pages that don't load blocks.css.
 * Selectors carry an element type (a./button.) so they out-rank the kit's
 * global ".elementor-kit-6 button / a" rules and Hello's reset.
 */
.ggd-nav{
  --n-ink:var(--ggd-navy,#0F172A);--n-red:var(--ggd-red,#BE1E2D);--n-red-bright:var(--ggd-red-bright,#DC2626);
  --n-blue:var(--ggd-blue,#1D4ED8);--n-blue-tint:var(--ggd-blue-tint,#EFF6FF);--n-slate:var(--ggd-slate,#475569);
  --n-muted:var(--ggd-slate-light,#94A3B8);--n-glow:var(--ggd-blue-glow,#60A5FA);--n-off:var(--ggd-off-white,#F8FAFC);
  --n-line:var(--ggd-field-border,#E2E8F0);--n-font:"Heebo",system-ui,sans-serif;--n-mega-width:1080px;
  position:relative;font-family:var(--n-font);color:var(--n-ink)
}
.ggd-nav *,.ggd-nav *::before,.ggd-nav *::after{box-sizing:border-box}
.ggd-nav .ggd-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.ggd-nav ul{list-style:none;margin:0;padding:0}
.ggd-nav p{margin:0}
.ggd-nav .ggd-nav__list{display:flex;align-items:center;gap:6px}
.ggd-nav .ggd-nav__item{display:flex;align-items:center;margin:0}
.ggd-nav .ggd-nav__item--drop{position:relative}

.ggd-nav a.ggd-nav__link{display:block;padding:10px 12px;font:600 15px/1.2 var(--n-font);letter-spacing:0;text-transform:none;color:var(--n-ink);text-decoration:none;border-radius:6px;transition:color .15s}
.ggd-nav a.ggd-nav__link:hover,.ggd-nav .is-active>a.ggd-nav__link,.ggd-nav .is-open>a.ggd-nav__link{color:var(--n-red)}
.ggd-nav .ggd-nav__item--mega>a.ggd-nav__link,.ggd-nav .ggd-nav__item--drop>a.ggd-nav__link{padding-right:4px}

.ggd-nav button.ggd-nav__toggle,.ggd-nav button.ggd-nav__burger{all:unset;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--n-ink);border-radius:6px}
.ggd-nav button.ggd-nav__toggle{width:26px;height:34px}
.ggd-nav button.ggd-nav__toggle:hover,.ggd-nav .is-open>button.ggd-nav__toggle{color:var(--n-red);background:none}
.ggd-nav .ggd-nav__caret{width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .15s}
.ggd-nav button[aria-expanded=true] .ggd-nav__caret{transform:translateY(2px) rotate(225deg)}
.ggd-nav a:focus-visible,.ggd-nav button:focus-visible{outline:2px solid var(--n-blue);outline-offset:2px}

.ggd-nav button.ggd-nav__burger{display:none;width:44px;height:44px}
.ggd-nav .ggd-nav__burger-bars,.ggd-nav .ggd-nav__burger-bars::before,.ggd-nav .ggd-nav__burger-bars::after{display:block;width:22px;height:2px;border-radius:2px;background:currentColor;position:relative;transition:transform .15s,background .15s}
.ggd-nav .ggd-nav__burger-bars::before,.ggd-nav .ggd-nav__burger-bars::after{content:"";position:absolute;left:0}
.ggd-nav .ggd-nav__burger-bars::before{top:-7px}
.ggd-nav .ggd-nav__burger-bars::after{top:7px}
.ggd-nav button[aria-expanded=true] .ggd-nav__burger-bars{background:transparent}
.ggd-nav button[aria-expanded=true] .ggd-nav__burger-bars::before{transform:translateY(7px) rotate(45deg)}
.ggd-nav button[aria-expanded=true] .ggd-nav__burger-bars::after{transform:translateY(-7px) rotate(-45deg)}

/* Mega panel */
.ggd-nav .ggd-mega{position:absolute;top:calc(100% + 12px);left:50%;transform:translateX(-50%);width:min(var(--n-mega-width),calc(100vw - 32px));
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.9fr);background:#fff;border:1px solid var(--n-line);border-radius:12px;overflow:hidden;
  box-shadow:0 30px 60px -25px rgba(15,23,42,.45);z-index:1000;text-align:left}
.ggd-nav .ggd-mega[hidden],.ggd-nav .ggd-drop[hidden]{display:none}
.ggd-nav .ggd-mega::before{content:"";position:absolute;left:0;right:0;top:-24px;height:24px}
.ggd-nav .ggd-mega--plain{grid-template-columns:1fr}
.ggd-nav .ggd-mega__feature{display:flex;flex-direction:column;align-items:flex-start;gap:10px;background:var(--n-ink);color:#fff;padding:32px}
.ggd-nav .ggd-mega__eyebrow{font:600 12px/1.2 var(--n-font);letter-spacing:.14em;text-transform:uppercase;color:var(--n-glow)}
.ggd-nav .ggd-mega__title{font:700 28px/1.1 var(--n-font);color:#fff}
.ggd-nav .ggd-mega__text{font:400 15px/1.55 var(--n-font);color:#CBD5E1;margin-bottom:8px}
.ggd-nav a.ggd-mega__cta{display:inline-flex;align-items:center;gap:8px;margin-top:auto;background:var(--n-red-bright);color:#fff;padding:13px 20px;border-radius:8px;font:700 15px/1 var(--n-font);text-decoration:none;transition:background .15s}
.ggd-nav a.ggd-mega__cta:hover{background:var(--n-red);color:#fff}
.ggd-nav .ggd-mega__links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 16px;padding:24px;align-content:start;background:var(--n-off)}
.ggd-nav a.ggd-mega__link{display:block;padding:12px 14px;border-radius:8px;text-decoration:none;color:var(--n-ink);transition:background .15s}
.ggd-nav a.ggd-mega__link:hover,.ggd-nav a.ggd-mega__link[aria-current]{background:#fff;box-shadow:inset 0 0 0 1px var(--n-line)}
.ggd-nav .ggd-mega__link-title{display:block;font:600 16px/1.3 var(--n-font);color:var(--n-ink)}
.ggd-nav a.ggd-mega__link:hover .ggd-mega__link-title{color:var(--n-red)}
.ggd-nav .ggd-mega__link-desc{display:block;margin-top:3px;font:400 14px/1.4 var(--n-font);color:var(--n-slate)}

.ggd-nav .ggd-drop{position:absolute;top:100%;left:0;min-width:220px;background:#fff;border:1px solid var(--n-line);border-radius:10px;padding:6px;box-shadow:0 20px 40px -20px rgba(15,23,42,.4);z-index:1000}
.ggd-nav a.ggd-drop__link{display:block;padding:10px 12px;border-radius:6px;font:500 15px/1.3 var(--n-font);color:var(--n-ink);text-decoration:none}
.ggd-nav a.ggd-drop__link:hover{background:var(--n-off);color:var(--n-red)}

@media (max-width:1100px){
  .ggd-nav button.ggd-nav__burger{display:inline-flex}
  .ggd-nav .ggd-nav__list{display:none;position:absolute;right:0;top:calc(100% + 8px);width:min(420px,calc(100vw - 24px));flex-direction:column;align-items:stretch;gap:0;
    background:#fff;border:1px solid var(--n-line);border-radius:12px;padding:6px 16px;box-shadow:0 30px 60px -25px rgba(15,23,42,.45);z-index:1000;max-height:calc(100vh - 140px);overflow:auto}
  .ggd-nav.is-open .ggd-nav__list{display:flex}
  .ggd-nav .ggd-nav__item{flex-wrap:wrap;border-bottom:1px solid var(--n-line)}
  .ggd-nav .ggd-nav__item:last-child{border-bottom:0}
  .ggd-nav a.ggd-nav__link{flex:1;padding:15px 2px;font-size:16px}
  .ggd-nav button.ggd-nav__toggle{width:44px;height:44px}
  .ggd-nav .ggd-mega,.ggd-nav .ggd-drop{position:static;transform:none;width:100%;border:0;border-radius:0;box-shadow:none;grid-template-columns:1fr;padding:0 0 12px;background:none}
  .ggd-nav .ggd-mega::before{display:none}
  .ggd-nav .ggd-mega__feature{border-radius:10px;padding:20px}
  .ggd-nav .ggd-mega__title{font-size:22px}
  .ggd-nav .ggd-mega__links{grid-template-columns:1fr;padding:8px 0 0;background:none}
  .ggd-nav a.ggd-mega__link{padding:10px 4px}
}

/* Mobile: whole row toggles the submenu; the label stays a link layered on top (2026-10-20) */
@media (max-width:1100px){
  .ggd-nav .ggd-nav__item--mega,.ggd-nav .ggd-nav__item--drop{position:relative}
  .ggd-nav .ggd-nav__item--mega>a.ggd-nav__link,.ggd-nav .ggd-nav__item--drop>a.ggd-nav__link{flex:0 0 auto;position:relative;z-index:2;min-height:50px;display:flex;align-items:center;padding:0 12px 0 2px}
  .ggd-nav .ggd-nav__item--mega>button.ggd-nav__toggle,.ggd-nav .ggd-nav__item--drop>button.ggd-nav__toggle{position:absolute;top:0;left:0;right:0;width:100%;height:50px;justify-content:flex-end;padding-right:12px;z-index:1;border-radius:0}
  .ggd-nav .ggd-nav__item--mega>button.ggd-nav__toggle:active,.ggd-nav .ggd-nav__item--drop>button.ggd-nav__toggle:active{background:var(--n-line,rgba(15,23,42,.06))}
}
