.rwivh {
    --rwivh-bg: #fffdf9;
    --rwivh-text: #000;
    --rwivh-accent: #ff9600;
    --rwivh-hover: #df7615;
    --rwivh-light: #fff1db;
    --rwivh-border: #f2e6d6;
    --rwivh-slide-title: #000;
    --rwivh-slide-description: #000;
    --rwivh-arrow-color: #000;
    --rwivh-arrow-bg: #fffdf9;
    --rwivh-dot: #d7c7b2;
    --rwivh-dot-active: #ff9600;
    width: 100%;
    background: var(--rwivh-bg);
    color: var(--rwivh-text);
    font-family: inherit;
}

.rwivh--global {
    --rwivh-bg: var(--rwds-section-bg, #fffdf9);
    --rwivh-text: var(--rwds-text, #000);
    --rwivh-accent: var(--rwds-accent, #ff9600);
    --rwivh-hover: var(--rwds-button-hover, #df7615);
    --rwivh-light: var(--rwds-accent-light, #fff1db);
    --rwivh-border: var(--rwds-border, #f2e6d6);
    font-family: var(--rwds-body-font, inherit);
}

.rwivh *, .rwivh *::before, .rwivh *::after { box-sizing: border-box; }
.rwivh__inner { width: 100%; margin: 0 auto; }
.rwivh__grid { display: grid; align-items: center; }
.rwivh__copy { min-width: 0; }

.rwivh h1.rwivh__title {
    display: block;
    width: auto;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #000;
    font-family: inherit;
    font-size: clamp(38px, 5vw, 58px);
    font-weight: 750;
    line-height: 1.08;
    letter-spacing: -.025em;
    text-transform: none;
}

.rwivh h2.rwivh__heading { margin-right: 0; margin-bottom: 0; margin-left: 0; color: #000; font-family: inherit; font-size: clamp(25px, 3vw, 36px); font-weight: 650; line-height: 1.25; letter-spacing: -.015em; }
.rwivh__highlight { color: var(--rwivh-accent); }
.rwivh__description { max-width: 650px; margin-right: 0; margin-bottom: 0; margin-left: 0; font-size: 17px; line-height: 1.75; }

.rwivh__trust { display: flex; flex-wrap: wrap; align-items: center; }
.rwivh__trust-item { display: flex; align-items: baseline; gap: 8px; }
.rwivh__number { color: var(--rwivh-accent); font-size: 25px; font-weight: 800; line-height: 1; }
.rwivh__trust-label { color: var(--rwivh-text); font-size: 13px; line-height: 1.25; opacity: .72; }

.rwivh__buttons { display: flex; flex-wrap: wrap; align-items: center; }
.rwivh a.rwivh__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 48px;
    border: 1px solid transparent;
    color: #000;
    font-size: 14px;
    font-weight: 750;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    transition: transform .2s ease, background-color .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.rwivh a.rwivh__button:hover, .rwivh a.rwivh__button:focus-visible { color: #000; transform: translateY(-2px); }
.rwivh__button--primary { background: var(--rwivh-accent); box-shadow: 0 10px 26px rgba(255,150,0,.18); }
.rwivh__button--primary:hover, .rwivh__button--primary:focus-visible { background: var(--rwivh-hover); box-shadow: 0 14px 30px rgba(223,118,21,.22); }
.rwivh__button--secondary { background: #fff; border-color: var(--rwivh-border); }
.rwivh__button--secondary:hover, .rwivh__button--secondary:focus-visible { background: var(--rwivh-hover); border-color: var(--rwivh-hover); }
.rwivh__button-icon { display: inline-flex; }
.rwivh__button-icon svg { width: 1em; height: 1em; fill: currentColor; }

.rwivh__slider { position: relative; min-width: 0; overflow: hidden; border: 1px solid var(--rwivh-border); background: var(--rwivh-light); box-shadow: 0 18px 44px rgba(30,20,8,.07); }
.rwivh__track { position: relative; width: 100%; height: 100%; }
.rwivh__slide { position: absolute; inset: 0; display: flex; align-items: flex-end; justify-content: flex-start; overflow: hidden; background: var(--rwivh-slide-bg, #fff1db); opacity: 0; visibility: hidden; transition: opacity .35s ease, visibility .35s ease; }
.rwivh__slide.is-active { opacity: 1; visibility: visible; }
.rwivh__slide::after { position: absolute; inset: 0; z-index: 1; display: none; background: rgba(0,0,0,.18); content: ''; }
.rwivh__slide.has-image::after { display: block; }
.rwivh__slide.is-placeholder { align-items: center; }
.rwivh__slide.is-placeholder::before { position: absolute; inset: 0; background: radial-gradient(circle at 20% 22%, rgba(255,150,0,.18) 0 7%, transparent 7.5%), radial-gradient(circle at 82% 24%, rgba(255,150,0,.11) 0 12%, transparent 12.5%), radial-gradient(circle at 70% 82%, rgba(255,150,0,.14) 0 16%, transparent 16.5%); content: ''; }
.rwivh__slide.is-placeholder .rwivh__slide-content { margin-top: 24px; margin-bottom: 24px; }
.rwivh__slide-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.rwivh__slide-content { position: relative; z-index: 2; width: calc(100% - 48px); margin: 24px; border: 1px solid rgba(242,230,214,.95); border-radius: 20px; background: rgba(255,253,249,.94); color: #000; box-shadow: 0 12px 34px rgba(0,0,0,.07); backdrop-filter: blur(8px); }
.rwivh__slide-icon { display: inline-flex; color: var(--rwivh-accent); }
.rwivh__slide-icon svg { width: 1em; height: 1em; fill: currentColor; }
.rwivh h3.rwivh__slide-title { margin-right: 0; margin-bottom: 0; margin-left: 0; color: var(--rwivh-slide-title); font-family: inherit; font-size: 26px; line-height: 1.2; }
.rwivh p.rwivh__slide-description { max-width: 480px; margin-right: 0; margin-bottom: 0; margin-left: 0; color: var(--rwivh-slide-description); font-size: 15px; line-height: 1.55; }
.rwivh button.rwivh__arrow { position: absolute; top: 50%; z-index: 4; display: grid; min-width: 44px; width: 44px; max-width: 44px; min-height: 44px; height: 44px; margin: 0; padding: 0; place-items: center; border: 1px solid var(--rwivh-border); border-radius: 50%; background: var(--rwivh-arrow-bg); box-shadow: none; color: var(--rwivh-arrow-color); font-family: inherit; font-size: 28px; font-weight: 400; line-height: 1; text-transform: none; cursor: pointer; transform: translateY(-50%); transition: background-color .2s ease, transform .2s ease; }
.rwivh button.rwivh__arrow:hover, .rwivh button.rwivh__arrow:focus-visible { background: var(--rwivh-accent); color: #000; transform: translateY(-50%) scale(1.06); }
.rwivh__arrow--prev { left: 16px; }
.rwivh__arrow--next { right: 16px; }
.rwivh__dots { position: absolute; top: 18px; right: 18px; bottom: auto; left: auto; z-index: 4; display: flex; gap: 7px; padding: 8px 10px; border: 1px solid var(--rwivh-border); border-radius: 999px; background: rgba(255,253,249,.92); transform: none; }
.rwivh button.rwivh__dot { display: block; min-width: 9px; width: 9px; max-width: 9px; min-height: 9px; height: 9px; margin: 0; padding: 0; border: 0; border-radius: 50%; background: var(--rwivh-dot); box-shadow: none; cursor: pointer; transition: width .2s ease, max-width .2s ease, border-radius .2s ease, background-color .2s ease; }
.rwivh button.rwivh__dot.is-active { min-width: 26px; width: 26px; max-width: 26px; border-radius: 999px; background: var(--rwivh-dot-active); }

.rwivh--hide-page-title .rwivh__title,
.rwivh--hide-hero-heading .rwivh__heading,
.rwivh--hide-description .rwivh__description,
.rwivh--hide-trust-bar .rwivh__trust,
.rwivh--hide-trust-numbers .rwivh__number,
.rwivh--hide-trust-labels .rwivh__trust-label,
.rwivh--hide-buttons .rwivh__buttons,
.rwivh--hide-button-icons .rwivh__button-icon,
.rwivh--hide-slider .rwivh__slider,
.rwivh--hide-slide-icons .rwivh__slide-icon,
.rwivh--hide-slide-titles .rwivh__slide-title,
.rwivh--hide-slide-descriptions .rwivh__slide-description,
.rwivh--hide-slider-arrows .rwivh__arrow,
.rwivh--hide-slider-dots .rwivh__dots { display: none !important; }
.rwivh--hide-slider-overlay .rwivh__slide::after { display: none; }
.rwivh--hide-slider .rwivh__grid { grid-template-columns: 1fr !important; }

.rwivh-content-left .rwivh__title { margin-right: auto; margin-left: 0; }
.rwivh-content-center .rwivh__title { margin-right: auto; margin-left: auto; }
.rwivh-content-right .rwivh__title { margin-right: 0; margin-left: auto; }
.rwivh-content-left .rwivh__description { margin-right: auto; margin-left: 0; }
.rwivh-content-center .rwivh__description { margin-right: auto; margin-left: auto; }
.rwivh-content-right .rwivh__description { margin-right: 0; margin-left: auto; }
.rwivh-trust-left .rwivh__trust { justify-content: flex-start; }
.rwivh-trust-center .rwivh__trust { justify-content: center; }
.rwivh-trust-right .rwivh__trust { justify-content: flex-end; }
.rwivh-buttons-left .rwivh__buttons { justify-content: flex-start; }
.rwivh-buttons-center .rwivh__buttons { justify-content: center; }
.rwivh-buttons-right .rwivh__buttons { justify-content: flex-end; }
.rwivh-slide-left .rwivh__slide-description { margin-right: auto; margin-left: 0; }
.rwivh-slide-center .rwivh__slide-description { margin-right: auto; margin-left: auto; }
.rwivh-slide-right .rwivh__slide-description { margin-right: 0; margin-left: auto; }

@media (max-width: 820px) {
    .rwivh__grid { grid-template-columns: 1fr !important; }
    .rwivh-mobile-first-slider .rwivh__slider { order: -1; }
    .rwivh__copy { text-align: center; }
    .rwivh__title, .rwivh__description { margin-right: auto; margin-left: auto; }
    .rwivh__trust, .rwivh__buttons { justify-content: center; }
}

@media (max-width: 600px) {
    .rwivh__heading { font-size: clamp(31px, 10vw, 44px); }
    .rwivh__buttons { width: 100%; flex-direction: column; }
    .rwivh__button { width: 100%; }
    .rwivh__trust { align-items: stretch; justify-content: center; }
    .rwivh__trust-item { flex: 1 1 120px; flex-direction: column; align-items: center; gap: 4px; }
    .rwivh__arrow { width: 38px; height: 38px; }
    .rwivh__arrow--prev { left: 10px; }
    .rwivh__arrow--next { right: 10px; }
}

@media (prefers-reduced-motion: reduce) {
    .rwivh__slide, .rwivh__button, .rwivh__arrow, .rwivh__dot { transition: none; }
}
