:root {
    --sr-content-width: 1260px;
}

.sr-site-container {
    width: 100%;
    max-width: var(--sr-content-width, 1260px);
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
}

.sr-header,
.sr-header * {
    box-sizing: border-box;
}

.sr-header {
    position: relative;
    z-index: 50;
    width: 100%;
}

.sr-header--fullwidth {
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}

.sr-header--sticky {
    position: sticky;
}

.sr-header__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 100px;
}

.sr-header__brand-wrap {
    flex: 0 1 auto;
    min-width: 0;
}

.sr-header__brand-link {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    color: inherit;
    max-width: 100%;
}

.sr-header__brand {
    display: inline-flex;
    align-items: center;
    gap: 18px;
    min-width: 0;
}

.sr-header__monogram {
    display: inline-flex;
    align-items: baseline;
    line-height: .78;
    letter-spacing: -.11em;
    white-space: nowrap;
}

.sr-header__monogram-right {
    position: relative;
    left: -.01em;
}

.sr-header__brand-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
    line-height: 1.1;
}

.sr-header__brand-name,
.sr-header__brand-tagline {
    display: block;
    white-space: nowrap;
}

.sr-header__brand-name {
    font-weight: 700;
}

.sr-header__brand-tagline {
    margin-top: 5px;
    opacity: .92;
}

.sr-header__logo-image,
.sr-header__logo-image img {
    display: block;
    max-width: 100%;
    height: auto;
}

.sr-header__nav {
    margin-left: auto;
    margin-right: auto;
}

.sr-header__nav > ul,
.sr-header__menu,
.sr-header__mobile-menu {
    margin: 0;
    padding: 0;
    list-style: none;
}

.sr-header__nav > ul {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 42px;
}

.sr-header__nav li {
    position: relative;
}

.sr-header__nav a {
    position: relative;
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    text-decoration: none !important;
    white-space: nowrap;
    transition: color .24s ease, background-color .24s ease, box-shadow .24s ease, transform .24s ease;
}

/* SR31: top-level navigation uses a soft hover state instead of an underline.
 * Horizontal padding is balanced with negative margins so the existing menu
 * geometry/gaps remain effectively unchanged. */
.sr-header__nav > ul > li > a {
    padding: 0 10px;
    margin-left: -10px;
    margin-right: -10px;
    border-bottom: 0 !important;
    border-radius: 10px;
}

.sr-header__nav > ul > li > a:hover,
.sr-header__nav > ul > li > a:focus-visible {
    transform: translateY(-2px);
    box-shadow: 0 8px 22px rgba(11, 141, 244, .14);
}

/* No active/current-page underline. This intentionally overrides old SR30
 * Elementor active-line settings saved in existing pages. */
.sr-header__nav .is-active > a::after,
.sr-header__nav .current-menu-item > a::after,
.sr-header__nav .current_page_item > a::after {
    content: none !important;
    display: none !important;
}

.sr-header__nav .sub-menu {
    position: absolute;
    top: calc(100% + 8px);
    left: 50%;
    z-index: 30;
    display: none;
    min-width: 220px;
    padding: 10px;
    margin: 0;
    list-style: none;
    transform: translateX(-50%);
    background: inherit;
    box-shadow: 0 14px 34px rgba(0, 0, 0, .14);
}

.sr-header__nav li:hover > .sub-menu,
.sr-header__nav li:focus-within > .sub-menu {
    display: block;
}

.sr-header__nav .sub-menu a {
    width: 100%;
    padding: 10px 12px;
}

.sr-header__actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex: 0 0 auto;
}

.sr-header__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    text-decoration: none;
    white-space: nowrap;
    line-height: 1;
    transition: background-color .2s ease, color .2s ease, transform .2s ease;
}

.sr-header__cta:hover {
    transform: translateY(-1px);
}

.sr-header__cta-arrow {
    width: 22px;
    height: 22px;
    flex: 0 0 auto;
}

