/* GRANI shared mobile-first site navigation. Additive layer: no existing CTA, form or heading overrides. */
.grani-site-menu {position:relative;display:flex;align-items:center;flex:0 0 auto;margin-left:8px;z-index:90}
.grani-menu-trigger {width:44px;height:44px;box-sizing:border-box;padding:0;display:grid;place-items:center;cursor:pointer;border-radius:14px;border:1px solid rgba(136,206,235,.35);background:rgba(10,40,65,.7);color:#e3f6ff;-webkit-tap-highlight-color:transparent;transition:background .15s,border-color .15s}
.grani-menu-trigger:hover,.grani-menu-trigger[aria-expanded="true"]{background:rgba(27,87,115,.92);border-color:rgba(104,218,243,.75)}
.grani-menu-trigger:focus-visible,.grani-menu-link:focus-visible{outline:3px solid #e9c682;outline-offset:3px}
.grani-menu-bars{height:17px;width:22px;display:flex;flex-direction:column;align-items:center;justify-content:space-between}
.grani-menu-bars i{display:block;height:2px;width:21px;border-radius:2px;background:currentColor;transition:transform .18s,opacity .18s}
.grani-menu-trigger[aria-expanded="true"] .grani-menu-bars i:first-child{transform:translateY(7.5px) rotate(45deg)}
.grani-menu-trigger[aria-expanded="true"] .grani-menu-bars i:nth-child(2){opacity:0}
.grani-menu-trigger[aria-expanded="true"] .grani-menu-bars i:last-child{transform:translateY(-7.5px) rotate(-45deg)}
.grani-menu-panel{box-sizing:border-box;position:absolute;z-index:150;top:calc(100% + 12px);right:0;width:min(332px,calc(100vw - 28px));max-height:min(75vh,555px);overflow-y:auto;padding:17px 14px 13px;border-radius:21px;background:linear-gradient(160deg,rgba(13,45,69,.99),rgba(4,22,43,.99));border:1px solid rgba(109,178,207,.42);box-shadow:0 19px 65px rgba(0,6,20,.62);backdrop-filter:blur(17px);-webkit-backdrop-filter:blur(17px)}
.grani-menu-panel[hidden]{display:none!important}
.grani-menu-overline{padding:5px 13px 14px;font:700 10px/1.3 system-ui,sans-serif;letter-spacing:.15em;text-transform:uppercase;color:#e7c481}
.grani-menu-link{min-height:43px;display:flex;align-items:center;box-sizing:border-box;margin:2px 0;padding:11px 13px;border-radius:12px;color:#f0f8ff;text-decoration:none;font:600 15px/1.3 system-ui,sans-serif;transition:background .18s;overflow-wrap:anywhere}
.grani-menu-link:hover,.grani-menu-link:focus-visible{background:rgba(100,180,211,.16)}
.grani-menu-link[aria-current="page"]{background:rgba(64,158,190,.19)}
.grani-menu-featured{color:#faD68e;background:rgba(227,177,89,.09)}
.grani-menu-featured::after{content:"↗";font-size:17px;margin-left:auto;color:#ebc783}
.grani-menu-footer{padding:13px 12px 4px;margin-top:9px;border-top:1px solid rgba(111,179,209,.19);color:#94b1c3;font:400 11px/1.5 system-ui,sans-serif}
.hero .header{isolation:isolate}
.hero .header .grani-site-menu{margin-left:8px}
.top .grani-site-menu{margin-left:auto}
@media(max-width:390px){
 .hero .header .brand-sub{display:none!important}
 .hero .header .brand{min-width:0}
 .hero .header .brand-name{font-size:17px}
 .hero .header .g-contact-header{padding-inline:6px}
 .hero .header .grani-site-menu{margin-left:4px}
}
@media(prefers-reduced-motion:reduce){
 .grani-menu-trigger,.grani-menu-bars i,.grani-menu-link{transition:none!important}
}
