/* V1409 — Header / Navigation Visual Rhythm & Dropdown Calmness Polish
   Scope: visual rhythm only. No JavaScript, routing, forms, consent or analytics changes.
*/

@media (min-width: 961px){
  body.fc-site .site-header{
    background: rgba(249,253,254,.965);
    border-bottom-color: rgba(12,52,65,.085);
    box-shadow: 0 8px 24px rgba(12,52,65,.045);
  }

  body.fc-site .site-header .header-row{
    min-height: 74px;
    display: grid !important;
    grid-template-columns: minmax(220px, 1fr) auto minmax(150px, 1fr) !important;
    align-items: center;
    gap: clamp(12px, 1.35vw, 22px) !important;
  }

  body.fc-site .site-header .brand{
    min-width: 0 !important;
    gap: 10px;
  }

  body.fc-site .site-header .brand img{
    width: 50px;
  }

  body.fc-site .site-header .title strong{
    color: #082f3b;
    font-size: 15.5px;
    font-weight: 760;
    letter-spacing: -.024em;
  }

  body.fc-site .site-header .nav{
    width: auto !important;
    justify-self: center !important;
    min-width: 0;
  }

  body.fc-site .site-header .menu{
    gap: clamp(5px, .72vw, 10px) !important;
  }

  body.fc-site .site-header .menu > li > a{
    min-height: 38px;
    padding: 8px 11px !important;
    border-radius: 999px !important;
    border-color: transparent !important;
    background: transparent !important;
    color: rgba(8,51,65,.90) !important;
    box-shadow: none !important;
    font-size: 13.6px !important;
    font-weight: 680 !important;
    letter-spacing: -.006em;
    line-height: 1.08 !important;
    transform: none !important;
  }

  body.fc-site .site-header .menu > li > a:hover,
  body.fc-site .site-header .menu > li:hover > a,
  body.fc-site .site-header .menu > li:focus-within > a,
  body.fc-site .site-header .menu > li.has-children > a[aria-expanded="true"]{
    border-color: rgba(47,107,129,.13) !important;
    background: rgba(226,246,249,.62) !important;
    color: #082f3b !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.76) !important;
    transform: none !important;
  }

  body.fc-site .site-header .menu > li > a.active,
  body.fc-site .site-header .menu > li.is-active > a{
    border-color: rgba(47,107,129,.18) !important;
    background: linear-gradient(180deg, rgba(228,247,250,.78), rgba(249,253,254,.94)) !important;
    color: #082f3b !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.84) !important;
  }

  body.fc-site .site-header .menu > li > a.active::after,
  body.fc-site .site-header .menu > li.is-active > a::after{
    left: 18px;
    right: 18px;
    bottom: 5px;
    height: 1px;
    background: rgba(47,107,129,.55);
  }

  body.fc-site .site-header .menu > li.has-children > a::before{
    bottom: -12px;
    height: 16px;
  }

  body.fc-site .site-header .dropdown{
    top: calc(100% + 8px);
    padding: 10px;
    border-radius: 20px;
    border-color: rgba(47,107,129,.15);
    background: linear-gradient(180deg, rgba(255,255,255,.985), rgba(245,252,253,.985));
    box-shadow: 0 18px 42px rgba(12,52,65,.105), 0 8px 18px rgba(47,107,129,.055);
  }

  body.fc-site .fc-nav-insurance > .dropdown,
  body.fc-site .fc-nav-products > .dropdown{
    width: 292px;
    min-width: 292px;
  }

  body.fc-site .fc-nav-utility > .dropdown{
    width: min(410px, calc(100vw - 40px));
    min-width: min(410px, calc(100vw - 40px));
  }

  body.fc-site .site-header .dropdown .dd-head{
    padding: 10px 12px 11px;
    border-radius: 16px;
    margin-bottom: 8px;
    background: linear-gradient(180deg, rgba(234,249,251,.82), rgba(255,255,255,.92));
    border-color: rgba(47,107,129,.12);
  }

  body.fc-site .site-header .dropdown .dd-kicker{
    min-height: 20px;
    padding: 3px 8px;
    font-size: 10.5px;
    font-weight: 760;
    letter-spacing: .06em;
    color: #1b5868;
  }

  body.fc-site .site-header .dropdown .dd-title{
    margin-top: 7px;
    font-size: 16.5px;
    font-weight: 760;
    letter-spacing: -.02em;
  }

  body.fc-site .site-header .dropdown li + li{
    margin-top: 5px;
  }

  body.fc-site .site-header .dropdown a{
    min-height: 42px;
    padding: 10px 12px;
    border-radius: 14px;
    border-color: rgba(47,107,129,.12);
    background: rgba(255,255,255,.88);
    color: rgba(8,51,65,.90);
    font-size: 14px;
    font-weight: 670;
    line-height: 1.22;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.74);
    transform: none !important;
  }

  body.fc-site .site-header .dropdown a:hover,
  body.fc-site .site-header .dropdown a:focus-visible{
    background: linear-gradient(180deg, rgba(235,249,251,.92), rgba(255,255,255,.96));
    border-color: rgba(47,107,129,.22);
    color: #082f3b;
    transform: none !important;
  }

  body.fc-site .site-header .dropdown a::after{
    color: rgba(47,107,129,.42);
  }

  body.fc-site .site-header .dropdown a.active,
  body.fc-site .site-header .dropdown a[aria-current="page"]{
    border-color: rgba(47,107,129,.26);
    background: linear-gradient(180deg, rgba(225,246,250,.88), rgba(255,255,255,.96));
    box-shadow: inset 3px 0 0 rgba(47,107,129,.44), inset 0 1px 0 rgba(255,255,255,.78);
  }

  body.fc-site .site-header .dropdown .dd-label{
    margin-top: 10px;
    color: #285a68;
    font-size: 10.5px;
    font-weight: 760;
    letter-spacing: .07em;
  }

  body.fc-site .site-header .dropdown .dd-label::before{
    width: 7px;
    height: 7px;
    box-shadow: 0 0 0 4px rgba(47,107,129,.08);
  }

  body.fc-site .site-header .header-cta{
    padding-left: 10px;
    border-left-color: rgba(12,52,65,.075);
    justify-self: end !important;
  }

  body.fc-site .site-header .header-cta-btn{
    min-width: 136px;
    min-height: 40px;
    padding: 8px 14px !important;
    border-radius: 16px !important;
    border-color: rgba(47,107,129,.20) !important;
    background: linear-gradient(180deg, rgba(238,250,252,.94), rgba(222,244,248,.86)) !important;
    color: rgba(8,51,65,.92) !important;
    box-shadow: 0 8px 20px rgba(12,52,65,.06), inset 0 1px 0 rgba(255,255,255,.86) !important;
    font-size: 13.2px !important;
    font-weight: 760 !important;
    transform: none !important;
  }

  body.fc-site .site-header .header-cta-btn:hover,
  body.fc-site .site-header .header-cta-btn:focus-visible{
    border-color: rgba(47,107,129,.28) !important;
    background: linear-gradient(180deg, rgba(230,248,251,.98), rgba(255,255,255,.96)) !important;
    box-shadow: 0 10px 24px rgba(12,52,65,.08), inset 0 1px 0 rgba(255,255,255,.88) !important;
    transform: none !important;
  }
}

