@import url("/assets/girovia-v265-core-base.css");
/* GIROVIA V26.5 — mobile navigation accessibility hotfix.
   Surgical CSS only: exact HTML, scripts, images, logo and original styles remain intact.
   Baseline is imported before these narrow-screen overrides. */
@media (max-width: 1560px) {
 .header { z-index: 10000 !important; isolation: isolate !important; }
 .header .nav.gv-open {
   display: flex !important;
   position: absolute !important;
   top: 100% !important;
   left: 0 !important;
   right: 0 !important;
   width: 100% !important;
   z-index: 10001 !important;
   opacity: 1 !important;
   visibility: visible !important;
   background: #031725 !important;
   background-color: #031725 !important;
   background-image: none !important;
   backdrop-filter: none !important;
   -webkit-backdrop-filter: none !important;
   border-top: 1px solid rgba(58,221,233,.24) !important;
   border-bottom: 1px solid rgba(37,225,239,.58) !important;
   box-shadow: 0 23px 40px rgba(0,0,0,.75) !important;
   padding: 15px clamp(15px,4.5vw,46px) 20px !important;
   max-height: calc(100dvh - 77px) !important;
   overflow-y: auto !important;
   overscroll-behavior: contain !important;
   -webkit-overflow-scrolling: touch;
 }
 .header .nav.gv-open a {
   box-sizing: border-box !important;
   display: flex !important;
   align-items: center !important;
   width: 100% !important;
   min-height: 60px !important;
   padding: 15px clamp(17px,2.4vw,23px) !important;
   margin: 0 !important;
   color: #f5fdff !important;
   font-size: 20px !important;
   font-weight: 750 !important;
   letter-spacing: .005em !important;
   line-height: 1.35 !important;
   text-decoration: none !important;
   text-shadow: none !important;
   white-space: normal !important;
   border-bottom: 1px solid rgba(92,226,234,.17) !important;
   background: transparent !important;
 }
 .header .nav.gv-open a:hover,
 .header .nav.gv-open a:focus-visible {
   color: #ffffff !important;
   background: rgba(0,229,255,.10) !important;
   outline: 2px solid #62f2f2 !important;
   outline-offset: -3px !important;
 }
 .header .nav.gv-open a.gv-nav-contact {
   margin: 12px 0 0 !important;
   min-height: 59px !important;
   padding: 15px 21px !important;
   border: 1px solid #09bfce !important;
   background: linear-gradient(100deg,#085264,#043341) !important;
   border-radius: 999px !important;
   box-shadow: 0 0 12px rgba(0,229,255,.12) !important;
   font-weight: 800 !important;
 }
 .header .gv-menu {
   font-size: 16px !important;
   font-weight: 800 !important;
   min-height: 47px !important;
   min-width: 78px !important;
   max-width: 99px !important;
   padding: 9px 11px !important;
   letter-spacing: 0 !important;
   white-space: nowrap !important;
 }
}
@media (max-width: 480px) {
 .header .nav.gv-open {
   padding: 12px 18px 18px !important;
   max-height: calc(100dvh - 73px) !important;
 }
 .header .nav.gv-open a {
   min-height: 61px !important;
   padding: 16px 15px !important;
   font-size: 20px !important;
   font-weight: 750 !important;
 }
 .header .nav.gv-open a.gv-nav-contact {
   padding: 16px 19px !important;
   font-size: 20px !important;
 }
 .header .gv-menu {
   font-size: 15px !important;
   min-width: 76px !important;
   max-width: 88px !important;
   padding: 10px 9px !important;
 }
}
@media (prefers-reduced-motion: reduce) {
 .header .nav.gv-open,
 .header .nav.gv-open a { animation: none !important; transition: none !important; }
}
