/* Premium static navigation — naval blueprint editorial */
body.menu-active{overflow:hidden}
.site-header.menu-open{position:fixed}
.site-header.menu-open:after{background:rgba(184,210,226,.18)}
.site-header.menu-open nav{
  display:grid;
  grid-template-columns:minmax(0,1.3fr) minmax(320px,.7fr);
  grid-template-rows:1fr auto;
  align-items:stretch;
  justify-content:stretch;
  gap:0;
  padding:clamp(8.5rem,14vh,11rem) 4vw 2.2rem;
  background:
    linear-gradient(rgba(135,178,207,.055) 1px,transparent 1px),
    linear-gradient(90deg,rgba(135,178,207,.055) 1px,transparent 1px),
    radial-gradient(circle at 82% 32%,rgba(40,85,124,.32),transparent 28%),
    linear-gradient(135deg,#06101d 0%,#081727 58%,#040b14 100%);
  background-size:25vw 25vw,25vw 25vw,auto,auto;
  color:#f5f4ef;
  overflow:hidden;
}
.site-header.menu-open nav:before{
  content:"GESO";
  position:absolute;
  right:-.035em;
  bottom:-.13em;
  color:transparent;
  -webkit-text-stroke:1px rgba(178,211,230,.055);
  font:900 clamp(13rem,27vw,34rem)/.72 'Montserrat',sans-serif;
  letter-spacing:-.095em;
  pointer-events:none;
}
.site-header.menu-open nav:after{
  content:"";
  position:absolute;
  width:min(55vw,880px);
  aspect-ratio:1;
  right:-17vw;
  top:-26vw;
  border:1px solid rgba(157,198,222,.13);
  border-radius:50%;
  box-shadow:0 0 0 9vw rgba(116,169,201,.025),0 0 0 18vw rgba(116,169,201,.018);
  pointer-events:none;
}
.nav-primary{position:relative;z-index:2;padding-right:6vw;border-right:1px solid rgba(181,207,222,.17)}
.nav-overline{display:flex;justify-content:space-between;align-items:center;margin:0 0 1.15rem;color:rgba(211,226,234,.58);font:600 .67rem/1 'Inter',sans-serif;letter-spacing:.2em;text-transform:uppercase}
.nav-overline b{font-weight:500;color:#88a9bd}
.nav-primary>a{
  position:relative;
  display:grid;
  grid-template-columns:3.2rem minmax(0,1fr) auto 2rem;
  align-items:center;
  gap:1.1rem;
  min-height:clamp(5.6rem,11vh,8.2rem);
  border-top:1px solid rgba(192,214,227,.18);
  opacity:1;
}
.nav-primary>a:last-child{border-bottom:1px solid rgba(192,214,227,.18)}
.nav-primary>a>span{align-self:start;margin-top:1.45rem;color:#7392a7;font:700 .66rem/1 'Inter',sans-serif;letter-spacing:.1em}
.nav-primary>a>strong{
  color:#f4f2ed;
  font:800 clamp(2.35rem,4.5vw,5rem)/.9 'Montserrat',sans-serif;
  letter-spacing:-.07em;
  text-transform:uppercase;
  white-space:nowrap;
}
.nav-primary>a>small{color:rgba(210,224,232,.48);font:500 .63rem/1.2 'Inter',sans-serif;letter-spacing:.15em;text-transform:uppercase}
.nav-primary>a>b{display:grid;place-items:center;width:2rem;height:2rem;border:1px solid rgba(190,213,226,.24);border-radius:50%;color:#9fc4d8;font:400 .75rem 'Inter',sans-serif}
.nav-primary>a:before{content:"";position:absolute;left:0;right:100%;bottom:-1px;height:2px;background:#3f68ff;transition:right .35s cubic-bezier(.2,.75,.2,1)}
.nav-primary>a:hover:before,.nav-primary>a:focus-visible:before{right:0}
.nav-primary>a:hover>strong,.nav-primary>a:focus-visible>strong{color:#fff}
.nav-primary>a:focus-visible{outline:1px solid rgba(150,198,225,.65);outline-offset:5px}
.nav-aside{position:relative;z-index:2;display:flex;flex-direction:column;padding-left:4vw}
.nav-statement{max-width:470px;margin:clamp(1.8rem,5vh,4rem) 0;color:#f3f2ee;font:800 clamp(1.55rem,2.15vw,2.65rem)/1.08 'Montserrat',sans-serif;letter-spacing:-.045em;text-transform:uppercase}
.nav-data{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;padding:1.35rem 0;border-top:1px solid rgba(192,214,227,.18);border-bottom:1px solid rgba(192,214,227,.18)}
.nav-data span{display:flex;flex-direction:column;gap:.65rem}
.nav-data small{color:rgba(210,224,232,.46);font:500 .57rem 'Inter',sans-serif;letter-spacing:.13em;text-transform:uppercase}
.nav-data strong{color:#eef2f3;font:700 .78rem 'Inter',sans-serif;letter-spacing:.08em}
.nav-contact{display:flex!important;justify-content:space-between;align-items:center;margin-top:auto;padding:1.25rem 1.35rem;border:1px solid rgba(187,211,225,.28);background:rgba(163,199,220,.055);opacity:1!important;color:#fff;font:700 .7rem 'Inter',sans-serif;letter-spacing:.16em;text-transform:uppercase}
.nav-contact b{color:#8fb6ca;font-size:1rem}
.nav-contact:hover{background:#f1f2ef;color:#07101f}
.nav-footer{position:relative;z-index:2;grid-column:1/-1;display:flex;justify-content:space-between;padding-top:1.8rem;color:rgba(200,217,227,.45);font:600 .58rem 'Inter',sans-serif;letter-spacing:.2em;text-transform:uppercase}

@media(max-width:900px){
  .site-header.menu-open nav{grid-template-columns:1fr;grid-template-rows:auto auto 1fr;padding:7.3rem 6vw 1.8rem;overflow-y:auto}
  .nav-primary{padding:0;border-right:0}
  .nav-primary>a{grid-template-columns:2rem 1fr 1.8rem;min-height:5.2rem}
  .nav-primary>a>strong{font-size:clamp(2rem,8.5vw,4rem)}
  .nav-primary>a>small{display:none}
  .nav-aside{padding:2.2rem 0 0}
  .nav-statement{display:none}
  .nav-data{margin-bottom:1.4rem}
  .nav-contact{margin-top:0}
  .nav-footer{align-self:end}
}
@media(max-width:540px){
  .site-header.menu-open nav{padding-top:6.5rem}
  .nav-primary>a{min-height:4.75rem;gap:.65rem}
  .nav-primary>a>strong{font-size:clamp(1.65rem,8.8vw,2.6rem);letter-spacing:-.06em}
  .nav-primary>a>span{margin-top:1.1rem}
  .nav-data{grid-template-columns:1fr 1fr}
  .nav-data span:last-child{display:none}
  .nav-footer span:last-child{display:none}
}
