/**
 * JCI Energy Resources - Brand layer
 * ---------------------------------------------------------------------------
 * Retunes the base RSTheme tokens to the JCI identity taken from
 * assets/images/logo/logo.png (navy #001854 / amber #D89000).
 *
 * This file only overrides colour tokens and adds a small number of utility
 * classes. It deliberately reuses the theme's existing `has-theme-blue`
 * component rules rather than restyling every component, so the whole system
 * shifts to brand colour from one place.
 */

:root {
    /* Core brand */
    --jci-navy: #001854;
    --jci-navy-600: #002A73;
    --jci-navy-400: #0A3F8F;
    --jci-amber: #D89000;
    --jci-amber-400: #F0A81C;

    /* Surfaces */
    --jci-surface: #F6F7F9;
    --jci-surface-alt: #FFFFFF;
    --jci-line: rgba(0, 24, 84, 0.12);

    /* Re-point the theme's blue at the JCI navy. Every `has-theme-blue`
       rule in main.css inherits from these. */
    --rs-theme-blue: #001854;
    --rs-theme-light-blue: #0A3F8F;
    --rs-theme-medium-blue: #002A73;
    --rs-bg-dark-blue: #001033;

    /* Amber is used for accents, rules and rating stars */
    --rs-rating-color: var(--jci-amber);
}

/* ------------------------------------------------------------------ *
 * Accent utilities
 * ------------------------------------------------------------------ */

.jci-accent {
    color: var(--jci-amber);
}

/* Amber rule used under section titles */
.jci-rule {
    display: block;
    width: 56px;
    height: 3px;
    background: var(--jci-amber);
    border: 0;
    opacity: 1;
    margin: 0 0 22px;
}

.text-center .jci-rule,
.jci-rule--center {
    margin-left: auto;
    margin-right: auto;
}

/* ------------------------------------------------------------------ *
 * Remove template demo furniture
 * ------------------------------------------------------------------ */

/* The base theme injects an RTL / dark-mode demo switcher into the body.
   It is a template preview control, not part of the product. */
.rs-theme-settings-area {
    display: none !important;
}

/* ------------------------------------------------------------------ *
 * Header / logo
 * ------------------------------------------------------------------ */

/* The theme gives the logo column its own light plate that stops partway
   across the bar. Let the header read as one continuous surface. */
.rs-header-logo-wrapper {
    background: transparent !important;
}

.rs-header-logo img,
.offcanvas-logo img {
    height: 46px;
    width: auto;
    max-width: 220px;
    object-fit: contain;
}

@media (max-width: 767px) {

    .rs-header-logo img,
    .offcanvas-logo img {
        height: 38px;
        max-width: 172px;
    }
}

/* The primary logo art is navy-on-transparent, so it needs a light plate
   when it sits on a dark surface. */
.jci-logo-plate {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    border-radius: 6px;
    padding: 8px 14px;
}

/* ------------------------------------------------------------------ *
 * Hero
 * ------------------------------------------------------------------ */

.jci-hero {
    position: relative;
    display: flex;
    align-items: center;
    min-height: clamp(560px, 82vh, 880px);
    padding: 160px 0 110px;
    overflow: hidden;
    background: var(--jci-navy);
}

.jci-hero__media {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    transform: scale(1.04);
}

/* Dark wash keeps the headline legible over photography */
.jci-hero__scrim {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(0, 16, 51, 0.94) 0%, rgba(0, 16, 51, 0.78) 42%, rgba(0, 16, 51, 0.35) 100%),
        radial-gradient(120% 90% at 15% 50%, rgba(0, 16, 51, 0.5) 0%, rgba(0, 16, 51, 0) 70%);
}

.jci-hero__inner {
    position: relative;
    z-index: 2;
}

/* The 2-3 line rule: wide measure + fluid size so the headline never
   collapses into a narrow six-line wall. */
.jci-hero__title {
    max-width: 20ch;
    margin: 0 0 24px;
    color: #fff;
    font-size: clamp(38px, 5.4vw, 74px);
    line-height: 1.05;
    letter-spacing: -0.025em;
    font-weight: 700;
    text-wrap: balance;
}

.jci-hero__lead {
    max-width: 56ch;
    margin: 0 0 38px;
    color: rgba(255, 255, 255, 0.82);
    font-size: clamp(16px, 1.15vw, 19px);
    line-height: 1.7;
}

.jci-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
}

/* Hairline strip of markets along the base of the hero */
.jci-hero__markets {
    position: relative;
    z-index: 2;
    margin-top: clamp(48px, 7vw, 90px);
    padding-top: 26px;
    border-top: 1px solid rgba(255, 255, 255, 0.16);
    display: flex;
    flex-wrap: wrap;
    gap: 14px 46px;
}

.jci-hero__market {
    display: flex;
    align-items: baseline;
    gap: 10px;
    color: rgba(255, 255, 255, 0.62);
    font-size: 14px;
    letter-spacing: 0.04em;
}

.jci-hero__market strong {
    color: #fff;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    font-size: 13px;
}

.jci-hero__market::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--jci-amber);
    flex: none;
    transform: translateY(-2px);
}

/* ------------------------------------------------------------------ *
 * Page hero (interior pages)
 * ------------------------------------------------------------------ */

.jci-pagehead {
    position: relative;
    padding: 190px 0 90px;
    background: var(--jci-navy);
    overflow: hidden;
}

.jci-pagehead__media {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
}

/* Strong enough on the left for text contrast, open enough on the right that
   the photograph actually reads. */
.jci-pagehead__scrim {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(0, 16, 51, 0.94) 0%, rgba(0, 16, 51, 0.80) 45%, rgba(0, 16, 51, 0.48) 100%);
}

.jci-pagehead__inner {
    position: relative;
    z-index: 2;
}

.jci-pagehead__title {
    color: #fff;
    max-width: 22ch;
    margin: 0 0 18px;
    font-size: clamp(34px, 4.4vw, 58px);
    line-height: 1.08;
    letter-spacing: -0.025em;
    text-wrap: balance;
}

