/*
 * Shared LRM navigation
 * The logo and CTA sit on the page layer; only the centre navigation is
 * enclosed by the blurred glass capsule.
 */
.lrm-site-header,
.lrm-site-header *,
.lrm-mobile-nav,
.lrm-mobile-nav *{box-sizing:border-box}

.lrm-site-header{
  position:fixed;
  z-index:800;
  inset:0 0 auto;
  height:94px;
  color:#fff;
  font-family:Chivo,Arial,sans-serif;
  pointer-events:none;
}

/* Override the legacy page-level #nav rules while those pages are migrated. */
#nav.lrm-site-header{
  padding:0!important;
  border:0!important;
  background:transparent!important;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}

.lrm-header-frame{
  width:min(calc(100% - clamp(48px,9.3vw,144px)),1380px);
  height:100%;
  margin-inline:auto;
  display:grid;
  grid-template-columns:minmax(150px,1fr) auto minmax(150px,1fr);
  align-items:center;
  gap:28px;
}

.lrm-header-brand,
.lrm-header-nav,
.lrm-header-cta,
.lrm-header-menu-toggle{pointer-events:auto}

.lrm-header-brand{
  justify-self:start;
  display:inline-flex;
  align-items:center;
  min-width:44px;
  min-height:44px;
}

.lrm-brand-crop{
  display:block;
  width:124px;
  aspect-ratio:1774/887;
}

.lrm-brand-crop img{
  display:block;
  width:100%;
  height:auto;
}

.lrm-header-nav{
  justify-self:center;
  display:flex;
  align-items:center;
  gap:3px;
  min-height:58px;
  padding:7px 12px;
  border:1px solid rgba(148,163,184,.34);
  border-radius:20px;
  background:
    radial-gradient(circle at 50% 0,rgba(255,255,255,.44),transparent 58%),
    linear-gradient(135deg,rgba(226,232,240,.96),rgba(198,208,220,.9));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.68),
    0 18px 50px rgba(51,65,85,.14);
  backdrop-filter:blur(24px) saturate(145%);
  -webkit-backdrop-filter:blur(24px) saturate(145%);
}

.lrm-header-nav a{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:0 15px;
  border-radius:13px;
  color:#4A5568;
  font-size:12px;
  font-weight:400;
  line-height:1;
  text-decoration:none;
  white-space:nowrap;
  transition:color .2s ease,background-color .2s ease;
}

.lrm-header-nav a:hover{color:#0A0A0F;background:rgba(255,255,255,.28)}

.lrm-header-nav a::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:5px;
  width:18px;
  height:2px;
  border-radius:2px;
  background:#2B5CE6;
  box-shadow:0 0 10px rgba(43,92,230,.36);
  transform:translateX(-50%) scaleX(0);
}