@media (min-width: 961px) and (max-width: 1160px){
  body.fc-site .site-header .header-row{
    grid-template-columns: auto minmax(0, 1fr) auto !important;
    gap: 10px !important;
  }

  body.fc-site .site-header .brand{
    max-width: 205px;
  }

  body.fc-site .site-header .brand img{
    width: 47px;
  }

  body.fc-site .site-header .title strong{
    font-size: 14.5px;
  }

  body.fc-site .site-header .menu{
    gap: 4px !important;
  }

  body.fc-site .site-header .menu > li > a{
    padding-left: 8px !important;
    padding-right: 8px !important;
    font-size: 12.9px !important;
  }

  body.fc-site .site-header .header-cta{
    padding-left: 8px;
  }

  body.fc-site .site-header .header-cta-btn{
    min-width: 0;
    padding-left: 11px !important;
    padding-right: 11px !important;
    font-size: 12.8px !important;
  }

  body.fc-site .site-header .header-cta-btn .btn-ico{
    display: none;
  }
}

@media (max-width: 960px){
  body.fc-site .site-header{
    box-shadow: 0 8px 22px rgba(12,52,65,.045);
  }

  body.fc-site .site-header .nav-toggle{
    background: linear-gradient(180deg, #ffffff 0%, #f2fbfd 100%);
    color: #083341;
  }

  body.fc-site .site-header .nav.is-open .menu,
  body.fc-site .site-header .menu.is-open{
    background: linear-gradient(180deg, rgba(255,255,255,.995) 0%, rgba(246,252,253,.995) 100%);
    box-shadow: 0 24px 56px rgba(12,52,65,.17), 0 8px 22px rgba(47,107,129,.07), inset 0 1px 0 rgba(255,255,255,.90);
  }
}

@media (prefers-reduced-motion: reduce){
  body.fc-site .site-header *,
  body.fc-site .site-header *::before,
  body.fc-site .site-header *::after{
    transition-duration: .001ms !important;
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
  }
}