.jci-pagehead__lead {
    color: rgba(255, 255, 255, 0.8);
    max-width: 58ch;
    margin: 0;
    font-size: clamp(16px, 1.1vw, 18px);
    line-height: 1.7;
}

.jci-crumb {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    padding: 0;
    margin: 22px 0 0;
    list-style: none;
    font-size: 14px;
}

.jci-crumb li {
    color: rgba(255, 255, 255, 0.55);
    display: flex;
    align-items: center;
    gap: 10px;
}

.jci-crumb li+li::before {
    content: "";
    width: 14px;
    height: 1px;
    background: rgba(255, 255, 255, 0.32);
}

.jci-crumb a {
    color: rgba(255, 255, 255, 0.78);
}

.jci-crumb a:hover {
    color: var(--jci-amber-400);
}

.jci-crumb [aria-current="page"] {
    color: #fff;
}

/* ------------------------------------------------------------------ *
 * Section scaffolding
 * ------------------------------------------------------------------ */

.jci-section {
    padding: clamp(80px, 9vw, 140px) 0;
}

.jci-section--tight {
    padding: clamp(60px, 6vw, 96px) 0;
}

.jci-section--navy {
    background: var(--jci-navy);
    color: rgba(255, 255, 255, 0.78);
}

.jci-section--surface {
    background: var(--jci-surface);
}

.jci-section__title {
    font-size: clamp(27px, 2.9vw, 42px);
    line-height: 1.14;
    letter-spacing: -0.022em;
    max-width: 24ch;
    margin: 0 0 20px;
    color: var(--jci-navy);
    text-wrap: balance;
}

.jci-section--navy .jci-section__title {
    color: #fff;
}

.jci-section__title--wide {
    max-width: 32ch;
}

.jci-section__lead {
    max-width: 68ch;
    margin: 0;
    line-height: 1.8;
    color: #55606F;
}

.jci-section--navy .jci-section__lead {
    color: rgba(255, 255, 255, 0.72);
}

.jci-section__head {
    margin-bottom: clamp(44px, 5vw, 70px);
}

.jci-section__head--center {
    text-align: center;
}

.jci-section__head--center .jci-section__title,
.jci-section__head--center .jci-section__lead {
    margin-left: auto;
    margin-right: auto;
}

/* ------------------------------------------------------------------ *
 * Cards
 * ------------------------------------------------------------------ */

.jci-card {
    position: relative;
    height: 100%;
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid var(--jci-line);
    border-radius: 4px;
    padding: 38px 34px;
    transition: transform .45s cubic-bezier(.22, 1, .36, 1), box-shadow .45s ease, border-color .45s ease;
}

.jci-card::after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 3px;
    height: 100%;
    background: var(--jci-amber);
    transform: scaleY(0);
    transform-origin: top center;
    transition: transform .45s cubic-bezier(.22, 1, .36, 1);
}

.jci-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 26px 60px rgba(0, 24, 84, 0.12);
    border-color: transparent;
}

.jci-card:hover::after,
.jci-card:focus-within::after {
    transform: scaleY(1);
}

.jci-card__index {
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.16em;
    color: var(--jci-amber);
    margin-bottom: 18px;
}

.jci-card__title {
    font-size: 21px;
    letter-spacing: -0.012em;
    line-height: 1.32;
    margin: 0 0 14px;
    color: var(--jci-navy);
}

.jci-card__text {
    margin: 0;
    font-size: 16px;
    line-height: 1.78;
    color: #5A6472;
}

.jci-card__list {
    margin: 18px 0 0;
    padding: 0;
    list-style: none;
}

.jci-card__list li {
    position: relative;
    padding-left: 20px;
    margin-bottom: 9px;
    font-size: 15.5px;
    line-height: 1.6;
    color: #5A6472;
}

.jci-card__list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 9px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--jci-amber);
}

/* Media card used for the capability grid */
.jci-mediacard {
    position: relative;
    display: block;
    height: 100%;
    min-height: 340px;
    border-radius: 4px;
    overflow: hidden;
    background: var(--jci-navy);
    color: #fff;
}

.jci-mediacard__img {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    transform: scale(1);
    transition: transform 1.1s cubic-bezier(.22, 1, .36, 1);
}

.jci-mediacard:hover .jci-mediacard__img {
    transform: scale(1.07);
}

.jci-mediacard__scrim {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0, 16, 51, 0.18) 0%, rgba(0, 16, 51, 0.62) 48%, rgba(0, 16, 51, 0.94) 100%);
}

.jci-mediacard__body {
    position: relative;
    z-index: 2;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 34px 32px;
}

.jci-mediacard__title {
    color: #fff;
    font-size: 21px;
    letter-spacing: -0.012em;
    line-height: 1.3;
    margin: 0 0 10px;
}

.jci-mediacard__text {
    color: rgba(255, 255, 255, 0.76);
    font-size: 15.5px;
    line-height: 1.7;
    margin: 0;
}

/* ------------------------------------------------------------------ *
 * Stat row
 * ------------------------------------------------------------------ */

.jci-stat {
    padding: 30px 0;
    border-top: 2px solid var(--jci-amber);
}

.jci-stat__value {
    display: block;
    font-size: clamp(34px, 3.4vw, 48px);
    font-weight: 700;
    line-height: 1;
    letter-spacing: -0.03em;
    font-variant-numeric: tabular-nums;
    color: var(--jci-navy);
    margin-bottom: 12px;
}

.jci-section--navy .jci-stat__value {
    color: #fff;
}

.jci-stat__label {
    font-size: 15px;
    line-height: 1.6;
    color: #5A6472;
    margin: 0;
}

.jci-section--navy .jci-stat__label {
    color: rgba(255, 255, 255, 0.68);
}

/* ------------------------------------------------------------------ *
 * Split / editorial blocks
 * ------------------------------------------------------------------ */

.jci-figure {
    position: relative;
    border-radius: 4px;
    overflow: hidden;
    background: #E8EBEF;
}

.jci-figure img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
}

