:root{--gm-red:#DC2A1A;--gm-red-d:#b81f11;--gm-navy:#10204a;--gm-navy-2:#1b3170;--gm-sun:#ffc531;--gm-wa:#148a4b;--gm-ink:#334155;--gm-line:#e8ecf3;--gm-ease:cubic-bezier(.22,1,.36,1)}
.gmh-i{width:18px;height:18px;flex:none}
.gmh-wrap{width:100%;max-width:1240px;margin-inline:auto;padding-inline:12px}
@media(min-width:640px){.gmh-wrap{padding-inline:20px}}
@media(min-width:1024px){.gmh-wrap{padding-inline:28px}}
.gmh a:focus-visible,.gmh button:focus-visible,.gmh-drawer a:focus-visible,.gmh-drawer button:focus-visible,.gmh-dock a:focus-visible,.gmh-top a:focus-visible{outline:2px solid var(--gm-red);outline-offset:2px}

/* AOS: shorter travel so nothing flies in from far away */
.gmh [data-aos=fade-left]:not(.aos-animate),.gmh-top [data-aos=fade-left]:not(.aos-animate){transform:translate3d(22px,0,0)}
.gmh [data-aos=fade-right]:not(.aos-animate){transform:translate3d(-22px,0,0)}
.gmh [data-aos=fade-down]:not(.aos-animate),.gmh-top [data-aos=fade-down]:not(.aos-animate){transform:translate3d(0,-14px,0)}

/* ---------- Top bar ---------- */
.gmh-top{background:linear-gradient(90deg,var(--gm-navy),var(--gm-navy-2) 60%,#2a1f55);color:#fff;font-size:12.5px;line-height:1.2;overflow:hidden}
.gmh-top__in{display:flex;align-items:center;gap:14px;height:34px}
.gmh-top a{color:inherit;text-decoration:none;display:inline-flex;align-items:center;gap:6px;white-space:nowrap;transition:color .2s}
.gmh-top a:hover{color:var(--gm-sun)}
.gmh-top .gmh-i{color:var(--gm-sun)}
.gmh-addr{display:none;align-items:center;gap:6px;max-width:340px;color:rgba(255,255,255,.92)}
.gmh-addr span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(min-width:1100px){.gmh-addr{display:flex}}
.gmh-ticker{flex:1;min-width:0;display:flex;align-items:center;gap:10px}
.gmh-badge{flex:none;display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:999px;background:var(--gm-sun);color:var(--gm-navy);font-weight:800;font-size:11px}
.gmh-badge i{width:7px;height:7px;border-radius:50%;background:var(--gm-red);animation:gmh-dot 1.4s ease-in-out infinite}
.gmh-ticker__view{flex:1;min-width:0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 18px,#000 calc(100% - 18px),transparent);mask-image:linear-gradient(90deg,transparent,#000 18px,#000 calc(100% - 18px),transparent)}
.gmh-ticker__track{display:flex;width:max-content;animation:gmh-marq 34s linear infinite}
.gmh-ticker__track:hover{animation-play-state:paused}
.gmh-ticker ul{display:flex;gap:40px;padding:0 40px 0 0;margin:0;list-style:none;flex:none}
.gmh-ticker li{white-space:nowrap}
.gmh-ticker li::before{content:"";display:inline-block;width:6px;height:6px;margin-right:10px;border-radius:50%;background:var(--gm-sun);vertical-align:middle}
.gmh-top__links{display:none;gap:18px;flex:none}
@media(min-width:640px){.gmh-top__links{display:flex}}

/* ---------- Sticky main bar ---------- */
.gmh{position:sticky;top:0;z-index:50;overflow:hidden;background:rgba(255,255,255,.94);-webkit-backdrop-filter:saturate(1.4) blur(12px);backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid var(--gm-line);transition:box-shadow .3s,background .3s}
.gmh.is-scrolled{background:rgba(255,255,255,.98);box-shadow:0 10px 30px -14px rgba(16,32,74,.35)}
.admin-bar .gmh{top:32px}
@media(max-width:782px){.admin-bar .gmh{top:46px}}
@media(max-width:600px){.admin-bar .gmh{top:0}}
.gmh-bar__in{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:60px}
@media(min-width:1024px){.gmh-bar__in{min-height:72px;gap:18px}}

.gmh-brand{display:flex;align-items:center;gap:8px;min-width:0;flex:none;text-decoration:none;transform-origin:left center;transition:transform .35s var(--gm-ease)}
.gmh.is-scrolled .gmh-brand{transform:scale(.92)}
.gmh-logo{height:38px;width:auto;max-width:none;border-radius:8px;display:block;transition:transform .4s var(--gm-ease)}
@media(min-width:1024px){.gmh-logo{height:46px}}
@media(hover:hover){.gmh-brand:hover .gmh-logo{transform:rotate(-6deg) scale(1.06)}}
.gmh-brand__txt{display:block;line-height:1.1;min-width:0}
.gmh-brand__name{display:block;font-weight:800;font-size:15px;letter-spacing:-.01em;color:var(--gm-red);white-space:nowrap}
@media(min-width:360px){.gmh-brand__name{font-size:17px}}
@media(min-width:1024px){.gmh-brand__name{font-size:20px}}
.gmh-brand__sub{display:none;margin-top:2px;max-width:260px;font-size:11px;font-weight:500;color:var(--gm-navy-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(min-width:768px) and (max-width:1023px){.gmh-brand__sub{display:block}}
@media(min-width:1280px){.gmh-brand__sub{display:block}}

/* Desktop nav with sliding pill */
.gmh-nav{display:none;position:relative;flex:1;min-width:0;justify-content:center}
@media(min-width:1024px){.gmh-nav{display:flex}}
.gmh-nav ul{display:flex;align-items:center;gap:2px;margin:0;padding:0;list-style:none}
.gmh-nav a{position:relative;z-index:1;display:block;padding:9px 10px;font-size:14.5px;font-weight:600;color:var(--gm-navy);text-decoration:none;white-space:nowrap;border-radius:999px;transition:color .25s}
@media(min-width:1200px){.gmh-nav a{padding:9px 14px;font-size:15px}}
.gmh-nav a:hover,.gmh-nav a:focus-visible,.gmh-nav .current-menu-item>a,.gmh-nav .current_page_item>a,.gmh-nav .current-menu-ancestor>a{color:var(--gm-red)}
.gmh-nav .current-menu-item>a::after,.gmh-nav .current_page_item>a::after{content:"";position:absolute;left:50%;bottom:1px;width:5px;height:5px;margin-left:-2.5px;border-radius:50%;background:var(--gm-red)}
.gmh-pill{position:absolute;left:0;top:50%;width:0;height:36px;margin-top:-18px;border-radius:999px;background:rgba(220,42,26,.1);opacity:0;pointer-events:none;transition:transform .4s var(--gm-ease),width .4s var(--gm-ease),opacity .2s}
.gmh-pill.on{opacity:1}

/* Actions */
.gmh-actions{display:flex;align-items:center;gap:6px;flex:none}
.gmh-call{position:relative;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--gm-navy);color:#fff;text-decoration:none;transition:transform .2s,background .2s}
.gmh-call::after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid var(--gm-navy);opacity:0;animation:gmh-ring 2.6s ease-out infinite}
.gmh-call .gmh-i{animation:gmh-wiggle 4s ease-in-out infinite;transform-origin:50% 50%}
.gmh-call:active{transform:scale(.92)}
@media(hover:hover){.gmh-call:hover{background:var(--gm-red)}}
.gmh-cta,.gmh-btn,.gmh-dock a,.gmh-drawer nav a{position:relative;overflow:hidden;-webkit-tap-highlight-color:transparent}
.gmh-cta{display:none;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 20px;border-radius:999px;background:linear-gradient(135deg,var(--gm-red),#f0541f);color:#fff;font-size:14px;font-weight:700;text-decoration:none;box-shadow:0 10px 22px -10px rgba(220,42,26,.8);transition:transform .25s var(--gm-ease),box-shadow .25s}
@media(min-width:640px){.gmh-cta{display:inline-flex}}
.gmh-cta::before{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.5) 50%,transparent 70%);transform:translateX(-130%);animation:gmh-shine 4s 1.6s ease-in-out infinite}
.gmh-cta:active{transform:scale(.96)}
@media(hover:hover){.gmh-cta:hover{transform:translateY(-2px);box-shadow:0 14px 26px -10px rgba(220,42,26,.9)}}
.gmh-cta--block{display:flex;width:100%;height:50px;font-size:15px}

.gmh-burger{display:grid;place-content:center;gap:5px;width:44px;height:44px;padding:0;border:0;border-radius:12px;background:rgba(16,32,74,.07);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .2s,transform .2s}
.gmh-burger:active{transform:scale(.92)}
.gmh-burger span{display:block;width:22px;height:2.5px;border-radius:2px;background:var(--gm-navy);transition:transform .35s var(--gm-ease),opacity .2s,width .3s}
.gmh-burger span:nth-child(2){width:15px;margin-left:auto}
.gmh-burger[aria-expanded=true] span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
.gmh-burger[aria-expanded=true] span:nth-child(2){opacity:0}
.gmh-burger[aria-expanded=true] span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}
@media(min-width:1024px){.gmh-burger{display:none}}

.gmh-progress{position:absolute;left:0;right:0;bottom:0;height:3px;pointer-events:none}
.gmh-progress i{display:block;height:100%;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,var(--gm-red),var(--gm-sun))}

/* ---------- Mobile drawer ---------- */
html.gmh-lock,html.gmh-lock body{overflow:hidden}
.gmh-overlay{position:fixed;inset:0;z-index:9990;background:rgba(10,18,45,.55);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);opacity:0;visibility:hidden;transition:opacity .35s,visibility .35s}
.gmh-overlay.is-open{opacity:1;visibility:visible}
.gmh-drawer{position:fixed;top:0;right:0;bottom:0;z-index:9991;display:flex;flex-direction:column;width:min(88vw,360px);background:#fff;border-radius:22px 0 0 22px;box-shadow:-20px 0 60px -20px rgba(0,0,0,.45);overflow:hidden;visibility:hidden;transform:translateX(105%);transition:transform .45s var(--gm-ease),visibility .45s;padding-bottom:env(safe-area-inset-bottom)}
.gmh-drawer.is-open{visibility:visible;transform:none}
.admin-bar .gmh-drawer,.admin-bar .gmh-overlay{top:32px}
@media(max-width:782px){.admin-bar .gmh-drawer,.admin-bar .gmh-overlay{top:46px}}
@media(max-width:600px){.admin-bar .gmh-drawer,.admin-bar .gmh-overlay{top:0}}
.gmh-drawer__head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 14px 14px 16px;background:linear-gradient(135deg,var(--gm-navy),var(--gm-navy-2))}
.gmh-brand--light .gmh-brand__name{color:#fff}
.gmh-drawer .gmh-brand{transform:none!important}
.gmh-drawer .gmh-logo{height:36px;padding:2px;background:#fff}
.gmh-drawer .gmh-brand__sub{display:block;max-width:150px;white-space:normal;color:rgba(255,255,255,.75)}
.gmh-close{flex:none;display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;cursor:pointer;transition:transform .35s var(--gm-ease),background .2s}
.gmh-close:active{transform:rotate(90deg) scale(.9);background:rgba(255,255,255,.28)}
.gmh-drawer__body{flex:1;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:10px 12px 18px}
.gmh-drawer nav ul{display:flex;flex-direction:column;gap:2px;margin:0;padding:0;list-style:none}
.gmh-drawer nav a{display:flex;align-items:center;justify-content:space-between;padding:13px 12px;border-radius:14px;font-size:16px;font-weight:600;color:var(--gm-navy);text-decoration:none;transition:background .2s,color .2s,padding-left .25s var(--gm-ease)}
.gmh-drawer nav a::after{content:"";width:8px;height:8px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg);opacity:.45;transition:transform .25s,opacity .2s}
.gmh-drawer nav a:active,.gmh-drawer nav a:focus-visible,.gmh-drawer nav .current-menu-item>a,.gmh-drawer nav .current_page_item>a{background:rgba(220,42,26,.09);color:var(--gm-red);padding-left:18px}
.gmh-drawer nav a:active::after{transform:translateX(4px) rotate(45deg);opacity:1}
.gmh-drawer.is-open nav li{animation:gmh-slide .5s var(--gm-ease) both;animation-delay:calc(var(--i,0)*55ms + 150ms)}
.gmh-drawer.is-open .gmh-card{animation:gmh-slide .55s .5s var(--gm-ease) both}
.gmh-card{margin-top:14px;padding:14px;border-radius:18px;background:linear-gradient(160deg,#f4f7ff,#fff3ef);border:1px solid var(--gm-line)}
.gmh-card p{display:flex;gap:8px;margin:0 0 12px;font-size:13px;line-height:1.45;color:var(--gm-ink)}
.gmh-card p .gmh-i{margin-top:2px;color:var(--gm-red)}
.gmh-card__btns{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px}
.gmh-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:46px;border-radius:14px;color:#fff;font-size:14px;font-weight:700;text-decoration:none;transition:transform .2s}
.gmh-btn:active{transform:scale(.95)}
.gmh-btn--call{background:var(--gm-navy)}
.gmh-btn--wa{background:var(--gm-wa)}

/* ---------- Mobile bottom dock ---------- */
.gmh-dock{position:fixed;left:0;right:0;bottom:0;z-index:9980;display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:8px;padding:8px 10px calc(8px + env(safe-area-inset-bottom));background:rgba(255,255,255,.94);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--gm-line);box-shadow:0 -10px 30px -14px rgba(16,32,74,.3);transition:transform .4s var(--gm-ease);animation:gmh-up .6s .8s var(--gm-ease) backwards}
.gmh-dock a{display:flex;align-items:center;justify-content:center;gap:5px;height:44px;border-radius:14px;color:#fff;font-size:12.5px;font-weight:700;text-decoration:none;transition:transform .2s}
@media(min-width:360px){.gmh-dock a{font-size:13.5px;gap:6px}}
.gmh-dock a:active{transform:scale(.94)}
.gmh-dock__call{background:var(--gm-navy)}
.gmh-dock__wa{background:var(--gm-wa)}
.gmh-dock__enq{background:linear-gradient(135deg,var(--gm-red),#f0541f)}
html.gmh-lock .gmh-dock{transform:translateY(115%)}
@media(min-width:768px){.gmh-dock{display:none}}
@media(max-width:767px){body{padding-bottom:calc(66px + env(safe-area-inset-bottom))}}

/* Tap ripple */
.gmh-rip{position:absolute;border-radius:50%;pointer-events:none;background:rgba(255,255,255,.45);transform:scale(0);animation:gmh-rip .6s ease-out forwards}
.gmh-drawer nav .gmh-rip{background:rgba(220,42,26,.18)}

/* Keyframes */
@keyframes gmh-marq{to{transform:translateX(-50%)}}
@keyframes gmh-dot{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.7);opacity:.45}}
@keyframes gmh-ring{0%{transform:scale(1);opacity:.55}70%,100%{transform:scale(1.45);opacity:0}}
@keyframes gmh-wiggle{0%,86%,100%{transform:rotate(0)}88%{transform:rotate(-14deg)}91%{transform:rotate(12deg)}94%{transform:rotate(-8deg)}97%{transform:rotate(5deg)}}
@keyframes gmh-shine{0%,55%{transform:translateX(-130%)}100%{transform:translateX(130%)}}
@keyframes gmh-slide{from{opacity:0;transform:translateX(28px)}to{opacity:1;transform:none}}
@keyframes gmh-up{from{transform:translateY(110%)}to{transform:none}}
@keyframes gmh-rip{to{transform:scale(1);opacity:0}}

@media(prefers-reduced-motion:reduce){
  .gmh-top *,.gmh *,.gmh-drawer,.gmh-drawer *,.gmh-dock,.gmh-dock *,.gmh-overlay{animation:none!important;transition-duration:.01ms!important}
  .gmh-ticker ul[aria-hidden]{display:none}
}
