.s-site-header{transition:padding-block .4s cubic-bezier(.4,0,.2,1),box-shadow .4s cubic-bezier(.4,0,.2,1),background-color .4s cubic-bezier(.4,0,.2,1),opacity .4s cubic-bezier(.4,0,.2,1),backdrop-filter .4s cubic-bezier(.4,0,.2,1)}
.s-site-header .s-header-logo img{transition:max-height .4s cubic-bezier(.4,0,.2,1)}
.s-header-logo,.s-header-logo-text{transition:padding .4s cubic-bezier(.4,0,.2,1),gap .4s cubic-bezier(.4,0,.2,1)}
.s-site-header.r2-header--shrunk{padding-block:4px;box-shadow:0 2px 12px rgba(2,132,199,.10);background-color:rgba(255,255,255,.6);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}
.s-site-header.r2-header--shrunk:hover{background-color:rgba(255,255,255,.75)}
.s-site-header.r2-header--shrunk .s-header-logo>div:first-child{display:none!important}
.s-site-header.r2-header--shrunk .s-header-logo-text{display:flex!important}
.s-site-header.r2-header--shrunk .s-header-logo{padding:0!important;gap:2px 8px!important}
.s-site-header.r2-header--shrunk .s-header-logo-text{padding:0!important}
.s-header-logo-phone{display:none;flex-basis:100%}
.s-site-header.r2-header--shrunk .s-header-logo-phone{display:block!important}
.s-header-logo-text{align-items:baseline!important}
.r2-header-menu .elementor-nav-menu{gap:4px;align-items:center}
.r2-header-menu a.elementor-item{font-family:var(--brand-font);font-size:14px;font-weight:normal!important;color:var(--secondary-navy-slate);padding:10px 14px!important;border-radius:14px;line-height:1.2;transition:background-color .2s ease,color .2s ease}
.r2-header-menu a.elementor-item:hover,.r2-header-menu a.elementor-item:focus-visible{background-color:var(--sky-ice-light);color:var(--primary-ocean-blue);padding:10px 14px!important}
.r2-header-menu a.elementor-item.elementor-item-active{color:var(--primary-ocean-blue)}
.r2-header-menu .r2-nav-cta>a.elementor-item,.r2-header-menu .r2-nav-cta>a.elementor-item.elementor-item-active{color:#FFFFFF;padding:12px 24px;margin-inline-start:8px;background-image:linear-gradient(135deg,#0284C7 0%,#2563EB 100%);box-shadow:0 4px 14px rgba(2,132,199,.25)}
.r2-header-menu .r2-nav-cta>a.elementor-item:hover,.r2-header-menu .r2-nav-cta>a.elementor-item:focus-visible{color:#FFFFFF!important;background-image:linear-gradient(90deg,#68ba67 0%,rgba(8,119,45,1) 100%)!important;box-shadow:0 4px 14px rgba(8,119,45,.35)}
.r2-header-menu .elementor-menu-toggle{color:var(--secondary-navy-slate);background-color:transparent}
.r2-header-menu .elementor-nav-menu--dropdown{background-color:#FFFFFF;border-radius:14px;box-shadow:0 12px 32px rgba(15,23,42,.12);overflow:hidden}
.r2-header-menu .elementor-nav-menu--dropdown a.elementor-item{border-radius:0;padding:14px 20px}
.r2-header-menu .elementor-nav-menu--dropdown .r2-nav-cta>a.elementor-item{margin-inline-start:0;border-radius:0}
@media (prefers-reduced-motion:reduce){.s-site-header,.s-site-header .s-header-logo img,.s-header-logo,.s-header-logo-text,.r2-header-menu a.elementor-item{transition:none}}

/* v3 nav-menu widget defaults to width:100% and forces the header row to wrap */
.s-header-nav{flex:0 1 auto}
.s-header-nav .elementor-widget-nav-menu{width:auto;max-width:none;flex:0 1 auto}
.r2-header-menu .elementor-nav-menu--main{flex-wrap:wrap;justify-content:flex-end}

/* Sticky must live on Elementor's location wrapper: the inner header's parent
   is only as tall as the header itself, so sticky there has nowhere to stick. */
.elementor-location-header{position:sticky;top:0;z-index:999}
body.admin-bar .elementor-location-header{top:32px}
@media screen and (max-width:782px){body.admin-bar .elementor-location-header{top:46px}}