/* Fixed-ratio variant used in the split editorial blocks. Using an aspect
   ratio rather than min-height keeps the image visible regardless of how the
   flex row sizes the column. */
.jci-figure--tall {
    aspect-ratio: 4 / 5;
    max-height: 620px;
}

.jci-figure--tall img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

/* Amber corner detail */
.jci-figure__mark {
    position: absolute;
    left: 0;
    bottom: 0;
    background: var(--jci-amber);
    color: var(--jci-navy);
    font-weight: 700;
    font-size: 14px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    padding: 14px 22px;
}

.jci-prose p {
    line-height: 1.85;
    color: #55606F;
    margin-bottom: 20px;
}

.jci-prose p:last-child {
    margin-bottom: 0;
}

.jci-section--navy .jci-prose p {
    color: rgba(255, 255, 255, 0.74);
}

/* ------------------------------------------------------------------ *
 * Numbered principle list (quality policy)
 * ------------------------------------------------------------------ */

.jci-principle {
    display: flex;
    gap: 24px;
    padding: 30px 0;
    border-bottom: 1px solid var(--jci-line);
}

.jci-principle:first-child {
    border-top: 1px solid var(--jci-line);
}

.jci-principle__num {
    flex: none;
    width: 46px;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.08em;
    color: var(--jci-amber);
    padding-top: 4px;
}

.jci-principle__title {
    font-size: 18px;
    letter-spacing: -0.012em;
    margin: 0 0 8px;
    color: var(--jci-navy);
}

.jci-principle__text {
    margin: 0;
    line-height: 1.78;
    color: #5A6472;
    font-size: 16px;
}

/* ------------------------------------------------------------------ *
 * Value cards
 * ------------------------------------------------------------------ */

.jci-value {
    height: 100%;
    padding: 34px 30px;
    background: #fff;
    border: 1px solid var(--jci-line);
    border-top: 3px solid var(--jci-amber);
    border-radius: 0 0 4px 4px;
    transition: transform .45s cubic-bezier(.22, 1, .36, 1), box-shadow .45s ease;
}

.jci-value:hover {
    transform: translateY(-6px);
    box-shadow: 0 24px 54px rgba(0, 24, 84, 0.12);
}

.jci-value__title {
    font-size: 21px;
    letter-spacing: -0.012em;
    margin: 0 0 12px;
    color: var(--jci-navy);
}

.jci-value__text {
    margin: 0 0 16px;
    line-height: 1.75;
    color: #5A6472;
    font-size: 16px;
}

.jci-value__practice {
    margin: 0;
    padding-top: 16px;
    border-top: 1px solid var(--jci-line);
    font-size: 15px;
    line-height: 1.7;
    color: #6B7482;
    font-style: italic;
}

/* ------------------------------------------------------------------ *
 * Office / contact cards
 * ------------------------------------------------------------------ */

.jci-office {
    height: 100%;
    padding: 36px 32px;
    background: #fff;
    border: 1px solid var(--jci-line);
    border-radius: 4px;
    transition: transform .45s cubic-bezier(.22, 1, .36, 1), box-shadow .45s ease;
}

.jci-office:hover {
    transform: translateY(-6px);
    box-shadow: 0 24px 54px rgba(0, 24, 84, 0.12);
}

.jci-office__flagline {
    display: inline-block;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--jci-amber);
    margin-bottom: 12px;
}

.jci-office__name {
    font-size: 21px;
    letter-spacing: -0.012em;
    margin: 0 0 8px;
    color: var(--jci-navy);
}

.jci-office__role {
    font-size: 15.5px;
    line-height: 1.7;
    color: #5A6472;
    margin: 0 0 22px;
    padding-bottom: 22px;
    border-bottom: 1px solid var(--jci-line);
}

.jci-office__row {
    display: flex;
    gap: 12px;
    font-size: 15px;
    line-height: 1.7;
    margin-bottom: 10px;
    color: #5A6472;
}

.jci-office__row:last-child {
    margin-bottom: 0;
}

.jci-office__row dt {
    flex: none;
    width: 72px;
    font-weight: 600;
    color: var(--jci-navy);
}

.jci-office__row dd {
    margin: 0;
}

/* ------------------------------------------------------------------ *
 * Process steps
 * ------------------------------------------------------------------ */

.jci-step {
    position: relative;
    padding-top: 28px;
    border-top: 1px solid var(--jci-line);
}

.jci-step__num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: var(--jci-navy);
    color: #fff;
    font-weight: 700;
    font-size: 15px;
    margin-bottom: 18px;
}

.jci-step__title {
    font-size: 18px;
    letter-spacing: -0.012em;
    margin: 0 0 10px;
    color: var(--jci-navy);
}

.jci-step__text {
    margin: 0;
    font-size: 15.5px;
    line-height: 1.75;
    color: #5A6472;
}

/* ------------------------------------------------------------------ *
 * FAQ (native details/summary - accessible, no JS required)
 * ------------------------------------------------------------------ */

.jci-faq {
    border-top: 1px solid var(--jci-line);
}

.jci-faq__item {
    border-bottom: 1px solid var(--jci-line);
}

.jci-faq__q {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    padding: 26px 0;
    cursor: pointer;
    list-style: none;
    font-size: 18px;
    font-weight: 600;
    color: var(--jci-navy);
    line-height: 1.5;
}

.jci-faq__q::-webkit-details-marker {
    display: none;
}

.jci-faq__q::after {
    content: "";
    flex: none;
    width: 14px;
    height: 14px;
    margin-top: 6px;
    border-right: 2px solid var(--jci-amber);
    border-bottom: 2px solid var(--jci-amber);
    transform: rotate(45deg);
    transition: transform .35s ease;
}

.jci-faq__item[open] .jci-faq__q::after {
    transform: rotate(-135deg);
}

.jci-faq__a {
    padding: 0 0 26px;
    margin: 0;
    max-width: 76ch;
    line-height: 1.8;
    color: #5A6472;
}

.jci-faq__q:focus-visible {
    outline: 2px solid var(--jci-amber);
    outline-offset: 3px;
}