.sr-header__toggle {
    display: none;
    width: 46px;
    height: 46px;
    padding: 10px;
    border: 0;
    background: transparent;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 5px;
    cursor: pointer;
}

.sr-header__toggle span {
    display: block;
    width: 25px;
    height: 2px;
    border-radius: 10px;
    transition: transform .2s ease, opacity .2s ease;
}

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

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

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

.sr-header__mobile-panel {
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    z-index: 49;
    box-shadow: 0 18px 34px rgba(0, 0, 0, .18);
}

.sr-header__mobile-panel-inner {
    padding: 16px 20px 24px;
}

.sr-header__mobile-menu,
.sr-header__mobile-menu .sub-menu {
    list-style: none;
    margin: 0;
    padding: 0;
}

.sr-header__mobile-menu li {
    border-bottom: 1px solid rgba(255, 255, 255, .12);
}

.sr-header__mobile-menu a {
    display: flex;
    align-items: center;
    min-height: 48px;
    text-decoration: none;
    color: inherit;
}

.sr-header__mobile-menu .sub-menu {
    padding-left: 16px;
}

.sr-header__cta--mobile {
    width: 100%;
    margin-top: 18px;
}

.sr-header a:focus-visible,
.sr-header button:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 3px;
}

@media (max-width: 1024px) {
    .sr-header__inner {
        column-gap: 18px !important;
    }

    .sr-header__brand-name {
        line-height: 1.08;
    }

    .sr-header__brand-tagline {
        font-size: .9em;
    }
}

@media (max-width: 767px) {
    .sr-header__brand {
        gap: 10px !important;
    }

    .sr-header--hide-mobile-tagline .sr-header__brand-tagline {
        display: none;
    }

    .sr-header__brand-name,
    .sr-header__brand-tagline {
        max-width: 220px;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .sr-header__mobile-panel-inner {
        padding-left: 18px;
        padding-right: 18px;
    }
}

/* SR39 matching header CTA. */
.sr-header .sr-header__cta{
  min-height:var(--sr-cta-height,48px)!important;height:var(--sr-cta-height,48px)!important;
  padding:0 var(--sr-cta-pad-x,24px)!important;border-radius:var(--sr-cta-radius,8px)!important;
  background:var(--sr-cta-bg,#0f73ef)!important;color:#fff!important;border:1px solid var(--sr-cta-bg,#0f73ef)!important;
  font-family:'Inter',Arial,Helvetica,sans-serif!important;font-size:var(--sr-cta-font-size,15px)!important;font-weight:600!important;
  line-height:1!important;gap:var(--sr-cta-gap,12px)!important;box-shadow:0 8px 18px rgba(15,115,239,.14)!important;
}
.sr-header .sr-header__cta:hover,.sr-header .sr-header__cta:focus-visible{
  background:var(--sr-cta-bg-hover,#075fce)!important;border-color:var(--sr-cta-bg-hover,#075fce)!important;color:#fff!important;
  transform:translateY(-2px)!important;box-shadow:0 10px 22px rgba(15,115,239,.20)!important;
}


/* SR91 universal section overlay */
.sr-header{position:relative;isolation:isolate;--sr-universal-overlay-color:transparent;--sr-universal-overlay-opacity:0;}
.sr-header::before{content:"";position:absolute;inset:0;background:var(--sr-universal-overlay-color,transparent);opacity:var(--sr-universal-overlay-opacity,0);pointer-events:none;z-index:0;}
.sr-header > *{position:relative;z-index:1;}


/* SR97 reliable pseudo section overlay */
.sr-header{--sr-universal-overlay-color:transparent;--sr-universal-overlay-opacity:0;position:relative!important;isolation:isolate!important;}
.sr-header::after{content:"";position:absolute;inset:0;background:var(--sr-universal-overlay-color,transparent)!important;opacity:var(--sr-universal-overlay-opacity,0)!important;pointer-events:none;z-index:50!important;}
.sr-header > *{position:relative!important;z-index:60!important;}
