/* Mobile navigation and conversion-safe responsive overrides. */
.navMenuButton,
.mobileHeaderQuote,
.mobileNavActions{
  display:none;
}

@media (max-width:980px){
  :root{
    --headerH:70px;
  }

  header .wrap{
    padding-left:14px;
    padding-right:14px;
  }

  header .nav{
    min-height:var(--headerH);
    gap:8px;
    padding:8px 0;
  }

  header .brand{
    min-width:0;
    flex:1 1 auto;
    overflow:hidden;
  }

  header .brandLogo{
    width:min(52vw, 200px);
    height:auto;
    max-height:34px;
    object-fit:contain;
    object-position:left center;
  }

  header .navRight{
    display:none;
  }

  header .nav .mobileHeaderQuote{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    padding:0 12px;
    border:1px solid rgba(255,255,255,.32);
    border-radius:13px;
    background:#0d5a69;
    color:#fff !important;
    font-size:12px;
    font-weight:900;
    white-space:nowrap;
  }

  .navMenuButton{
    display:inline-flex;
    width:44px;
    height:44px;
    flex:0 0 44px;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:5px;
    padding:0;
    border:1px solid rgba(255,255,255,.30);
    border-radius:14px;
    background:rgba(255,255,255,.12);
    color:#fff;
    cursor:pointer;
  }

  .navMenuButton span{
    width:19px;
    height:2px;
    border-radius:999px;
    background:currentColor;
    transition:transform .18s ease, opacity .18s ease;
  }

  .navMenuButton[aria-expanded="true"] span:nth-child(1){
    transform:translateY(7px) rotate(45deg);
  }

  .navMenuButton[aria-expanded="true"] span:nth-child(2){
    opacity:0;
  }

  .navMenuButton[aria-expanded="true"] span:nth-child(3){
    transform:translateY(-7px) rotate(-45deg);
  }

  header .navLinks{
    position:fixed;
    top:var(--headerH);
    left:0;
    right:0;
    display:flex !important;
    height:calc(100dvh - var(--headerH));
    padding:18px 20px max(28px, env(safe-area-inset-bottom));
    flex-direction:column;
    align-items:stretch;
    gap:0;
    overflow-y:auto;
    background:linear-gradient(180deg, #087f9b, #07576c 62%, #0f172a);
    border-top:1px solid rgba(255,255,255,.18);
    box-shadow:0 24px 54px rgba(8,12,18,.28);
    visibility:hidden;
    opacity:0;
    pointer-events:none;
    transform:translateY(-10px);
    transition:opacity .18s ease, transform .18s ease, visibility .18s ease;
  }

  header .navLinks.is-open{
    visibility:visible;
    opacity:1;
    pointer-events:auto;
    transform:translateY(0);
  }

  header .navLinks > a{
    display:flex;
    align-items:center;
    min-height:52px;
    padding:10px 4px;
    border-bottom:1px solid rgba(255,255,255,.14);
    color:#fff !important;
    font-size:17px;
    font-weight:850;
  }

  .mobileNavActions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    margin-top:18px;
  }

  .mobileNavLanguages{
    display:flex;
    grid-column:1 / -1;
    align-items:center;
    gap:8px;
    margin-bottom:2px;
  }

  .mobileNavLanguages a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:52px;
    min-height:42px;
    border:1px solid rgba(255,255,255,.24);
    border-radius:13px;
    color:#fff !important;
    font-size:13px;
    font-weight:900;
  }

  .mobileNavLanguages a.active{
    background:#fff;
    color:#07576c !important;
  }

  .mobileNavActions .btn{
    min-height:48px;
    padding:0 12px !important;
    border-color:rgba(255,255,255,.26) !important;
    background:rgba(255,255,255,.10) !important;
    color:#fff !important;
    box-shadow:none !important;
  }

  .mobileNavActions .btn.gold{
    background:linear-gradient(180deg, #fff6d8, #f0dfaa) !important;
    color:#112029 !important;
  }

  body.nav-open{
    overflow:hidden;
  }

  body.nav-open header{
    transform:translateY(0) !important;
  }

  .aps-chatbot{
    right:76px;
    bottom:max(14px, env(safe-area-inset-bottom));
    transition:opacity .18s ease, transform .18s ease;
  }

  .aps-chatbot__launcher{
    width:54px;
    min-height:54px;
    padding:0;
    justify-content:center;
  }

  .aps-chatbot__launcher-icon{
    width:34px;
    height:34px;
  }

  .aps-chatbot__launcher-text{
    display:none;
  }

  .wa-float{
    right:14px;
    bottom:max(14px, env(safe-area-inset-bottom));
    transition:opacity .18s ease, transform .18s ease, border-color .18s ease, background .18s ease;
  }

  .wa-label{
    display:none;
  }

  body{
    padding-bottom:82px;
  }

  body.has-mobile-float-control:not(.mobile-floats-ready) .aps-chatbot,
  body.has-mobile-float-control:not(.mobile-floats-ready) .wa-float{
    opacity:0;
    pointer-events:none;
    transform:translateY(12px);
  }
}

@media (max-width:760px){
  .heroMain{
    min-height:0 !important;
    justify-content:flex-start;
    padding:22px 18px 20px !important;
  }

  .heroMain .kicker{
    padding:8px 11px;
    font-size:10px;
    line-height:1.35;
  }

  .heroMain h1{
    margin:16px 0 12px;
    font-size:clamp(32px, 8.8vw, 39px);
    line-height:.99;
    letter-spacing:-.045em;
  }

  .heroMain .sub{
    font-size:15px;
    line-height:1.56;
  }

  .heroActions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    margin-top:18px;
  }

  .heroActions .btn{
    width:100%;
    min-height:48px;
    height:auto;
    padding:10px 12px !important;
    line-height:1.25;
    text-align:center;
  }

  .heroActions .btn.gold{
    grid-column:1 / -1;
  }

  .pills{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:9px;
    margin-top:16px;
  }

  .chip{
    min-height:0;
    padding:12px;
    border-radius:16px;
    font-size:12px;
    line-height:1.45;
  }

  .heroSide{
    margin-top:4px;
  }

}

@media (max-width:350px){
  header .nav .mobileHeaderQuote{
    padding:0 9px;
    font-size:11px;
  }

  header .brandLogo{
    width:min(43vw, 150px);
  }

  .heroMain{
    padding:18px 16px !important;
  }

  .heroMain .kicker{
    padding:7px 9px;
    font-size:9px;
  }

  .heroMain h1{
    margin:12px 0 9px;
    font-size:29px;
  }

  .heroMain .sub{
    font-size:14px;
    line-height:1.48;
  }

  .heroActions{
    margin-top:14px;
  }
}

@media (prefers-reduced-motion:reduce){
  .navMenuButton span,
  header .navLinks{
    transition:none;
  }
}