/* ------------------------------------------------------------------ *
 * Market prices (TradingView embed)
 * ------------------------------------------------------------------ */

/* The ticker carries no heading of its own, so it sits as a shallow strip
   directly beneath the hero rather than as a full section. Qualified with
   .jci-section so it outranks the section padding set further down. */
.jci-section.jci-market--strip {
    padding: 28px 0;
}

/* Frame the third-party widget so it reads as part of the page rather than
   a pasted-in embed. */
.jci-market__frame {
    background: #fff;
    border: 1px solid var(--jci-line);
    border-top: 3px solid var(--jci-amber);
    border-radius: 0 0 4px 4px;
    padding: 10px 18px;
    overflow: hidden;
}

.jci-market__frame .tradingview-widget-container {
    min-height: 46px;
}

/* The quotes scroll as a marquee inside a cross-origin iframe, so the row is
   given full width and left to animate rather than being styled from here. */
.jci-market__frame .tradingview-widget-container__widget {
    width: 100%;
}

.jci-market__fallback {
    margin: 0;
    padding: 14px 4px;
    font-size: 15px;
    line-height: 1.7;
    color: #6B7482;
}

/* TradingView renders its own attribution; keep it present but quiet. */
.jci-market__credit {
    font-size: 12px;
    line-height: 1.4;
    text-align: right;
    padding: 2px 2px 4px;
}

.jci-market__credit a {
    color: #97A0AE;
    text-decoration: none;
}

.jci-market__credit a:hover,
.jci-market__credit a:focus-visible {
    color: var(--jci-navy);
    text-decoration: underline;
}

@media (max-width: 575px) {
    .jci-section.jci-market--strip {
        padding: 20px 0;
    }

    .jci-market__frame {
        padding: 6px 10px;
    }
}

/* ------------------------------------------------------------------ *
 * Market news (TradingView timeline embed)
 * ------------------------------------------------------------------ */

.jci-news__head {
    margin-bottom: 36px;
}

.jci-news__frame {
    background: #fff;
    border: 1px solid var(--jci-line);
    border-top: 3px solid var(--jci-amber);
    border-radius: 0 0 4px 4px;
    padding: 10px 18px 4px;
    overflow: hidden;
}

.jci-news__frame .tradingview-widget-container {
    min-height: 316px;
}

@media (max-width: 767px) {
    .jci-news__frame .tradingview-widget-container {
        min-height: 470px;
    }
}

.jci-news__fallback {
    margin: 0;
    padding: 24px 4px;
    font-size: 15px;
    line-height: 1.7;
    color: #6B7482;
}

/* The attribution and the "not endorsed" note read as one footnote strip
   under the widget, rather than a paragraph floating beside the heading. */
.jci-news__credit {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: 4px 20px;
    font-size: 12px;
    line-height: 1.45;
    padding: 6px 2px 4px;
}

.jci-news__disclaimer {
    order: -1;
    flex: 1 1 auto;
    color: #97A0AE;
    text-align: left;
}

.jci-news__credit a {
    flex: none;
}

.jci-news__credit a {
    color: #97A0AE;
    text-decoration: none;
}

.jci-news__credit a:hover,
.jci-news__credit a:focus-visible {
    color: var(--jci-navy);
    text-decoration: underline;
}

@media (max-width: 991px) {
    .jci-news__head {
        margin-bottom: 28px;
    }
}

@media (max-width: 575px) {
    .jci-news__frame {
        padding: 6px 10px 4px;
    }
}

/* ------------------------------------------------------------------ *
 * CTA band
 * ------------------------------------------------------------------ */

.jci-cta {
    position: relative;
    overflow: hidden;
    background: var(--jci-navy);
    padding: clamp(70px, 8vw, 118px) 0;
}

.jci-cta__media {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    opacity: 0.34;
}

.jci-cta::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(90deg, rgba(0, 16, 51, 0.86) 0%, rgba(0, 16, 51, 0.5) 100%);
}

.jci-cta__inner {
    position: relative;
    z-index: 2;
}

.jci-cta__title {
    color: #fff;
    font-size: clamp(27px, 3vw, 40px);
    line-height: 1.14;
    letter-spacing: -0.022em;
    text-wrap: balance;
    max-width: 22ch;
    margin: 0 0 16px;
}

.jci-cta__text {
    color: rgba(255, 255, 255, 0.76);
    max-width: 58ch;
    margin: 0;
    line-height: 1.78;
}

/* ------------------------------------------------------------------ *
 * Buttons - guarantee legible contrast in both directions
 * ------------------------------------------------------------------ */

.jci-btn {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 17px 34px;
    border: 1px solid transparent;
    border-radius: 3px;
    font-size: 16px;
    font-weight: 600;
    line-height: 1;
    text-decoration: none;
    cursor: pointer;
    transition: background-color .3s ease, color .3s ease, border-color .3s ease, transform .3s ease;
}

.jci-btn:hover {
    transform: translateY(-2px);
}

.jci-btn svg {
    width: 17px;
    height: 17px;
    flex: none;
    transition: transform .3s ease;
}

.jci-btn:hover svg {
    transform: translateX(4px);
}

/* Amber on navy */
.jci-btn--primary {
    background: var(--jci-amber);
    color: #10214A;
    border-color: var(--jci-amber);
}

.jci-btn--primary:hover {
    background: var(--jci-amber-400);
    border-color: var(--jci-amber-400);
    color: #10214A;
}

/* Outline on dark surfaces */
.jci-btn--ghost {
    background: transparent;
    color: #fff;
    border-color: rgba(255, 255, 255, 0.42);
}

.jci-btn--ghost:hover {
    background: #fff;
    border-color: #fff;
    color: var(--jci-navy);
}

/* Solid navy on light surfaces */
.jci-btn--navy {
    background: var(--jci-navy);
    color: #fff;
    border-color: var(--jci-navy);
}

.jci-btn--navy:hover {
    background: var(--jci-navy-600);
    border-color: var(--jci-navy-600);
    color: #fff;
}

