/* ===== Premium navbar v2 (preview) — remove this file + its <link> to revert ===== */
@keyframes np-sheen{0%{background-position:0% 50%}100%{background-position:200% 50%}}
@keyframes np-pulse{0%{box-shadow:0 0 0 0 rgba(34,197,94,.55)}70%{box-shadow:0 0 0 7px rgba(34,197,94,0)}100%{box-shadow:0 0 0 0 rgba(34,197,94,0)}}
@keyframes np-in{from{opacity:0;transform:translateY(-14px) scale(.98)}to{opacity:1;transform:none}}

@media (min-width:901px){
  html.nav-premium .site-header{
    position:fixed;top:18px;left:0;right:0;margin:0 auto;z-index:60;
    width:min(1340px,calc(100% - 48px));height:80px;
    display:flex;align-items:center;gap:18px;padding:0 10px 0 18px;
    border-radius:26px;border:1px solid transparent;
    background:
      linear-gradient(180deg,rgba(255,255,255,.86),rgba(255,255,255,.68)) padding-box,
      linear-gradient(120deg,rgba(255,255,255,.95),rgba(0,185,196,.45) 35%,rgba(255,255,255,.9) 55%,rgba(0,123,152,.35) 85%,rgba(255,255,255,.95)) border-box;
    -webkit-backdrop-filter:blur(22px) saturate(180%);backdrop-filter:blur(22px) saturate(180%);
    box-shadow:0 1px 0 rgba(255,255,255,.95) inset,0 18px 50px -18px rgba(3,43,67,.30),0 2px 8px rgba(3,43,67,.05);
    animation:np-in .8s cubic-bezier(.2,.8,.2,1) .1s both;
    transition:top .4s cubic-bezier(.2,.8,.2,1),height .4s cubic-bezier(.2,.8,.2,1),box-shadow .4s ease;
  }
  html.nav-premium .site-header:before{display:none}
  html.nav-premium.nav-scrolled .site-header{
    top:10px;height:68px;
    background:
      linear-gradient(180deg,rgba(255,255,255,.94),rgba(255,255,255,.86)) padding-box,
      linear-gradient(120deg,rgba(255,255,255,.95),rgba(0,185,196,.5) 35%,rgba(255,255,255,.9) 55%,rgba(0,123,152,.4) 85%,rgba(255,255,255,.95)) border-box;
    box-shadow:0 20px 50px -18px rgba(3,43,67,.38),0 2px 8px rgba(3,43,67,.06);
  }
  /* scroll progress hairline */
  html.nav-premium .nav-progress{position:absolute;left:26px;right:26px;bottom:-1px;height:2px;border-radius:2px;overflow:hidden;pointer-events:none}
  html.nav-premium .nav-progress i{display:block;height:100%;width:100%;transform-origin:left;transform:scaleX(var(--np,0));background:linear-gradient(90deg,#007b98,#00b9c4,#7fe0e6);transition:transform .1s linear}

  /* Brand */
  html.nav-premium .brand-header{position:static;width:auto;height:auto;display:flex;align-items:center;gap:11px;flex-shrink:0;padding-right:18px;border-right:1px solid rgba(6,28,66,.08)}
  html.nav-premium .brand-header .brand-mark{position:static;width:52px;height:52px;filter:drop-shadow(0 6px 10px rgba(0,123,152,.25));transition:width .4s,height .4s,transform .5s cubic-bezier(.2,.8,.2,1)}
  html.nav-premium .brand-header:hover .brand-mark{transform:rotate(-8deg) scale(1.06)}
  html.nav-premium.nav-scrolled .brand-header .brand-mark{width:44px;height:44px}
  html.nav-premium .brand-header .brand-type{position:static;display:flex;flex-direction:column}
  html.nav-premium .brand-header .brand-name{font-size:26px;line-height:1;letter-spacing:-.9px;transform:none}
  html.nav-premium .brand-header .brand-caption{font-size:8.5px;letter-spacing:2.3px;gap:5px;margin-top:6px}
  html.nav-premium .brand-caption:before,html.nav-premium .brand-caption:after{height:1px}

  /* Links — sliding indicator */
  html.nav-premium .main-nav{
    position:relative;margin:0 auto;padding:5px;gap:0;border-radius:999px;
    background:linear-gradient(180deg,rgba(6,28,66,.055),rgba(6,28,66,.03));
    box-shadow:inset 0 1px 2px rgba(6,28,66,.06);
    font-size:14.5px;line-height:1;
  }
  html.nav-premium .main-nav a{
    position:relative;z-index:1;padding:12px 19px;border-radius:999px;background:none;
    color:#3d5165;font-weight:600;letter-spacing:.15px;transition:color .3s ease;
  }
  html.nav-premium .main-nav a:hover,html.nav-premium .main-nav a.is-hot{color:#006f8a}
  html.nav-premium .main-nav .active{color:#006f8a;font-weight:700}
  html.nav-premium .main-nav .active:after{display:none}
  html.nav-premium .nav-ind{
    position:absolute;z-index:0;top:5px;bottom:5px;left:0;width:0;border-radius:999px;
    background:linear-gradient(180deg,#fff,#f6fcfd);
    box-shadow:0 1px 2px rgba(3,43,67,.08),0 8px 18px -8px rgba(0,123,152,.45),inset 0 0 0 1px rgba(0,155,178,.12);
    transition:left .45s cubic-bezier(.2,.9,.25,1.15),width .45s cubic-bezier(.2,.9,.25,1.15),opacity .3s;
  }
  html.nav-premium .nav-ind:after{content:"";position:absolute;left:50%;bottom:4px;width:16px;height:2px;margin-left:-8px;border-radius:2px;background:linear-gradient(90deg,#007b98,#00b9c4)}

  /* Phone */
  html.nav-premium .header-phone{margin:0;gap:11px;font-size:10.5px;line-height:1.3;color:#6a7c8c;letter-spacing:.6px;text-transform:uppercase}
  html.nav-premium .header-phone strong{font-size:15.5px;color:#061c42;letter-spacing:.3px;font-weight:800;text-transform:none}
  html.nav-premium .phone-circle{position:relative;width:44px;height:44px;border:0;background:linear-gradient(145deg,#eaf9fb,#d2eef3);box-shadow:inset 0 0 0 1px rgba(0,155,178,.2);transition:transform .3s,box-shadow .3s}
  html.nav-premium .phone-circle:after{content:"";position:absolute;right:1px;top:1px;width:10px;height:10px;border-radius:50%;background:#22c55e;border:2px solid #fff;animation:np-pulse 2s infinite}
  html.nav-premium .phone-circle svg{width:36px;height:36px}
  html.nav-premium .header-phone:hover .phone-circle{transform:rotate(-10deg);box-shadow:inset 0 0 0 1px rgba(0,155,178,.45),0 8px 16px -6px rgba(0,155,178,.55)}

  /* CTA */
  html.nav-premium .header-quote{
    position:relative;overflow:hidden;isolation:isolate;margin:0 0 0 4px;height:58px;min-width:0;padding:0 8px 0 24px;gap:14px;
    border-radius:20px;font-size:15px;letter-spacing:.2px;white-space:nowrap;flex-shrink:0;
    background:linear-gradient(110deg,#06324f 0%,#007b98 40%,#00a9bd 70%,#06324f 100%);background-size:200% 100%;
    box-shadow:0 1px 0 rgba(255,255,255,.3) inset,0 14px 28px -12px rgba(0,100,130,.8),0 0 0 1px rgba(0,123,152,.25);
    animation:np-sheen 6s linear infinite;
    transition:height .4s cubic-bezier(.2,.8,.2,1),transform .3s ease,box-shadow .3s ease;
  }
  html.nav-premium.nav-scrolled .header-quote{height:50px}
  html.nav-premium .header-quote svg{width:42px;height:42px;padding:12px;border-radius:14px;background:rgba(255,255,255,.16);box-shadow:inset 0 0 0 1px rgba(255,255,255,.22);transition:background .3s,translate .3s}
  html.nav-premium.nav-scrolled .header-quote svg{width:36px;height:36px;padding:10px}
  html.nav-premium .header-quote:hover svg{background:#fff;color:#007b98}
  html.nav-premium .header-quote:after{content:"";position:absolute;z-index:-1;top:0;left:-70%;width:45%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.38),transparent);transform:skewX(-20deg);transition:left .8s ease}
  html.nav-premium .header-quote:hover:after{left:140%}
  html.nav-premium .header-quote:hover{transform:translateY(-2px);box-shadow:0 1px 0 rgba(255,255,255,.3) inset,0 20px 34px -12px rgba(0,100,130,.9),0 0 0 1px rgba(0,123,152,.35)}
}
@media (min-width:901px) and (max-width:1260px){
  html.nav-premium .header-phone>span:last-child{display:none}
  html.nav-premium .main-nav a{padding:11px 14px}
  html.nav-premium .main-nav{font-size:14px}
  html.nav-premium .brand-header{padding-right:12px}
}
@media (min-width:901px) and (max-width:1060px){
  html.nav-premium .header-phone{display:none}
  html.nav-premium .brand-header .brand-type{display:none}
  html.nav-premium .header-quote{padding-left:18px}
}
@media (max-width:900px){
  html.nav-premium .nav-progress{display:none}
  html.nav-premium .site-header{
    margin:12px 12px 0;border-radius:22px;border:1px solid transparent;
    background:
      linear-gradient(180deg,rgba(255,255,255,.9),rgba(255,255,255,.75)) padding-box,
      linear-gradient(120deg,rgba(255,255,255,.95),rgba(0,185,196,.45),rgba(255,255,255,.95)) border-box;
    box-shadow:0 14px 38px -14px rgba(3,43,67,.32);
  }
  html.nav-premium .menu-toggle{border-radius:16px;border-color:rgba(0,155,178,.28);background:linear-gradient(145deg,#fff,#e4f6f8)}
}
@media (prefers-reduced-motion:reduce){
  html.nav-premium .site-header,html.nav-premium .header-quote,html.nav-premium .phone-circle:after{animation:none}
}

/* Inner pages (About, Services, Products, Contact): header is fixed, so keep content clear of it */
@media (min-width:901px){
  html.nav-premium body.about-page main{padding-top:116px}
  html.nav-premium body.about-page .site-header{margin-top:0}
}
/* Accessible focus ring inside the pill */
html.nav-premium .main-nav a:focus-visible{outline:2px solid #007f9e;outline-offset:2px}

/* Booking form highlight after "Get a Quote" scroll */
@keyframes np-spot{0%{box-shadow:0 0 0 0 rgba(0,169,189,.55)}60%{box-shadow:0 0 0 14px rgba(0,169,189,0)}100%{box-shadow:0 0 0 0 rgba(0,169,189,0)}}
.booking-spotlight{animation:np-spot 1.1s ease-out 2 .55s}
@media (prefers-reduced-motion:reduce){.booking-spotlight{animation:none}}