.lrm-header-nav a[aria-current]{color:#1E3A8A;background:rgba(255,255,255,.4)}
.lrm-header-nav a[aria-current]::after{transform:translateX(-50%) scaleX(1)}

.lrm-header-cta{
  justify-self:end;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:22px;
  min-width:145px;
  min-height:56px;
  padding:13px 18px;
  border:1px solid rgba(255,255,255,.62);
  border-radius:18px;
  background:linear-gradient(135deg,#1E3A8A 0%,#2B5CE6 58%,#22D3EE 145%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.26),
    0 0 0 3px rgba(43,92,230,.08),
    0 16px 35px rgba(43,92,230,.2);
  color:#fff;
  font-size:12px;
  font-weight:500;
  line-height:1;
  text-decoration:none;
  transition:transform .2s ease,box-shadow .2s ease;
}

.lrm-header-cta svg{
  width:17px;
  height:17px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.6;
  flex:none;
}

.lrm-header-cta:hover{
  transform:translateY(-2px);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.3),
    0 0 0 4px rgba(43,92,230,.09),
    0 20px 42px rgba(43,92,230,.26);
}

/* Keep the navigation anchored while the outer brand controls leave the page. */
.lrm-header-frame > .lrm-header-brand,
.lrm-header-frame > .lrm-header-cta{
  translate:0 0;
  opacity:1;
  visibility:visible;
  will-change:translate,opacity;
  transition:
    translate .48s cubic-bezier(.22,1,.36,1),
    opacity .24s ease,
    visibility 0s linear;
}

.lrm-site-header.is-nav-only .lrm-header-frame > .lrm-header-brand,
.lrm-site-header.is-nav-only .lrm-header-frame > .lrm-header-cta{
  translate:0 calc(-100% - 34px);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:
    translate .42s cubic-bezier(.4,0,.2,1),
    opacity .2s ease,
    visibility 0s linear .42s;
}

.lrm-header-brand:focus-visible,
.lrm-header-nav a:focus-visible,
.lrm-header-cta:focus-visible,
.lrm-header-menu-toggle:focus-visible,
.lrm-mobile-nav a:focus-visible,
.lrm-mobile-nav button:focus-visible{
  outline:2px solid #22D3EE;
  outline-offset:4px;
}

.lrm-header-menu-toggle{display:none}

.lrm-mobile-nav{
  position:fixed;
  z-index:950;
  inset:10px 10px 10px auto;
  width:min(420px,calc(100% - 20px));
  max-width:none;
  max-height:none;
  height:calc(100% - 20px);
  margin:0;
  padding:24px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:22px;
  background:
    radial-gradient(circle at 70% 5%,rgba(43,92,230,.26),transparent 34%),
    rgba(10,10,15,.96);
  box-shadow:0 30px 90px rgba(10,10,15,.42);
  color:#fff;
  font-family:Chivo,Arial,sans-serif;
  backdrop-filter:blur(28px) saturate(140%);
  -webkit-backdrop-filter:blur(28px) saturate(140%);
}

.lrm-mobile-nav[open]{display:flex;flex-direction:column}
.lrm-mobile-nav::backdrop{background:rgba(10,10,15,.3);backdrop-filter:blur(8px)}
.lrm-mobile-nav-top{display:flex;align-items:center;justify-content:space-between;gap:20px}
.lrm-mobile-nav .lrm-header-brand{background:transparent}

.lrm-mobile-nav-close{
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  padding:0;
  border:1px solid rgba(255,255,255,.14);
  border-radius:13px;
  background:rgba(255,255,255,.05);
  color:#fff;
  font-size:27px;
  line-height:1;
  cursor:pointer;
}

.lrm-mobile-nav nav{
  display:flex;
  flex-direction:column;
  margin-block:32px auto;
}

.lrm-mobile-nav nav a{
  position:relative;
  display:flex;
  align-items:center;
  min-height:54px;
  border-bottom:1px solid rgba(255,255,255,.08);
  color:#94A3B8;
  font-family:Cabinet,Arial,sans-serif;
  font-size:24px;
  font-weight:500;
  line-height:1.2;
  text-decoration:none;
}

.lrm-mobile-nav nav a::after{
  content:"↗";
  margin-left:auto;
  color:#2B5CE6;
  font-family:Chivo,Arial,sans-serif;
  font-size:18px;
}

.lrm-mobile-nav nav a:hover,
.lrm-mobile-nav nav a[aria-current]{color:#fff}
.lrm-mobile-nav nav a[aria-current]{border-bottom-color:#22D3EE}
.lrm-mobile-nav .lrm-header-cta{justify-self:auto;width:100%;flex:none}

@media(max-width:1180px){
  .lrm-header-frame{gap:18px}
  .lrm-header-nav a{padding-inline:11px;font-size:11px}
  .lrm-header-cta{min-width:132px}
}

@media(max-width:1080px){
  .lrm-site-header{height:88px}
  .lrm-header-frame{
    width:min(calc(100% - 48px),1380px);
    grid-template-columns:1fr auto auto;
    gap:12px;
  }
  .lrm-header-nav{display:none}
  .lrm-header-menu-toggle{
    display:inline-flex;
    width:44px;
    height:44px;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    gap:6px;
    padding:0;
    border:1px solid rgba(148,163,184,.34);
    border-radius:13px;
    background:rgba(255,255,255,.86);
    box-shadow:0 10px 28px rgba(30,58,138,.08);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
    cursor:pointer;
  }
  .lrm-header-menu-toggle span{display:block;width:19px;height:1px;background:#0A0A0F}
}

@media(max-width:600px){
  .lrm-site-header{height:80px}
  .lrm-header-frame{width:calc(100% - 32px);gap:9px}
  .lrm-brand-crop{width:102px}
  .lrm-header-cta{min-width:104px;min-height:46px;padding:11px 13px;gap:13px;border-radius:13px;font-size:10px}
  .lrm-header-cta svg{width:15px;height:15px}
  .lrm-header-menu-toggle{width:44px;height:44px;border-radius:12px}
  .lrm-mobile-nav{padding:20px}
  .lrm-mobile-nav .lrm-brand-crop{width:100px}
}

@media(max-width:370px){
  .lrm-header-frame{width:calc(100% - 24px);gap:7px}
  .lrm-brand-crop{width:82px}
  .lrm-header-cta{min-width:95px;padding-inline:11px;gap:9px}
}

@media(prefers-reduced-motion:reduce){
  .lrm-header-cta,.lrm-header-nav a,
  .lrm-header-frame > .lrm-header-brand,
  .lrm-header-frame > .lrm-header-cta{transition:none}
}

@media print{
  .lrm-site-header,.lrm-mobile-nav{display:none!important}
}