/* Outline on light surfaces */
.jci-btn--outline {
    background: transparent;
    color: var(--jci-navy);
    border-color: rgba(0, 24, 84, 0.28);
}

.jci-btn--outline:hover {
    background: var(--jci-navy);
    border-color: var(--jci-navy);
    color: #fff;
}

.jci-btn:focus-visible {
    outline: 3px solid var(--jci-amber);
    outline-offset: 3px;
}

/* ------------------------------------------------------------------ *
 * Forms
 * ------------------------------------------------------------------ */

.jci-field {
    margin-bottom: 26px;
}

.jci-field__label {
    display: block;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.04em;
    line-height: 1.4;
    color: var(--jci-navy);
    margin: 0 0 9px;
}

/* Specificity is raised deliberately: the base theme sets a fixed height and
   a transparent background on all inputs, which would otherwise win here. */
input.jci-field__control,
select.jci-field__control,
textarea.jci-field__control {
    width: 100%;
    height: 54px;
    padding: 14px 18px;
    font-size: 16px;
    font-family: inherit;
    line-height: 1.4;
    color: var(--jci-navy);
    background-color: #fff;
    border: 1px solid var(--jci-line);
    border-radius: 3px;
    transition: border-color .3s ease, box-shadow .3s ease;
}

.jci-field__control::placeholder {
    color: #9AA3B0;
}

input.jci-field__control:focus,
select.jci-field__control:focus,
textarea.jci-field__control:focus {
    outline: none;
    border-color: var(--jci-amber);
    box-shadow: 0 0 0 3px rgba(216, 144, 0, 0.16);
}

textarea.jci-field__control {
    height: auto;
    min-height: 168px;
    resize: vertical;
}

select.jci-field__control {
    display: block;
    width: 100%;
    max-width: none;
    appearance: none;
    -webkit-appearance: none;
    background-image: linear-gradient(45deg, transparent 50%, var(--jci-navy) 50%), linear-gradient(135deg, var(--jci-navy) 50%, transparent 50%);
    background-position: calc(100% - 21px) 25px, calc(100% - 15px) 25px;
    background-size: 6px 6px, 6px 6px;
    background-repeat: no-repeat;
    padding-right: 46px;
}

/* The theme replaces every <select> with a nice-select widget. Match it to
   the rest of the form controls. */
.jci-field .nice-select {
    display: block;
    width: 100%;
    height: 54px;
    line-height: 52px;
    padding: 0 46px 0 18px;
    font-size: 16px;
    color: var(--jci-navy);
    background-color: #fff;
    border: 1px solid var(--jci-line);
    border-radius: 3px;
    float: none;
}

.jci-field .nice-select:focus,
.jci-field .nice-select.open {
    border-color: var(--jci-amber);
    box-shadow: 0 0 0 3px rgba(216, 144, 0, 0.16);
}

/* Keep the plugin's own Font Awesome chevron; only recolour it. */
.jci-field .nice-select::after {
    color: var(--jci-navy);
    border: 0;
}

/* nice-select copies the original select's classes onto its wrapper, which
   would otherwise paint the CSS chevron on top of nice-select's own arrow. */
.nice-select.jci-field__control {
    background-image: none;
    padding-right: 46px;
}

.jci-field .nice-select .current {
    display: block;
    line-height: 52px;
}

.jci-field .nice-select .list {
    width: 100%;
    border-radius: 3px;
    border: 1px solid var(--jci-line);
    box-shadow: 0 18px 44px rgba(0, 24, 84, 0.14);
}

.jci-field .nice-select .option {
    line-height: 1.5;
    min-height: 0;
    padding: 11px 18px;
}

.jci-field .nice-select .option.selected {
    font-weight: 600;
    color: var(--jci-navy);
}

.jci-field .nice-select .option:hover,
.jci-field .nice-select .option.focus,
.jci-field .nice-select .option.selected.focus {
    background-color: rgba(216, 144, 0, 0.12);
}

.jci-form-note {
    font-size: 14.5px;
    line-height: 1.7;
    color: #6B7482;
    margin: 0;
}

/* Accessible skip link */
.jci-skip {
    position: absolute;
    left: -9999px;
    top: 0;
    z-index: 999;
    padding: 14px 22px;
    background: var(--jci-navy);
    color: #fff;
    font-weight: 600;
}

.jci-skip:focus {
    left: 12px;
    top: 12px;
    color: #fff;
}

/* ------------------------------------------------------------------ *
 * Footer refinements
 * ------------------------------------------------------------------ */

/* Deepen the photographic backdrop into brand navy so footer text clears
   4.5:1 wherever the image happens to be light. */
.jci-footer .rs-footer-bg-thumb::before {
    background: linear-gradient(180deg, rgba(0, 16, 51, 0.88) 0%, rgba(0, 16, 51, 0.96) 100%);
    opacity: 1;
}

.jci-footer .rs-footer-top {
    padding: 96px 0 72px;
}

.jci-footer-note {
    color: rgba(255, 255, 255, 0.72);
    font-size: 15px;
    line-height: 1.75;
    max-width: 42ch;
}

/* Every column shares one title block, so the first line of content in each
   sits on the same baseline. */
.jci-footer__title {
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    margin: 0 0 28px;
    padding-bottom: 14px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.14);
    position: relative;
}

.jci-footer__title::after {
    content: "";
    position: absolute;
    inset-inline-start: 0;
    bottom: -1px;
    width: 32px;
    height: 1px;
    background: var(--jci-amber);
}

/* Brand column ------------------------------------------------------ */

.jci-footer__logo {
    display: block;
    max-height: 52px;
    width: auto;
    margin-bottom: 26px;
}

