
:root{--brand-navy:var(--ggs-navy,#0b2b3f);--brand-gold:var(--ggs-gold,#f4b61f);--brand-cream:var(--ggs-cream,#f6f1e7);--brand-sky:var(--ggs-sky,#dfeef2);--brand-white:#fffdf8;--brand-ink:#102c3c;--brand-muted:#64717a;--brand-line:rgba(11,43,63,.14)}
html{scroll-behavior:smooth}html,body{margin:0;padding:0;width:100%;max-width:100%}body{overflow-x:clip;background:var(--brand-cream);color:var(--brand-ink);font-family:'DM Sans',Arial,sans-serif;-webkit-font-smoothing:antialiased}body.admin-bar .ggsh-header{top:32px}@media(max-width:782px){body.admin-bar .ggsh-header{top:46px}}
.ggsh-header,.ggsh-header *,.ggsf-footer,.ggsf-footer *{box-sizing:border-box}.ggsh-header a,.ggsf-footer a{color:inherit;text-decoration:none}.ggsh-header button{font:inherit}
.ggsh-header{position:sticky;top:0;z-index:99999;padding:12px 0;background:rgba(246,241,231,.88);backdrop-filter:blur(18px);border-bottom:1px solid rgba(11,43,63,.055);transition:padding .25s ease,box-shadow .25s ease}.ggsh-header.is-scrolled{padding:8px 0;box-shadow:0 10px 35px rgba(11,43,63,.07)}.ggsh-shell,.ggsf-shell{width:min(1220px,calc(100% - 48px));margin-inline:auto}.ggsh-nav{height:66px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 10px 0 16px;border:1px solid var(--brand-line);border-radius:18px;background:rgba(255,253,248,.97);box-shadow:0 9px 28px rgba(11,43,63,.055);position:relative}.ggsh-brand{display:inline-flex;align-items:center;gap:11px;min-width:max-content}.ggsh-mark,.ggsf-mark{width:39px;height:39px;border-radius:12px;background:var(--brand-navy);display:grid;place-items:center;position:relative;overflow:hidden;color:#fff;flex:0 0 auto}.ggsh-mark:after,.ggsf-mark:after{content:"";position:absolute;width:19px;height:19px;border:3px solid var(--brand-gold);border-left-color:transparent;border-radius:7px;transform:rotate(-14deg)}.ggsh-mark span,.ggsf-mark span{position:relative;z-index:1;font:800 10px/1 'Manrope',sans-serif}.ggsh-name,.ggsf-name{font:800 16px/1 'Manrope',sans-serif;letter-spacing:-.035em;color:var(--brand-navy)}.ggsh-name small,.ggsf-name small{display:block;margin-top:4px;font:700 8px/1.2 'DM Sans',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#7c898f}.ggsh-custom-logo{display:block;max-height:46px;width:auto}
.ggsh-menu{display:flex;align-items:center;gap:28px;font:700 12.5px/1 'Manrope',sans-serif;color:#294455}.ggsh-menu>a,.ggsh-services-link{position:relative;padding:25px 0;white-space:nowrap}.ggsh-menu>a:after,.ggsh-services-link:after{content:"";position:absolute;left:0;bottom:15px;width:0;height:2px;border-radius:4px;background:var(--brand-gold);transition:width .22s ease}.ggsh-menu>a:hover:after,.ggsh-menu>a.is-current:after,.ggsh-services:hover .ggsh-services-link:after,.ggsh-services.is-current .ggsh-services-link:after{width:100%}.ggsh-services{height:66px;display:flex;align-items:center;position:relative}.ggsh-services-row{display:flex;align-items:center}.ggsh-services-link{display:flex;align-items:center;gap:7px}.ggsh-services-link>span{font-size:15px;transition:transform .2s}.ggsh-subtoggle{display:none;border:0;background:transparent;width:42px;height:42px;color:var(--brand-navy);cursor:pointer}.ggsh-dropdown{position:absolute;left:-20px;top:65px;width:390px;padding:8px;border:1px solid rgba(11,43,63,.16);border-radius:18px;background:#fffdf8;box-shadow:0 26px 65px rgba(11,43,63,.18);opacity:0;visibility:hidden;transform:translateY(-8px);transition:.2s ease;z-index:1000}.ggsh-dropdown:before{content:"";position:absolute;left:0;right:0;top:-12px;height:12px}.ggsh-dropdown a{display:grid;grid-template-columns:minmax(0,1fr) 24px;align-items:center;gap:11px;min-height:48px;padding:7px 13px;border-radius:11px;color:var(--brand-navy);font:800 12px/1.25 'Manrope',sans-serif;transition:background .18s ease,transform .18s ease}.ggsh-dropdown a b{font-size:14px;opacity:.35}.ggsh-dropdown a:hover{background:#fff0bd;transform:translateX(2px)}.ggsh-dropdown a:hover b{opacity:1}.ggsh-dropdown .ggsh-all-services{margin-top:5px;background:var(--brand-navy);color:#fff}.ggsh-dropdown .ggsh-all-services b{color:var(--brand-gold);opacity:1}.ggsh-services:hover .ggsh-dropdown,.ggsh-services:focus-within .ggsh-dropdown,.ggsh-services.is-open .ggsh-dropdown{opacity:1;visibility:visible;transform:none}.ggsh-services:hover .ggsh-services-link>span,.ggsh-services.is-open .ggsh-services-link>span{transform:rotate(180deg)}
.ggsh-actions{display:flex;align-items:center;gap:8px}.ggsh-cta{height:48px;padding:0 17px;border-radius:13px;background:var(--brand-navy)!important;color:#fff!important;display:inline-flex;align-items:center;justify-content:center;gap:10px;font:800 12px/1 'Manrope',sans-serif;box-shadow:0 12px 26px rgba(11,43,63,.16);transition:transform .2s ease,box-shadow .2s ease}.ggsh-cta span{width:24px;height:24px;border-radius:8px;background:var(--brand-gold);color:var(--brand-navy);display:grid;place-items:center}.ggsh-cta:hover{transform:translateY(-2px);box-shadow:0 16px 32px rgba(11,43,63,.22)}.ggsh-toggle{display:none;width:46px;height:46px;border:0;border-radius:12px;background:var(--brand-navy);color:#fff;cursor:pointer;place-items:center}.ggsh-toggle span,.ggsh-toggle:before,.ggsh-toggle:after{content:"";display:block;width:19px;height:2px;border-radius:9px;background:currentColor;transition:.22s ease}.ggsh-toggle span{margin:4px 0}.ggsh-toggle.is-open span{opacity:0}.ggsh-toggle.is-open:before{transform:translateY(6px) rotate(45deg)}.ggsh-toggle.is-open:after{transform:translateY(-6px) rotate(-45deg)}
.ggsf-footer{position:relative;background:var(--brand-navy);color:#fff;padding:72px 0 26px;border-top:1px solid rgba(255,255,255,.09);overflow:hidden}.ggsf-footer:before{content:"";position:absolute;width:480px;height:480px;border-radius:50%;right:-240px;top:-280px;background:rgba(244,182,31,.11)}.ggsf-top{position:relative;display:grid;grid-template-columns:1.15fr .58fr 1.2fr .8fr;gap:42px;padding-bottom:48px;border-bottom:1px solid rgba(255,255,255,.11)}.ggsf-logo{display:inline-flex;align-items:center;gap:11px}.ggsf-name{color:#fff}.ggsf-name small{color:#9eafb8}.ggsf-brand p{max-width:370px;margin:19px 0 0;color:#aebcc3;font-size:12.5px;line-height:1.72}.ggsf-status{display:inline-flex;align-items:center;gap:9px;margin-top:18px;color:#c9d3d7;font-size:11px}.ggsf-status:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--brand-gold);box-shadow:0 0 0 6px rgba(244,182,31,.1)}.ggsf-footer h3{margin:0 0 19px;font:800 10px/1 'Manrope',sans-serif;letter-spacing:.13em;text-transform:uppercase;color:#fff}.ggsf-links{display:grid;gap:11px;color:#b6c3c9;font-size:12px}.ggsf-links a,.ggsf-service-links a{transition:color .18s ease,transform .18s ease}.ggsf-links a:hover,.ggsf-service-links a:hover{color:#ffd46a;transform:translateX(2px)}.ggsf-service-links{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px;color:#b6c3c9;font-size:11.5px}.ggsf-project{color:#ffd46a!important;font-weight:800}.ggsf-bottom{position:relative;display:flex;justify-content:space-between;gap:28px;padding-top:23px;color:#879aa4;font-size:10.5px}
@media(max-width:1080px){.ggsh-menu{gap:18px}.ggsh-cta{display:none}.ggsf-top{grid-template-columns:1.15fr .75fr 1.25fr}.ggsf-top>div:last-child{grid-column:2/4}}
@media(max-width:860px){.ggsh-shell,.ggsf-shell{width:min(100% - 30px,1220px)}.ggsh-header{padding:9px 0}.ggsh-nav{height:62px;padding-left:13px}.ggsh-toggle{display:grid}.ggsh-menu{position:absolute;left:0;right:0;top:72px;padding:12px;border:1px solid var(--brand-line);border-radius:20px;background:#fffdf8;box-shadow:0 25px 65px rgba(11,43,63,.18);display:grid;gap:3px;align-items:stretch;opacity:0;visibility:hidden;transform:translateY(-9px);transition:.22s ease;max-height:calc(100vh - 90px);overflow:auto}.ggsh-menu.is-open{opacity:1;visibility:visible;transform:none}.ggsh-menu>a{padding:14px 12px;border-radius:10px}.ggsh-menu>a:hover{background:var(--brand-cream)}.ggsh-menu>a:after{display:none}.ggsh-services{height:auto;display:block}.ggsh-services-row{display:grid;grid-template-columns:1fr 44px}.ggsh-services-link{padding:14px 12px;border-radius:10px}.ggsh-services-link:after,.ggsh-services-link>span{display:none}.ggsh-subtoggle{display:grid;place-items:center;border-radius:10px}.ggsh-subtoggle:hover{background:var(--brand-cream)}.ggsh-dropdown{position:static;width:auto;margin:0 8px 6px;padding:6px;border:0;border-left:2px solid var(--brand-gold);border-radius:0;box-shadow:none;background:transparent;opacity:1;visibility:visible;transform:none;display:none}.ggsh-services.is-open .ggsh-dropdown{display:block}.ggsh-dropdown a{grid-template-columns:minmax(0,1fr) 20px;min-height:44px;padding:5px 10px;font-size:11px}.ggsh-dropdown a:hover{transform:none}.ggsh-dropdown .ggsh-all-services{margin-top:4px}.ggsf-top{grid-template-columns:1fr 1fr}.ggsf-top>div:first-child,.ggsf-top>div:last-child{grid-column:1/-1}}
@media(max-width:580px){.ggsh-shell,.ggsf-shell{width:calc(100% - 24px)}.ggsh-name{font-size:14px}.ggsh-name small{display:none}.ggsh-mark{width:35px;height:35px}.ggsf-top{grid-template-columns:1fr;gap:30px}.ggsf-top>*{grid-column:1!important}.ggsf-service-links{grid-template-columns:1fr 1fr}.ggsf-bottom{flex-direction:column;gap:7px}.ggsf-footer{padding-top:58px}}
@media(max-width:390px){.ggsf-service-links{grid-template-columns:1fr}.ggsh-nav{gap:8px}}

/* =========================================================
   Final production polish — spacing, alignment and density
   ========================================================= */
.ggsh-header{padding:8px 0}
.ggsh-header.is-scrolled{padding:6px 0}
.ggsh-nav{height:64px}
.ggsh-services{height:64px}
.ggsh-menu>a,.ggsh-services-link{padding-top:23px;padding-bottom:23px}
.ggsh-menu>a:after,.ggsh-services-link:after{bottom:14px}
.ggsh-dropdown{top:63px}
.ggsh-shell,.ggsf-shell{width:min(1220px,calc(100% - 40px))}
.ggsf-footer{padding:60px 0 22px}
.ggsf-top{gap:32px;padding-bottom:38px}
.ggsf-brand p{margin-top:15px}
.ggsf-status{margin-top:14px}
.ggsf-footer h3{margin-bottom:15px}
.ggsf-bottom{padding-top:19px}
/* Prevent accidental theme/page-builder whitespace around the theme shell. */
.ggsh-header + #ggs-site,.ggsh-header + .ggsx,.ggsh-header + #ggs-contact,.ggsh-header + #ggs-blog,.ggsh-header + #ggs-article{margin-top:0!important;padding-top:0}
.ggsh-header + *:empty,.ggsf-footer + *:empty{display:none!important}
@media(max-width:860px){
  .ggsh-header{padding:7px 0}.ggsh-nav{height:60px}.ggsh-menu{top:68px}
  .ggsh-shell,.ggsf-shell{width:min(100% - 28px,1220px)}
  .ggsf-footer{padding-top:52px}.ggsf-top{gap:28px;padding-bottom:32px}
}
@media(max-width:580px){.ggsh-shell,.ggsf-shell{width:calc(100% - 22px)}.ggsf-footer{padding-top:46px}}

/* =========================================================
   v3.0 final header/dropdown hardening
   - exact 9-service menu: no extra CTA row
   - compact rows, viewport-safe height, consistent hover contrast
   - avoids clipping at short desktop heights
   ========================================================= */
.ggsh-dropdown{
  width:min(370px,calc(100vw - 32px));
  padding:7px;
  max-height:calc(100vh - 96px);
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-width:thin;
  scrollbar-color:rgba(11,43,63,.24) transparent;
}
.ggsh-dropdown::-webkit-scrollbar{width:7px}
.ggsh-dropdown::-webkit-scrollbar-thumb{background:rgba(11,43,63,.22);border-radius:99px}
.ggsh-dropdown a{
  min-height:44px;
  padding:7px 12px;
  border-radius:10px;
  line-height:1.22;
}
.ggsh-dropdown a:hover,.ggsh-dropdown a:focus-visible{
  background:var(--brand-gold);
  color:var(--brand-navy);
  transform:translateX(2px);
}
.ggsh-dropdown a:hover b,.ggsh-dropdown a:focus-visible b{opacity:1;color:var(--brand-navy)}
.ggsh-dropdown a:focus-visible{outline:2px solid var(--brand-navy);outline-offset:-2px}
.ggsh-services-link:focus-visible,.ggsh-menu>a:focus-visible,.ggsh-cta:focus-visible,.ggsh-toggle:focus-visible,.ggsh-subtoggle:focus-visible{
  outline:3px solid var(--brand-gold);outline-offset:3px
}
@media(max-height:640px) and (min-width:861px){
  .ggsh-dropdown{max-height:calc(100vh - 82px)}
  .ggsh-dropdown a{min-height:40px;padding-top:5px;padding-bottom:5px}
}
@media(max-width:860px){
  .ggsh-dropdown{max-height:none;overflow:visible;width:auto;padding:5px 6px;margin:0 7px 5px}
  .ggsh-dropdown a{min-height:42px;padding:6px 9px}
}
