.rv-shs-section {
    --rv-shs-bg: #030303;
    --rv-shs-rail: clamp(74px, 5.08vw, 96px);
    --rv-shs-ease: cubic-bezier(.22, .78, .22, 1);
    position: relative;
    width: 100%;
    height: clamp(720px, 48.68vw, 960px);
    max-height: 100svh;
    min-height: min(720px, 100svh);
    overflow: hidden;
    isolation: isolate;
    background: var(--rv-shs-bg);
    color: #fff;
    font-family: "Inter", "Helvetica Neue", Arial, sans-serif;
    outline: none;
}
.rv-shs-section *, .rv-shs-section *::before, .rv-shs-section *::after { box-sizing: border-box; }
.rv-shs-section::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    opacity: .36;
    background-image:
        radial-gradient(circle, rgba(255,255,255,.28) 0 1px, transparent 1.4px),
        radial-gradient(circle, rgba(255,255,255,.14) 0 .8px, transparent 1.2px),
        radial-gradient(circle at 38% 44%, rgba(255,255,255,.05), transparent 36%);
    background-size: 137px 131px, 213px 197px, auto;
    background-position: 18px 31px, 82px 11px, 0 0;
    mask-image: linear-gradient(90deg, #000 0 72%, transparent 94%);
}
.rv-shs-viewport, .rv-shs-slide { position: absolute; inset: 0; }
.rv-shs-viewport { z-index: 1; }
.rv-shs-slide {
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    overflow: hidden;
}
.rv-shs-slide.is-active,
.rv-shs-slide.is-next,
.rv-shs-slide.is-leaving {
    visibility: visible;
    opacity: 1;
}
.rv-shs-slide.is-active { z-index: 3; pointer-events: auto; }
.rv-shs-slide.is-leaving { z-index: 2; }
.rv-shs-slide.is-next { z-index: 4; }
.rv-shs-slide-glow {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background:
        radial-gradient(ellipse 57% 88% at 94% 0%, color-mix(in srgb, var(--rv-shs-accent) 94%, transparent) 0%, color-mix(in srgb, var(--rv-shs-accent) 53%, transparent) 26%, transparent 68%),
        radial-gradient(ellipse 38% 65% at 77% 48%, color-mix(in srgb, var(--rv-shs-accent) 18%, transparent), transparent 74%);
    opacity: .86;
    transform: translateX(4%);
    transition: opacity .55s ease, transform .8s var(--rv-shs-ease);
}
.rv-shs-slide.has-reference-media .rv-shs-slide-glow { opacity: 0; }
.rv-shs-slide.is-leaving .rv-shs-slide-glow { opacity: .12; transform: translateX(-4%); }
.rv-shs-content { position: absolute; inset: 0; z-index: 2; }
.rv-shs-copy {
    position: absolute;
    z-index: 5;
    left: clamp(120px, 7.55vw, 150px);
    top: 19.55%;
    width: min(38vw, 720px);
}
.rv-shs-eyebrow {
    margin: 0 0 clamp(55px, 5.2vh, 70px);
    font-size: clamp(11px, 1.02vw, 20px);
    line-height: 1.2;
    font-weight: 400;
    letter-spacing: -.012em;
    color: rgba(255,255,255,.84);
    opacity: 0;
    transform: translateY(13px);
    transition: opacity .45s .12s ease, transform .55s .12s var(--rv-shs-ease);
}
.rv-shs-title {
    margin: 0;
    text-transform: uppercase;
    font-size: clamp(58px, 5.18vw, 100px);
    line-height: 1.22;
    letter-spacing: -.042em;
    white-space: nowrap;
}
.rv-shs-title > span {
    display: block;
    overflow: hidden;
    min-height: 1.02em;
}
.rv-shs-title em {
    display: block;
    font-style: normal;
    transform: translateY(112%);
    opacity: 0;
    transition: transform .62s var(--rv-shs-ease), opacity .25s ease;
}
.rv-shs-title-strong { font-weight: 850; }
.rv-shs-title-light { font-weight: 260; color: rgba(255,255,255,.88); }
.rv-shs-title-strong em { scale: 1.145 1; transform-origin: left center; }
.rv-shs-title-light em { scale: 1.175 1; transform-origin: left center; }
.rv-shs-description {
    position: absolute;
    z-index: 6;
    left: 25.65%;
    bottom: 16.2%;
    width: min(31vw, 590px);
    margin: 0;
    font-size: clamp(14px, 1.27vw, 24px);
    line-height: 1.45;
    font-weight: 430;
    letter-spacing: -.018em;
    color: rgba(255,255,255,.88);
    opacity: 0;
    transform: translateY(16px);
    transition: opacity .5s .18s ease, transform .6s .18s var(--rv-shs-ease);
}
.rv-shs-slide.is-active .rv-shs-eyebrow,
.rv-shs-slide.is-active .rv-shs-description,
.rv-shs-slide.is-next .rv-shs-eyebrow,
.rv-shs-slide.is-next .rv-shs-description {
    opacity: 1;
    transform: translateY(0);
}
.rv-shs-slide.is-active .rv-shs-title em { transform: translateY(0); opacity: 1; }
.rv-shs-slide.is-active .rv-shs-title > span:nth-child(1) em { transition-delay: .13s; }
.rv-shs-slide.is-active .rv-shs-title > span:nth-child(2) em { transition-delay: .23s; }
.rv-shs-slide.is-active .rv-shs-title > span:nth-child(3) em { transition-delay: .33s; }
.rv-shs-slide.is-leaving .rv-shs-eyebrow,
.rv-shs-slide.is-leaving .rv-shs-title,
.rv-shs-slide.is-leaving .rv-shs-description,
.rv-shs-slide.is-leaving .rv-shs-arrow-link {
    opacity: .12;
    filter: grayscale(1);
    transition: opacity .28s ease, filter .28s ease;
}
.rv-shs-slide.is-next .rv-shs-title { opacity: 0; }
.rv-shs-arrow-link {
    position: absolute;
    z-index: 8;
    left: clamp(118px, 7.4vw, 148px);
    bottom: 3.4%;
    width: clamp(86px, 6vw, 112px);
    height: clamp(86px, 6vw, 112px);
    display: block;
    color: rgba(255,255,255,.82);
    text-decoration: none;
    opacity: 0;
    transform: translateY(18px);
    filter: drop-shadow(0 14px 28px rgba(0,0,0,.26));
    transition: opacity .55s .32s ease, transform .65s .32s var(--rv-shs-ease), color .25s ease, filter .25s ease;
}
.rv-shs-slide.is-active .rv-shs-arrow-link,
.rv-shs-slide.is-next .rv-shs-arrow-link { opacity: 1; transform: translateY(0); }
.rv-shs-arrow-link svg { width: 100%; height: 100%; overflow: visible; }
.rv-shs-arrow-link rect,
.rv-shs-arrow-link path { fill: none; stroke: currentColor; vector-effect: non-scaling-stroke; }
.rv-shs-arrow-link rect { stroke-width: 1; opacity: .55; }
.rv-shs-arrow-link path { stroke-width: 1.6; stroke-linecap: square; stroke-linejoin: miter; }
.rv-shs-arrow-link small {
    position: absolute;
    left: calc(100% + 12px);
    bottom: 10px;
    white-space: nowrap;
    color: rgba(255,255,255,.62);
    font-size: 10px;
    letter-spacing: .14em;
    text-transform: uppercase;
}
.rv-shs-arrow-link:not(.is-static):hover { color: var(--rv-shs-accent); transform: translateY(-4px); filter: drop-shadow(0 18px 34px color-mix(in srgb, var(--rv-shs-accent) 28%, transparent)); }
.rv-shs-visual {
    position: absolute;
    z-index: 3;
    left: 43.7%;
    top: 0;
    right: 0;
    bottom: 0;
    overflow: visible;
}
.rv-shs-visual.is-reference-composite { left: 48.57%; }
.rv-shs-visual.is-reference-composite::before {
    content: "";
    position: absolute;
    z-index: 5;
    left: 0;
    top: 57%;
    width: 44%;
    height: 37%;
    pointer-events: none;
    background: radial-gradient(ellipse 100% 82% at 0 50%, #030303 0%, #030303 48%, rgba(3,3,3,.98) 58%, rgba(3,3,3,.78) 69%, rgba(3,3,3,.38) 82%, transparent 100%);
}
.rv-shs-visual.is-reference-composite::after {
    content: "";
    position: absolute;
    z-index: 4;
    inset: 0 auto 0 0;
    width: 7%;
    pointer-events: none;
    background: linear-gradient(90deg, #030303 0%, rgba(3,3,3,.84) 32%, rgba(3,3,3,.28) 72%, transparent 100%);
}
.rv-shs-visual > img,
.rv-shs-visual > video {
    position: absolute;
    z-index: 3;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center bottom;
    filter: drop-shadow(0 28px 40px rgba(0,0,0,.48));
    opacity: 0;
    transform: translate3d(5.5%, 5%, 0) scale(.93);
    transition: opacity .48s ease, transform .82s var(--rv-shs-ease), filter .35s ease;
}
.rv-shs-visual.is-reference-composite > img,
.rv-shs-visual.is-reference-composite > video {
    object-fit: cover;
    object-position: right center;
    filter: none;
    transform: translate3d(4%, 4%, 0) scale(.97);
}
.rv-shs-slide.is-active .rv-shs-visual > img,
.rv-shs-slide.is-active .rv-shs-visual > video,
.rv-shs-slide.is-next.is-visual-ready .rv-shs-visual > img,
.rv-shs-slide.is-next.is-visual-ready .rv-shs-visual > video {
    opacity: 1;
    transform: translate3d(0,0,0) scale(1);
}
.rv-shs-slide.is-leaving .rv-shs-visual > img,
.rv-shs-slide.is-leaving .rv-shs-visual > video {
    opacity: 0;
    transform: translate3d(-6%, -2%, 0) scale(.94);
    filter: grayscale(1) brightness(.38);
    transition-duration: .32s;
}
.rv-shs-orb {
    position: absolute;
    z-index: 1;
    left: 2%;
    top: 12%;
    width: min(39vw, 720px);
    aspect-ratio: 1;
    opacity: 0;
    transform: translate3d(7%, 7%, 0) scale(.88) rotate(-5deg);
    transition: opacity .6s ease, transform 1s var(--rv-shs-ease);
}
.rv-shs-orb svg { width: 100%; height: 100%; overflow: visible; }
.rv-shs-orb-smoke { fill: rgba(255,255,255,.045); stroke: rgba(255,255,255,.13); stroke-width: 2; }
.rv-shs-orb-wire { fill: none; stroke: rgba(255,255,255,.19); stroke-width: 1.2; }
.rv-shs-orb::after {
    content: "";
    position: absolute;
    inset: 8%;
    border-radius: 50%;
    background: radial-gradient(circle at 56% 44%, color-mix(in srgb, var(--rv-shs-accent) 18%, transparent), transparent 62%);
    box-shadow: 0 0 94px color-mix(in srgb, var(--rv-shs-accent) 30%, transparent);
    mix-blend-mode: screen;
}
.rv-shs-slide.is-active .rv-shs-orb,
.rv-shs-slide.is-next.is-visual-ready .rv-shs-orb { opacity: .88; transform: translate3d(0,0,0) scale(1) rotate(0); }
.rv-shs-slide.is-leaving .rv-shs-orb { opacity: .12; transform: translate3d(-7%,0,0) scale(.9); transition-duration: .3s; }
.rv-shs-media-placeholder {
    position: absolute;
    z-index: 3;
    left: 22%;
    top: 18%;
    width: min(30vw, 430px);
    aspect-ratio: 4/5;
    display: grid;
    place-content: center;
    text-align: center;
    padding: 32px;
    border: 1px dashed rgba(255,255,255,.28);
    color: rgba(255,255,255,.7);
    background: rgba(0,0,0,.28);
}
.rv-shs-media-placeholder strong { display: block; font-size: 70px; color: #fff; }
.rv-shs-media-placeholder span { max-width: 210px; font-size: 13px; line-height: 1.5; }
.rv-shs-rail {
    position: absolute;
    z-index: 12;
    inset: 0 auto 0 0;
    width: var(--rv-shs-rail);
    display: flex;
    align-items: center;
    flex-direction: column;
    background: rgba(0,0,0,.12);
}
.rv-shs-brand {
    position: relative;
    width: 100%;
    height: 22.5%;
    min-height: 174px;
    display: grid;
    place-items: center;
}
.rv-shs-brand img {
    display: block;
    width: var(--rv-shs-logo-size, 150px);
    max-width: none;
    max-height: 90%;
    height: auto;
    object-fit: contain;
    transform: rotate(-90deg);
    transform-origin: center;
}
.rv-shs-brand-mark {
    position: relative;
    width: 166px;
    height: 62px;
    transform: rotate(-90deg);
    transform-origin: center;
    left: -29px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
}
.rv-shs-brand-mark > span {
    font-size: 35px;
    line-height: 1;
    font-weight: 520;
    letter-spacing: -.055em;
    text-transform: lowercase;
}
.rv-shs-brand-mark > small {
    position: absolute;
    right: 2px;
    bottom: 1px;
    font-size: 7px;
    font-weight: 500;
    letter-spacing: -.01em;
    white-space: nowrap;
}
.rv-shs-brand-line { position: absolute; display: block; height: 2px; }
.rv-shs-brand-line.one { left: 1px; top: 2px; width: 62px; background: #ff2334; }
.rv-shs-brand-line.two { left: 1px; top: 24px; width: 31px; background: #ff781a; }
.rv-shs-brand-line.three { right: 0; bottom: -2px; width: 74px; background: #ffdf1a; }
.rv-shs-brand-mark::before,
.rv-shs-brand-mark::after {
    content: "";
    position: absolute;
    width: 2px;
}
.rv-shs-brand-mark::before { left: 1px; top: 2px; height: 20px; background: #ff2334; }
.rv-shs-brand-mark::after { right: 0; bottom: -2px; height: 20px; background: #ffdf1a; }
.rv-shs-rail-separator {
    position: absolute;
    left: 20%;
    top: 26.25%;
    width: 56%;
    height: 1px;
    margin: 0;
    background: rgba(255,255,255,.22);
}
.rv-shs-side-label {
    position: absolute;
    left: 0;
    top: 30.55%;
    width: 100%;
    height: 29.8%;
    min-height: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    padding: 0;
}
.rv-shs-side-label a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: inherit;
    text-decoration: none;
    border-radius: 999px;
    transition: color .2s ease, text-shadow .2s ease;
}
.rv-shs-side-label a:hover { color: #fff; text-shadow: 0 0 16px var(--rv-shs-accent, #fff); }
.rv-shs-side-label span {
    writing-mode: vertical-rl;
    transform: rotate(180deg);
    font-size: clamp(11px, .82vw, 16px);
    line-height: 1;
    font-weight: 600;
    font-style: italic;
    letter-spacing: -.01em;
    color: rgba(255,255,255,.9);
}
.rv-shs-side-label i {
    position: relative;
    width: 1px;
    height: 82px;
    margin-top: 13px;
    background: rgba(255,255,255,.7);
}
.rv-shs-side-label i::before {
    content: "";
    position: absolute;
    left: 50%;
    top: -6px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #fff;
    transform: translateX(-50%);
}
.rv-shs-socials {
    position: absolute;
    left: 20%;
    bottom: 1.05%;
    display: grid;
    gap: 10px;
    padding: 0;
}
.rv-shs-socials a {
    width: clamp(48px, 3.45vw, 64px);
    height: clamp(48px, 3.45vw, 64px);
    display: grid;
    place-items: center;
    border: 1px solid rgba(255,255,255,.23);
    color: rgba(255,255,255,.68);
    text-decoration: none;
    transition: color .2s ease, border-color .2s ease, background .2s ease;
}
.rv-shs-socials svg { width: 22px; height: 22px; fill: currentColor; stroke: currentColor; stroke-width: 1.8; }
.rv-shs-socials svg rect, .rv-shs-socials svg circle { fill: none; }
.rv-shs-socials svg .fill { fill: currentColor; stroke: none; }
.rv-shs-socials svg .fill-dark { fill: #030303; stroke: none; }
.rv-shs-socials a:hover { color: #fff; border-color: var(--rv-shs-accent, #fff); background: color-mix(in srgb, var(--rv-shs-accent, #fff) 18%, transparent); }
.rv-shs-controls {
    position: absolute;
    z-index: 14;
    right: 4.65%;
    top: 51.7%;
    transform: translateY(-50%);
    transition: opacity .25s ease;
}
.rv-shs-reference-active .rv-shs-controls { opacity: 1; pointer-events: auto; }
.rv-shs-dots { display: grid; gap: 16px; }
.rv-shs-dot {
    appearance: none;
    width: 32px;
    height: 32px;
    padding: 0;
    border: 1px solid transparent;
    border-radius: 50%;
    background: rgba(0,0,0,.18);
    display: grid;
    place-items: center;
    cursor: pointer;
    opacity: .88;
    transition: opacity .2s ease, border-color .2s ease, background .2s ease, transform .2s ease;
}
.rv-shs-dot:hover { opacity: 1; border-color: rgba(255,255,255,.45); transform: scale(1.06); }
.rv-shs-dot span {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: rgba(255,255,255,.95);
    box-shadow: 0 0 10px rgba(255,255,255,.35);
    transition: box-shadow .25s ease, transform .25s ease, background .25s ease;
}
.rv-shs-dot.is-active { border-color: rgba(255,255,255,.92); background: rgba(0,0,0,.36); opacity: 1; }
.rv-shs-dot.is-active span { background: var(--rv-shs-accent, #fff); box-shadow: 0 0 0 4px rgba(255,255,255,.12), 0 0 18px var(--rv-shs-accent, #fff); transform: scale(1.15); }
.rv-shs-nav-arrows {
    position: absolute;
    z-index: 14;
    right: 2.5%;
    bottom: 4%;
    display: flex;
    align-items: center;
    gap: 9px;
    color: rgba(255,255,255,.6);
    font-size: 10px;
    letter-spacing: .12em;
}
.rv-shs-nav-arrows button { width: 32px; height: 32px; border: 1px solid rgba(255,255,255,.22); background: rgba(0,0,0,.3); color: #fff; cursor: pointer; }
.rv-shs-transition-wash {
    position: absolute;
    z-index: 10;
    inset: 0;
    pointer-events: none;
    opacity: 0;
    transform: translateX(100%);
    background: linear-gradient(90deg, rgba(112,112,112,.36) 0 74%, color-mix(in srgb, var(--rv-shs-next-accent, #777) 48%, rgba(112,112,112,.34)) 100%);
    mix-blend-mode: screen;
}
.rv-shs-section.is-changing .rv-shs-transition-wash { animation: rvShsWash 1.08s var(--rv-shs-ease) both; }
@keyframes rvShsWash {
    0% { opacity: 0; transform: translateX(100%); }
    28% { opacity: .68; transform: translateX(0); }
    62% { opacity: .45; transform: translateX(0); }
    100% { opacity: 0; transform: translateX(-8%); }
}
.rv-shs-progress { position: absolute; z-index: 15; left: var(--rv-shs-rail); right: 0; bottom: 0; height: 1px; opacity: .12; background: rgba(255,255,255,.12); }
.rv-shs-progress span { display: block; width: 0; height: 100%; background: #fff; }
.rv-shs-section.is-running .rv-shs-progress span { animation: rvShsProgress var(--rv-shs-duration,4000ms) linear forwards; }
@keyframes rvShsProgress { from { width: 0; } to { width: 100%; } }

@media (max-width: 1200px) {
    .rv-shs-section { --rv-shs-rail: 76px; min-height: 680px; }
    .rv-shs-copy { left: 104px; width: 43vw; }
    .rv-shs-title { font-size: clamp(52px, 6.25vw, 78px); }
    .rv-shs-description { left: 28%; width: 34vw; }
    .rv-shs-arrow-link { left: 102px; }
    .rv-shs-brand-mark { transform: rotate(-90deg) scale(.83); }
    .rv-shs-side-label span { font-size: 10px; }
    .rv-shs-socials a { width: 48px; height: 48px; }
}
@media (max-width: 820px) {
    .rv-shs-section { --rv-shs-rail: 52px; height: 820px; max-height: none; min-height: 720px; }
    .rv-shs-section::before { mask-image: none; opacity: .25; }
    .rv-shs-brand { height: 90px; min-height: 90px; }
    .rv-shs-brand-mark { left: -14px; transform: rotate(-90deg) scale(.42); }
    .rv-shs-rail-separator { top: 15%; margin: 0; }
    .rv-shs-side-label { top: 23%; height: 34%; min-height: 0; padding: 0; }
    .rv-shs-side-label span { font-size: 8px; }
    .rv-shs-side-label i { height: 58px; }
    .rv-shs-socials { left: 14%; bottom: 1.2%; gap: 7px; padding: 0; }
    .rv-shs-socials a { width: 37px; height: 37px; }
    .rv-shs-socials svg { width: 16px; height: 16px; }
    .rv-shs-copy { left: 78px; top: 9%; width: calc(100% - 106px); }
    .rv-shs-eyebrow { margin-bottom: 24px; font-size: 10px; }
    .rv-shs-title { font-size: clamp(43px, 12.2vw, 72px); line-height: .98; white-space: normal; }
    .rv-shs-description { left: 78px; top: 41%; bottom: auto; width: calc(100% - 110px); font-size: 13px; }
    .rv-shs-arrow-link { left: 76px; bottom: 18px; width: 78px; height: 92px; }
    .rv-shs-arrow-link small { display: none; }
    .rv-shs-visual, .rv-shs-visual.is-reference-composite { left: 52px; top: 42%; right: 0; bottom: 0; }
    .rv-shs-visual.is-reference-composite::before {
    content: "";
    position: absolute;
    z-index: 5;
    left: 0;
    top: 57%;
    width: 44%;
    height: 37%;
    pointer-events: none;
    background: radial-gradient(ellipse 100% 82% at 0 50%, #030303 0%, #030303 48%, rgba(3,3,3,.98) 58%, rgba(3,3,3,.78) 69%, rgba(3,3,3,.38) 82%, transparent 100%);
}
.rv-shs-visual.is-reference-composite::after { width: 18%; }
    .rv-shs-visual.is-reference-composite > img, .rv-shs-visual.is-reference-composite > video { object-fit: cover; object-position: 64% center; }
    .rv-shs-orb { left: 15%; top: 10%; width: 78vw; max-width: 520px; }
    .rv-shs-controls { right: 12px; top: auto; bottom: 34px; transform: none; }
    .rv-shs-dots { gap: 12px; }
    .rv-shs-nav-arrows { display: none; }
    .rv-shs-progress { left: 52px; }
}
@media (max-width: 500px) {
    .rv-shs-section { height: 760px; }
    .rv-shs-copy { left: 68px; width: calc(100% - 84px); }
    .rv-shs-title { font-size: clamp(37px, 12vw, 56px); }
    .rv-shs-description { left: 68px; width: calc(100% - 88px); top: 39%; }
    .rv-shs-arrow-link { left: 66px; }
    .rv-shs-visual, .rv-shs-visual.is-reference-composite { top: 46%; }
}
@media (prefers-reduced-motion: reduce) {
    .rv-shs-section *, .rv-shs-section *::before, .rv-shs-section *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* =========================================================
   Slider Hero v2 deployment-safe exact alignment overrides.
   These rules intentionally outrank legacy Revuteck heading/image rules.
   ========================================================= */
.rv-finoptiz-sections .rv-shs-section,
.rv-shs-section[data-rv-shs] {
    display: block !important;
    position: relative !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: #030303 !important;
    color: #fff !important;
}
.rv-shs-section[data-rv-shs] .rv-shs-viewport,
.rv-shs-section[data-rv-shs] .rv-shs-slide,
.rv-shs-section[data-rv-shs] .rv-shs-content {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
.rv-shs-section[data-rv-shs] .rv-shs-copy {
    position: absolute !important;
    left: clamp(120px, 7.55vw, 150px) !important;
    top: 19.55% !important;
    width: min(38vw, 720px) !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
.rv-shs-section[data-rv-shs] .rv-shs-title,
.rv-shs-section[data-rv-shs] .rv-shs-title span,
.rv-shs-section[data-rv-shs] .rv-shs-title em,
.rv-shs-section[data-rv-shs] .rv-shs-title-strong,
.rv-shs-section[data-rv-shs] .rv-shs-title-strong em {
    color: #fff !important;
    font-family: "Inter", "Helvetica Neue", Arial, sans-serif !important;
}
.rv-shs-section[data-rv-shs] .rv-shs-title-light,
.rv-shs-section[data-rv-shs] .rv-shs-title-light em {
    color: rgba(255,255,255,.88) !important;
    font-weight: 260 !important;
}
.rv-shs-section[data-rv-shs] .rv-shs-eyebrow,
.rv-shs-section[data-rv-shs] .rv-shs-description {
    color: rgba(255,255,255,.88) !important;
    font-family: "Inter", "Helvetica Neue", Arial, sans-serif !important;
}
.rv-shs-section[data-rv-shs] .rv-shs-description {
    position: absolute !important;
    left: 25.65% !important;
    right: auto !important;
    top: auto !important;
    bottom: 16.2% !important;
    width: min(31vw, 590px) !important;
    max-width: none !important;
    margin: 0 !important;
}
.rv-shs-section[data-rv-shs] .rv-shs-visual {
    position: absolute !important;
    z-index: 3 !important;
    left: 43.7% !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: auto !important;
    height: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
}
.rv-shs-section[data-rv-shs] .rv-shs-visual.is-reference-composite {
    left: 48.57% !important;
}
.rv-shs-section[data-rv-shs] .rv-shs-visual > img,
.rv-shs-section[data-rv-shs] .rv-shs-visual > video {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 100% !important;
    max-width: none !important;
    min-height: 100% !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: contain !important;
    object-position: center bottom !important;
}
.rv-shs-section[data-rv-shs] .rv-shs-visual.is-reference-composite > img,
.rv-shs-section[data-rv-shs] .rv-shs-visual.is-reference-composite > video {
    object-fit: cover !important;
    object-position: right center !important;
}
.rv-shs-section[data-rv-shs] .rv-shs-rail {
    position: absolute !important;
    inset: 0 auto 0 0 !important;
    width: var(--rv-shs-rail) !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}
.rv-shs-section[data-rv-shs] .rv-shs-controls {
    position: absolute !important;
    right: 4.65% !important;
    top: 51.7% !important;
    bottom: auto !important;
}
@media (max-width: 820px) {
    .rv-shs-section[data-rv-shs] .rv-shs-copy { left: 78px !important; top: 9% !important; width: calc(100% - 106px) !important; }
    .rv-shs-section[data-rv-shs] .rv-shs-description { left: 78px !important; top: 41% !important; bottom: auto !important; width: calc(100% - 110px) !important; }
    .rv-shs-section[data-rv-shs] .rv-shs-visual,
    .rv-shs-section[data-rv-shs] .rv-shs-visual.is-reference-composite { left: 52px !important; top: 42% !important; right: 0 !important; bottom: 0 !important; }
    .rv-shs-section[data-rv-shs] .rv-shs-controls { right: 12px !important; top: auto !important; bottom: 34px !important; }
}
@media (max-width: 500px) {
    .rv-shs-section[data-rv-shs] .rv-shs-copy { left: 68px !important; width: calc(100% - 84px) !important; }
    .rv-shs-section[data-rv-shs] .rv-shs-description { left: 68px !important; top: 39% !important; width: calc(100% - 88px) !important; }
    .rv-shs-section[data-rv-shs] .rv-shs-visual,
    .rv-shs-section[data-rv-shs] .rv-shs-visual.is-reference-composite { top: 46% !important; }
}


/* Slider Hero v3 controls, contact-link and mobile layout hardening. */
.rv-shs-section[data-rv-shs] .rv-shs-controls,
.rv-shs-section[data-rv-shs].rv-shs-reference-active .rv-shs-controls {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
}
.rv-shs-section[data-rv-shs] .rv-shs-dots,
.rv-shs-section[data-rv-shs] .rv-shs-dot { visibility: visible !important; opacity: 1 !important; }
.rv-shs-section[data-rv-shs] .rv-shs-side-label a { pointer-events: auto !important; }
.rv-shs-section[data-rv-shs] .rv-shs-brand img {
    width: var(--rv-shs-logo-size, 150px) !important;
    max-width: none !important;
    max-height: 90% !important;
}

@media (max-width: 820px) {
    .rv-shs-section[data-rv-shs] {
        --rv-shs-rail: 48px;
        height: max(740px, 100svh) !important;
        min-height: 740px !important;
        max-height: none !important;
    }
    .rv-shs-section[data-rv-shs] .rv-shs-brand { height: 86px !important; min-height: 86px !important; }
    .rv-shs-section[data-rv-shs] .rv-shs-brand img {
        width: min(var(--rv-shs-logo-size, 150px), 150px) !important;
        max-height: 82% !important;
    }
    .rv-shs-section[data-rv-shs] .rv-shs-rail-separator { top: 14.5% !important; left: 19% !important; width: 62% !important; }
    .rv-shs-section[data-rv-shs] .rv-shs-side-label { top: 20% !important; height: 31% !important; }
    .rv-shs-section[data-rv-shs] .rv-shs-side-label span { font-size: 8px !important; letter-spacing: .01em !important; }
    .rv-shs-section[data-rv-shs] .rv-shs-side-label i { height: 52px !important; margin-top: 9px !important; }
    .rv-shs-section[data-rv-shs] .rv-shs-socials { left: 10% !important; bottom: 10px !important; gap: 6px !important; }
    .rv-shs-section[data-rv-shs] .rv-shs-socials a { width: 38px !important; height: 38px !important; }
    .rv-shs-section[data-rv-shs] .rv-shs-copy {
        left: 68px !important;
        top: 8% !important;
        width: calc(100% - 88px) !important;
    }
    .rv-shs-section[data-rv-shs] .rv-shs-eyebrow { margin-bottom: 18px !important; font-size: 9px !important; line-height: 1.35 !important; }
    .rv-shs-section[data-rv-shs] .rv-shs-title {
        font-size: clamp(36px, 11.4vw, 58px) !important;
        line-height: .98 !important;
        white-space: normal !important;
        letter-spacing: -.045em !important;
    }
    .rv-shs-section[data-rv-shs] .rv-shs-title > span { min-height: 1em !important; }
    .rv-shs-section[data-rv-shs] .rv-shs-description {
        left: 68px !important;
        right: 22px !important;
        top: 36.5% !important;
        bottom: auto !important;
        width: auto !important;
        max-width: 480px !important;
        font-size: 12.5px !important;
        line-height: 1.48 !important;
    }
    .rv-shs-section[data-rv-shs] .rv-shs-visual,
    .rv-shs-section[data-rv-shs] .rv-shs-visual.is-reference-composite {
        left: 48px !important;
        top: 43% !important;
        right: 0 !important;
        bottom: 0 !important;
    }
    .rv-shs-section[data-rv-shs] .rv-shs-visual.is-reference-composite > img,
    .rv-shs-section[data-rv-shs] .rv-shs-visual.is-reference-composite > video {
        object-fit: cover !important;
        object-position: 67% center !important;
    }
    .rv-shs-section[data-rv-shs] .rv-shs-arrow-link {
        left: 64px !important;
        bottom: 18px !important;
        width: 68px !important;
        height: 68px !important;
    }
    .rv-shs-section[data-rv-shs] .rv-shs-controls {
        right: 10px !important;
        top: auto !important;
        bottom: 18px !important;
        transform: none !important;
    }
    .rv-shs-section[data-rv-shs] .rv-shs-dots { display: flex !important; gap: 7px !important; }
    .rv-shs-section[data-rv-shs] .rv-shs-dot { width: 26px !important; height: 26px !important; }
    .rv-shs-section[data-rv-shs] .rv-shs-progress { left: 48px !important; }
}

@media (max-width: 500px) {
    .rv-shs-section[data-rv-shs] { height: max(720px, 100svh) !important; min-height: 720px !important; }
    .rv-shs-section[data-rv-shs] .rv-shs-copy { left: 62px !important; width: calc(100% - 76px) !important; top: 7.5% !important; }
    .rv-shs-section[data-rv-shs] .rv-shs-title { font-size: clamp(34px, 10.7vw, 48px) !important; }
    .rv-shs-section[data-rv-shs] .rv-shs-description { left: 62px !important; right: 16px !important; top: 35.5% !important; font-size: 12px !important; }
    .rv-shs-section[data-rv-shs] .rv-shs-visual,
    .rv-shs-section[data-rv-shs] .rv-shs-visual.is-reference-composite { top: 42.5% !important; }
    .rv-shs-section[data-rv-shs] .rv-shs-arrow-link { left: 60px !important; width: 62px !important; height: 62px !important; }
    .rv-shs-section[data-rv-shs] .rv-shs-dot { width: 24px !important; height: 24px !important; }
}