.jci-footer__mail {
    display: inline-block;
    margin-top: 24px;
    color: #fff;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: 0.01em;
    padding-bottom: 3px;
    border-bottom: 1px solid var(--jci-amber);
    transition: color 0.35s cubic-bezier(0.2, 0.8, 0.2, 1),
                border-color 0.35s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.jci-footer__mail:hover,
.jci-footer__mail:focus-visible {
    color: var(--jci-amber-400);
    border-color: var(--jci-amber-400);
}

/* Link lists -------------------------------------------------------- */

/* The base theme lays these out as a two-column grid, which staggers
   multi-word labels into ragged pairs. One column, one rhythm. */
.jci-footer .rs-footer-widget-links ul {
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
}

.jci-footer .rs-footer-widget-links ul li a {
    display: inline-block;
    color: rgba(255, 255, 255, 0.72);
    font-size: 15px;
    font-weight: 400;
    line-height: 1.5;
    transition: color 0.35s cubic-bezier(0.2, 0.8, 0.2, 1);
}

/* The theme indents links by 25px on hover, which reflows the whole column.
   Reveal an amber rule instead — same intent, no layout shift. */
.jci-footer .rs-footer-widget-links ul li a::before {
    content: "";
    position: absolute;
    inset-inline-start: 0;
    bottom: -2px;
    width: 100%;
    height: 1px;
    background: var(--jci-amber);
    opacity: 1;
    visibility: visible;
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 0.35s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.jci-footer .rs-footer-widget-links ul li a:hover,
.jci-footer .rs-footer-widget-links ul li a:focus-visible {
    color: #fff;
    padding-inline-start: 0;
}

.jci-footer .rs-footer-widget-links ul li a:hover::before,
.jci-footer .rs-footer-widget-links ul li a:focus-visible::before {
    transform: scaleX(1);
}

/* Offices ----------------------------------------------------------- */

.jci-footer__offices {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 24px;
}

.jci-footer__country {
    display: block;
    color: #fff;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    margin-bottom: 6px;
}

.jci-footer__place {
    display: block;
    color: rgba(255, 255, 255, 0.72);
    font-size: 14px;
    line-height: 1.6;
    margin-bottom: 4px;
}

.jci-footer__offices a {
    color: var(--jci-amber-400);
    font-size: 14px;
    transition: color 0.35s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.jci-footer__offices a:hover,
.jci-footer__offices a:focus-visible {
    color: #fff;
}

/* Bottom bar -------------------------------------------------------- */

.jci-footer .rs-copyright-one {
    padding: 26px 0;
    border-top: 1px solid rgba(255, 255, 255, 0.14);
}

.jci-footer__bottom {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 10px 32px;
}

.jci-footer__legal,
.jci-footer__cities {
    margin: 0;
    font-size: 14px;
    color: rgba(255, 255, 255, 0.6);
}

.jci-footer__cities {
    letter-spacing: 0.08em;
    text-transform: uppercase;
    font-size: 12px;
    font-weight: 600;
}

@media (max-width: 767px) {
    .jci-footer .rs-footer-top {
        padding: 72px 0 56px;
    }

    .jci-footer-note {
        max-width: 100%;
    }

    .jci-footer__bottom {
        justify-content: center;
        text-align: center;
    }
}

/* The floating scroll-to-top control sits over the bottom bar on narrow
   screens; the cities line repeats "Our Presence" above it, so drop it. */
@media (max-width: 575px) {
    .jci-footer__cities {
        display: none;
    }
}

/* ------------------------------------------------------------------ *
 * Responsive
 * ------------------------------------------------------------------ */

@media (max-width: 1199px) {
    .jci-figure--tall {
        aspect-ratio: 4 / 3;
    }
}

@media (max-width: 991px) {
    .jci-hero {
        padding: 140px 0 84px;
        min-height: auto;
    }

    .jci-hero__title {
        max-width: 100%;
    }

    .jci-hero__scrim {
        background: linear-gradient(180deg, rgba(0, 16, 51, 0.9) 0%, rgba(0, 16, 51, 0.82) 100%);
    }

    .jci-pagehead {
        padding: 150px 0 70px;
    }

    .jci-figure--tall {
        aspect-ratio: 16 / 10;
        max-height: none;
    }

    .jci-section__title,
    .jci-section__lead,
    .jci-cta__title,
    .jci-cta__text {
        max-width: 100%;
    }
}

@media (max-width: 575px) {
    .jci-card,
    .jci-value,
    .jci-office {
        padding: 28px 22px;
    }

    .jci-hero__actions .jci-btn {
        width: 100%;
        justify-content: center;
    }

    .jci-hero__markets {
        gap: 12px 26px;
    }

    .jci-principle {
        gap: 16px;
    }

    .jci-principle__num {
        width: 34px;
    }

    .jci-mediacard {
        min-height: 300px;
    }
}

/* Respect reduced-motion preferences */
@media (prefers-reduced-motion: reduce) {
    .jci-card,
    .jci-value,
    .jci-office,
    .jci-mediacard__img,
    .jci-btn,
    .jci-btn svg {
        transition: none !important;
    }

    .jci-card:hover,
    .jci-value:hover,
    .jci-office:hover,
    .jci-btn:hover {
        transform: none;
    }
}

/* ==================================================================== *
 * Site refinement pass
 * -------------------------------------------------------------------- *
 * Navigation reach, interaction states, and the browser-owned surfaces
 * the base theme leaves at their defaults.
 * ==================================================================== */

/* ------------------------------------------------------------------ *
 * Navigation
 * ------------------------------------------------------------------ */

/* The base theme only shows the primary nav above 1200px and drops the
   header CTA below 1367px, so every laptop under those widths loses both.
   Bring the full nav and the CTA down to 992px instead; meanmenu's
   breakpoint in main.js is matched to this. */
@media (min-width: 992px) {

    .rs-header-one .rs-header-menu,
    .rs-header-one .main-menu,
    .rs-header-one .rs-header-btn {
        display: flex !important;
    }

    /* One trigger at a time: full nav above 992, offcanvas below. */
    .rs-header-one .rs-header-hamburger {
        display: none !important;
    }
}

@media (min-width: 992px) and (max-width: 1399px) {

    .rs-header-one .rs-header-menu {
        padding-inline-start: 22px;
    }

    .rs-header-one .main-menu>ul>li>a {
        font-size: 15px;
    }

    .rs-header-one .rs-header-btn .rs-btn {
        padding: 13px 22px;
        font-size: 14px;
    }
}

/* Nav bar height: the theme sizes the bar off a fixed 98px logo plate. With
   the plate's background removed, that height is just dead space above every
   page, and its fixed 295px width strands the nav far from the wordmark. */
.rs-header-one .rs-header-logo-wrapper {
    height: 76px;
    width: auto;
    justify-content: flex-start;
}

.rs-header-one .rs-header-menu>.main-menu>ul>li>a {
    padding-block: 24px;
}

@media (max-width: 991px) {
    .rs-header-one .rs-header-logo-wrapper {
        height: 66px;
    }
}

/* The current page was marked up with aria-current but never styled. */
.main-menu ul li a[aria-current="page"] {
    color: var(--jci-navy);
    font-weight: 600;
}

.main-menu ul li a[aria-current="page"]::after {
    content: "";
    display: block;
    height: 2px;
    margin-top: 4px;
    background: var(--jci-amber);
}

.rs-offcanvas-menu a[aria-current="page"],
.mean-nav a[aria-current="page"] {
    color: var(--jci-amber) !important;
    font-weight: 600;
}

/* The offcanvas trigger shipped as a four-square grid glyph, which reads as
   "apps" rather than "menu". The markup now carries three bars; give them
   the sizing and the hover the rest of the header uses. */
.rs-header-hamburger .bar-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    margin-inline-start: 4px;
    border-radius: 4px;
    transition: background-color .3s ease;
}

.rs-header-hamburger .bar-icon:hover {
    background: rgba(0, 24, 84, 0.06);
}

.rs-header-hamburger .bar-icon:focus-visible {
    outline: 3px solid var(--jci-amber);
    outline-offset: 2px;
}

/* ------------------------------------------------------------------ *
 * Focus and selection
 * ------------------------------------------------------------------ *
 * Keyboard focus and text selection are part of the design, not the
 * browser's to decide. */

a:focus-visible,
button:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible {
    outline: 3px solid var(--jci-amber);
    outline-offset: 3px;
    border-radius: 2px;
}

.jci-section--navy a:focus-visible,
.jci-hero a:focus-visible,
.jci-pagehead a:focus-visible,
.jci-cta a:focus-visible,
.jci-footer a:focus-visible {
    outline-color: var(--jci-amber-400);
}

::selection {
    background: var(--jci-amber);
    color: #10214A;
}

.jci-section--navy ::selection,
.jci-hero ::selection,
.jci-pagehead ::selection,
.jci-cta ::selection,
.jci-footer ::selection {
    background: var(--jci-amber-400);
    color: #10214A;
}

/* ------------------------------------------------------------------ *
 * Vertical rhythm
 * ------------------------------------------------------------------ *
 * Every section shipped at an identical 97px top and bottom, which reads
 * as one undifferentiated column. Two tiers instead, and a heading block
 * that groups with its own lead. */

.jci-section {
    padding: clamp(72px, 8.5vw, 128px) 0;
}

.jci-section--tight {
    padding: clamp(56px, 5.5vw, 88px) 0;
}

.jci-section__head {
    margin-bottom: clamp(40px, 4.2vw, 62px);
}

.jci-section__title+.jci-section__lead,
.jci-section__title+.jci-prose {
    margin-top: -2px;
}

/* ------------------------------------------------------------------ *
 * Component polish
 * ------------------------------------------------------------------ */

/* Cards sat at the same elevation whether or not they were interactive.
   Give the whole card the pointer target when it contains a single link. */
.jci-card,
.jci-value,
.jci-office {
    border-radius: 4px;
}

.jci-card:focus-within,
.jci-value:focus-within,
.jci-office:focus-within {
    border-color: var(--jci-amber);
}

/* Figures and media share the card radius rather than sitting square. The
   market and news frames are deliberately left alone: they carry a 3px amber
   edge along the top, so their top corners stay square. */
.jci-figure,
.jci-mediacard {
    border-radius: 4px;
    overflow: hidden;
}

/* Numerals in stats and market data line up column to column. */
.jci-stat__value,
.jci-hero__market,
.jci-market__frame {
    font-variant-numeric: tabular-nums;
}

/* Inputs match the button radius and gain a visible focus ring. */
.jci-field__control:focus,
.jci-field__control:focus-visible {
    outline: 3px solid var(--jci-amber);
    outline-offset: 2px;
    border-color: var(--jci-navy);
}

/* ------------------------------------------------------------------ *
 * Mobile and tablet
 * ------------------------------------------------------------------ */

@media (max-width: 991px) {

    .jci-pagehead {
        padding: 132px 0 64px;
    }

    .jci-hero {
        padding: 132px 0 72px;
    }

    /* Stacked CTAs read as one column rather than two ragged halves. */
    .jci-hero__actions .jci-btn,
    .jci-cta .jci-btn {
        flex: 1 1 auto;
        justify-content: center;
    }
}

@media (max-width: 767px) {

    .jci-section__head {
        margin-bottom: 34px;
    }

    /* Full-bleed tap targets beat two buttons sharing a cramped row. */
    .jci-hero__actions,
    .jci-cta__actions {
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
    }

    .jci-hero__actions .jci-btn,
    .jci-cta .jci-btn {
        width: 100%;
    }

    .jci-hero__markets {
        gap: 10px 0;
        flex-direction: column;
    }

    .jci-crumb {
        font-size: 13px;
    }

    /* A 48px Bootstrap gutter is a column gap at desktop; once the columns
       stack it becomes a gap between a heading and its own body copy. */
    .jci-section .row.g-5,
    .jci-section .row.gy-5 {
        --bs-gutter-y: 32px;
    }
}

/* Every inline link in body copy is a 44px-tall target on touch. */
@media (pointer: coarse) {

    .jci-footer a,
    .jci-crumb a,
    .jci-office__row a {
        min-height: 32px;
        display: inline-flex;
        align-items: center;
    }
}

@media (prefers-reduced-motion: reduce) {

    .jci-footer .rs-footer-widget-links ul li a::before {
        transition: none;
    }
}

/* ------------------------------------------------------------------ *
 * Form notices
 * ------------------------------------------------------------------ *
 * A tinted surface, a left accent bar, and a status icon so success and
 * error read at a glance instead of as plain paragraph text. Success uses
 * green (the universal "done" signal) rather than the brand's amber, which
 * this form also uses for its own submit button and would otherwise blur
 * the two together. */

.jci-notice {
    display: flex;
    gap: 14px;
    align-items: flex-start;
    margin-bottom: 28px;
    padding: 20px 24px;
    border: 1px solid;
    border-left-width: 4px;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0, 24, 84, 0.06);
}

.jci-notice__icon {
    display: flex;
    flex: none;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    margin-top: 1px;
}

.jci-notice__icon svg {
    width: 100%;
    height: 100%;
}

.jci-notice__content {
    flex: 1 1 auto;
}

.jci-notice__title {
    margin: 0;
    font-weight: 700;
    font-size: 16px;
}

.jci-notice__body {
    margin: 6px 0 0;
    font-size: 15px;
    line-height: 1.6;
}

.jci-notice__list {
    margin: 8px 0 0;
    padding-inline-start: 20px;
    font-size: 15px;
    line-height: 1.7;
}

.jci-notice--success {
    background: #EEF9F2;
    border-color: rgba(15, 129, 74, 0.28);
    color: #0B4B2E;
}

.jci-notice--success .jci-notice__icon {
    color: #0F9D58;
}

.jci-notice--success .jci-notice__title {
    color: #0B4B2E;
}

.jci-notice--error {
    background: #FCF1F0;
    border-color: rgba(158, 45, 32, 0.38);
    color: #8A2A1E;
}

.jci-notice--error .jci-notice__icon {
    color: #C0392B;
}

.jci-notice--error .jci-notice__title {
    color: #8A2A1E;
}

/* A submitted form should land the visitor on the outcome, not leave them
   hunting for it above the fold they already scrolled past. */
.jci-notice:focus {
    outline: 3px solid var(--jci-amber);
    outline-offset: 3px;
}

@media (max-width: 480px) {
    .jci-notice {
        padding: 16px 18px;
    }
}

/* ==================================================================== *
 * Language switcher / Google Website Translator
 * -------------------------------------------------------------------- *
 * The pages are authored in English and translated in the browser. The
 * visible control is our own select; everything Google injects — its
 * combo box, the top banner, the highlight and tooltip — is suppressed
 * so the translated page keeps the site's own chrome.
 * ==================================================================== */

.jci-lang {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 0 28px 0 10px;
    height: 40px;
    border: 1px solid var(--jci-line);
    border-radius: 4px;
    color: var(--jci-navy);
    background: var(--jci-surface-alt);
    transition: border-color .3s ease, background-color .3s ease;
}

.jci-lang:hover {
    border-color: rgba(0, 24, 84, 0.3);
}

.jci-lang:focus-within {
    border-color: var(--jci-amber);
    box-shadow: 0 0 0 3px rgba(216, 144, 0, 0.22);
}

.jci-lang__globe {
    flex: 0 0 auto;
    color: var(--jci-navy);
    opacity: .75;
}

/* The control is self-evident with the globe beside it; the label stays
   for screen readers. */
.jci-lang__label {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
}

.jci-lang__select {
    appearance: none;
    -webkit-appearance: none;
    border: 0;
    background: transparent;
    color: inherit;
    font-family: inherit;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.2;
    padding: 0;
    cursor: pointer;
    outline: none;
}

.jci-lang__chevron {
    position: absolute;
    right: 10px;
    pointer-events: none;
    opacity: .65;
}

/* Offcanvas variant: full width, sitting on the panel's own surface. */
.jci-lang--block {
    display: flex;
    width: 100%;
    height: 46px;
    padding-inline: 12px 32px;
}

.jci-lang--block .jci-lang__select {
    flex: 1 1 auto;
    font-size: 15px;
}

/* The switcher rides beside the header CTA, which the theme only shows from
   992px up; below that the offcanvas panel carries it. */
.rs-header-one .rs-header-right .jci-lang {
    display: none;
    margin-inline-end: 14px;
}

@media (min-width: 992px) {
    .rs-header-one .rs-header-right .jci-lang {
        display: inline-flex;
    }
}

@media (min-width: 992px) and (max-width: 1399px) {
    .rs-header-one .rs-header-right .jci-lang {
        height: 38px;
        margin-inline-end: 10px;
    }

    .rs-header-one .rs-header-right .jci-lang__select {
        font-size: 13px;
    }
}

/* Google's own widget: present for the machinery, never shown. */
.jci-gtranslate-host {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
}

/* The translate banner shifts the whole document down by its own height and
   breaks the sticky header. Author `!important` beats Google's inline style. */
body {
    top: 0 !important;
}

.goog-te-banner-frame,
.skiptranslate iframe,
iframe.skiptranslate,
#goog-gt-tt,
.goog-te-balloon-frame {
    display: none !important;
}

.goog-text-highlight {
    background: none !important;
    box-shadow: none !important;
}

/* The switcher shares the bar with the nav and the CTA. On laptop widths that
   leaves the links no slack, and the browser resolves it by wrapping labels
   like "Products & Services" onto two lines. Keep the labels whole and take
   the room out of their padding instead. */
@media (min-width: 992px) {
    .rs-header-one .main-menu>ul>li>a {
        white-space: nowrap;
    }
}

@media (min-width: 1200px) and (max-width: 1399px) {
    .rs-header-one .main-menu>ul>li>a {
        padding-inline: 14px;
    }
}

@media (min-width: 992px) and (max-width: 1199px) {
    .rs-header-one .main-menu>ul>li>a {
        padding-inline: 8px;
    }

    .rs-header-one .rs-header-menu {
        padding-inline-start: 14px;
    }

    .rs-header-one .rs-header-right .jci-lang {
        margin-inline-end: 8px;
        padding-inline: 8px 24px;
    }
}
