/* Progressive navigation motion, matching PLANOVATION's existing blue palette. */
.header[data-pv-nav] {
  transition:background .3s ease,box-shadow .3s ease,border-color .3s ease;
}
.header[data-pv-nav][data-pv-nav-scrolled="true"] {
  background:rgba(255,255,255,.97);border-bottom-color:rgba(81,122,150,.18);
  box-shadow:0 7px 28px rgba(31,60,82,.09);
}
.header[data-pv-nav] .menu { position:relative; }
.header[data-pv-nav] .menu > a {
  position:relative;isolation:isolate;
  transition:color .2s ease,transform .28s cubic-bezier(.2,.8,.2,1),box-shadow .28s ease,background .25s ease;
}
.header[data-pv-nav] .menu > a.active::after { display:none; }
.header[data-pv-nav] .menu > a:not(.btn)::before {
  content:"";position:absolute;inset:-7px -9px;border-radius:8px;z-index:-1;
  background:linear-gradient(135deg,rgba(113,163,196,.13),rgba(113,163,196,.035));
  opacity:0;transform:scale(.88);transition:opacity .22s ease,transform .3s ease;
}
.header[data-pv-nav] .menu > a:focus-visible {
  outline:2px solid var(--green);outline-offset:5px;border-radius:4px;
}
.header[data-pv-nav] .menu > a:not(.btn):focus-visible::before { opacity:1;transform:scale(1); }
.header[data-pv-nav] .pv-nav-indicator {
  display:block;position:absolute;left:0;top:0;height:2px;border-radius:2px;
  background:linear-gradient(90deg,var(--green),#97bed8);box-shadow:0 2px 8px rgba(83,141,182,.2);
  opacity:0;pointer-events:none;z-index:2;
  transition:transform .32s cubic-bezier(.22,1,.36,1),width .32s cubic-bezier(.22,1,.36,1),opacity .18s ease;
}
.header[data-pv-nav] .menu-toggle {
  border-radius:10px;transition:background .22s ease,box-shadow .22s ease,transform .25s ease;
}
.header[data-pv-nav] .menu-toggle span {
  transition:transform .32s cubic-bezier(.34,1.2,.64,1),opacity .18s ease;
}
.header[data-pv-nav].menu-open .menu-toggle { background:rgba(99,150,184,.12); }
.header[data-pv-nav][data-pv-nav-compact="false"][data-pv-nav-intro] .menu > a {
  animation:pv-nav-link-enter .46s cubic-bezier(.22,1,.36,1) var(--pv-nav-delay,0ms) backwards;
}
@media(hover:hover) and (pointer:fine) {
  .header[data-pv-nav] .menu > a:not(.btn):hover { transform:translateY(-2px); }
  .header[data-pv-nav] .menu > a:not(.btn):hover::before { opacity:1;transform:scale(1); }
  .header[data-pv-nav] .menu > a.btn:hover {
    transform:translateY(-2px);box-shadow:0 7px 18px rgba(50,101,137,.24);
  }
  .header[data-pv-nav] .menu-toggle:hover { background:rgba(99,150,184,.1); }
}
/* The compact menu remains in place while its opacity and position transition. */
.header[data-pv-nav][data-pv-nav-compact="true"] .menu,
.header[data-pv-nav][data-pv-nav-compact="true"].menu-open .menu {
  display:flex;position:absolute;top:72px;left:0;right:0;flex-direction:column;
  flex-wrap:nowrap;align-items:stretch;justify-content:flex-start;gap:0;
  padding:12px 19px max(20px,env(safe-area-inset-bottom));
  background:rgba(255,255,255,.98);border-bottom:1px solid var(--line);
  box-shadow:0 16px 30px rgba(30,60,81,.12);
  max-height:calc(100vh - 72px);max-height:calc(100dvh - 72px);
  overflow-y:auto;overscroll-behavior:contain;transform-origin:top center;
  transition:opacity .24s ease,transform .3s cubic-bezier(.22,1,.36,1),visibility 0s .3s;
}
.header[data-pv-nav][data-pv-nav-compact="true"]:not(.menu-open) .menu {
  opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-12px) scale(.985);
}
.header[data-pv-nav][data-pv-nav-compact="true"].menu-open .menu {
  opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0) scale(1);
  transition:opacity .24s ease,transform .3s cubic-bezier(.22,1,.36,1),visibility 0s;
}
.header[data-pv-nav][data-pv-nav-compact="true"] .menu > a {
  display:flex;flex-shrink:0;align-items:center;min-height:48px;padding:12px 0;
  font-size:16px;line-height:1.4;white-space:normal;letter-spacing:normal;
  border-bottom:1px solid var(--line);
}
.header[data-pv-nav][data-pv-nav-compact="true"] .menu > a.active {
  padding-left:10px;border-left:3px solid var(--green);color:var(--green);font-weight:700;
}
.header[data-pv-nav][data-pv-nav-compact="true"] .menu > a.btn {
  justify-content:center;min-height:48px;margin-top:14px;padding:12px 20px;
  font-size:14px;color:#fff;border:1px solid var(--green);
}
.header[data-pv-nav][data-pv-nav-compact="true"].menu-open .menu > a {
  animation:pv-nav-link-enter .42s cubic-bezier(.22,1,.36,1) var(--pv-nav-delay,0ms) backwards;
}
.header[data-pv-nav][data-pv-nav-compact="true"] .pv-nav-indicator { display:none; }
.header[data-pv-nav][data-pv-nav-compact="true"] .menu > a::before { inset:4px -7px; }
@keyframes pv-nav-link-enter {
  from { opacity:0;transform:translateY(-7px); }
  to { opacity:1;transform:translateY(0); }
}
@media(prefers-reduced-motion:reduce) {
  .header[data-pv-nav],.header[data-pv-nav] *,
  .header[data-pv-nav] *::before,.header[data-pv-nav] *::after {
    animation:none !important;transition:none !important;
  }
  .header[data-pv-nav] .menu > a:hover { transform:none; }
}
