.rx-collaboration,
.rx-collab-page-shell,
.rx-collab-page {
    background: var(--rx-site-bg);
}

/* -------------------------------------------------------
   Homepage cue
   ------------------------------------------------------- */
.rx-collaboration {
    position: relative;
}

.rx-collaboration__shell {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(18rem, 0.92fr);
    gap: clamp(1.1rem, 2.2vw, 2rem);
    align-items: start;
    padding: clamp(1.2rem, 2.5vw, 2.15rem);
    border: 1px solid var(--rx-home-surface-border);
    border-radius: var(--rx-panel-radius, 12px);
    background: var(--rx-home-surface-fill);
    box-shadow: var(--rx-shadow-md);
    overflow: hidden;
}

.rx-collaboration__shell::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: clamp(0.28rem, 0.7vw, 0.48rem);
    background: var(--rx-brand-gradient);
}

.rx-collaboration__shell::after {
    display: none;
}

.rx-collaboration__story {
    display: grid;
    gap: var(--rx-home-cluster-gap);
    align-content: start;
}

.rx-collaboration__subtitle,
.rx-collab-page__subtitle,
.rx-collab-page__block-label,
.rx-collaboration__panel-label {
    font-size: var(--rx-type-kicker-size);
    font-weight: var(--rx-type-kicker-weight);
    letter-spacing: var(--rx-type-kicker-track);
    text-transform: uppercase;
    color: var(--rx-type-muted-color);
}

.rx-collaboration__title {
    margin: 0;
    max-width: 16ch;
    font-family: var(--rx-font-heading);
    font-size: var(--rx-type-section-title-size);
    line-height: var(--rx-type-section-title-line);
    letter-spacing: var(--rx-type-section-title-track);
    color: var(--rx-type-heading-color);
    text-wrap: balance;
}

.rx-collaboration__title em,
.rx-collaboration__title strong {
    font-style: italic;
    background: var(--rx-brand-gradient);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.rx-collaboration__intro {
    margin: 0;
    max-width: 52ch;
    font-size: var(--rx-type-body-size);
    line-height: var(--rx-type-body-line);
    color: var(--rx-type-body-color);
}

.rx-collaboration__actions {
    margin-top: clamp(0.2rem, 0.7vw, 0.4rem);
}

.rx-collaboration__panel {
    display: grid;
    gap: clamp(0.9rem, 1.7vw, 1.25rem);
    padding: clamp(1rem, 2vw, 1.45rem);
    border: 1px solid var(--rx-home-surface-border-strong);
    border-radius: var(--rx-panel-radius, 12px);
    background: var(--rx-home-surface-fill-strong);
    box-shadow: var(--rx-home-shadow-soft);
}

.rx-collaboration__chips,
.rx-collab-page__chips {
    display: flex;
    flex-wrap: wrap;
    gap: clamp(0.5rem, 1vw, 0.7rem);
}

.rx-collaboration__chip,
.rx-collab-page__chip {
    display: inline-flex;
    align-items: center;
    min-height: 2.35rem;
    padding: 0.6rem 0.95rem;
    border-radius: 999px;
    border: 1px solid var(--rx-home-pill-border);
    background: var(--rx-home-pill-fill);
    color: var(--rx-type-body-color);
    font-size: 0.9rem;
    line-height: 1.2;
    white-space: nowrap;
}

.rx-collaboration__points {
    display: grid;
    gap: clamp(0.65rem, 1.15vw, 0.9rem);
    margin: 0;
    padding: 0;
}

.rx-collaboration__points li {
    position: relative;
    padding-left: 1.1rem;
    color: var(--rx-type-body-color);
    font-size: var(--rx-type-body-compact-size);
    line-height: var(--rx-type-body-compact-line);
}

.rx-collaboration__points li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.72em;
    width: 0.38rem;
    height: 0.38rem;
    border-radius: 999px;
    background: var(--rx-accent);
    transform: translateY(-50%);
}

/* -------------------------------------------------------
   Collaboration page
   ------------------------------------------------------- */
.rx-collab-page-shell {
    position: relative;
    overflow-x: clip;
}

.rx-collab-page-shell::before {
    display: none;
}

.rx-collab-page-hero {
    position: relative;
    padding-top: calc(var(--rx-header-safe-top) + clamp(0.75rem, 1.8vw, 1.6rem));
    padding-bottom: clamp(1.35rem, 3vw, 2.4rem);
    overflow: clip;
}

.rx-collab-page-hero::before,
.rx-collab-page-hero::after {
    display: none;
}

.rx-collab-page-hero::before {
    inset: auto auto 6% -7%;
    width: clamp(14rem, 25vw, 23rem);
    height: clamp(14rem, 25vw, 23rem);
    background: radial-gradient(circle, color-mix(in srgb, var(--rx-primary) 20%, transparent), transparent);
}

.rx-collab-page-hero::after {
    inset: 4% -4% auto auto;
    width: clamp(13rem, 22vw, 19rem);
    height: clamp(13rem, 22vw, 19rem);
    background: radial-gradient(circle, color-mix(in srgb, var(--rx-secondary) 16%, transparent), transparent);
}

.rx-collab-page-hero .rx-container,
.rx-collab-page .rx-container {
    display: grid;
    gap: clamp(1.5rem, 2.8vw, 2.4rem);
}

.rx-collab-page__hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 48rem);
    justify-content: center;
    gap: clamp(1.1rem, 2.4vw, 2.4rem);
    align-items: start;
    text-align: center;
}

.rx-collab-page__hero-copy {
    display: grid;
    gap: clamp(0.65rem, 1.1vw, 0.95rem);
    align-content: start;
    justify-items: center;
    margin-inline: auto;
    position: relative;
    z-index: 2;
}

.rx-collab-page__title {
    margin: 0;
    max-width: 22ch;
    font-family: var(--rx-font-heading);
    font-size: var(--rx-type-display-page-size);
    font-weight: 700;
    line-height: var(--rx-type-display-page-line);
    letter-spacing: var(--rx-type-display-page-track);
    text-align: center;
    text-wrap: balance;
}

.rx-collab-page__intro,
.rx-collab-page__section-copy {
    margin: 0;
    max-width: 52ch;
    font-size: var(--rx-type-body-size);
    line-height: var(--rx-type-body-line);
    color: var(--rx-type-body-color);
    text-align: center;
}

.rx-collab-page__stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: clamp(0.45rem, 0.95vw, 0.8rem);
    padding-top: clamp(0.55rem, 0.9vw, 0.8rem);
    margin-top: clamp(0.05rem, 0.25vw, 0.2rem);
    border-top: 1px solid var(--rx-home-surface-border);
}

.rx-collab-page__stat {
    display: grid;
    gap: 0.2rem;
    min-height: 0;
    padding-right: clamp(0.45rem, 0.75vw, 0.7rem);
    border-right: 1px solid var(--rx-home-surface-border);
}

.rx-collab-page__stat:last-child {
    border-right: 0;
    padding-right: 0;
}

.rx-collab-page__stat strong {
    font-family: var(--rx-font-heading);
    font-size: clamp(1.28rem, 1.85vw, 1.8rem);
    line-height: 0.9;
    letter-spacing: -0.04em;
    color: var(--rx-type-heading-color);
}

.rx-collab-page__stat strong span {
    font-size: 0.56em;
    margin-left: 0.08em;
}

.rx-collab-page__stat>span {
    font-size: var(--rx-type-caption-size);
    line-height: 1.3;
    font-weight: var(--rx-type-caption-weight);
    letter-spacing: calc(var(--rx-type-caption-track) + 0.03em);
    text-transform: uppercase;
    color: var(--rx-type-meta-color);
}

.rx-collab-page__hero-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: clamp(0.55rem, 0.95vw, 0.8rem);
    margin-top: clamp(0.15rem, 0.45vw, 0.35rem);
}


.rx-collab-page__cta-panel,
.rx-collab-page__closing-shell {
    position: relative;
    overflow: hidden;
    border: 1px solid var(--rx-home-surface-border);
    border-radius: clamp(1.2rem, 2vw, 1.8rem);
    background: var(--rx-home-surface-grad-soft), var(--rx-home-surface-fill);
    box-shadow: var(--rx-home-shadow-soft);
}

.rx-collab-page__cta-panel::before,
.rx-collab-page__closing-shell::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(125deg, color-mix(in srgb, var(--rx-bg-light) 38%, transparent), transparent);
    opacity: 0.8;
    pointer-events: none;
}

.rx-collab-page {
    position: relative;
    padding-bottom: var(--rx-home-section-space);
}

.rx-collab-page__model-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.78fr) minmax(0, 1.22fr);
    gap: clamp(1.5rem, 3vw, 2.4rem);
    align-items: start;
}

.rx-collab-page__model-grid--centered {
    grid-template-columns: minmax(0, 1fr);
    text-align: center;
}

.rx-collab-page__statement {
    position: sticky;
    top: calc(var(--rx-header-safe-top) + 1.5rem);
    display: grid;
    gap: clamp(0.8rem, 1.4vw, 1rem);
    align-content: start;
    padding-right: clamp(0rem, 1vw, 0.8rem);
}

.rx-collab-page__statement--wide {
    position: relative;
    top: auto;
    max-width: 60rem;
    margin-inline: auto;
    justify-items: center;
    padding-right: 0;
}

.rx-collab-page__section-title {
    margin: 0;
    max-width: 14ch;
    font-family: var(--rx-font-heading);
    font-size: var(--rx-type-page-section-size);
    line-height: var(--rx-type-page-section-line);
    letter-spacing: var(--rx-type-page-section-track);
    text-wrap: balance;
}

.rx-collab-page__section-title--compact {
    margin-bottom: 0.5rem;
}

.rx-collab-page__section-copy--full {
    max-width: 100%;
}

.rx-collab-page__closing {
    margin-top: clamp(1.7rem, 3vw, 2.5rem);
}

.rx-collab-page__closing--spaced {
    margin-top: clamp(2rem, 4vw, 4rem);
}

.rx-collab-page__closing-shell--centered {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: clamp(1.35rem, 2vw, 2rem);
    padding: clamp(1.15rem, 2.2vw, 1.7rem);
    text-align: center;
}

.rx-collab-page__cta-panel--centered {
    display: grid;
    gap: clamp(0.85rem, 1.4vw, 1.15rem);
    width: 100%;
    max-width: 48rem;
    margin-inline: auto;
    padding: clamp(1rem, 1.8vw, 1.35rem);
}

.rx-collab-page__hero-actions--center,
.rx-collab-page__chips--center {
    justify-content: center;
}

.rx-collab-page__contact-rail {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(0.65rem, 1vw, 0.85rem);
}

.rx-collab-page__contact-rail--center {
    width: 100%;
    max-width: 38rem;
    margin-inline: auto;
    justify-content: center;
}

.rx-collab-page__quick-links {
    display: grid;
    gap: 0.8rem;
    padding-top: clamp(0.8rem, 1.2vw, 1rem);
    border-top: 1px solid var(--rx-home-surface-border);
}

.rx-collab-page__updates-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(0.8rem, 1.25vw, 1rem);
}

.rx-collab-page__updates-grid--center {
    grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
    justify-content: center;
}

.rx-collab-page__update-item {
    gap: 0.7rem;
    padding-left: 0.9rem;
}

.rx-collab-page__update-link {
    font-size: clamp(1.15rem, 1.75vw, 1.6rem);
    gap: 0.55rem;
}

.rx-collab-page__update-link span {
    font-size: 0.95rem;
}

.rx-collab-page__contact-chip {
    display: grid;
    gap: 0.18rem;
    padding: 0.92rem 1rem;
    border-radius: 1rem;
    border: 1px solid var(--rx-home-surface-border);
    background: var(--rx-home-surface-fill-soft);
    color: inherit;
    text-decoration: none;
    transition: transform 0.3s var(--rx-ease-out), border-color 0.3s ease, background-color 0.3s ease;
}

.rx-collab-page__contact-chip span {
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--rx-type-meta-color);
}

.rx-collab-page__contact-chip strong {
    color: var(--rx-type-heading-color);
    font-weight: 600;
}

.rx-collab-page__contact-chip:hover,
.rx-collab-page__contact-chip:focus-visible,
.rx-collab-page__cta-panel:hover,
.rx-collab-page__closing-shell:hover {
    transform: translateY(-0.32rem);
    border-color: var(--rx-border-orange);
    box-shadow: var(--rx-shadow-md);
}

@media (prefers-reduced-motion: reduce) {
    .rx-collab-page__contact-chip {
        transition: none;
    }
}

@media (max-width: 74.9375rem) {

    .rx-collaboration__shell,
    .rx-collab-page__hero-grid,
    .rx-collab-page__model-grid,
    .rx-collab-page__closing-shell {
        grid-template-columns: minmax(0, 1fr);
    }

    .rx-collab-page__title,
    .rx-collaboration__title,
    .rx-collab-page__section-title {
        max-width: 100%;
    }

    .rx-collab-page__statement {
        position: static;
        padding-right: 0;
    }
}

@media (max-width: 61.9375rem) {
    .rx-collab-page__stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .rx-collab-page__stat:nth-child(2n) {
        border-right: 0;
        padding-right: 0;
    }
}

@media (max-width: 47.9375rem) {

    .rx-collaboration__shell,
    .rx-collaboration__panel,
    .rx-collab-page__cta-panel,
    .rx-collab-page__closing-shell {
        border-radius: 1rem;
    }

    .rx-collaboration__chip,
    .rx-collab-page__chip {
        min-height: 2.1rem;
        padding: 0.55rem 0.8rem;
        font-size: 0.84rem;
    }

    .rx-collab-page-hero {
        padding-top: calc(var(--rx-header-safe-top) - 0.2rem);
    }

    .rx-collab-page__title {
        font-size: clamp(2.45rem, 11vw, 3.8rem);
    }

    .rx-collab-page__stats,
    .rx-collab-page__contact-rail,
    .rx-collab-page__updates-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .rx-collab-page__stat {
        padding-right: 0;
        border-right: 0;
    }

    .rx-collab-page__hero-actions {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
    }

    .rx-collab-page__hero-actions .rx-btn {
        width: 100%;
        justify-content: center;
    }

    .rx-collab-page__section-title {
        font-size: clamp(1.85rem, 9vw, 2.7rem);
    }
}

/* ══════════════════════════════════════════
   18. CONTACT / CTA
   ══════════════════════════════════════════ */
.rx-cta {
    position: relative;
    overflow: hidden;
    background-color: var(--rx-dark);
    --rx-cta-inner-max: var(--rx-container);
}

.rx-cta__stage {
    position: relative;
    min-height: 100dvh;
    padding-block: var(--rx-section-space-y);
    overflow: hidden;
    z-index: 1;
    isolation: isolate;
}

.rx-cta .rx-container {
    width: 100%;
    max-width: var(--rx-cta-inner-max);
    padding-left: clamp(16px, 2.1vw, 30px);
    padding-right: clamp(16px, 2.1vw, 30px);
}

.rx-contact-2__title {
    font-family: var(--rx-font-heading);
    font-weight: 700;
    font-size: clamp(42px, 6.2vw, 84px);
    line-height: var(--rx-type-section-title-line);
    letter-spacing: var(--rx-type-section-title-track);
    text-transform: none;
    color: var(--rx-type-heading-color);
    margin-bottom: 12px;
}

.rx-contact-2__subtitle {
    max-width: 60ch;
    margin: 0 auto;
    font-size: clamp(17px, 1.4vw, 22px);
    line-height: 1.6;
    color: var(--rx-muted);
}

.rx-contact-2__quick-pills {
    margin-top: 20px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
}

.rx-contact-2__quick-pill {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 7px 13px;
    border-radius: 999px;
    border: 1px solid var(--rx-border);
    background: var(--rx-home-pill-fill);
    color: var(--rx-type-body-color);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    line-height: 1.2;
}

.rx-contact-2__contact-box {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.65rem;
}

.rx-contact-2__top-card {
    min-height: 78px;
    background: transparent;
    border: 0;
    border-bottom: 1px solid var(--rx-border);
    border-radius: 0;
    padding: 12px 0 14px;
    display: inline-flex;
    align-items: center;
    gap: 14px;
    transition:
        transform 0.3s var(--rx-ease),
        border-color 0.3s var(--rx-ease);
    position: relative;
    width: 100%;
}

.rx-contact-2__top-card--boxed {
    min-height: 0;
    padding: 0.8rem 0.9rem;
    border: 1px solid var(--rx-border);
    border-radius: var(--rx-card-radius, 10px);
    background: var(--rx-home-surface-fill);
    align-items: flex-start;
    gap: 0.8rem;
}

.rx-contact-2__top-card--boxed::before {
    display: none;
}

.rx-contact-2__top-card::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 1px;
    background: linear-gradient(to right,
            var(--rx-accent),
            color-mix(in srgb, var(--rx-accent) 16%, transparent));
    transform-origin: left center;
    transform: scaleX(0);
    transition: transform 0.3s var(--rx-ease);
}

.rx-contact-2__top-card:hover {
    transform: none;
    border-color: color-mix(in srgb, var(--rx-accent) 45%, var(--rx-border));
}

.rx-contact-2__top-card:hover::before {
    transform: scaleX(1);
}

.rx-contact-2__top-icon {
    width: 34px;
    height: 34px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--rx-home-surface-fill-soft);
    color: var(--rx-accent);
    flex-shrink: 0;
}

.rx-contact-2__top-meta {
    display: inline-flex;
    flex-direction: column;
    gap: 2px;
}

.rx-contact-2__top-meta small {
    font-family: var(--rx-font-body);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--rx-type-meta-color);
}

.rx-contact-2__top-meta strong {
    font-family: var(--rx-font-body);
    font-weight: 700;
    font-size: 15px;
    line-height: 1.3;
    color: var(--rx-type-heading-color);
    overflow-wrap: anywhere;
}

.rx-contact-2__facts {
    margin-bottom: 32px;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px;
    max-width: 980px;
    margin-left: auto;
    margin-right: auto;
}

.rx-contact-2__fact {
    border: 1px solid color-mix(in srgb, var(--rx-border) 88%, transparent);
    background: transparent;
    border-radius: 999px;
    padding: 9px 14px;
    display: inline-flex;
    align-items: baseline;
    gap: 8px;
}

.rx-contact-2__fact strong {
    font-family: var(--rx-font-body);
    font-size: 16px;
    font-weight: 700;
    line-height: 1.2;
    color: var(--rx-type-heading-color);
}

.rx-contact-2__fact em {
    font-style: normal;
    font-family: var(--rx-font-body);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--rx-type-meta-color);
}

/* Success/Error Notice Visibility Fix */
.rx-contact-2__notice {
    max-width: 780px;
    margin: 0 auto 2rem;
    border-radius: 12px;
    border: 1.5px solid transparent;
    border-left-width: 5px;
    padding: 1rem 1.25rem;
    font-size: 0.95rem;
    font-weight: 600;
    line-height: 1.5;
    display: flex;
    align-items: center;
    gap: 0.8rem;
    box-shadow: var(--rx-shadow-sm);
}

.rx-contact-2__notice::before {
    content: '';
    display: inline-block;
    width: 1.2rem;
    height: 1.2rem;
    border-radius: 50%;
    flex-shrink: 0;
    background-size: 70%;
    background-repeat: no-repeat;
    background-position: center;
}

.rx-contact-2__notice.is-success {
    border-color: rgba(31, 121, 114, 0.28);
    background: rgba(31, 121, 114, 0.08);
    color: #1f615c;
}

.rx-contact-2__notice.is-success::before {
    background-color: #48c78e;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 6l3 3 5-5' stroke='white' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.rx-contact-2__notice.is-error {
    border-color: rgba(199, 53, 101, 0.28);
    background: rgba(199, 53, 101, 0.08);
    color: var(--rx-primary);
}

.rx-contact-2__notice.is-error::before {
    background-color: #ef4444;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3 3l6 6M9 3l-6 6' stroke='white' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
}

.rx-contact-2__bottom-info {
    max-width: 980px;
    width: 100%;
    margin: 0 auto;
}

.rx-contact-2__booking-hub {
    display: block;
    border-top: 1px solid var(--rx-border);
    padding-top: clamp(1rem, 2vw, 1.5rem);
}

.rx-contact-2__meta-title {
    font-family: var(--rx-font-heading);
    font-size: clamp(24px, 2.4vw, 30px);
    font-weight: 600;
    line-height: 1.2;
    color: var(--rx-type-heading-color);
    margin-bottom: 16px;
}

.rx-contact-2__highlights {
    display: grid;
    gap: 11px;
    margin: 0;
}

.rx-contact-2__highlights li {
    position: relative;
    padding: 0.85rem 0.95rem 0.85rem 2rem;
    border-radius: var(--rx-card-radius, 10px);
    border: 1px solid var(--rx-home-surface-border);
    background: var(--rx-home-surface-fill-soft);
    font-size: 15px;
    line-height: 1.55;
    color: var(--rx-type-body-color);
}

.rx-contact-2__highlights li::before {
    content: "";
    position: absolute;
    left: 0.9rem;
    top: 1.15rem;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--rx-gold);
    box-shadow: 0 0 0 6px color-mix(in srgb, var(--rx-gold) 18%, transparent);
}

.rx-contact-2__availability {
    margin-top: 0;
    font-size: 13px;
    line-height: 1.65;
    color: var(--rx-type-body-color);
}

.rx-contact-2__availability span {
    font-weight: 600;
    color: var(--rx-type-heading-color);
}

.rx-contact-2__actions {
    margin-top: 22px;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
}

.rx-contact-2__actions .rx-btn {
    justify-content: center;
}

.rx-contact-2__booking-note {
    margin: 14px 0 0;
    padding-top: 12px;
    border-top: 1px solid var(--rx-home-surface-border);
    color: var(--rx-type-meta-color);
    font-size: 12px;
    line-height: 1.75;
}

.rx-cta__quick-links {
    display: grid;
    gap: 12px;
    margin-top: 8px;
    padding-top: 14px;
    border-top: 1px solid var(--rx-home-surface-border);
}

.rx-cta__quick-links-label {
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--rx-type-meta-color);
}

.rx-cta__updates-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px 18px;
}

.rx-cta__update-item {
    gap: 10px;
    padding-left: 14px;
}

.rx-cta__update-link {
    font-size: clamp(20px, 1.8vw, 26px);
    gap: 8px;
}

.rx-cta__update-link span {
    font-size: 14px;
}

.rx-contact-2__booking-actions {
    display: grid;
    gap: clamp(1rem, 2vw, 1.5rem);
    border: 1px solid var(--rx-home-surface-border);
    border-radius: var(--rx-panel-radius, 12px);
    padding: clamp(1rem, 2vw, 1.4rem);
    background: var(--rx-home-surface-fill);
}

.rx-contact-2__booking-summary {
    display: grid;
    gap: 0.55rem;
}

@media (max-width: 991px) {
    .rx-contact-2__booking-actions {
        padding: clamp(1rem, 3vw, 1.35rem);
        margin-top: 6px;
    }
}

@media (max-width: 767px) {
    .rx-contact-2__quick-pills {
        gap: 8px;
    }

    .rx-contact-2__quick-pill {
        font-size: 10px;
        letter-spacing: 0.06em;
        padding: 6px 10px;
    }

    .rx-contact-2__actions .rx-btn {
        width: 100%;
    }

    .rx-cta__updates-grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .rx-cta__update-link {
        font-size: 20px;
    }
}

.rx-cta__bg-word {
    position: absolute;
    right: -10px;
    bottom: 5%;
    font-family: var(--rx-font-heading);
    font-size: clamp(80px, 10vw, 160px);
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
    color: var(--rx-type-heading-color);
    opacity: 0.022;
    z-index: -1;
    pointer-events: none;
}



.rx-booking-form__notice {
    margin: 0 0 12px;
    border-radius: 10px;
    border: 1px solid transparent;
    padding: 10px 12px;
    font-size: 13px;
    line-height: 1.55;
}

.rx-booking-form__notice.is-success {
    border-color: rgba(31, 121, 114, 0.28);
    background: rgba(31, 121, 114, 0.08);
    color: #1f615c;
}

.rx-booking-form__notice.is-error {
    border-color: rgba(199, 53, 101, 0.28);
    background: rgba(199, 53, 101, 0.08);
    color: var(--rx-primary);
}

.rx-booking-form__optional-toggle {
    width: 100%;
    min-height: 38px;
    border-radius: 999px;
    border: 1px solid var(--rx-border-soft);
    background: color-mix(in srgb, var(--rx-surface) 94%, transparent);
    color: var(--rx-text-muted);
    padding: 8px 12px;
    font-family: var(--rx-font-body);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.rx-booking-form__optional-toggle:focus-visible {
    outline: none;
    box-shadow: var(--rx-shadow-glow);
}

.rx-booking-form__optional-toggle[aria-expanded="true"] {
    color: var(--rx-text-main);
    border-color: color-mix(in srgb, var(--rx-accent) 35%, var(--rx-border-soft));
    background: color-mix(in srgb, var(--rx-surface) 88%, transparent);
}

.rx-booking-form__addons {
    display: grid;
    gap: 10px;
}

.rx-booking-form__addons-title {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--rx-text-muted);
}

.rx-booking-form__addons-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.rx-booking-form__addon {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border-radius: 999px;
    border: 1px solid var(--rx-border-soft);
    background: color-mix(in srgb, var(--rx-surface) 94%, transparent);
    padding: 8px 12px;
    cursor: pointer;
    user-select: none;
}

.rx-booking-form__addon input {
    width: 16px;
    height: 16px;
    min-height: 0;
    border-radius: 4px;
    accent-color: var(--rx-accent);
}

.rx-booking-form__addon-label {
    font-size: 13px;
    font-weight: 600;
    color: var(--rx-text-main);
    letter-spacing: 0.01em;
    text-transform: none;
}

.rx-booking-form__addon-price {
    font-size: 12px;
    font-weight: 700;
    color: var(--rx-text-muted);
    letter-spacing: 0.02em;
}

.rx-booking-form__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.rx-booking-form__field {
    display: grid;
    gap: 4px;
}

.rx-booking-form__field--full {
    grid-column: 1 / -1;
}

.rx-booking-form__field span {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--rx-text-muted);

}

.rx-booking-form__field input,
.rx-booking-form__field select,
.rx-booking-form__field textarea {
    width: 100%;
    min-height: 38px;
    border-radius: 8px;
    border: 1.5px solid var(--rx-border-soft);

    background: color-mix(in srgb, var(--rx-surface) 90%, transparent);
    color: var(--rx-text-main);
    padding: 8px 10px;
    font-family: var(--rx-font-body);
    font-size: 15px;
    line-height: 1.3;
}

.rx-booking-form__field textarea {
    min-height: 64px;
    resize: vertical;
}

.rx-booking-form__field select:disabled,
.rx-booking-form__field input:disabled,
.rx-booking-form__field textarea:disabled {
    opacity: 0.7;
    cursor: not-allowed;
}

.rx-booking-form__actions {
    margin-top: 10px;
    display: flex;
    justify-content: flex-end;
}

.rx-booking-form__helper {
    margin: 8px 0 0;
    font-size: 13px;
    line-height: 1.65;
    color: var(--rx-muted);
}

.rx-booking-form__helper[data-state="loading"] {
    color: var(--rx-cream);
}

.rx-booking-form__helper[data-state="error"] {
    color: color-mix(in srgb, var(--rx-accent-2) 82%, white);
}

.rx-booking-form__actions .rx-btn {
    min-height: 40px;
    min-width: 220px;
    justify-content: center;
}

@media (max-width: 47.9375rem) {
    .rx-booking-form__grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 0.75rem;
    }

    .rx-booking-form__field textarea {
        resize: none;
    }

    .rx-booking-form__actions {
        justify-content: stretch;
    }

    .rx-booking-form__actions .rx-btn {
        width: 100%;
        min-width: 0;
    }

    .rx-booking-form__helper {
        margin-top: 0.65rem;
    }
}

.rx-booking-form__actions .rx-btn.is-busy,
.rx-booking-form__actions .rx-btn[disabled] {
    opacity: 0.8;
    cursor: progress;
}



/* --------------------------------------------------------------------------
 * CTA Specific Setup & Overrides (Migrated from style.css)
 * -------------------------------------------------------------------------- */
:root {
    --rx-cta-inner-max: 86vw;
}

#contact.rx-cta .rx-cta__stage {
    padding-top: var(--rx-home-section-space);
    padding-bottom: max(var(--rx-home-section-space), env(safe-area-inset-bottom));
}

#faq.rx-faq+#contact.rx-cta .rx-cta__stage {
    padding-top: var(--rx-home-section-space-tight);
}

.rx-cta__stage {
    min-height: auto;
    padding-top: var(--rx-section-space-y);
    padding-bottom: var(--rx-section-space-y);
    position: relative;
    z-index: 2;
    background-color: var(--rx-dark);
    overflow: hidden;
}

@media (min-width: 75rem) {
    .rx-cta .rx-container {
        padding-right: calc(clamp(0.75rem, 1.8vw, 1.5rem) + var(--rx-social-rail-safe));
    }
}

@media (max-width: 61.9375rem) {
    :root {
        --rx-cta-inner-max: var(--rx-tablet-content-max);
    }
}

@media (max-width: 47.9375rem) {
    :root {
        --rx-cta-inner-max: var(--rx-mobile-content-max);
    }
}

@media (max-width: 29.9375rem) {
    .rx-cta__stage {
        padding-bottom: max(5.5rem, env(safe-area-inset-bottom));
    }
}

/* --------------------------------------------------------------------------
 * Premium CTA Upgrade
 * -------------------------------------------------------------------------- */
#contact.rx-cta {
    position: relative;
    color: var(--rx-cream);
}

#contact.rx-cta .rx-cta__stage {
    position: relative;
    isolation: isolate;
    min-height: auto;
    background: var(--rx-site-bg);
}

#contact.rx-cta .rx-cta__stage::after {
    display: none;
}

#contact.rx-cta .rx-container {
    width: min(100%, var(--rx-feature-section-max));
    max-width: var(--rx-feature-section-max);
    padding-inline: clamp(1rem, 2vw, 1.75rem);
}

#contact.rx-cta .rx-cta__layout {
    position: relative;
    display: grid;
    gap: clamp(1rem, 2.1vw, 2.15rem);
    align-items: start;
    grid-template-areas:
        "story"
        "hub"
        "support";
}

#contact.rx-cta .rx-cta__story {
    grid-area: story;
    display: grid;
    gap: var(--rx-home-cluster-gap-loose);
    align-content: start;
}

#contact.rx-cta .rx-contact-2__title-box {
    width: 100%;
    max-width: none;
    margin: 0;
}

#contact.rx-cta .rx-contact-2__title {
    margin: 0;
    color: var(--rx-type-heading-color);
    font-size: var(--rx-type-section-title-size);
    line-height: var(--rx-type-section-title-line);
    letter-spacing: var(--rx-type-section-title-track);
    text-wrap: balance;
}

#contact.rx-cta .rx-contact-2__subtitle {
    margin: 0.9rem 0 0;
    max-width: 34rem;
    color: var(--rx-type-body-color);
    font-size: var(--rx-type-body-size);
    line-height: var(--rx-type-body-line);
}

#contact.rx-cta .rx-contact-2__quick-pills {
    display: none;
    flex-wrap: wrap;
    gap: 0.55rem;
    margin-top: 1rem;
}

#contact.rx-cta .rx-contact-2__quick-pill {
    min-height: 2.1rem;
    padding: 0.44rem 0.78rem;
    border: 1px solid var(--rx-home-pill-border);
    border-radius: 999px;
    background: var(--rx-home-pill-fill);
    color: var(--rx-type-meta-color);
    font-size: var(--rx-type-caption-size);
    font-weight: var(--rx-type-meta-weight);
    letter-spacing: var(--rx-type-meta-track);
    text-transform: uppercase;
    line-height: 1;
}

#contact.rx-cta .rx-contact-2__facts {
    display: flex;
    flex-wrap: wrap;
    gap: 0.7rem;
    margin-top: var(--rx-home-cluster-gap);
    margin-bottom: 0;
}

#contact.rx-cta .rx-contact-2__fact {
    min-width: 7.4rem;
    padding: 0.72rem 0.88rem;
    border: 1px solid var(--rx-home-surface-border);
    border-radius: var(--rx-card-radius, 10px);
    background: var(--rx-home-surface-fill-soft);
    display: grid;
    gap: 0.18rem;
}

#contact.rx-cta .rx-contact-2__fact strong {
    font-family: var(--rx-font-heading);
    font-size: 1.02rem;
    line-height: 0.98;
    color: var(--rx-type-heading-color);
}

#contact.rx-cta .rx-contact-2__fact em {
    font-style: normal;
    font-size: var(--rx-type-caption-size);
    font-weight: var(--rx-type-meta-weight);
    letter-spacing: var(--rx-type-meta-track);
    text-transform: uppercase;
    color: var(--rx-type-meta-color);
}

#contact.rx-cta .rx-cta__story-card {
    display: none;
    padding: 1rem 1.05rem 1.05rem;
    border: 1px solid var(--rx-home-surface-border);
    border-radius: var(--rx-panel-radius, 12px);
    background: color-mix(in srgb, var(--rx-home-surface-fill) 78%, transparent);
    box-shadow: none;
}

#contact.rx-cta .rx-cta__story-label,
#contact.rx-cta .rx-cta__support-label,
#contact.rx-cta .rx-cta__panel-kicker {
    display: inline-block;
    margin: 0 0 0.72rem;
    color: var(--rx-type-muted-color);
    font-size: var(--rx-type-kicker-size);
    font-weight: var(--rx-type-kicker-weight);
    letter-spacing: var(--rx-type-kicker-track);
    text-transform: uppercase;
    line-height: 1.2;
}

#contact.rx-cta .rx-contact-2__highlights {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.72rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

#contact.rx-cta .rx-contact-2__highlights li {
    min-height: 100%;
    padding: 0.92rem 1rem 0.92rem 2rem;
    border: 1px solid var(--rx-home-surface-border);
    border-radius: var(--rx-card-radius, 10px);
    background: var(--rx-home-surface-fill-soft);
    color: var(--rx-type-body-color);
    font-size: var(--rx-type-body-compact-size);
    line-height: var(--rx-type-body-compact-line);
}

#contact.rx-cta .rx-contact-2__bottom-info {
    grid-area: hub;
    width: 100%;
    max-width: none;
    margin: 0;
    min-width: 0;
}

#contact.rx-cta .rx-contact-2__booking-hub {
    position: relative;
    border: 1px solid var(--rx-home-surface-border-strong);
    border-radius: var(--rx-panel-radius, 12px);
    background: var(--rx-home-surface-fill-strong);
    box-shadow: var(--rx-shadow-md);
    overflow: hidden;
}

#contact.rx-cta .rx-contact-2__booking-hub::before {
    content: "";
    display: block;
    position: absolute;
    inset: 0 auto 0 0;
    width: clamp(0.28rem, 0.7vw, 0.48rem);
    background: var(--rx-brand-gradient);
    pointer-events: none;
}

#contact.rx-cta .rx-contact-2__booking-actions {
    position: relative;
    display: grid;
    gap: var(--rx-home-cluster-gap-loose);
    padding: clamp(1.1rem, 2vw, 1.55rem);
}

#contact.rx-cta .rx-cta__panel-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem;
    align-items: start;
}

#contact.rx-cta .rx-contact-2__booking-summary {
    display: grid;
    gap: 0.52rem;
    min-width: 0;
}

#contact.rx-cta .rx-contact-2__meta-title {
    margin: 0;
    color: var(--rx-type-heading-color);
    font-size: var(--rx-type-feature-title-size);
    line-height: var(--rx-type-feature-title-line);
    letter-spacing: var(--rx-type-feature-title-track);
    text-wrap: balance;
}

#contact.rx-cta .rx-cta__panel-copy {
    margin: 0;
    max-width: 34rem;
    color: var(--rx-type-body-color);
    font-size: var(--rx-type-body-size);
    line-height: var(--rx-type-body-line);
}

#contact.rx-cta .rx-cta__response-chip {
    display: grid;
    gap: 0.2rem;
    align-content: start;
    min-width: 9.4rem;
    padding: 0.8rem 0.92rem;
    border: 1px solid var(--rx-home-surface-border);
    border-radius: var(--rx-card-radius, 10px);
    background: var(--rx-home-surface-fill-soft);
    text-align: left;
}

#contact.rx-cta .rx-cta__response-chip span {
    font-size: var(--rx-type-caption-size);
    font-weight: var(--rx-type-meta-weight);
    letter-spacing: var(--rx-type-meta-track);
    text-transform: uppercase;
    color: var(--rx-type-meta-color);
}

#contact.rx-cta .rx-cta__response-chip strong {
    color: var(--rx-type-heading-color);
    font-size: 0.96rem;
    line-height: 1.35;
    font-weight: 600;
}

#contact.rx-cta .rx-contact-2__actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
    margin-top: 0;
}

#contact.rx-cta .rx-contact-2__actions .rx-btn {
    justify-content: center;
}

#contact.rx-cta .rx-contact-2__booking-note {
    margin: 0;
    color: var(--rx-type-meta-color);
    font-size: var(--rx-type-body-compact-size);
    line-height: var(--rx-type-body-compact-line);
}

#contact.rx-cta .rx-cta__quick-links {
    margin-top: 0.15rem;
    padding-top: 0.85rem;
    opacity: 0.88;
}

#contact.rx-cta .rx-cta__support-block {
    display: grid;
    gap: var(--rx-home-cluster-gap);
    padding-top: var(--rx-home-cluster-gap-loose);
    border-top: 1px solid var(--rx-home-surface-border);
}

#contact.rx-cta .rx-cta__support-block--story {
    grid-area: support;
    align-self: start;
    padding: 1rem 1.05rem 1.05rem;
    border: 1px solid var(--rx-home-surface-border);
    border-radius: var(--rx-panel-radius, 12px);
    background: color-mix(in srgb, var(--rx-home-surface-fill) 72%, transparent);
    box-shadow: none;
}

#contact.rx-cta .rx-contact-2__contact-box {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    border-top: 1px solid var(--rx-home-surface-border);
}

#contact.rx-cta .rx-contact-2__top-card {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    min-height: 0;
    padding: 0.92rem 0.1rem 0.92rem;
    border: 0;
    border-bottom: 1px solid var(--rx-home-surface-border);
    border-radius: 0;
    background: transparent;
    text-decoration: none;
    color: var(--rx-type-body-color);
    transition:
        transform 0.22s ease,
        border-color 0.22s ease,
        background-color 0.22s ease;
}

#contact.rx-cta .rx-contact-2__top-card:last-child {
    border-bottom: 0;
}

#contact.rx-cta .rx-contact-2__top-card:hover,
#contact.rx-cta .rx-contact-2__top-card:focus-visible {
    transform: none;
    border-color: color-mix(in srgb, var(--rx-accent) 42%, var(--rx-border-soft));
    background: var(--rx-home-pill-fill-hover);
}

#contact.rx-cta .rx-contact-2__top-card:focus-visible {
    outline: none;
    box-shadow: 0 0 0 1px var(--rx-shadow-pink);
}

#contact.rx-cta .rx-contact-2__top-icon {
    flex-shrink: 0;
    width: 2.65rem;
    height: 2.65rem;
    border-radius: var(--rx-card-radius, 10px);
    border: 1px solid var(--rx-home-surface-border);
    background: var(--rx-home-surface-fill-soft);
    color: var(--rx-accent);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

#contact.rx-cta .rx-contact-2__top-meta {
    flex: 1;
    min-width: 0;
    display: grid;
    gap: 0.16rem;
}

#contact.rx-cta .rx-contact-2__top-meta small {
    font-size: var(--rx-type-caption-size);
    font-weight: var(--rx-type-meta-weight);
    letter-spacing: var(--rx-type-meta-track);
    text-transform: uppercase;
    color: var(--rx-type-meta-color);
}

#contact.rx-cta .rx-contact-2__top-meta strong {
    font-size: var(--rx-type-body-size);
    line-height: var(--rx-type-body-compact-line);
    font-weight: 600;
    color: var(--rx-type-heading-color);
    overflow-wrap: anywhere;
}

#contact.rx-cta .rx-contact-2__embedded-form {
    margin-top: 0.2rem;
    padding-top: 0.2rem;
}

#contact.rx-cta .rx-cta__bg-word {
    display: block;
    right: clamp(1rem, 2.6vw, 2.5rem);
    bottom: clamp(0.5rem, 1vw, 1.2rem);
    font-size: clamp(4.8rem, 10vw, 9.5rem);
    line-height: 0.82;
    letter-spacing: -0.06em;
    color: color-mix(in srgb, var(--rx-accent) 7%, transparent);
    pointer-events: none;
}

@media (min-width: 68rem) {
    #contact.rx-cta .rx-cta__layout {
        grid-template-columns: minmax(0, 0.44fr) minmax(0, 0.56fr);
        grid-template-areas:
            "story hub"
            "support hub";
    }
}

@media (max-width: 67.9375rem) {
    #contact.rx-cta .rx-cta__layout {
        gap: 1.05rem;
    }

    #contact.rx-cta .rx-contact-2__highlights {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 47.9375rem) {
    #contact.rx-cta .rx-container {
        width: min(100%, var(--rx-mobile-section-max));
        max-width: var(--rx-mobile-section-max);
        padding-inline: 0;
    }

    #contact.rx-cta .rx-cta__stage {
        padding-top: var(--rx-home-section-space-tight);
        padding-bottom: max(var(--rx-home-section-space), env(safe-area-inset-bottom));
    }

    #contact.rx-cta .rx-cta__layout {
        gap: 0.82rem;
    }

    #contact.rx-cta .rx-contact-2__title {
        max-width: none;
        font-size: clamp(1.72rem, 7.8vw, 2.35rem);
    }

    #contact.rx-cta .rx-contact-2__subtitle {
        max-width: none;
        font-size: 0.92rem;
        line-height: 1.56;
        max-height: calc(1.56em * 3);
        display: -webkit-box;
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

    #contact.rx-cta .rx-contact-2__quick-pills,
    #contact.rx-cta .rx-cta__story-card,
    #contact.rx-cta .rx-cta__response-chip,
    #contact.rx-cta .rx-contact-2__booking-note,
    #contact.rx-cta .rx-cta__quick-links {
        display: none;
    }

    #contact.rx-cta .rx-contact-2__booking-hub {
        border-radius: var(--rx-panel-radius, 12px);
        border-color: var(--rx-home-surface-border);
        background: var(--rx-home-surface-fill);
        box-shadow: none;
    }

    #contact.rx-cta .rx-contact-2__booking-actions {
        padding: 0.82rem;
        gap: 0.62rem;
    }

    #contact.rx-cta .rx-cta__support-block--story {
        padding: 0.78rem 0 0;
        gap: 0.28rem;
        border: 0;
        border-top: 1px solid var(--rx-home-surface-border);
        border-radius: 0;
        background: transparent;
        box-shadow: none;
    }

    #contact.rx-cta .rx-cta__panel-head {
        grid-template-columns: minmax(0, 1fr);
        gap: 0.55rem;
    }

    #contact.rx-cta .rx-contact-2__meta-title {
        font-size: clamp(1.24rem, 6.5vw, 1.65rem);
    }

    #contact.rx-cta .rx-cta__panel-copy {
        font-size: 0.89rem;
        line-height: 1.56;
        max-height: calc(1.56em * 3);
        display: -webkit-box;
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

    #contact.rx-cta .rx-contact-2__actions {
        grid-template-columns: minmax(0, 1fr);
        gap: 0.65rem;
    }

    #contact.rx-cta .rx-contact-2__actions .rx-btn {
        width: 100%;
        min-height: 2.95rem;
    }

    #contact.rx-cta .rx-contact-2__contact-box {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 0;
        overflow: visible;
        padding-bottom: 0;
        scroll-snap-type: none;
    }

    #contact.rx-cta .rx-contact-2__top-card {
        min-height: 0;
        padding: 0.68rem 0;
        gap: 0.62rem;
        scroll-snap-align: none;
    }

    #contact.rx-cta .rx-contact-2__top-icon {
        width: 2.12rem;
        height: 2.12rem;
        border-radius: 0.72rem;
    }

    #contact.rx-cta .rx-contact-2__top-meta small {
        font-size: 0.62rem;
    }

    #contact.rx-cta .rx-contact-2__top-meta strong {
        font-size: 0.92rem;
        line-height: 1.32;
        white-space: normal;
        text-overflow: clip;
        overflow-wrap: anywhere;
        overflow: visible;
    }

    #contact.rx-cta .rx-contact-2__embedded-form {
        margin-top: 0;
        padding-top: 0;
    }

    #contact.rx-cta .rx-cta__bg-word {
        right: 0.35rem;
        bottom: 0.2rem;
        font-size: clamp(3.3rem, 16vw, 5.2rem);
    }

    #contact.rx-cta .rx-contact-2__booking-hub {
        display: block;
    }

    #contact.rx-cta .rx-contact-2__booking-actions {
        display: grid;
    }
}

/* ══════════════════════════════════════════
   REELSXPRESS — FAQ & SERVICE PAGE STYLES
   ══════════════════════════════════════════ */

/* -------------------------------------------------------
   FAQ Section & Polish (Migrated from style.css)
   ------------------------------------------------------- */
.rx-faq {
    position: relative;
    padding-block: var(--rx-home-section-space);
}

.rx-faq__layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: clamp(0.95rem, 1.8vw, 1.45rem);
}

.rx-faq__head {
    max-width: min(100%, 40rem);
}

.rx-faq__title {
    font-size: var(--rx-type-section-title-size);
    line-height: var(--rx-type-section-title-line);
    letter-spacing: var(--rx-type-section-title-track);
}

.rx-faq__intro {
    color: var(--rx-type-body-color);
    margin-top: var(--rx-home-cluster-gap);
    max-width: 58ch;
    font-size: var(--rx-type-body-size);
    line-height: var(--rx-type-body-line);
}

.rx-faq__list {
    display: grid;
    gap: 0.5rem;
}

.rx-faq__item {
    border: 1px solid var(--rx-home-surface-border);
    overflow: hidden;
    border-radius: 0.85rem;
    background:
        var(--rx-home-surface-grad-soft),
        var(--rx-home-surface-fill-soft);
}

.rx-faq__question {
    width: 100%;
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: center;
    padding: 0.75rem 0.9rem;
    font-weight: 600;
    color: var(--rx-cream);
    text-align: left;
    font-size: var(--rx-type-body-size);
    line-height: 1.5;
}

.rx-faq__q-wrap {
    margin: 0;
}

.rx-faq__q-text {
    display: block;
}

.rx-faq__icon {
    flex: 0 0 auto;
    border: 1px solid var(--rx-home-pill-border);
    background: var(--rx-home-pill-fill);
    border-radius: 999px;
    position: relative;
    width: 1.4rem;
    height: 1.4rem;
}

.rx-faq__icon::before,
.rx-faq__icon::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    background: currentColor;
    transform: translate(-50%, -50%);
    border-radius: 999px;
}

.rx-faq__icon::before {
    width: 0.7rem;
    height: 1.5px;
}

.rx-faq__icon::after {
    width: 1.5px;
    height: 0.7rem;
    transition: opacity 0.2s var(--rx-ease);
}

.rx-faq__item.is-open .rx-faq__icon::after {
    opacity: 0;
}

.rx-faq__item.is-open {
    border-color: color-mix(in srgb, var(--rx-accent) 28%, var(--rx-home-surface-border));
    background:
        linear-gradient(180deg, color-mix(in srgb, var(--rx-accent) 5%, transparent), transparent),
        var(--rx-home-surface-fill-strong);
}

.rx-faq__answer {
    padding: 0 0.9rem 0.9rem;
}

.rx-faq__answer[hidden] {
    display: none;
}

.rx-faq__answer-inner {
    color: var(--rx-type-body-color);
    max-width: 74ch;
    font-size: var(--rx-type-body-size);
    line-height: var(--rx-type-body-line);
}

.rx-faq__answer-inner p {
    margin: 0;
}

@media (min-width: 62rem) {
    .rx-faq__layout {
        grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.4fr);
        align-items: start;
    }

    .rx-faq__head {
        position: sticky;
        top: var(--rx-vp-top);
    }
}

/* ══════════════════════════════════════════
   9. HERO SECTION
   ══════════════════════════════════════════ */
#home.rx-hero {
    --rx-hero-card-width: 280px;
    --rx-hero-reel-speed: 25s;
    --rx-reel-card-aspect: 280 / 400;

    height: 100vh;
    height: 100dvh;
    min-height: 100vh;
    min-height: 100dvh;
    display: flex;
    align-items: center;

    position: relative;
    overflow: hidden;
    padding-top: var(--rx-header-safe-top, 80px);
    padding-bottom: 0 !important;
    background-color: var(--rx-bg-main);
    background-image:
        radial-gradient(circle at 80% 10%, color-mix(in srgb, var(--rx-primary) 14%, transparent), transparent 28%),
        radial-gradient(circle at 18% 72%, color-mix(in srgb, var(--rx-teal, var(--rx-secondary)) 10%, transparent), transparent 32%),
        radial-gradient(circle at 72% 78%, color-mix(in srgb, var(--rx-champagne, var(--rx-secondary)) 10%, transparent), transparent 30%),
        linear-gradient(135deg, var(--rx-bg-main), color-mix(in srgb, var(--rx-bg-main) 84%, var(--rx-bg-section) 16%));
    text-align: left;
}

#home.rx-hero.rx-vh-section {
    padding-bottom: 0 !important;
}

@media (max-width: 767px) {
    .rx-hero.rx-hero--mobile {
        align-items: flex-start;
        padding-bottom: 0;
        margin-bottom: 0;
    }

    .rx-hero .rx-hero__layout {
        padding-bottom: 0;
        margin-bottom: 0;
    }

    .rx-hero .rx-hero__marquee-viral,
    .rx-hero.rx-hero--mobile .rx-hero__marquee-viral {
        margin-bottom: 0;
        padding-bottom: 0;
    }

    .rx-header__inner {
        padding: 18px 16px;
    }

    .rx-header__right {
        gap: 16px;
    }

    .rx-offcanvas__left {
        padding: 28px 20px;
    }
}

.rx-hero__scroll-down {
    position: absolute;
    left: 50%;
    bottom: 40px;
    transform: translateX(-50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    color: var(--rx-type-meta-color);
    font-size: var(--rx-type-caption-size);
    font-weight: var(--rx-type-caption-weight);
    letter-spacing: calc(var(--rx-type-caption-track) + 0.08em);
    text-transform: uppercase;
    animation: rxScrollBounce 2.4s ease-in-out infinite;
    z-index: 10;
}

@media (max-width: 767px) {

    .rx-hero .rx-hero__scroll-down,
    .rx-hero.rx-hero--mobile .rx-hero__scroll-down {
        display: none;
    }
}

.rx-hero__scroll-line {
    display: block;
    width: 1px;
    height: 60px;
    background: linear-gradient(to bottom, var(--rx-accent), transparent);
}

.rx-hero__layout {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 40px;
    position: relative;
    z-index: 15;
    flex-wrap: wrap;
}

.rx-hero__content {
    margin-top: 0;
}

.rx-hero__body {
    min-height: 0;
}

@media (min-width: 768px) {
    #home.rx-hero {
        height: 100dvh;
        min-height: 100dvh;
        align-items: stretch;
        justify-content: flex-start;
        padding-top: var(--rx-header-safe-top, 100px);
        padding-bottom: 0 !important;
    }


    #home.rx-hero.rx-vh-section {
        padding-top: var(--rx-header-safe-top);
        padding-bottom: 0 !important;
    }

    .rx-hero__scroll-down {
        display: none;
    }

    .rx-hero>.rx-container {
        display: flex;
        flex-direction: column;
        align-self: stretch;
        height: 100%;
        min-height: 0;
    }


    .rx-hero__layout {
        flex-direction: row;
        align-items: stretch;
        justify-content: flex-start;
        flex: 1 1 auto;
        height: 100%;
        min-height: 0;
        width: 100%;
    }


    .rx-hero__content {
        margin-top: 0;
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        min-height: 0;
        flex: 0 0 58%;
        max-width: 54rem;
        min-width: min-content;
        position: relative;
        z-index: 10;
        text-align: left;
        padding-right: clamp(1.5rem, 2.8vw, 2.5rem);
    }

    .rx-hero__title {
        font-size: clamp(2.6rem, 3.2vw, 3.25rem);
        line-height: 1.02;
        margin-bottom: 0.75rem;
    }

    .rx-hero__body {
        display: flex;
        flex: 1 1 auto;
        flex-direction: column;
        min-height: 0;
    }

    .rx-hero__sub {
        max-width: 42rem;
        margin-bottom: clamp(0.6rem, 1.2vh, 0.85rem);
    }

    .rx-hero__ctas {
        gap: clamp(0.7rem, 0.9vw, 0.95rem);
        margin-top: 0;
        margin-bottom: 0;
    }

}

/* VIRAL MARQUEE SYSTEM */
.rx-hero__marquee-viral {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    width: auto;
    max-width: 45dvw;
    height: auto;
    z-index: 1;
    pointer-events: none;
    overflow: hidden;
    transition:
        transform 0.6s var(--rx-ease-out),
        max-width 0.6s var(--rx-ease-out),
        opacity 0.6s var(--rx-ease-out);
}

@media (min-width: 48rem) and (max-width: 61.9375rem) {
    .rx-hero__marquee-viral {
        display: none !important;
    }
}

#home .rx-hero__title {
    font-family: var(--rx-font-heading);
    font-size: clamp(2.5rem, 4.2vw, 4rem);
    font-weight: 700;
    margin-bottom: 0.85rem;
    letter-spacing: var(--rx-type-display-hero-track);
    text-transform: none;
    line-height: 1.08;
    color: var(--rx-type-heading-color);
}

@media (max-width: 767px) {
    #home .rx-hero__title {
        font-size: clamp(2.15rem, 10.2vw, 3rem);
        line-height: 1.02;
    }
}

#home .rx-hero__tag {
    display: inline-flex;
    align-items: center;
    gap: 0.65rem;
    padding: 0.35rem 1rem 0.35rem 0.45rem;
    background: var(--rx-home-pill-fill);
    border: 1px solid color-mix(in srgb, var(--rx-accent) 18%, var(--rx-home-surface-border));
    border-radius: 999px;
    margin-bottom: 1.25rem;
    color: var(--rx-type-body-color);
    box-shadow: var(--rx-shadow-sm);
    width: fit-content;
}

.rx-hero__tag-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    background: var(--rx-accent);
    color: #fff;
    border-radius: 50%;
    box-shadow: none;
}

.rx-hero__tag-icon svg {
    width: 12px;
    height: 12px;
}

.rx-hero__tag-text {
    letter-spacing: 0.05em;
    text-transform: uppercase;
    font-size: 0.7rem;
    font-weight: 700;
    font-family: var(--rx-font-body);
}

@media (min-width: 768px) {
    .rx-hero__title-line {
        max-width: 100%;
    }
}

@media (max-width: 480px) {
    .rx-hero__title {
        margin-bottom: 0.75rem;
    }

    #home .rx-hero__tag {
        margin-bottom: clamp(0.35rem, 0.9dvh, 0.55rem);
    }
}

#home .rx-hero__sub {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
    color: var(--rx-type-heading-color);
    width: 100%;
    margin-bottom: 1.5rem;
    font-size: clamp(1rem, 1.2vw, 1.15rem);
    line-height: 1.55;
}

.rx-hero__sub::before {
    display: none;
}

.rx-hero__sub-line {
    display: block;
    text-wrap: balance;
}

.rx-hero__sub-line--primary {
    color: color-mix(in srgb, var(--rx-type-body-color) 80%, var(--rx-accent));
    font-weight: 500;
}

.rx-hero__sub-line--secondary {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    color: var(--rx-type-meta-color);
    font-size: 0.8em;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-top: 0.25rem;
}

.rx-hero__sub-line--secondary::before {
    content: "";
    display: block;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--rx-accent);
}

.rx-hero__micro-line {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    color: var(--rx-type-meta-color);
    font-size: clamp(0.72rem, 1.1vw, 0.85rem);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-top: 0.75rem;
    margin-bottom: 1.25rem;
}

@media (min-width: 768px) {
    #home .rx-hero__micro-line {
        margin-top: auto;
        padding-top: clamp(0.9rem, 2vh, 1.4rem);
        margin-bottom: clamp(0.5rem, 1.4vh, 0.9rem);
    }
}

.rx-hero__micro-line::before {
    content: "";
    display: block;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--rx-accent);
}

.rx-hero__stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem 1.1rem;
    padding-top: 1rem;
    margin-top: 1rem;
    border-top: 1px solid color-mix(in srgb, var(--rx-accent) 18%, var(--rx-border-soft));
    width: 100%;
}

.rx-hero__stat {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    min-width: 0;
}

.rx-hero__stat-num {
    color: color-mix(in srgb, var(--rx-type-heading-color) 92%, transparent);
    font-size: 1.05rem;
    line-height: 1.1;
    letter-spacing: -0.01em;
}

.rx-hero__stat-num span {
    margin-left: 0.08em;
}

.rx-hero__stat-label {
    color: var(--rx-type-meta-color);
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    text-wrap: balance;
}

@media (min-width: 768px) {
    .rx-hero__stats {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        margin-top: clamp(0.9rem, 1.6vh, 1.3rem);
    }
}

.rx-hero__ctas {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-top: 0;
    margin-bottom: 0;
    flex-wrap: wrap;
    padding-top: 0.25rem;
}

@media (max-width: 480px) {

    .rx-hero .rx-hero__ctas,
    .rx-hero.rx-hero--mobile .rx-hero__ctas {
        flex-direction: column;
        align-items: stretch;
        width: 100%;
        gap: 12px;
    }

    .rx-hero .rx-hero__ctas .rx-btn,
    .rx-hero.rx-hero--mobile .rx-hero__ctas .rx-btn {
        width: 100%;
        justify-content: center;
        text-align: center;
    }
}

.rx-hero__ctas .rx-btn {
    transition: transform 0.3s var(--rx-ease-out), box-shadow 0.3s var(--rx-ease-out);
}

.rx-hero__ctas .rx-btn--primary {
    min-width: clamp(11.75rem, 11.5vw, 13.25rem);
    min-height: clamp(3.3rem, 6vh, 3.75rem);
    box-shadow: 0 10px 24px var(--rx-pink-glow);
}

.rx-hero__ctas .rx-btn.rx-btn--outline {
    min-width: clamp(9.8rem, 9.8vw, 11rem);
    min-height: clamp(3.05rem, 5.2vh, 3.35rem);
    background: transparent;
    border: 1px solid color-mix(in srgb, var(--rx-accent) 30%, var(--rx-border-soft));
    color: color-mix(in srgb, var(--rx-type-heading-color) 84%, transparent);
    box-shadow: none;
}

.rx-hero__ctas .rx-btn:hover {
    transform: translateY(-5px) scale(1.02);
    box-shadow: 0 12px 26px var(--rx-pink-glow);
}

.rx-hero__ctas .rx-btn.rx-btn--outline:hover {
    background: color-mix(in srgb, var(--rx-accent) 8%, transparent);
    border-color: var(--rx-accent);
    color: var(--rx-type-heading-color);
}

/* MARQUEE STYLES */
.rx-hero__marquee-inner {
    display: flex;
    justify-content: flex-end;
    gap: clamp(0.625rem, 1.8vw, 1.875rem);
    height: 100%;
    padding: clamp(0.5rem, 1.5vw, 1.25rem) 0 clamp(0.5rem, 1.5vw, 1.25rem) clamp(0.5rem, 1.5vw, 1.25rem);
}

.rx-hero__marquee-col {
    display: flex;
    flex-direction: column;
    gap: 15px;
    width: var(--rx-hero-card-width, 282px);
    flex-shrink: 0;
    pointer-events: auto;
}

.rx-hero__marquee-track {
    display: flex;
    flex-direction: column;
    gap: 15px;
    width: 100%;
    flex-shrink: 0;
    padding-bottom: 0px;
    will-change: transform;
}

.rx-hero__marquee-col:empty {
    display: none;
}

.rx-hero__marquee-col--up .rx-hero__marquee-track {
    animation: rxMarqueeUp var(--rx-hero-reel-speed, 22s) linear infinite;
}

.rx-hero__marquee-col--down {
    margin-top: -160px;
}

.rx-hero__marquee-col--down .rx-hero__marquee-track {
    animation: rxMarqueeDown var(--rx-hero-reel-speed, 22s) linear infinite;
}

/* Viral Reel Card Fidelity */
.rx-hero__marquee-item {
    position: relative;
    border-radius: var(--rx-panel-radius, 12px);
    overflow: hidden;
    width: 100%;
    aspect-ratio: var(--rx-reel-card-aspect, 9/16);
    background: var(--rx-home-surface-fill-soft);
    border: 1px solid var(--rx-home-surface-border);
    transition: transform 0.4s var(--rx-ease-out), border-color 0.4s ease;
    flex-shrink: 0;
    contain: paint;
}

.rx-hero__marquee-link {
    display: block;
    color: inherit;
    text-decoration: none;
}

.rx-hero__marquee-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .6s var(--rx-ease-out);
}

.rx-hero__marquee-img-shell {
    display: block;
    width: 100%;
    height: 100%;
}

.rx-hero__marquee-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.9;
    transition: opacity 0.4s ease;
}

.rx-hero__marquee-item:hover {
    border-color: var(--rx-accent);
}

.rx-hero__marquee-item:hover img {
    opacity: 1;
}

.rx-hero__marquee-item--empty {
    background: linear-gradient(145deg,
            color-mix(in srgb, var(--rx-accent) 8%, var(--rx-home-surface-fill-soft)) 0%,
            color-mix(in srgb, var(--rx-accent) 2%, var(--rx-home-surface-fill-soft)) 100%);
    border-color: color-mix(in srgb, var(--rx-accent) 15%, transparent);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: inset 0 0 40px color-mix(in srgb, var(--rx-accent) 5%, transparent);
}

.rx-hero__marquee-empty-copy {
    position: relative;
    z-index: 2;
    display: grid;
    gap: 0.35rem;
    padding: 1.05rem 1rem;
    text-align: center;
}

.rx-hero__marquee-empty-title {
    color: var(--rx-type-heading-color);
    font-weight: 700;
    letter-spacing: -0.02em;
    font-size: 0.95rem;
    line-height: 1.1;
}

.rx-hero__marquee-empty-note {
    color: rgba(255, 255, 255, 0.72);
    font-size: 0.78rem;
    font-weight: 500;
    line-height: 1.2;
}

/* Add a beautiful camera or play icon watermark to empty items */
.rx-hero__marquee-item--empty::after {
    content: '';
    width: 60px;
    height: 60px;
    background: var(--rx-accent);
    mask: url('data:image/svg+xml;utf8,<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><rect x="2" y="2" width="20" height="20" rx="2.18" ry="2.18"></rect><line x1="7" y1="2" x2="7" y2="22"></line><line x1="17" y1="2" x2="17" y2="22"></line><line x1="2" y1="12" x2="22" y2="12"></line><line x1="2" y1="7" x2="7" y2="7"></line><line x1="2" y1="17" x2="7" y2="17"></line><line x1="17" y1="17" x2="22" y2="17"></line><line x1="17" y1="7" x2="22" y2="7"></line></svg>') center/contain no-repeat;
    -webkit-mask: url('data:image/svg+xml;utf8,<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><rect x="2" y="2" width="20" height="20" rx="2.18" ry="2.18"></rect><line x1="7" y1="2" x2="7" y2="22"></line><line x1="17" y1="2" x2="17" y2="22"></line><line x1="2" y1="12" x2="22" y2="12"></line><line x1="2" y1="7" x2="7" y2="7"></line><line x1="2" y1="17" x2="7" y2="17"></line><line x1="17" y1="17" x2="22" y2="17"></line><line x1="17" y1="7" x2="22" y2="7"></line></svg>') center/contain no-repeat;
    opacity: 0.15;
}

.rx-hero__marquee-item--empty:hover {
    transform: none;
    box-shadow: inset 0 0 60px color-mix(in srgb, var(--rx-accent) 8%, transparent);
    border-color: color-mix(in srgb, var(--rx-accent) 25%, transparent);
}

/* Social Icon (Reelongo Style) */
.rx-hero__marquee-social-icon {
    position: absolute;
    bottom: 1.25rem;
    left: 1.25rem;
    width: 2.25rem;
    height: 2.25rem;
    color: white;
    z-index: 5;
    opacity: 0.8;
}

.rx-hero__marquee-social-icon svg {
    width: 100%;
    height: 100%;
}

@media (min-width: 768px) {
    .rx-hero {
        --rx-hero-card-width: clamp(13rem, 17vw, 17.5rem);
    }

    .rx-hero__marquee-viral {
        top: 0;
        bottom: 0;
        right: 0;
        width: auto;
        max-width: 45dvw;
    }

    .rx-hero__marquee-inner {
        display: flex;
        align-items: stretch;
        justify-content: flex-end;
        height: 100%;
        /* Remove bottom padding to ensure reels fill to the very bottom edge */
        padding: 0 0 0 clamp(0.5rem, 1.1vw, 0.95rem);
    }


    .rx-hero__marquee-col {
        width: var(--rx-hero-card-width, 282px);
        flex-direction: column;
        gap: 15px;
        overflow: visible;
    }

    .rx-hero__marquee-item {
        width: 100%;
        height: auto;
    }

    .rx-hero__marquee-track {
        width: 100%;
        flex-direction: column;
        gap: 15px;
        padding-bottom: 0;
    }

    .rx-hero__marquee-col--up .rx-hero__marquee-track {
        animation-name: rxMarqueeUp;
    }

    .rx-hero__marquee-col--down {
        margin-top: clamp(-7.5rem, -10vw, -4.5rem);
        transform: none;
    }

    .rx-hero__marquee-col--down .rx-hero__marquee-track {
        animation-name: rxMarqueeUp;
    }

    .rx-hero__marquee-col--down .rx-hero__marquee-track:first-child {
        animation-delay: calc(var(--rx-hero-reel-speed, 22s) / -2);
    }

    .rx-hero__marquee-col--down .rx-hero__marquee-track[aria-hidden="true"] {
        animation-delay: calc(var(--rx-hero-reel-speed, 22s) / -2);
    }
}

/* ── Two-column marquee: ≥1024px ────────────────────────────
   Expand the reel rail so both marquee columns (col--up and
   col--down) are visible side-by-side. Below this breakpoint
   the container stays at 45dvw (single-column), which is the
   intentional tablet / small-desktop behaviour.
   ─────────────────────────────────────────────────────────── */
@media (min-width: 1024px) {
    .rx-hero__marquee-viral {
        max-width: clamp(30rem, 46dvw, 54rem);
    }

    .rx-hero__marquee-inner {
        gap: clamp(0.75rem, 1.4vw, 1.25rem);
    }

    /* Yield a little space so text column doesn't reach into
       the now-wider absolute-positioned reel rail. */
    .rx-hero__content {
        flex: 0 0 56%;
        max-width: 50rem;
    }
}

@media (min-width: 1200px) {
    .rx-hero__marquee-viral {
        max-width: clamp(32rem, 48dvw, 56rem);
    }

    .rx-hero__marquee-inner {
        padding: 0 clamp(0.5rem, 1.1vw, 0.95rem);
        gap: clamp(0.75rem, 1.4vw, 1.25rem);
    }
}

@media (min-width: 1440px) {
    .rx-hero__marquee-viral {
        max-width: clamp(34rem, 44dvw, 58rem);
    }

    .rx-hero__content {
        flex: 0 0 55%;
        max-width: 50rem;
    }
}

/* Ultrawide: keep cards at a comfortable size, prevent marquee
   from ballooning across the entire right half of the screen. */
@media (min-width: 1920px) {
    .rx-hero {
        --rx-hero-card-width: clamp(15rem, 16vw, 17.5rem);
    }

    .rx-hero__marquee-viral {
        max-width: clamp(36rem, 38dvw, 62rem);
    }
}

@media (min-width: 768px) and (max-width: 1600px) {
    .rx-hero__title {
        font-size: clamp(2.25rem, 2.65vw, 2.8rem);
        line-height: 1.04;
    }

    .rx-hero__marquee-viral {
        top: clamp(-2.5rem, -3.5vh, -1.5rem);
    }

    .rx-hero__marquee-inner {
        transform: none;
    }
}

@media (min-width: 1601px) {
    .rx-hero__title {
        font-size: clamp(2.55rem, 2.25vw, 3rem);
        line-height: 1.04;
    }
}

@media (min-width: 768px) and (max-height: 900px) {
    .rx-hero {
        padding-top: var(--rx-header-safe-top, 100px);
    }

    .rx-hero__content {
        margin-top: 0;
    }

    .rx-hero__title {
        font-size: clamp(2.1rem, 2.55vw, 2.55rem);
        line-height: 1.03;
        margin-bottom: 0.6rem;
    }

    #home .rx-hero__tag {
        margin-bottom: 0.75rem;
    }

    .rx-hero__sub {
        margin-bottom: 0.75rem;
    }

}

/* Mobile Adjustments (Viral Mode) */

/* MARQUEE KEYFRAMES */
@keyframes rxMarqueeUp {
    0% {
        transform: translateY(0);
    }

    100% {
        transform: translateY(-100%);
    }
}

@keyframes rxHeroMobileMarquee {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(-100%);
    }
}

/* Hero Background Grid Animation */
@keyframes rxGridPan {
    0% {
        background-position: 0 0;
    }

    100% {
        background-position: 40px 40px;
    }
}

@media (min-width: 48rem) and (prefers-reduced-motion: no-preference) {
    .rx-hero {
        animation: rxGridPan 10s linear infinite;
    }
}

@media (prefers-reduced-motion: reduce) {

    .rx-hero__marquee-track,
    .rx-hero__scroll-down {
        animation: none !important;
    }
}

@media (max-width: 47.9375rem) {
    .rx-hero {
        animation: none;
    }

    .rx-hero__marquee-item {
        box-shadow: var(--rx-shadow-md);
    }
}

/* -------------------------------------------------------
   Inner Page Banners
   ------------------------------------------------------- */
.rx-page-hero {
    padding-top: calc(var(--rx-header-safe-top) + clamp(1rem, 2vw, 1.75rem));
    padding-bottom: clamp(1.5rem, 2.8vw, 2.4rem);
    border-bottom: 1px solid var(--rx-home-surface-border);
}

.rx-page-hero .rx-container {
    display: grid;
    gap: 0.9rem;
}

.rx-page-hero__title {
    margin: 0;
    max-width: 18ch;
    font-size: var(--rx-type-display-page-size);
    line-height: var(--rx-type-display-page-line);
    letter-spacing: var(--rx-type-display-page-track);
}

@media (max-width: 767px) {
    .rx-page-hero {
        padding-top: calc(var(--rx-header-safe-top) + 0.75rem);
    }

    .rx-page-hero__title {
        max-width: 100%;
    }
}

.rx-service-page,
.rx-blog-index {
    min-height: 100dvh;
    padding-top: calc(var(--rx-header-safe-top, 5rem) + clamp(1.35rem, 3vw, 2.4rem));
    padding-bottom: clamp(2.5rem, 5vw, 4rem);
    background: var(--rx-site-bg);
}

.rx-service-page>.rx-container,
.rx-blog-index>.rx-container {
    width: min(100%, var(--rx-section-content-max));
    max-width: var(--rx-section-content-max);
    padding-inline: 0;
}

.rx-service-page__hero,
.rx-blog-index__header {
    display: grid;
    gap: clamp(0.7rem, 1.4vw, 1rem);
    max-width: 52rem;
}

.rx-service-page__title,
.rx-blog-index__title {
    max-width: 15ch;
}

.rx-service-page__intro,
.rx-blog-index__header .rx-section-intro {
    max-width: 58ch;
}

.rx-service-page__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-top: 0.35rem;
}

.rx-service-page__body,
.rx-blog-index__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(0.9rem, 1.8vw, 1.35rem);
    margin-top: clamp(1.35rem, 2.8vw, 2rem);
}

.rx-service-page__panel,
.rx-blog-card__link,
.rx-blog-index__empty {
    display: grid;
    gap: 0.75rem;
    height: 100%;
    padding: clamp(1rem, 2vw, 1.35rem);
    border: 1px solid var(--rx-home-surface-border);
    border-radius: var(--rx-panel-radius, 12px);
    background:
        var(--rx-home-surface-grad-soft),
        var(--rx-home-surface-fill);
    box-shadow: var(--rx-home-shadow-soft);
}

.rx-service-page__panel--quiet {
    background: var(--rx-home-surface-fill-soft);
}

.rx-service-page__eyebrow,
.rx-blog-card__meta,
.rx-blog-card__cta {
    color: var(--rx-type-muted-color);
    font-size: var(--rx-type-meta-size);
    font-weight: var(--rx-type-meta-weight);
    letter-spacing: var(--rx-type-meta-track);
    text-transform: uppercase;
}

.rx-service-page__heading,
.rx-blog-card__title {
    margin: 0;
    color: var(--rx-type-heading-color);
    font-family: var(--rx-font-heading);
    font-size: var(--rx-type-card-title-size);
    line-height: var(--rx-type-card-title-line);
    letter-spacing: var(--rx-type-card-title-track);
}

.rx-service-page__panel p,
.rx-blog-card__excerpt {
    margin: 0;
    color: var(--rx-type-body-color);
    font-size: var(--rx-type-body-compact-size);
    line-height: var(--rx-type-body-compact-line);
}

.rx-service-page__list {
    display: grid;
    gap: 0.6rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.rx-service-page__list li {
    position: relative;
    padding-left: 1.2rem;
    color: var(--rx-type-body-color);
    font-size: var(--rx-type-body-compact-size);
    line-height: var(--rx-type-body-compact-line);
}

.rx-service-page__list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.68em;
    width: 0.42rem;
    height: 0.42rem;
    border-radius: 999px;
    background: var(--rx-accent);
}

.rx-service-page__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.rx-service-page__chips span {
    display: inline-flex;
    align-items: center;
    min-height: 2.15rem;
    padding: 0.45rem 0.7rem;
    border: 1px solid var(--rx-home-pill-border);
    border-radius: 999px;
    color: var(--rx-type-body-color);
    background: var(--rx-home-pill-fill);
    font-size: var(--rx-type-caption-size);
    font-weight: var(--rx-type-caption-weight);
}

.rx-service-page__text-link,
.rx-blog-card__link {
    color: var(--rx-type-heading-color);
    text-decoration: none;
}

.rx-service-page__text-link,
.rx-blog-card__cta {
    width: fit-content;
    color: var(--rx-accent);
    font-weight: 700;
}

.rx-service-page__content {
    max-width: 48rem;
    margin-top: clamp(1.35rem, 2.5vw, 2rem);
}

@media (max-width: 767px) {

    .rx-service-page,
    .rx-blog-index {
        padding-top: calc(var(--rx-header-safe-top, 5rem) + 1rem);
        padding-bottom: calc(var(--rx-mobile-nav-height, 64px) + 1.6rem);
    }

    .rx-service-page>.rx-container,
    .rx-blog-index>.rx-container {
        width: min(90vw, 100%);
        max-width: 90vw;
    }

    .rx-service-page__hero,
    .rx-blog-index__header {
        gap: 0.55rem;
    }

    .rx-service-page__actions,
    .rx-service-page__body,
    .rx-blog-index__grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .rx-service-page__actions .rx-btn {
        width: 100%;
    }

    .rx-service-page__body,
    .rx-blog-index__grid {
        margin-top: 1rem;
        gap: 0.8rem;
    }

    .rx-service-page__panel,
    .rx-blog-card__link,
    .rx-blog-index__empty {
        border-radius: var(--rx-panel-radius, 12px);
        padding: 1rem;
    }
}

/* ==========================================
   HERO RESPONSIVE STYLES
   ========================================== */

@media (max-width: 992px) {
    .rx-hero__body {
        flex-direction: column;
        gap: 32px;
    }
}

@media (max-width: 768px) {
    .rx-hero__title {
        font-size: var(--rx-type-display-hero-size);
    }
}

@media (max-width: 47.9375rem) {

    body #home.rx-hero.rx-vh-section,
    body #home.rx-hero.rx-hero--mobile.rx-vh-section {
        height: auto;
        min-height: clamp(34rem, 82dvh, 42rem);
        align-items: flex-start;
        justify-content: flex-start;

        padding-top: calc(var(--rx-header-safe-top, 5rem) + clamp(0.5rem, 2vh, 0.9rem));
        padding-bottom: calc(env(safe-area-inset-bottom) + clamp(1rem, 3vh, 1.6rem)) !important;
        overflow: hidden;
    }

    #home.rx-hero .rx-hero__marquee-track {
        animation: none !important;
    }




    .rx-hero .rx-container {
        display: flex;
        flex-direction: column;
        width: 100%;
        height: auto;
        min-height: 0;
    }



    .rx-hero__layout {
        display: flex;
        flex-direction: column;
        width: 100%;
        justify-content: flex-start;
        flex: 0 1 auto;
        min-height: 0;
        gap: 0;
    }



    .rx-hero__content {
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        margin-top: 0;
        max-width: 100%;
    }





    #home.rx-hero .rx-hero__tag {
        gap: 0.55rem;
        padding: 0.28rem 0.85rem 0.28rem 0.42rem;
        margin-bottom: 0.7rem;
        box-shadow: none;
    }

    #home.rx-hero .rx-hero__tag-icon {
        width: 22px;
        height: 22px;
    }

    #home.rx-hero .rx-hero__tag-text {
        font-size: 0.66rem;
        letter-spacing: 0.1em;
    }

    #home.rx-hero .rx-hero__title {
        width: 100%;
        max-width: 100%;
        max-width: 18ch;
        font-size: clamp(2.1rem, 9.2vw, 2.7rem);
        line-height: 1.02;
        font-weight: 600;
        letter-spacing: -0.018em;
        text-wrap: balance;
        overflow-wrap: anywhere;
        /* Tight gap below title */
        margin-bottom: 0.6rem;
    }

    #home.rx-hero .rx-hero__title-line {
        max-width: 100%;
        white-space: normal;
        overflow: visible;
        overflow-wrap: anywhere;
    }


    #home.rx-hero .rx-hero__sub {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        margin-bottom: 0;
        width: 100%;
        gap: 0.3rem;
        padding: 0;
    }

    .rx-hero__body {
        display: flex;
        flex-direction: column;
        gap: 0.65rem;
    }


    .rx-hero__sub-line--primary {
        max-width: 58ch;
        font-size: clamp(1rem, 4.1vw, 1.08rem);
        line-height: 1.55;
        color: var(--rx-type-body-color);
        font-weight: 400;
    }

    .rx-hero__sub-line--secondary {
        font-size: clamp(0.7rem, 2.9vw, 0.78rem);
        line-height: 1.4;
        letter-spacing: 0.035em;
        margin-top: 0;
    }

    .rx-hero__micro-line {
        display: block;
        max-width: 60ch;
        color: var(--rx-type-muted-color);
        font-size: 0.82rem;
        font-weight: 500;
        line-height: 1.45;
        text-transform: none;
        letter-spacing: 0;
        margin-top: clamp(0.45rem, 1.7vh, 0.75rem);
        margin-bottom: clamp(0.35rem, 1.2vh, 0.6rem);
    }

    .rx-hero__micro-line::before {
        display: none;
    }

    .rx-hero__ctas {
        flex-direction: column;
        width: 100%;
        gap: 0.6rem;
        margin-top: clamp(0.75rem, 2vh, 1rem);
        margin-bottom: 0;
    }




    .rx-hero__ctas .rx-btn {
        width: 100%;
        justify-content: center;
        min-height: 3.05rem;
        padding: 0.7rem 1.05rem;
        font-size: 0.92rem;
        letter-spacing: 0.04em;
        text-transform: none;
    }

    .rx-hero__ctas .rx-btn--outline {
        min-height: 3.15rem;
        font-size: 0.9rem;
    }

    .rx-hero__marquee-viral {
        display: none !important;
    }

    .rx-hero__marquee-inner {
        display: flex;
        align-items: stretch;
        justify-content: flex-start;
        width: 100%;
        height: 100%;
        gap: 0;
        padding: 0 0 0 1rem;
    }

    .rx-hero__marquee-col {
        display: flex;
        flex-direction: row;
        width: 100%;
        max-width: none;
        height: 100%;
        gap: 0;
        overflow: visible;
    }

    .rx-hero__marquee-track {
        flex-direction: row;
        width: max-content;
        height: 100%;
        gap: clamp(0.55rem, 2.4vw, 0.75rem);
        padding-bottom: 0;
    }

    .rx-hero__marquee-col--up .rx-hero__marquee-track {
        animation: rxHeroMobileMarquee 22s linear infinite;
    }

    .rx-hero__marquee-col--down {
        display: none;
    }

    .rx-hero__marquee-item {
        width: auto;
        height: 100%;
        aspect-ratio: var(--rx-reel-card-aspect, 9 / 16);
        border-radius: 0.85rem;
        box-shadow: var(--rx-shadow-md);
    }

    .rx-hero__marquee-social-icon {
        bottom: 0.6rem;
        left: 0.6rem;
        width: 1.35rem;
        height: 1.35rem;
    }

}

@media (max-width: 47.9375rem) and (max-height: 42.5rem) {

    body .rx-hero,
    body .rx-hero.rx-hero--mobile {
        padding-top: calc(clamp(3.8rem, 6dvh, 4.5rem) + 0.25rem);
        padding-bottom: 0;
    }

    #home.rx-hero .rx-hero__title {
        margin-bottom: 0.6rem;
        font-size: clamp(32px, min(9.8vw, 5.8dvh), 36px);
        line-height: 1.01;
    }

    #home.rx-hero .rx-hero__sub {
        margin-bottom: 0.35rem;
    }

    .rx-hero__sub-line--primary {
        font-size: clamp(0.86rem, 3.55vw, 0.96rem);
        line-height: 1.42;
    }

    .rx-hero__sub-line--secondary,
    .rx-hero__micro-line {
        font-size: clamp(0.62rem, 2.55vw, 0.72rem);
        line-height: 1.25;
    }

    .rx-hero__ctas .rx-btn {
        min-height: 2.42rem;
        padding-block: 0.45rem;
    }

    .rx-hero__ctas .rx-btn--outline {
        min-height: 2.28rem;
    }

    .rx-hero__marquee-viral {
        min-height: clamp(6.2rem, 15dvh, 7.5rem);
    }
}

/* Scroll-down bounce animation */
@keyframes rxScrollBounce {

    0%,
    100% {
        transform: translateX(-50%) translateY(0);
    }

    50% {
        transform: translateX(-50%) translateY(8px);
    }
}

/* Reveal clip for text lines */
.rx-hero__title-line {
    display: block;
    overflow: hidden;
    vertical-align: top;
}

/* ══════════════════════════════════════════
   14. PRICING / PACKAGES
   ══════════════════════════════════════════ */
:root {
    --rx-pricing-card-width: clamp(18rem, 29vw, 23.5rem);
}

/* ── Section shell ─────────────────────────────────────────────── */
#package.rx-packages-section--pricing {
    background: var(--rx-site-bg);
    position: relative;
    overflow: hidden;
    isolation: isolate;
}

#package.rx-packages-section--pricing::before {
    display: none;
}

#package .container-fluid {
    padding-inline: clamp(1.25rem, 4vw, 3rem);
}

.rx-main--packages #package.rx-packages-section--pricing {
    padding-top: calc(var(--rx-header-safe-top, 5rem) + clamp(1.1rem, 3vw, 2rem));
}

.rx-main--packages .rx-package__intro {
    margin-bottom: 0;
}

.rx-main--packages .rx-package__deck-nav {
    display: none;
}

.rx-main--packages .rx-pricing-row-container,
.rx-main--packages .rx-pricing-slider-v2 {
    overflow: visible;
}

.rx-main--packages .rx-pricing-cards-v2 {
    grid-auto-flow: row;
    grid-auto-columns: unset;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr));
    overflow: visible;
    scroll-snap-type: none;
    padding-bottom: 0;
}

.rx-main--packages .rx-pricing-card-v2 {
    height: auto;
    scroll-snap-align: none;
}

/* ── Two-column layout ─────────────────────────────────────────── */
.rx-package__layout {
    display: grid;
    grid-template-columns: 36fr 64fr;
    gap: clamp(2rem, 4vw, 4rem);
    align-items: start;
}

/* ── Left: Intro column ────────────────────────────────────────── */
.rx-package__intro {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    position: sticky;
    top: 5rem;
}

#package .rx-package__main-title {
    font-size: clamp(2rem, 4.5vw, 3.2rem);
    font-weight: 800;
    line-height: 1.0;
    letter-spacing: -0.03em;
    color: var(--rx-type-heading-color);
    margin: 0.35rem 0 0;
    max-width: 12ch;
}

.rx-package__lede {
    font-size: var(--rx-type-body-size);
    line-height: var(--rx-type-body-line);
    color: var(--rx-type-body-color);
    max-width: 36ch;
    margin: 0;
}

/* ── Stats facts row ───────────────────────────────────────────── */
.rx-package__facts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.6rem;
    margin-top: 0.25rem;
}

.rx-package__fact {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.22rem;
    padding: 0.9rem 0.85rem;
    background: var(--rx-home-surface-fill);
    border: 1px solid var(--rx-home-surface-border);
    border-radius: var(--rx-card-radius, 10px);
    min-height: 4.5rem;
}

.rx-package__fact strong {
    font-family: var(--rx-font-heading);
    font-size: clamp(1.25rem, 2.1vw, 1.45rem);
    font-weight: 800;
    line-height: 1;
    color: var(--rx-type-heading-color);
    letter-spacing: -0.02em;
}

.rx-package__fact span {
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 0.09em;
    text-transform: uppercase;
    color: var(--rx-type-body-color);
    opacity: 0.75;
    line-height: 1.2;
}

/* ── Featured focus card (left column) ────────────────────────── */
.rx-package__focus {
    display: flex;
    flex-direction: column;
    gap: 0.9rem;
    padding: 1.1rem;
    background: var(--rx-home-surface-fill);
    border: 1px solid var(--rx-home-surface-border);
    border-radius: var(--rx-panel-radius, 12px);
}

.rx-package__focus-label {
    display: inline-block;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--rx-accent, #e72265);
    opacity: 0.9;
}

.rx-package__focus-head {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 0.5rem 1rem;
    align-items: start;
}

.rx-package__focus-tier {
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--rx-type-body-color);
    opacity: 0.7;
    margin: 0 0 0.2rem;
}

.rx-package__focus-title {
    font-size: clamp(1.3rem, 2.2vw, 1.65rem);
    font-weight: 800;
    line-height: 1.05;
    letter-spacing: -0.02em;
    color: var(--rx-type-heading-color);
    margin: 0;
}

.rx-package__focus-price {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.15rem;
    text-align: right;
}

.rx-package__focus-price strong {
    font-family: var(--rx-font-heading);
    font-size: clamp(1.5rem, 2.8vw, 2rem);
    font-weight: 800;
    color: var(--rx-type-heading-color);
    line-height: 1;
    letter-spacing: -0.02em;
}

.rx-package__focus-price span {
    font-size: 0.66rem;
    font-weight: 600;
    letter-spacing: 0.09em;
    text-transform: uppercase;
    color: var(--rx-type-body-color);
    opacity: 0.7;
    max-width: 14ch;
    text-align: right;
    line-height: 1.3;
}

.rx-package__focus-copy {
    font-size: 0.9rem;
    line-height: 1.6;
    color: var(--rx-type-body-color);
    margin: 0;
    max-width: 38ch;
}

.rx-package__focus-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.rx-package__focus-list li {
    display: inline-flex;
    align-items: center;
    padding: 0.38rem 0.7rem;
    border: 1px solid var(--rx-home-pill-border);
    border-radius: 999px;
    background: var(--rx-home-pill-fill);
    font-size: 0.75rem;
    font-weight: 500;
    color: var(--rx-type-body-color);
    line-height: 1.2;
}

.rx-package__focus-list li::before {
    display: none;
}

.rx-package__focus-cta {
    margin-top: 0.1rem;
}

.rx-package__focus-cta .rx-btn--primary {
    width: 100%;
    min-height: 3rem;
}

/* ── Right: Deck column ────────────────────────────────────────── */
.rx-package__deck {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    min-width: 0;
}

.rx-pricing-row-container {
    width: 100%;
    min-width: 0;
}

.rx-package__chooser {
    display: grid;
    grid-template-columns: minmax(11rem, 0.78fr) minmax(0, 1.22fr);
    gap: clamp(0.8rem, 1.8vw, 1.15rem);
    align-items: start;
    padding: 1rem 1.1rem;
    background: var(--rx-home-surface-fill);
    border: 1px solid var(--rx-home-surface-border);
    border-radius: var(--rx-panel-radius, 12px);
}

.rx-package__chooser-head {
    display: grid;
    gap: 0.28rem;
}

.rx-package__chooser-head span {
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--rx-accent, #e72265);
}

.rx-package__chooser-head strong {
    color: var(--rx-type-heading-color);
    font-family: var(--rx-font-heading);
    font-size: clamp(1.05rem, 1.8vw, 1.25rem);
    line-height: 1.12;
}

.rx-package__chooser-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 10rem), 1fr));
    gap: 0.45rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.rx-package__chooser-list li {
    display: grid;
    gap: 0.22rem;
    padding: 0.62rem 0.7rem;
    background: var(--rx-home-pill-fill);
    border: 1px solid var(--rx-home-pill-border);
    border-radius: 0.8rem;
    min-width: 0;
}

.rx-package__chooser-list li span {
    color: var(--rx-type-body-color);
    font-size: 0.73rem;
    line-height: 1.28;
}

.rx-package__chooser-list li strong {
    color: var(--rx-type-heading-color);
    font-size: 0.84rem;
    line-height: 1.22;
    min-width: 0;
    overflow-wrap: anywhere;
}

/* ── Deck head (label + nav) ───────────────────────────────────── */
.rx-package__deck-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--rx-home-surface-border);
    margin-bottom: 1rem;
}

.rx-package__deck-copy-wrap {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.rx-package__deck-label {
    font-size: 1rem;
    font-weight: 700;
    color: var(--rx-type-heading-color);
    margin: 0;
    letter-spacing: -0.01em;
}

.rx-package__deck-copy {
    font-size: 0.85rem;
    line-height: 1.55;
    color: var(--rx-type-body-color);
    margin: 0;
    max-width: 52ch;
}

.rx-package__deck-nav {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-shrink: 0;
}

.rx-pricing-nav {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.4rem;
    height: 2.4rem;
    border-radius: 50%;
    border: 1px solid var(--rx-home-surface-border);
    background: var(--rx-home-surface-fill);
    color: var(--rx-type-heading-color);
    cursor: pointer;
    transition: background 0.18s ease, border-color 0.18s ease, opacity 0.18s ease;
}

.rx-pricing-nav:hover:not(:disabled) {
    background: var(--rx-accent, #e72265);
    border-color: var(--rx-accent, #e72265);
    color: var(--rx-white);
}

.rx-pricing-nav:disabled {
    opacity: 0.35;
    cursor: default;
}

.rx-pricing-nav[hidden] {
    display: none;
}

/* ── Cards track ───────────────────────────────────────────────── */
.rx-pricing-cards-v2 {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: var(--rx-pricing-card-width);
    gap: 1rem;
    overflow-x: auto;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding-bottom: 0.5rem;
}

.rx-pricing-cards-v2::-webkit-scrollbar {
    display: none;
}

/* ── Single pricing card ───────────────────────────────────────── */
.rx-pricing-card-v2 {
    display: flex;
    flex-direction: column;
    background: var(--rx-home-surface-fill);
    border: 1px solid var(--rx-home-surface-border);
    border-radius: var(--rx-panel-radius, 12px);
    overflow: hidden;
    transition: border-color 0.22s ease, box-shadow 0.22s ease;
    height: 100%;
}

.rx-pricing-card-v2:hover {
    border-color: color-mix(in srgb, var(--rx-accent) 30%, var(--rx-home-surface-border));
    box-shadow: var(--rx-shadow-md);
}

.rx-pricing-card-v2.is-popular {
    border-color: var(--rx-accent, #e72265);
    box-shadow: 0 0 0 1px color-mix(in srgb, var(--rx-accent) 72%, transparent), var(--rx-shadow-md);
}

.rx-pricing-card-v2__content {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: 1.25rem;
    flex: 1;
}

.rx-pricing-card-v2__header {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

.rx-pricing-card-v2__badge {
    display: inline-flex;
    align-items: center;
    padding: 0.3rem 0.7rem;
    background: var(--rx-accent, #e72265);
    color: var(--rx-white);
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    border-radius: 999px;
    align-self: flex-start;
    margin-bottom: 0.3rem;
}

.rx-pricing-card-v2__tier {
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--rx-type-body-color);
    opacity: 0.65;
    margin: 0;
}

.rx-pricing-card-v2__title {
    font-size: clamp(1.1rem, 1.8vw, 1.4rem);
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -0.02em;
    color: var(--rx-type-heading-color);
    margin: 0;
    max-width: 18ch;
}

.rx-pricing-card-v2__price-box {
    display: flex;
    flex-direction: column;
    gap: 0.18rem;
    padding: 0.9rem 0;
    border-top: 1px solid var(--rx-home-surface-border);
    border-bottom: 1px solid var(--rx-home-surface-border);
}

.rx-pricing-card-v2__price {
    font-family: var(--rx-font-heading);
    font-size: clamp(1.8rem, 3vw, 2.4rem);
    font-weight: 800;
    line-height: 1;
    letter-spacing: -0.03em;
    color: var(--rx-type-heading-color);
}

.rx-pricing-card-v2__duration {
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 0.09em;
    text-transform: uppercase;
    color: var(--rx-type-body-color);
    opacity: 0.65;
}

.rx-pricing-card-v2__desc {
    font-size: 0.85rem;
    line-height: 1.58;
    color: var(--rx-type-body-color);
    margin: 0;
}

.rx-pricing-card-v2__features {
    flex: 1;
}

.rx-pricing-card-v2__features ul {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.rx-pricing-card-v2__features li {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
    font-size: 0.85rem;
    line-height: 1.45;
    color: var(--rx-type-body-color);
}

.rx-feature-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.1rem;
    height: 1.1rem;
    border-radius: 50%;
    background: color-mix(in srgb, var(--rx-accent) 10%, var(--rx-home-surface-fill));
    color: var(--rx-accent, #e72265);
    flex-shrink: 0;
    margin-top: 0.1rem;
}

.rx-feature-text {
    flex: 1;
    min-width: 0;
}

.rx-pricing-card-v2__footer {
    margin-top: auto;
    padding-top: 0.5rem;
}

.rx-pricing-card-v2 .rx-btn--primary {
    width: 100%;
    min-height: 3rem;
    line-height: 1.2;
    text-align: center;
    white-space: normal;
}

.rx-package__special {
    display: grid;
    grid-template-columns: minmax(12rem, 0.42fr) minmax(0, 1fr);
    gap: clamp(0.85rem, 2vw, 1.25rem);
    align-items: start;
    padding: 1rem 1.1rem;
    background: color-mix(in srgb, var(--rx-accent) 4%, var(--rx-home-surface-fill));
    border: 1px solid color-mix(in srgb, var(--rx-accent) 16%, var(--rx-home-surface-border));
    border-radius: var(--rx-panel-radius, 12px);
}

.rx-package__special-head {
    display: grid;
    gap: 0.3rem;
}

.rx-package__special-head span {
    color: var(--rx-accent, #e72265);
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.rx-package__special-head h3,
.rx-package__special-card h4 {
    color: var(--rx-type-heading-color);
    font-family: var(--rx-font-heading);
    font-size: clamp(1.15rem, 2vw, 1.45rem);
    line-height: 1.08;
    letter-spacing: -0.01em;
    margin: 0;
}

.rx-package__special-head p,
.rx-package__special-main>p {
    color: var(--rx-type-body-color);
    font-size: 0.85rem;
    line-height: 1.55;
    margin: 0;
}

.rx-package__special-list {
    display: grid;
    gap: 0.75rem;
    min-width: 0;
}

.rx-package__special-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.8rem 1rem;
    align-items: start;
    min-width: 0;
}

.rx-package__special-main {
    display: grid;
    gap: 0.24rem;
    min-width: 0;
}

.rx-package__special-meta {
    display: grid;
    gap: 0.18rem;
    justify-items: end;
    text-align: right;
}

.rx-package__special-meta strong {
    color: var(--rx-type-heading-color);
    font-family: var(--rx-font-heading);
    font-size: clamp(1.6rem, 2.4vw, 2rem);
    line-height: 1;
}

.rx-package__special-meta span {
    color: var(--rx-type-body-color);
    font-size: 0.66rem;
    font-weight: 700;
    letter-spacing: 0.09em;
    line-height: 1.25;
    text-transform: uppercase;
    opacity: 0.68;
}

.rx-package__special-features {
    display: flex;
    flex-wrap: wrap;
    grid-column: 1 / -1;
    gap: 0.4rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.rx-package__special-features li {
    padding: 0.36rem 0.64rem;
    background: var(--rx-home-pill-fill);
    border: 1px solid var(--rx-home-pill-border);
    border-radius: 999px;
    color: var(--rx-type-body-color);
    font-size: 0.76rem;
    line-height: 1.22;
}

.rx-package__special-cta {
    grid-column: 1 / -1;
    justify-self: start;
    min-height: 2.85rem;
    line-height: 1.2;
    text-align: center;
    white-space: normal;
}

/* ── Add-ons strip ─────────────────────────────────────────────── */
.rx-package__addons {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
    padding: 1rem 1.1rem;
    background: var(--rx-home-surface-fill);
    border: 1px solid var(--rx-home-surface-border);
    border-radius: var(--rx-panel-radius, 12px);
}

.rx-package__addons-label {
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--rx-type-body-color);
    opacity: 0.65;
}

.rx-package__addons-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.rx-package__addons-list li {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.38rem 0.75rem;
    background: var(--rx-home-pill-fill);
    border: 1px solid var(--rx-home-pill-border);
    border-radius: 999px;
    font-size: 0.78rem;
    color: var(--rx-type-body-color);
    white-space: nowrap;
}

.rx-package__addons-list li strong {
    font-weight: 600;
    color: var(--rx-type-heading-color);
}

.rx-package__addons-list li span {
    font-weight: 500;
    opacity: 0.8;
}

.rx-package__travel-note {
    margin: -0.8rem 0 0;
    color: var(--rx-type-body-color);
    font-size: 0.78rem;
    line-height: 1.5;
    opacity: 0.78;
}

/* ── Global booking CTA ────────────────────────────────────────── */
.rx-package__booking-cta {
    display: flex;
    justify-content: center;
}

.rx-package__booking-cta .rx-btn {
    min-width: 18rem;
}

.rx-package__guide {
    display: grid;
    gap: clamp(0.85rem, 1.8vw, 1.25rem);
    margin-top: clamp(1.15rem, 2.4vw, 1.8rem);
    padding-top: clamp(1.15rem, 2.4vw, 1.8rem);
    border-top: 1px solid var(--rx-home-surface-border);
}

.rx-package__guide-head {
    display: grid;
    gap: 0.35rem;
}

.rx-package__guide-head h2 {
    margin: 0;
    color: var(--rx-type-heading-color);
    font-family: var(--rx-font-heading);
    font-size: var(--rx-type-card-title-size);
    line-height: var(--rx-type-card-title-line);
    letter-spacing: var(--rx-type-card-title-track);
}

.rx-package__guide-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

/* ── Empty state ───────────────────────────────────────────────── */
.rx-packages-section__empty {
    padding: 3rem 1rem;
    border: 1px dashed var(--rx-home-surface-border);
    border-radius: 1rem;
    color: var(--rx-type-body-color);
    opacity: 0.6;
}

/* ── Tablet: collapse to single column ────────────────────────── */
@media (max-width: 62rem) {
    .rx-package__layout {
        grid-template-columns: 1fr;
        gap: clamp(1rem, 3vw, 1.4rem);
        align-content: start;
    }

    .rx-package__intro {
        position: static;
        top: auto;
    }

    #package .rx-package__main-title {
        max-width: none;
    }

    .rx-package__lede {
        max-width: none;
    }

    .rx-package__focus-copy {
        max-width: none;
    }
}

@media (max-width: 47.9375rem) {
    #package.rx-packages-section--pricing.rx-vh-section {
        padding-top: var(--rx-home-section-space);
        padding-bottom: var(--rx-home-section-space);
    }

    .rx-main--packages #package.rx-packages-section--pricing.rx-vh-section {
        padding-top: calc(var(--rx-header-safe-top, 5rem) + clamp(0.9rem, 4vw, 1.35rem));
    }

    .rx-main--packages .rx-pricing-cards-v2 {
        grid-template-columns: minmax(0, 1fr);
        gap: 0.85rem;
    }

    #package .container-fluid {
        width: min(100%, var(--rx-mobile-section-max));
        max-width: var(--rx-mobile-section-max);
        padding-inline: 0;
    }

    #package .rx-package__main-title {
        max-width: 11ch;
        font-size: clamp(1.7rem, 8.4vw, 2.45rem);
    }

    .rx-package__lede {
        max-width: none;
        font-size: 0.95rem;
        line-height: 1.58;
        max-height: none;
        display: block;
        overflow: visible;
    }

    .rx-package__intro {
        gap: 0.9rem;
    }

    .rx-package__facts {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 0.42rem;
        margin-top: 0;
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }

    .rx-package__fact {
        min-height: 0;
        min-width: 0;
        padding: 0.6rem 0.55rem;
        gap: 0.18rem;
        border-radius: 0.85rem;
        overflow: hidden;
    }

    .rx-package__fact strong {
        max-width: 100%;
        font-size: clamp(0.9rem, 4.1vw, 1.14rem);
        overflow-wrap: anywhere;
    }

    .rx-package__fact span {
        max-width: 100%;
        font-size: 0.56rem;
        letter-spacing: 0.08em;
        overflow-wrap: anywhere;
    }

    .rx-package__focus {
        display: none;
    }

    .rx-package__deck {
        margin-top: 0;
    }

    .rx-package__chooser {
        grid-template-columns: minmax(0, 1fr);
        gap: 0.72rem;
        padding: 0.86rem;
    }

    .rx-package__chooser-head strong {
        font-size: 1.05rem;
    }

    .rx-package__chooser-list {
        grid-template-columns: minmax(0, 1fr);
        gap: 0.38rem;
    }

    .rx-package__chooser-list li {
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
        gap: 0.55rem;
        padding: 0.56rem 0.64rem;
    }

    .rx-package__chooser-list li strong {
        text-align: right;
        max-width: 13ch;
    }

    .rx-package__focus-head {
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 0.75rem;
        align-items: end;
    }

    .rx-package__focus-tier {
        margin-bottom: 0.18rem;
        font-size: 0.72rem;
    }

    .rx-package__focus-title {
        font-size: clamp(1.2rem, 6vw, 1.55rem);
    }

    .rx-package__focus-price {
        text-align: right;
    }

    .rx-package__focus-price strong {
        font-size: clamp(1.3rem, 6vw, 1.8rem);
    }

    .rx-package__focus-price span {
        justify-self: end;
        max-width: 10ch;
        font-size: 0.64rem;
    }

    .rx-package__focus-copy {
        max-width: none;
        font-size: 0.88rem;
        line-height: 1.56;
        max-height: calc(1.56em * 2);
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

    .rx-package__focus-list {
        display: flex;
        flex-wrap: wrap;
        gap: 0.38rem;
    }

    .rx-package__focus-list li {
        padding: 0.38rem 0.62rem;
        padding-left: 0.62rem;
        border: 1px solid var(--rx-home-pill-border);
        border-radius: 999px;
        background: var(--rx-home-pill-fill);
        font-size: 0.74rem;
        line-height: 1.15;
    }

    .rx-package__focus-list li::before {
        display: none;
    }

    .rx-package__focus-cta {
        margin-top: 0.2rem;
    }

    .rx-package__focus-cta .rx-btn--primary {
        min-height: 2.85rem;
    }

    .rx-package__deck-head {
        align-items: center;
        flex-direction: row;
        flex-wrap: wrap;
        gap: 0.6rem;
        padding-bottom: 0.78rem;
        margin-bottom: 0.4rem;
    }

    .rx-package__deck-nav {
        width: auto;
        margin-left: auto;
        justify-content: flex-end;
        flex-shrink: 0;
    }

    .rx-package__deck-label {
        font-size: 0.9rem;
    }

    .rx-package__deck-copy {
        display: none;
    }

    .rx-pricing-cards-v2 {
        gap: 0.82rem;
        grid-auto-columns: 100%;
        width: 100%;
        align-items: start;
        margin-inline: 0;
        padding: 0.15rem 0 0.42rem;
        scroll-padding-inline: 0;
        scroll-snap-type: x mandatory;
        overscroll-behavior-x: contain;
    }

    .rx-pricing-slider-v2,
    .rx-pricing-row-container {
        width: 100%;
        overflow: hidden;
    }

    .rx-pricing-card-v2 {
        min-height: 0;
        height: auto;
        align-self: start;
        scroll-snap-align: center;
        scroll-snap-stop: always;
    }

    .rx-pricing-card-v2__content {
        display: flex;
        flex-direction: column;
        flex: 0 0 auto;
        padding: 0.96rem;
        gap: 0.72rem;
    }

    .rx-pricing-card-v2__header {
        grid-area: header;
        display: grid;
        align-content: start;
        gap: 0.14rem;
    }

    .rx-pricing-card-v2__tier {
        display: none;
    }

    .rx-pricing-card-v2__title {
        max-width: none;
        font-size: clamp(1.3rem, 5.9vw, 1.72rem);
        line-height: 1.12;
    }

    .rx-pricing-card-v2__price-box {
        grid-area: price;
        display: grid;
        justify-items: start;
        align-content: start;
        gap: 0.16rem;
        min-width: 0;
        padding: 0;
        border: 0;
        text-align: left;
    }

    .rx-pricing-card-v2__price {
        font-size: clamp(2.08rem, 8.9vw, 2.82rem);
    }

    .rx-pricing-card-v2__duration {
        max-width: 16ch;
        font-size: 0.62rem;
        letter-spacing: 0.12em;
    }

    .rx-pricing-card-v2__desc {
        display: none;
    }

    .rx-pricing-card-v2__features {
        grid-area: features;
        flex: 0 0 auto;
        padding-top: 0.76rem;
        border-top: 1px solid var(--rx-home-surface-border);
    }

    .rx-pricing-card-v2__features ul {
        gap: 0.48rem;
    }

    .rx-pricing-card-v2__features li {
        gap: 0.48rem;
        font-size: 0.8rem;
        line-height: 1.34;
    }

    .rx-feature-icon {
        width: 1.06rem;
        height: 1.06rem;
        margin-top: 0.08rem;
    }

    .rx-pricing-card-v2__footer {
        grid-area: footer;
        margin-top: 0.55rem;
        padding-top: 0;
    }

    .rx-pricing-card-v2 .rx-btn--primary {
        min-height: 2.85rem;
    }

    .rx-package__special {
        grid-template-columns: minmax(0, 1fr);
        gap: 0.82rem;
        padding: 0.9rem;
    }

    .rx-package__special-card {
        grid-template-columns: minmax(0, 1fr);
        gap: 0.72rem;
    }

    .rx-package__special-meta {
        justify-items: start;
        text-align: left;
    }

    .rx-package__special-features {
        gap: 0.36rem;
    }

    .rx-package__special-features li {
        border-radius: 0.85rem;
        font-size: 0.74rem;
        white-space: normal;
    }

    .rx-package__special-cta {
        justify-self: stretch;
        width: 100%;
    }

    .rx-main--packages .rx-pricing-slider-v2,
    .rx-main--packages .rx-pricing-row-container,
    .rx-main--packages .rx-pricing-cards-v2 {
        overflow: visible;
    }

    .rx-main--packages .rx-pricing-cards-v2 {
        grid-auto-columns: unset;
        scroll-padding-inline: 0;
        scroll-snap-type: none;
    }

    .rx-main--packages .rx-pricing-card-v2 {
        scroll-snap-align: none;
    }

    .rx-package__addons-list {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
    }

    .rx-package__addons-list li {
        width: 100%;
        justify-content: space-between;
        border-radius: 1rem;
    }

    .rx-package__travel-note {
        margin-top: -0.45rem;
        font-size: 0.76rem;
    }

    .rx-package__booking-cta,
    .rx-package__booking-cta .rx-btn {
        width: 100%;
    }

    .rx-package__booking-cta--global {
        margin-top: 0.75rem;
    }

    .rx-package__guide-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 30rem) {
    .rx-pricing-cards-v2 {
        gap: 0.68rem;
    }
}

/* Reel Showcase Section — Refined Cinematic Strip
   Provides a horizontal sliding layout with editorial edge fades
   -------------------------------------------------------------------------- */
:root {
    --rx-showcase-card-aspect: 9 / 13.8;
}

/* --------------------------------------------------------------------------
 * Upgraded structure and hierarchy with minimal card effects.
 * Cards are intentionally static (no tilt/zoom/blur hover interactions).
 * -------------------------------------------------------------------------- */
.rx-showcase {
    position: relative;
    background: var(--rx-dark);
    overflow: hidden;
    isolation: isolate;
}

.rx-showcase::before {
    display: none;
}

.rx-showcase__header {
    text-align: center;
    margin-bottom: clamp(2rem, 5vw, 3.5rem);
}

.rx-showcase__title {
    font-size: var(--rx-type-section-title-size);
    font-weight: 700;
    line-height: var(--rx-type-section-title-line);
    letter-spacing: var(--rx-type-section-title-track);
    color: var(--rx-type-heading-color);
    margin-top: 0.5rem;
}

.rx-showcase__lead {
    margin: clamp(0.8rem, 1.5vw, 1.1rem) auto 0;
    max-width: 66ch;
    color: var(--rx-type-body-color);
    font-size: var(--rx-type-body-size);
    line-height: var(--rx-type-body-line);
}

/* Marquee Viewport */
.rx-showcase__viewport {
    position: relative;
    width: 100%;
    overflow: hidden;
    cursor: grab;
    padding-block: 8px;
}

.rx-showcase__viewport:active {
    cursor: grabbing;
}

.rx-showcase__track-wrapper {
    display: flex;
    width: max-content;
    will-change: transform;
    animation: rxShowcaseMarquee 40s linear infinite;
}

@keyframes rxShowcaseMarquee {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(-50%);
    }
}

@media (prefers-reduced-motion: reduce) {
    .rx-showcase__track-wrapper {
        animation: none !important;
        transform: none !important;
        will-change: auto;
    }
}

.rx-showcase__track {
    display: flex;
    flex-wrap: nowrap;
    gap: clamp(0.95rem, 2vw, 1.6rem);
    padding-right: clamp(0.95rem, 2vw, 1.6rem);
}

/* Card Styling — static, no motion effects */
.rx-showcase__card {
    position: relative;
    flex: 0 0 clamp(212px, 27vw, 270px);
    border-radius: 24px;
    overflow: hidden;
    background: var(--rx-home-surface-fill);
    border: 1px solid var(--rx-home-surface-border);
}

.rx-showcase__card-inner {
    position: relative;
    width: 100%;
    aspect-ratio: var(--rx-showcase-card-aspect);
}

.rx-showcase__card-link {
    display: block;
    color: inherit;
    text-decoration: none;
}

.rx-showcase__media {
    position: absolute;
    inset: 0;
}

.rx-showcase__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.rx-showcase__placeholder {
    width: 100%;
    height: 100%;
    background: var(--rx-home-surface-grad-soft);
}

.rx-showcase__overlay {
    position: absolute;
    inset: 0;
    padding: clamp(0.9rem, 1.8vw, 1.2rem);
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.92) 0%, rgba(0, 0, 0, 0.58) 36%, rgba(0, 0, 0, 0.08) 72%);
}

.rx-showcase__meta {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas:
        "tag year"
        "title title";
    align-items: start;
    gap: 0.7rem 0.65rem;
}

.rx-showcase__tag {
    grid-area: tag;
    display: inline-flex;
    align-items: center;
    justify-self: start;
    max-width: 100%;
    min-height: 28px;
    padding: 5px 11px;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.34);
    background: rgba(15, 8, 7, 0.6);
    color: rgba(255, 250, 244, 0.94);
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    line-height: 1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.18);
    text-shadow: 0 1px 8px rgba(0, 0, 0, 0.4);
}

.rx-showcase__card-title {
    grid-area: title;
    font-family: var(--rx-font-heading);
    font-size: var(--rx-type-card-title-size);
    font-weight: 700;
    line-height: var(--rx-type-card-title-line);
    letter-spacing: var(--rx-type-card-title-track);
    color: rgba(255, 250, 244, 0.94);
    margin: 0;
    text-shadow: 0 2px 18px rgba(0, 0, 0, 0.5);
}

.rx-showcase__client {
    display: block;
    margin-top: 3px;
    color: rgba(255, 255, 255, 0.78);
    font-size: var(--rx-type-body-compact-size);
    font-weight: 400;
}

.rx-showcase__note {
    display: block;
    margin-top: 0.45rem;
    color: rgba(255, 255, 255, 0.7);
    font-size: 0.78rem;
    font-weight: 500;
    letter-spacing: 0;
    text-transform: none;
}

.rx-showcase__year {
    grid-area: year;
    justify-self: end;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 28px;
    font-size: var(--rx-type-caption-size);
    font-weight: var(--rx-type-meta-weight);
    letter-spacing: var(--rx-type-meta-track);
    text-transform: uppercase;
    color: rgba(255, 250, 244, 0.94);
    background: rgba(15, 8, 7, 0.6);
    border: 1px solid rgba(255, 255, 255, 0.34);
    border-radius: 999px;
    padding: 5px 10px;
    line-height: 1;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.18);
    text-shadow: 0 1px 8px rgba(0, 0, 0, 0.4);
}

.rx-showcase__action {
    position: absolute;
    top: 12px;
    right: 12px;
}

.rx-showcase__play-btn {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.25);
    background: rgba(0, 0, 0, 0.35);
    color: var(--rx-white);
    display: flex;
    align-items: center;
    justify-content: center;
}

.rx-showcase__empty {
    width: 100%;
    padding: 2.5rem 1rem;
    text-align: center;
    border: 1px dashed var(--rx-border);
    border-radius: 14px;
}

.rx-showcase__empty p {
    margin: 0;
    color: var(--rx-muted);
}

@media (max-width: 62rem) {
    .rx-showcase__card {
        flex: 0 0 clamp(204px, 54vw, 250px);
    }
}

@media (max-width: 47.9375rem) {
    .rx-showcase__viewport {
        padding-block: 0.75rem;
    }

    .rx-showcase__card {
        flex: 0 0 clamp(14.8rem, 66vw, 18rem);
        border-radius: 1rem;
    }

    .rx-showcase__lead {
        max-width: none;
        line-height: 1.58;
        max-height: none;
        display: block;
        overflow: visible;
    }

    .rx-showcase__track-wrapper {
        width: max-content;
        overflow: visible;
    }

    .rx-showcase__track {
        gap: 1rem;
        padding-right: 0;
    }

    .rx-btn--book-any {
        max-width: 100%;
        white-space: normal;
        text-align: center;
    }
}

@media (min-width: 62rem) {
    .rx-showcase__card {
        flex: 0 0 var(--rx-section-card-width);
    }
}

/* --------------------------------------------------------------------------
 * Base Card Adjustments
 * -------------------------------------------------------------------------- */
/* ══════════════════════════════════════════
   18. TEAM
   ══════════════════════════════════════════ */
.rx-team {
    position: relative;
    overflow: hidden;
    background: var(--rx-site-bg);
}

.rx-main:not(.rx-main--team) #team.rx-team.rx-vh-section {
    min-height: auto;
    justify-content: flex-start;
}

.rx-team::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 12% 14%, rgba(231, 34, 101, 0.12), transparent 32%),
        radial-gradient(circle at 88% 76%, rgba(255, 153, 102, 0.07), transparent 30%);
    pointer-events: none;
}

.rx-main--team #team.rx-team {
    padding-top: calc(var(--rx-header-safe-top, 5rem) + clamp(1.1rem, 3vw, 2rem));
    background: var(--rx-site-bg);
}

.rx-main--team #team.rx-team::before {
    display: none;
}

.rx-main--team .rx-team__intro {
    position: static;
    top: auto;
}

.rx-team>.rx-container {
    width: min(100%, var(--rx-section-content-max));
    max-width: var(--rx-section-content-max);
    padding-inline: 0;
}

.rx-team__shell {
    position: relative;
    isolation: isolate;
    padding-top: 0;
}

.rx-team__bg-text {
    position: absolute;
    top: clamp(-0.35rem, 1vw, 0.4rem);
    left: 0;
    font-family: var(--rx-font-heading);
    font-size: clamp(4.5rem, 14vw, 9.5rem);
    line-height: 0.9;
    letter-spacing: -0.05em;
    color: color-mix(in srgb, var(--rx-accent) 10%, transparent);
    pointer-events: none;
    user-select: none;
}

.rx-team__layout {
    position: relative;
    z-index: 1;
    display: grid;
    gap: clamp(1.1rem, 2vw, 1.9rem);
}

.rx-team__intro {
    display: grid;
    gap: var(--rx-home-cluster-gap-loose);
    align-content: start;
}

.rx-team__title {
    max-width: 11ch;
    font-size: var(--rx-type-section-title-size);
    line-height: var(--rx-type-section-title-line);
    letter-spacing: var(--rx-type-section-title-track);
}

.rx-team__copy {
    max-width: min(100%, 58ch);
    color: var(--rx-type-body-color);
    font-size: var(--rx-type-body-size);
    line-height: var(--rx-type-body-line);
}

.rx-team__facts {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 9rem), 11rem));
    justify-content: start;
    gap: clamp(0.7rem, 1vw, 0.95rem);
}

.rx-team__fact {
    min-height: 5.5rem;
    padding: 1rem 1.05rem;
    border: 1px solid var(--rx-home-surface-border);
    border-radius: var(--rx-panel-radius, 12px);
    background: var(--rx-home-surface-fill);
    display: grid;
    gap: 0.3rem;
    align-content: center;
}

.rx-team__fact-value {
    font-family: var(--rx-font-heading);
    font-size: var(--rx-type-feature-title-size);
    line-height: var(--rx-type-feature-title-line);
    color: var(--rx-type-heading-color);
    letter-spacing: var(--rx-type-feature-title-track);
}

.rx-team__fact-label {
    font-size: var(--rx-type-kicker-size);
    line-height: 1.3;
    letter-spacing: var(--rx-type-kicker-track);
    text-transform: uppercase;
    color: var(--rx-type-muted-color);
}

.rx-team__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.rx-team__support {
    margin-top: 0;
    min-width: 0;
    padding-top: var(--rx-home-cluster-gap-loose);
    border-top: 1px solid var(--rx-home-surface-border);
    display: grid;
    gap: var(--rx-home-cluster-gap);
}

.rx-team__support--roster {
    padding-top: clamp(0.95rem, 1.4vw, 1.2rem);
}

.rx-team__support-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}

.rx-team__support-label,
.rx-team__cluster-label {
    font-size: var(--rx-type-kicker-size);
    font-weight: var(--rx-type-kicker-weight);
    letter-spacing: var(--rx-type-kicker-track);
    text-transform: uppercase;
    color: var(--rx-type-muted-color);
}

.rx-team__support-copy {
    max-width: min(100%, 54ch);
    color: var(--rx-type-body-color);
    font-size: var(--rx-type-body-size);
    line-height: var(--rx-type-body-line);
}

.rx-team__support-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    margin: 0;
    padding: 0;
}

.rx-team__support-list li {
    border: 1px solid var(--rx-home-pill-border);
    border-radius: 999px;
    padding: 0.48rem 0.78rem;
    color: var(--rx-type-body-color);
    background: var(--rx-home-pill-fill);
    font-size: 0.83rem;
}

.rx-team__roster {
    display: grid;
    gap: var(--rx-home-cluster-gap-loose);
    min-width: 0;
    align-content: start;
}

.rx-team__cluster {
    display: grid;
    gap: var(--rx-home-cluster-gap);
    min-width: 0;
}

.rx-main:not(.rx-main--team) #team.rx-team .rx-team__intro>.rx-section-header {
    margin-bottom: 0;
}

.rx-team__cluster-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
    padding-bottom: var(--rx-home-cluster-gap);
    border-bottom: 1px solid var(--rx-home-surface-border);
}

.rx-team__cluster-count {
    color: var(--rx-type-meta-color);
    font-size: var(--rx-type-meta-size);
    letter-spacing: var(--rx-type-meta-track);
    text-transform: uppercase;
}

.rx-team-selector {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(13rem, 16rem);
    gap: var(--rx-home-cluster-gap);
    min-width: 0;
}

.rx-team-selector__nav {
    display: grid;
    gap: var(--rx-home-cluster-gap);
    align-content: stretch;
    grid-template-rows: minmax(0, 1fr) auto;
    min-width: 0;
}

.rx-team-selector__pages {
    min-width: 0;
    display: grid;
}

.rx-team-selector__page {
    display: grid;
    gap: 0.5rem;
    align-content: start;
}

.rx-team-selector__page[hidden] {
    display: none !important;
}

.rx-team-selector__list {
    display: grid;
    gap: 0.5rem;
    align-content: start;
}

.rx-team-selector__trigger {
    width: 100%;
    min-width: 0;
    border: 1px solid transparent;
    border-radius: 1rem;
    background: var(--rx-home-pill-fill);
    color: var(--rx-type-body-color);
    padding: 0.72rem 0.82rem;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.65rem;
    align-items: center;
    text-align: left;
    transition:
        border-color 0.22s ease,
        background-color 0.22s ease,
        color 0.22s ease,
        transform 0.22s ease;
}

.rx-team-selector__trigger:hover,
.rx-team-selector__trigger:focus-visible {
    border-color: var(--rx-border-pink);
    background: var(--rx-home-pill-fill-hover);
    color: var(--rx-type-heading-color);
    transform: translateX(0.18rem);
}

.rx-team-selector__trigger:focus-visible {
    outline: none;
    box-shadow: var(--rx-shadow-glow);
}

.rx-team-selector__trigger.is-active {
    border-color: color-mix(in srgb, var(--rx-accent) 42%, var(--rx-border-pink));
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--rx-accent) 10%, transparent), color-mix(in srgb, var(--rx-bg-card) 70%, transparent)),
        var(--rx-home-pill-fill-hover);
    color: var(--rx-type-heading-color);
    transform: translateX(0.22rem);
}

.rx-team-selector__number {
    width: 2rem;
    /* raised from 1.95rem — clearer, meets 28px+ guideline */
    height: 2rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    border: 1px solid var(--rx-home-pill-border);
    background: var(--rx-home-pill-fill);
    color: var(--rx-accent);
    font-size: var(--rx-type-meta-size);
    /* 0.75rem — readable inside circle */
    font-weight: var(--rx-type-meta-weight);
    letter-spacing: var(--rx-type-meta-track);
    text-transform: uppercase;
    flex-shrink: 0;
}

.rx-team-selector__name {
    min-width: 0;
    display: block;
    font-size: var(--rx-type-body-size);
    line-height: 1.15;
    letter-spacing: -0.01em;
}

.rx-team-selector__detail-shell {
    min-width: 0;
}

.rx-team-selector__pager {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.8rem;
    padding-top: 0.15rem;
}

.rx-team-selector__pager-btn {
    width: var(--rx-home-control-size);
    height: var(--rx-home-control-size);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    border: 1px solid var(--rx-home-pill-border);
    background: var(--rx-home-control-fill);
    color: var(--rx-type-heading-color);
    transition:
        border-color 0.22s ease,
        background-color 0.22s ease,
        color 0.22s ease,
        opacity 0.22s ease;
}

.rx-team-selector__pager-btn:hover,
.rx-team-selector__pager-btn:focus-visible {
    border-color: var(--rx-border-pink);
    background: var(--rx-home-control-fill-hover);
}

.rx-team-selector__pager-btn:focus-visible {
    outline: none;
    box-shadow: var(--rx-shadow-glow);
}

.rx-team-selector__pager-btn[disabled] {
    opacity: 0.4;
    pointer-events: none;
}

.rx-team-selector__pager-status {
    text-align: center;
    font-size: var(--rx-type-meta-size);
    font-weight: var(--rx-type-meta-weight);
    letter-spacing: var(--rx-type-meta-track);
    text-transform: uppercase;
    color: var(--rx-type-muted-color);
}

.rx-team-panel {
    min-width: 0;
    padding: clamp(1.05rem, 1.8vw, 1.45rem);
    border: 1px solid var(--rx-home-surface-border);
    border-radius: var(--rx-panel-radius, 12px);
    background:
        var(--rx-home-surface-grad-soft),
        var(--rx-home-surface-fill-soft);
    box-shadow: var(--rx-home-shadow-soft);
    display: grid;

    gap: 0.95rem;
    align-content: start;
}

.rx-team-panel[hidden] {
    display: none !important;
}

.rx-team-panel__header {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.95rem;
    align-items: center;
}

.rx-team-panel__avatar {
    width: clamp(4.35rem, 6vw, 5rem);
    aspect-ratio: 1;
    border-radius: var(--rx-card-radius, 10px);
    overflow: hidden;
    background: var(--rx-home-pill-fill);
    border: 1px solid var(--rx-home-pill-border);
    display: grid;
    place-items: center;
}

.rx-team-panel__portrait {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.rx-team-panel__initials {
    width: 100%;
    height: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--rx-brand-gradient);
    color: var(--rx-white);
    font-family: var(--rx-font-heading);
    font-size: clamp(1.35rem, 2vw, 1.72rem);
    line-height: 1;
    letter-spacing: -0.04em;
}

.rx-team-panel__headline {
    min-width: 0;
    display: grid;
    gap: 0.22rem;
}

.rx-team-panel__role {
    font-size: var(--rx-type-meta-size);
    font-weight: var(--rx-type-meta-weight);
    letter-spacing: var(--rx-type-meta-track);
    text-transform: uppercase;
    color: var(--rx-type-meta-color);
}

.rx-team-panel__name {
    margin: 0;
    font-size: var(--rx-type-feature-title-size);
    line-height: var(--rx-type-feature-title-line);
    letter-spacing: var(--rx-type-feature-title-track);
}

.rx-team-panel__points {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.rx-team-panel__points li {
    padding: 0.46rem 0.72rem;
    border-radius: 999px;
    border: 1px solid var(--rx-home-pill-border);
    background: var(--rx-home-pill-fill);
    color: var(--rx-type-body-color);
    font-size: 0.8rem;
    line-height: 1.15;
}

.rx-team-panel__bio {
    max-width: 48ch;
    margin: 0;
    color: var(--rx-type-body-color);
    font-size: var(--rx-type-body-size);
    line-height: var(--rx-type-body-line);
}

.rx-team-member__link {
    margin-top: 0.1rem;
    display: inline-flex;
    align-items: center;
    gap: 0.42rem;
    width: fit-content;
    font-size: var(--rx-type-meta-size);
    /* uses raised token: 0.75rem */
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--rx-type-meta-color);
}

.rx-team-member__link:hover,
.rx-team-member__link:focus-visible {
    color: var(--rx-accent);
}

.rx-team--story-only .rx-team__layout {
    grid-template-columns: minmax(0, 1fr);
}

.rx-team--story-only .rx-team__intro {
    max-width: min(100%, 60rem);
}

.rx-team__roster--directory {
    gap: clamp(1rem, 1.8vw, 1.4rem);
}

.rx-team-directory {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr));
    gap: clamp(0.85rem, 1.5vw, 1.15rem);
}

.rx-team-directory-card {
    min-width: 0;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: clamp(0.8rem, 1.4vw, 1rem);
    align-items: start;
    padding: clamp(0.95rem, 1.5vw, 1.2rem);
    border: 1px solid var(--rx-home-surface-border);
    border-radius: var(--rx-panel-radius, 12px);
    background: var(--rx-home-surface-fill);
    box-shadow: none;
}

.rx-team-directory-card__avatar {
    width: clamp(4rem, 5vw, 4.8rem);
    aspect-ratio: 1;
    border-radius: 1rem;
    overflow: hidden;
    border: 1px solid var(--rx-home-pill-border);
    background: var(--rx-home-pill-fill);
    display: grid;
    place-items: center;
}

.rx-team-directory-card__portrait {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.rx-team-directory-card__initials {
    width: 100%;
    height: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--rx-brand-gradient);
    color: var(--rx-white);
    font-family: var(--rx-font-heading);
    font-size: clamp(1.25rem, 2vw, 1.55rem);
    font-weight: 700;
    line-height: 1;
}

.rx-team-directory-card__body {
    min-width: 0;
    display: grid;
    gap: 0.58rem;
}

.rx-team-directory-card__head {
    min-width: 0;
    display: grid;
    gap: 0.16rem;
}

.rx-team-directory-card__eyebrow {
    color: var(--rx-type-meta-color);
    font-size: var(--rx-type-meta-size);
    font-weight: var(--rx-type-meta-weight);
    letter-spacing: var(--rx-type-meta-track);
    text-transform: uppercase;
}

.rx-team-directory-card__name {
    margin: 0;
    font-size: var(--rx-type-card-title-size);
    line-height: var(--rx-type-card-title-line);
    letter-spacing: var(--rx-type-card-title-track);
    color: var(--rx-type-heading-color);
}

.rx-team-directory-card__role,
.rx-team-directory-card__bio {
    margin: 0;
    color: var(--rx-type-body-color);
}

.rx-team-directory-card__role {
    font-size: var(--rx-type-body-compact-size);
    line-height: var(--rx-type-body-compact-line);
}

.rx-team-directory-card__bio {
    font-size: 0.9rem;
    line-height: 1.55;
}

.rx-team-directory-card__points {
    display: flex;
    flex-wrap: wrap;
    gap: 0.42rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.rx-team-directory-card__points li {
    padding: 0.34rem 0.58rem;
    border: 1px solid var(--rx-home-pill-border);
    border-radius: 999px;
    background: var(--rx-home-pill-fill);
    color: var(--rx-type-body-color);
    font-size: 0.75rem;
    line-height: 1.16;
}

@media (min-width: 64rem) {
    .rx-main:not(.rx-main--team) #team.rx-team {
        padding-top: clamp(2.45rem, 4vw, 3.5rem);
        padding-bottom: clamp(2.45rem, 4vw, 3.5rem);
    }

    .rx-team__layout {
        grid-template-columns: minmax(0, 0.88fr) minmax(0, 1.12fr);
        align-items: start;
    }

    .rx-main:not(.rx-main--team) #team.rx-team .rx-team__title {
        max-width: min(100%, 17ch);
    }

    .rx-team__intro {
        position: sticky;
        top: calc(var(--rx-header-safe-top) + 1rem);
    }
}

@media (min-width: 80rem) {
    .rx-main:not(.rx-main--team) #team.rx-team .rx-team__intro {
        grid-template-columns: max-content minmax(0, 1fr);
        column-gap: clamp(0.85rem, 1.4vw, 1.15rem);
        row-gap: clamp(0.8rem, 1.35vw, 1.05rem);
        align-items: center;
    }

    .rx-main:not(.rx-main--team) #team.rx-team .rx-team__intro>.rx-section-header {
        grid-column: 1 / -1;
    }

    .rx-main:not(.rx-main--team) #team.rx-team .rx-team__facts {
        grid-column: 1;
    }

    .rx-main:not(.rx-main--team) #team.rx-team .rx-team__actions {
        grid-column: 2;
        align-self: center;
    }

    .rx-team__roster {
        gap: 1.25rem;
    }

    .rx-team-selector {
        grid-template-columns: minmax(0, 1fr) minmax(13.75rem, 16.75rem);
    }
}

@media (max-width: 63.9375rem) {
    .rx-team>.rx-container {
        padding-inline: 0.875rem;
    }

    .rx-team__bg-text {
        font-size: clamp(3.8rem, 18vw, 7rem);
    }

    .rx-team__layout {
        gap: 1.2rem;
    }

    .rx-team__roster {
        gap: 1rem;
    }

    .rx-team-selector {
        grid-template-columns: minmax(0, 1fr);
        gap: 0.85rem;
    }

    .rx-team-selector__nav {
        gap: 0.7rem;
        grid-template-rows: auto auto;
    }

    .rx-team-selector__trigger {
        width: 100%;
        min-width: 0;
        padding: 0.72rem 0.86rem;
        border-radius: 1rem;
        transform: none;
    }

    .rx-team-selector__pager {
        padding-top: 0;
    }

    .rx-team-selector__trigger:hover,
    .rx-team-selector__trigger:focus-visible,
    .rx-team-selector__trigger.is-active {
        transform: none;
    }

    .rx-team-panel {
        border-radius: 1.25rem;
    }
}

@media (max-width: 47.9375rem) {
    .rx-team {
        min-height: auto;
    }

    .rx-main--team #team.rx-team.rx-vh-section {
        padding-top: calc(var(--rx-header-safe-top, 5rem) + clamp(0.9rem, 4vw, 1.35rem));
        padding-bottom: var(--rx-home-section-space);
    }

    .rx-main--team #team.rx-team::before,
    .rx-main--team #team .rx-section-bg-text {
        display: none;
    }

    .rx-main--team #team>.rx-container {
        width: min(100%, var(--rx-mobile-section-max));
        max-width: var(--rx-mobile-section-max);
        padding-inline: 0;
    }

    .rx-team__shell {
        padding-top: 0;
    }

    .rx-team__layout {
        gap: 0.58rem;
    }

    .rx-team__intro {
        grid-template-columns: auto minmax(0, 1fr);
        align-items: center;
        column-gap: 0.62rem;
        row-gap: 0.52rem;
    }

    .rx-team__intro>.rx-section-header,
    .rx-team__support {
        grid-column: 1 / -1;
    }

    #team.rx-team .rx-section-bg-text {
        display: none;
    }

    .rx-main--team .rx-team__intro {
        gap: 0.9rem;
    }

    .rx-main--team #team .rx-section-header {
        margin-bottom: 0;
    }

    .rx-main--team #team .rx-section-intro {
        margin-top: 0.78rem;
        max-width: none;
        font-size: 0.95rem;
        line-height: 1.58;
        max-height: none;
        display: block;
        overflow: visible;
    }

    .rx-team__title {
        max-width: 10.5ch;
        font-size: clamp(1.52rem, 7.05vw, 2.08rem);
        line-height: 0.96;
        letter-spacing: -0.04em;
    }

    .rx-team__copy {
        max-width: 35ch;
        font-size: 0.86rem;
        line-height: 1.46;
        max-height: none;
        display: block;
        overflow: visible;
    }

    .rx-team__facts {
        grid-template-columns: minmax(0, max-content);
        gap: 0;
    }

    .rx-team__fact {
        min-height: 0;
        min-width: 6.15rem;
        padding: 0.5rem 0.62rem;
        gap: 0.12rem;
        border-radius: 0.82rem;
    }

    .rx-team__fact-value {
        font-size: clamp(0.92rem, 4.4vw, 1.2rem);
    }

    .rx-team__fact-label {
        font-size: var(--rx-type-caption-size);
        /* raised to 0.72rem — was 0.6rem (9.6px, inaccessible) */
        letter-spacing: 0.09em;
    }

    .rx-team__actions {
        width: auto;
        justify-self: start;
        align-self: center;
        margin-top: 0;
    }

    .rx-team__actions .rx-btn {
        width: auto;
        min-height: 2.25rem;
        padding: 0.48rem 0.82rem;
        border-radius: 999px;
        font-size: 0.68rem;
        letter-spacing: 0.075em;
        justify-content: center;
        box-shadow: none;
    }

    .rx-main--team .rx-team__actions {
        display: none;
    }

    .rx-main--team .rx-team__roster {
        gap: 0.95rem;
    }

    .rx-main--team .rx-team__cluster-head {
        padding-bottom: 0.5rem;
    }

    .rx-main--team .rx-team-directory {
        grid-template-columns: minmax(0, 1fr);
        gap: 0.75rem;
    }

    .rx-main--team .rx-team-directory-card {
        grid-template-columns: 3.75rem minmax(0, 1fr);
        gap: 0.76rem;
        padding: 0.82rem;
        border-radius: 1rem;
        box-shadow: none;
    }

    .rx-main--team .rx-team-directory-card__avatar {
        width: 3.75rem;
        border-radius: 0.85rem;
    }

    .rx-main--team .rx-team-directory-card__body {
        gap: 0.5rem;
    }

    .rx-main--team .rx-team-directory-card__name {
        font-size: clamp(1.08rem, 5.3vw, 1.36rem);
    }

    .rx-main--team .rx-team-directory-card__bio {
        font-size: 0.82rem;
        line-height: 1.48;
        max-height: calc(1.48em * 2);
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

    .rx-main--team .rx-team-directory-card__points {
        gap: 0.34rem;
    }

    .rx-main--team .rx-team-directory-card__points li {
        padding: 0.32rem 0.52rem;
        font-size: 0.7rem;
    }

    .rx-team__support {
        gap: 0.45rem;
        padding-top: 0.72rem;
    }

    .rx-team__support-copy {
        max-width: 34ch;
        font-size: 0.84rem;
        line-height: 1.46;
        max-height: none;
        display: block;
        overflow: visible;
        white-space: normal;
    }

    .rx-team__support-list {
        flex-wrap: wrap;
        overflow: visible;
        padding-bottom: 0;
        overscroll-behavior-x: auto;
    }

    .rx-team__support-list li {
        flex: 0 1 auto;
        white-space: normal;
        padding: 0.36rem 0.62rem;
        font-size: 0.73rem;
    }

    .rx-team__cluster-head {
        padding-bottom: 0.35rem;
    }

    .rx-team-selector {
        gap: 0.56rem;
    }

    .rx-team-selector__nav {
        order: -1;
        gap: 0.52rem;
        grid-template-rows: auto;
    }

    .rx-team-selector__pages {
        display: flex;
        gap: 0.45rem;
        overflow-x: auto;
        padding-bottom: 0.15rem;
        scroll-snap-type: x proximity;
        overscroll-behavior-x: contain;
    }

    .rx-team-selector__page {
        display: flex;
        flex: 0 0 auto;
        gap: 0.45rem;
        overflow: visible;
        padding-bottom: 0;
    }

    .rx-team-selector__page>.rx-team-selector__trigger {
        scroll-snap-align: start;
    }

    .rx-team-selector__trigger {
        flex: 0 0 min(13rem, 72vw);
        gap: 0.5rem;
        padding: 0.62rem 0.76rem;
    }

    .rx-team-selector__number {
        width: 1.7rem;
        height: 1.7rem;
        font-size: 0.62rem;
    }

    .rx-team-panel {
        padding: 0.82rem;
        gap: 0.66rem;
    }

    .rx-team-panel__header {
        grid-template-columns: 3.6rem minmax(0, 1fr);
        gap: 0.72rem;
    }

    .rx-team-panel__avatar {
        width: 3.6rem;
        border-radius: 0.9rem;
    }

    .rx-team-selector__pager {
        display: none;
    }

    .rx-team-selector__pager-btn {
        width: 2.3rem;
        height: 2.3rem;
    }

    .rx-team-selector__pager-status {
        font-size: 0.7rem;
    }

    .rx-team-panel__name {
        font-size: clamp(1.1rem, 6.4vw, 1.46rem);
    }

    .rx-team-panel__points {
        gap: 0.38rem;
    }

    .rx-team-panel__points li {
        padding: 0.36rem 0.58rem;
        font-size: 0.72rem;
        white-space: nowrap;
    }

    .rx-team-panel__bio {
        font-size: 0.83rem;
        line-height: 1.48;
        max-height: calc(1.48em * 3);
        display: -webkit-box;
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }
}

/* ══════════════════════════════════════════
   17. TESTIMONIALS (Premium Editorial Redesign)
   ══════════════════════════════════════════ */
.tp-testimonial-area {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    background: var(--rx-dark);
}

.tp-testimonial-area::before {
    display: none;
}

.tp-testimonial-section-title .tp-section-title-wrapper p {
    margin-inline: auto;
    max-width: 70ch;
    color: var(--rx-type-body-color);
    font-size: var(--rx-type-body-size);
    line-height: var(--rx-type-body-line);
}

/* --------------------------------------------------------------------------
 * Base Typography & Container Overrides 
 * (Migrated from style.css)
 * -------------------------------------------------------------------------- */
.tp-testimonial-area>.rx-container {
    width: min(100%, var(--rx-section-content-max));
    max-width: var(--rx-section-content-max);
    padding-inline: 0;
}

.tp-testimonial-item,
.tp-testimonial-slider,
.tp-testimonial-slider-active {
    max-width: 100%;
}

.rx-testimonials {
    padding-top: clamp(2rem, 3.5vw, 3.2rem);
    padding-bottom: clamp(2rem, 3.5vw, 3.2rem);
}

#testimonials.rx-testimonials {
    padding-top: clamp(2rem, 3.5vw, 3.2rem);
    padding-bottom: clamp(2rem, 3.5vw, 3.2rem);
}

#testimonials .rx-section-header {
    margin-bottom: clamp(1.25rem, 2.2vw, 2rem);
}

/* Keep headline cluster away from viewport edges */
#testimonials .tp-testimonial-section-title {
    padding-inline: clamp(14px, 2.4vw, 34px);
}

#testimonials .tp-testimonial-section-title .tp-section-title-wrapper {
    width: 100%;
    margin-inline: auto;
}

#testimonials .tp-testimonial-section-title .tp-section-title-inner {
    padding-inline: clamp(8px, 1.5vw, 18px);
}

#testimonials .tp-testimonial-section-title .tp-section-subtitle-bg {
    left: 50%;
    transform: translateX(-50%);
    max-width: 100%;
    font-size: clamp(60px, 9vw, 110px);
    opacity: 0.028;
}

#testimonials .tp-testimonial-section-title .tp-section-title {
    max-width: 20ch;
    margin-inline: auto;
    font-size: var(--rx-type-section-title-size);
    font-weight: 700;
}

#testimonials .tp-testimonial-section-title .tp-section-subtitle {
    margin-inline: auto;
}

.rx-testimonials__meta {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(10px, 1.5vw, 16px);
    width: 100%;
    margin: 0 auto clamp(12px, 1.5vw, 20px);
}

/* --------------------------------------------------------------------------
 * Testimonials heading consistency (Migrated from style.css)
 * -------------------------------------------------------------------------- */
.rx-testimonial-card {
    background: var(--rx-home-surface-fill);
}

.rx-testimonial-quote-icon {
    color: color-mix(in srgb, var(--rx-accent) 14%, transparent);
}

.tp-testimonial-section-title {
    margin-bottom: clamp(1.25rem, 2.2vw, 2rem);
}

.tp-testimonial-section-title .tp-section-title-wrapper,
.tp-testimonial-section-title .tp-section-title-inner {
    overflow: visible;
}

.tp-testimonial-section-title .tp-section-title-inner {
    padding-top: clamp(1.25rem, 2.2vw, 2.25rem);
}

.tp-testimonial-section-title .tp-section-subtitle {
    position: relative;
    top: 0;
    left: 0 !important;
    transform: none;
    display: inline-block;
    margin-bottom: clamp(0.5rem, 1.2vw, 0.9rem);
}

.tp-testimonial-section-title .tp-section-subtitle-bg {
    top: clamp(0rem, 0.6vw, 0.9rem);
    left: 50%;
    transform: translateX(-50%);
    font-size: clamp(5.25rem, 10vw, 10.5rem);
    line-height: 0.98;
    white-space: nowrap;
    z-index: 0;
    pointer-events: none;
}

.tp-testimonial-section-title .tp-section-title {
    line-height: 1.02;
    position: relative;
    z-index: 1;
}

.rx-testimonials__meta-item {
    border: 1px solid var(--rx-home-pill-border);
    background: var(--rx-home-pill-fill);
    border-radius: 999px;
    padding: 10px 18px;
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 10px;
    min-height: 52px;
}

.rx-testimonials__meta-value {
    font-family: var(--rx-font-heading);
    font-size: var(--rx-type-feature-title-size);
    line-height: var(--rx-type-feature-title-line);
    color: var(--rx-type-heading-color);
    letter-spacing: var(--rx-type-feature-title-track);
}

.rx-testimonials__meta-label {
    font-size: var(--rx-type-meta-size);
    /* uses raised 0.75rem token */
    line-height: 1.2;
    text-transform: uppercase;
    letter-spacing: var(--rx-type-meta-track);
    color: var(--rx-type-muted-color);
}

.rx-testimonials__slider-shell {
    width: 100%;
    margin-inline: auto;
    position: relative;
    padding-top: 6px;
}

.rx-testimonials__controls {
    position: absolute;
    right: 10px;
    top: -8px;
    display: inline-flex;
    gap: 8px;
    z-index: 4;
}

.rx-testimonials__arrow {
    width: max(47px, var(--rx-home-control-size));
    height: max(47px, var(--rx-home-control-size));
    border-radius: 999px;
    border: 1px solid var(--rx-home-pill-border);
    color: var(--rx-type-heading-color);
    background: var(--rx-home-control-fill);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition:
        border-color 0.22s ease,
        background-color 0.22s ease,
        color 0.22s ease,
        opacity 0.22s ease;
}

.rx-testimonials__arrow:hover {
    color: var(--rx-accent);
    border-color: var(--rx-accent);
    background: var(--rx-home-control-fill-hover);
}

.rx-testimonials__arrow.swiper-button-disabled {
    opacity: 0.35;
    pointer-events: none;
}

.rx-testimonials__arrow:focus-visible {
    outline: 2px solid var(--rx-accent);
    outline-offset: 2px;
}

.tp-testimonial-slider-active {
    overflow: hidden;
    border-radius: var(--rx-panel-radius, 12px);
}

.tp-testimonial-slider-active .swiper-slide {
    height: auto;
    display: flex;
}

.tp-testimonial-item.rx-testimonial-card {
    width: 100%;
    min-height: clamp(200px, 18vw, 240px);
    border-radius: var(--rx-panel-radius, 12px);
    border: 1px solid var(--rx-home-surface-border);
    background:
        var(--rx-home-surface-grad-soft),
        var(--rx-home-surface-fill-strong);
    padding: clamp(22px, 2.4vw, 34px);
    box-shadow: var(--rx-home-shadow-soft);
    display: flex;

    flex-direction: column;
    position: relative;
    overflow: hidden;
}

.tp-testimonial-item.rx-testimonial-card::after {
    display: none;
}

.rx-testimonial-card__quote-mark {
    position: absolute;
    top: 14px;
    right: 14px;
    color: color-mix(in srgb, var(--rx-accent) 14%, transparent);
    pointer-events: none;
}

.rx-testimonial-quote-icon {
    width: clamp(52px, 6.6vw, 80px);
    height: auto;
}

.rx-testimonial-card__rating-row {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: clamp(12px, 1.5vw, 18px);
}

.rx-testimonial-stars {
    display: inline-flex;
    gap: 4px;
}

.rx-testimonial-star {
    color: color-mix(in srgb, var(--rx-text-muted) 28%, transparent);
    display: inline-flex;
}

.rx-testimonial-star.is-active {
    color: var(--rx-accent);
}

.rx-testimonial-card__rating-value {
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--rx-muted);
}

.rx-testimonial-card__quote {
    margin: 0 0 clamp(16px, 2vw, 24px);
}

.rx-testimonial-card__quote p {
    margin: 0;
    font-family: var(--rx-font-heading);
    font-size: clamp(21px, 2.05vw, 29px);
    line-height: 1.35;
    letter-spacing: -0.012em;
    color: var(--rx-type-heading-color);
}

.rx-testimonial-card__author {
    margin-top: clamp(12px, 1.8vw, 22px);
    display: flex;
    align-items: center;
    gap: 14px;
    padding-top: 16px;
    border-top: 1px solid var(--rx-home-surface-border);
}

.tp-testimonial-user-thumb img,
.rx-testimonial-card__avatar img,
.rx-testi-placeholder {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    object-fit: cover;
}

.rx-testi-placeholder {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--rx-white);
    background: var(--rx-accent);
    font-weight: 700;
    font-size: 20px;
}

.rx-testimonial-card__name {
    margin: 0;
    font-size: 20px;
    line-height: 1.1;
    color: var(--rx-type-heading-color);
}

.rx-testimonial-card__role {
    display: block;
    margin-top: 4px;
    font-size: 14px;
    color: var(--rx-muted);
}

.tp-testimonial-thumb-slider {
    margin-top: clamp(12px, 1.7vw, 18px);
}

.tp-testimonial-nav {
    overflow: hidden;
}

.tp-testimonial-nav .swiper-slide {
    height: auto;
    cursor: pointer;
}

.tp-testimonial-user-item {
    display: flex;
    align-items: center;
    gap: 12px;
    border: 1px solid var(--rx-home-surface-border);
    border-radius: 14px;
    padding: 12px;
    min-height: 84px;
    transition:
        border-color 0.22s ease,
        background-color 0.22s ease,
        color 0.22s ease,
        transform 0.22s ease;
    background: var(--rx-home-surface-fill-soft);
}

.tp-testimonial-user-content {
    min-width: 0;
}

.tp-testimonial-user-title {
    margin: 0 0 2px;
    font-size: 16px;
    line-height: 1.2;
    color: var(--rx-type-heading-color);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.tp-testimonial-user-designation {
    display: block;
    font-size: 13px;
    color: var(--rx-muted);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.tp-testimonial-nav .swiper-slide:hover .tp-testimonial-user-item {
    border-color: color-mix(in srgb, var(--rx-accent) 35%, var(--rx-border));
    background: color-mix(in srgb, var(--rx-accent) 7%, var(--rx-home-pill-fill));
}

.tp-testimonial-nav .swiper-slide.swiper-slide-thumb-active .tp-testimonial-user-item {
    border-color: var(--rx-accent);
    background: color-mix(in srgb, var(--rx-accent) 11%, var(--rx-home-pill-fill));
}

.tp-testimonial-nav .swiper-slide.swiper-slide-thumb-active .tp-testimonial-user-title {
    color: var(--rx-type-heading-color);
}

.rx-main--reviews {
    background: var(--rx-site-bg);
}

.rx-reviews-page {
    min-height: 100dvh;
    padding-top: calc(var(--rx-header-safe-top, 5rem) + clamp(1.1rem, 3vw, 2rem));
    background: var(--rx-site-bg);
}

.rx-reviews-page>.rx-container {
    width: min(100%, var(--rx-section-content-max));
    max-width: var(--rx-section-content-max);
    padding-inline: 0;
}

.rx-reviews-page__header {
    margin-bottom: clamp(1.1rem, 2.3vw, 1.8rem);
}

.rx-reviews-page__header .rx-section-title {
    max-width: 16ch;
    margin-inline: auto;
}

.rx-reviews-page__header .rx-section-intro {
    max-width: 62ch;
}

.rx-reviews-page__meta {
    margin-bottom: clamp(1rem, 2.2vw, 1.7rem);
}

.rx-reviews-page__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 21rem), 1fr));
    gap: clamp(0.85rem, 1.7vw, 1.25rem);
    align-items: stretch;
}

.rx-reviews-page-card {
    min-height: 0;
    height: auto;
}

.rx-reviews-page-card .rx-testimonial-card__quote {
    margin-bottom: clamp(0.9rem, 1.5vw, 1.2rem);
}

.rx-reviews-page-card .rx-testimonial-card__quote p {
    font-size: clamp(1.02rem, 0.42vw + 0.96rem, 1.2rem);
    line-height: 1.55;
    letter-spacing: 0;
}

.rx-reviews-page-card .rx-testimonial-card__author {
    margin-top: auto;
}

.rx-reviews-page-card .rx-testimonial-card__name {
    font-size: clamp(1rem, 0.35vw + 0.94rem, 1.15rem);
}

.rx-reviews-page__empty {
    max-width: 42rem;
    margin-inline: auto;
    min-height: 0;
}

@media (max-width: 991px) {
    .rx-testimonials__meta {
        grid-template-columns: 1fr;
        width: 100%;
        gap: 0.6rem;
    }

    .rx-testimonials__controls {
        top: -2px;
    }
}

@media (max-width: 767px) {
    #testimonials.rx-testimonials {
        padding-top: clamp(1.9rem, 6vw, 2.5rem);
        padding-bottom: var(--rx-home-section-space);
    }

    #testimonials .rx-section-header {
        margin-bottom: clamp(0.85rem, 3.4vw, 1.1rem);
    }

    .rx-testimonials__meta {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 0;
        width: 100%;
        max-width: 100%;
        min-width: 0;
        margin-bottom: 0.72rem;
        overflow: hidden;
        border: 1px solid var(--rx-home-pill-border);
        border-radius: 1rem;
        background: var(--rx-home-pill-fill);
    }

    .rx-testimonials__meta-item {
        min-height: 3.45rem;
        min-width: 0;
        padding: 0.62rem 0.48rem;
        border: 0;
        border-radius: 0;
        border-right: 1px solid var(--rx-home-pill-border);
        background: transparent;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 0.16rem;
        text-align: center;
    }

    .rx-testimonials__meta-item:last-child {
        border-right: 0;
    }

    .rx-testimonials__meta-value {
        max-width: 100%;
        font-size: clamp(0.98rem, 4.35vw, 1.18rem);
        line-height: 0.98;
        letter-spacing: -0.015em;
        overflow-wrap: anywhere;
        text-align: center;
    }

    .rx-testimonials__meta-label {
        max-width: 10ch;
        font-size: 0.52rem;
        line-height: 1.12;
        letter-spacing: 0.08em;
        overflow-wrap: anywhere;
    }

    .rx-testimonials__slider-shell {
        padding-top: 0;
    }

    .rx-testimonials__controls {
        position: static;
        margin-bottom: 0.72rem;
        justify-content: flex-end;
        gap: 0.55rem;
    }

    .rx-testimonials__arrow {
        width: 2.6rem;
        height: 2.6rem;
    }

    .rx-main--reviews #testimonials.rx-reviews-page.rx-testimonials {
        padding-top: calc(var(--rx-header-safe-top, 5rem) + clamp(2.25rem, 9vw, 3rem));
        padding-bottom: calc(var(--rx-mobile-nav-height, 64px) + 1.9rem);
    }

    .rx-reviews-page>.rx-container {
        width: min(90vw, 100%);
        max-width: 90vw;
    }

    .rx-reviews-page__header {
        margin-bottom: 0.9rem;
    }

    .rx-reviews-page__header .rx-section-bg-text {
        display: none;
    }

    .rx-reviews-page__meta {
        margin-bottom: 0.85rem;
    }

    .rx-reviews-page__grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 0.82rem;
    }

    .rx-reviews-page-card .rx-testimonial-card__quote p {
        font-size: 1rem;
        line-height: 1.5;
        overflow-wrap: break-word;
    }

    .tp-testimonial-item.rx-testimonial-card {
        padding: 1rem;
        min-height: 0;
        border-radius: 16px;
    }

    .rx-testimonial-card__quote p {
        font-size: clamp(19px, 5.2vw, 24px);
        line-height: 1.45;
        overflow-wrap: break-word;
    }

    .rx-main--reviews #testimonials .rx-reviews-page-card .rx-testimonial-card__quote p {
        font-size: 1rem;
        line-height: 1.5;
    }

    .rx-main--reviews #testimonials .rx-reviews-page-card .rx-testimonial-card__quote-mark {
        top: 0.8rem;
        right: 0.8rem;
    }

    .rx-main--reviews #testimonials .rx-reviews-page-card .rx-testimonial-quote-icon {
        width: 3rem;
    }

    #rx-main.rx-main--reviews~.rx-wa-float {
        display: none !important;
    }

    .tp-testimonial-user-item {
        min-height: 74px;
        padding: 10px;
    }

    .tp-testimonial-user-thumb img,
    .rx-testimonial-card__avatar img,
    .rx-testi-placeholder {
        width: 46px;
        height: 46px;
    }
}

/* --------------------------------------------------------------------------
 * Testimonials Refresh & Mobile Adjustments (Migrated from style.css)
 * -------------------------------------------------------------------------- */
/* ══════════════════════════════════════════
   TESTIMONIALS — SWIPER OVERFLOW FIX
   Defensive rule: ensures Swiper containers
   clip overflowing slides (prevents overlap)
   ══════════════════════════════════════════ */
/* Testimonials section: isolation to prevent bleed */
.rx-testimonials {
    isolation: isolate;
}

/*
 * Reels Feed (Thumbnail Grid) — page-reels.php
 */

.rx-reels-grid-shell {
    min-height: 100dvh;
    padding-top: calc(var(--rx-header-safe-top, 80px) + 2rem);
    padding-bottom: 3rem;
    background: var(--rx-dark);
}

.rx-reels-grid-shell .rx-container {
    max-width: 72rem;
    margin: 0 auto;
    padding: 0 1rem;
}

.rx-reels-grid-header {
    text-align: center;
    margin-bottom: clamp(1.5rem, 4vw, 2.5rem);
}

.rx-reels-grid-header h1 {
    font-family: var(--rx-font-heading);
    font-size: clamp(1.8rem, 4vw, 2.6rem);
    font-weight: 700;
    color: var(--rx-type-heading-color);
    margin: 0 0 0.5rem;
    letter-spacing: -0.02em;
}

.rx-reels-grid-header p {
    color: var(--rx-type-meta-color);
    font-size: var(--rx-type-body-size);
    margin: 0;
}

.rx-reels-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: clamp(1rem, 2vw, 1.5rem);
}

.rx-reels-grid-card {
    position: relative;
    border-radius: var(--rx-panel-radius, 12px);
    overflow: hidden;
    background: var(--rx-home-surface-fill);
    border: 1px solid var(--rx-home-surface-border);
    transition: transform 0.35s var(--rx-ease-out), border-color 0.35s ease;
    text-decoration: none;
    color: inherit;
    display: block;
}

.rx-reels-grid-card:hover {
    transform: translateY(-4px);
    border-color: var(--rx-accent);
}

.rx-reels-grid-card__media {
    position: relative;
    aspect-ratio: 9 / 14;
    overflow: hidden;
}

.rx-reels-grid-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.5s var(--rx-ease-out), opacity 0.4s ease;
    opacity: 0.92;
}

.rx-reels-grid-card:hover img {
    transform: scale(1.04);
    opacity: 1;
}

.rx-reels-grid-card__placeholder {
    width: 100%;
    height: 100%;
    background: var(--rx-home-surface-grad-soft);
}

.rx-reels-grid-card__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.82) 0%, rgba(0, 0, 0, 0.15) 50%, transparent 100%);
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: clamp(0.75rem, 2vw, 1rem);
    pointer-events: none;
}

.rx-reels-grid-card__tag {
    display: inline-block;
    width: fit-content;
    padding: 3px 8px;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.22);
    color: rgba(255, 250, 244, 0.92);
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: 6px;
}

.rx-reels-grid-card__title {
    font-family: var(--rx-font-heading);
    font-size: var(--rx-type-card-title-size);
    font-weight: 700;
    color: #fffaf4;
    margin: 0;
    line-height: 1.2;
}

.rx-reels-grid-card__client {
    font-size: var(--rx-type-body-compact-size);
    color: rgba(255, 250, 244, 0.74);
    margin: 3px 0 0;
}

.rx-reels-grid-card__note {
    font-size: 0.82rem;
    color: rgba(255, 250, 244, 0.72);
    margin: 0.35rem 0 0;
}

.rx-reels-grid-card__icon {
    position: absolute;
    top: 0.75rem;
    right: 0.75rem;
    width: 2rem;
    height: 2rem;
    color: white;
    opacity: 0.8;
    z-index: 2;
    pointer-events: none;
    transition: opacity 0.3s ease;
}

.rx-reels-grid-card:hover .rx-reels-grid-card__icon {
    opacity: 1;
}

.rx-reels-grid-card__icon svg {
    width: 100%;
    height: 100%;
}

.rx-reels-grid-empty {
    text-align: center;
    padding: 4rem 1rem;
    color: var(--rx-type-meta-color);
}

@media (max-width: 47.9375rem) {
    .rx-reels-grid-shell .rx-container {
        padding: 0;
    }

    .rx-reels-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 0.5rem 0;
    }

    .rx-reels-grid-card__media {
        aspect-ratio: 9 / 13;
    }

    .rx-reels-grid-card__tag {
        font-size: 8px;
        padding: 1px 5px;
        margin-bottom: 3px;
        color: #fff;
    }

    .rx-reels-grid-card__title {
        font-size: clamp(0.75rem, 3vw, 0.85rem);
        color: #fff;
    }

    .rx-reels-grid-card__client {
        font-size: 0.65rem;
        color: rgba(255, 255, 255, 0.8);
    }

    .rx-reels-grid-card__overlay {
        padding: 0.45rem;
    }
}

/* -------------------------------------------------------
   Theme-owned public pages
   ------------------------------------------------------- */
.rx-site-page {
    min-height: 100dvh;
    padding-top: calc(var(--rx-header-safe-top, 5rem) + clamp(1.25rem, 3vw, 2.6rem));
    padding-bottom: clamp(2.6rem, 5vw, 4.4rem);
    background: var(--rx-site-bg);
}

.rx-site-page>.rx-container {
    width: min(100%, var(--rx-section-content-max));
    max-width: var(--rx-section-content-max);
    padding-inline: 0;
}

.rx-package-page-content,
.rx-team-page-content {
    min-height: 0;
    padding-top: 0;
    padding-bottom: var(--rx-home-section-space-tight);
}

.rx-package-page-content__body,
.rx-team-page-content__body {
    max-width: min(100%, 68ch);
    margin-inline: auto;
}

.rx-site-page__hero,
.rx-book-page__copy {
    display: grid;
    gap: clamp(0.65rem, 1.35vw, 1rem);
    max-width: 55rem;
}

.rx-site-page .rx-section-intro,
.rx-site-page__checklist li,
.rx-site-page__panel p {
    overflow-wrap: break-word;
}

.rx-site-page__eyebrow {
    color: var(--rx-type-muted-color);
    font-size: var(--rx-type-meta-size);
    font-weight: var(--rx-type-meta-weight);
    letter-spacing: var(--rx-type-meta-track);
    text-transform: uppercase;
}

.rx-site-page__checklist,
.rx-site-page__steps {
    display: grid;
    gap: 0.65rem;
    margin: 0;
    padding: 0;
}

.rx-site-page__checklist li {
    position: relative;
    padding-left: 1.35rem;
    color: var(--rx-type-body-color);
    font-size: var(--rx-type-body-compact-size);
    line-height: var(--rx-type-body-compact-line);
}

.rx-site-page__checklist li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.72em;
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 999px;
    background: var(--rx-brand-gradient);
    transform: translateY(-50%);
}

.rx-site-page__panel,
.rx-book-page__form-panel,
.rx-book-page__direct,
.rx-site-page__proof {
    border: 1px solid var(--rx-home-surface-border);
    border-radius: var(--rx-panel-radius, 12px);
    background:
        var(--rx-home-surface-grad-soft),
        var(--rx-home-surface-fill);
    box-shadow: var(--rx-shadow-md);
}

.rx-site-page__panel {
    display: grid;
    gap: 0.75rem;
    padding: clamp(1rem, 2vw, 1.35rem);
}

.rx-site-page__panel--accent {
    border-color: var(--rx-home-surface-border-strong);
}

.rx-site-page__panel h2,
.rx-book-page__panel-head h2,
.rx-site-page__proof-copy h2,
.rx-site-page__faq-head h2 {
    margin: 0;
    color: var(--rx-type-heading-color);
    font-family: var(--rx-font-heading);
    font-size: var(--rx-type-card-title-size);
    line-height: var(--rx-type-card-title-line);
    letter-spacing: var(--rx-type-card-title-track);
}

.rx-site-page__panel p {
    margin: 0;
    color: var(--rx-type-body-color);
    font-size: var(--rx-type-body-compact-size);
    line-height: var(--rx-type-body-compact-line);
}

.rx-site-page__panel h3 {
    margin: 0;
    color: var(--rx-type-heading-color);
    font-family: var(--rx-font-heading);
    font-size: clamp(1.05rem, 1.7vw, 1.28rem);
    line-height: 1.18;
    letter-spacing: -0.01em;
}

.rx-site-page__panel-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(0.75rem, 1.5vw, 1rem);
}

.rx-site-page__text-link {
    width: fit-content;
    color: var(--rx-accent);
    font-size: var(--rx-type-ui-sm-size);
    font-weight: 750;
    letter-spacing: 0.055em;
    text-transform: uppercase;
}

.rx-book-page__hero {
    display: grid;
    grid-template-columns: minmax(0, 1.12fr) minmax(18rem, 0.88fr);
    grid-template-areas:
        "copy direct"
        "form direct"
        "details direct";
    gap: clamp(0.85rem, 1.6vw, 1.25rem);
    align-items: start;
}

.rx-book-page__copy {
    grid-area: copy;
}

.rx-book-page__form-panel--inline {
    grid-area: form;
}

.rx-book-page__details {
    grid-area: details;
    margin-top: clamp(0.25rem, 0.8vw, 0.55rem);
    padding-top: clamp(0.85rem, 1.4vw, 1.1rem);
    border-top: 1px solid var(--rx-home-surface-border);
}

.rx-book-page__direct {
    grid-area: direct;
}

.rx-book-page__title {
    max-width: 13ch;
}

.rx-book-page__highlights {
    margin-top: 0.35rem;
}

.rx-book-page__direct {
    display: grid;
    align-content: start;
    gap: 0.75rem;
    padding: clamp(1rem, 2vw, 1.35rem);
    background: var(--rx-home-surface-fill);
}

.rx-contact-page__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: clamp(0.7rem, 1.5vw, 1rem);
    margin-top: clamp(1rem, 2.2vw, 1.55rem);
    padding: clamp(0.9rem, 1.8vw, 1.15rem);
    border: 1px solid var(--rx-home-surface-border);
    border-radius: var(--rx-panel-radius, 12px);
    background: var(--rx-home-surface-fill);
    box-shadow: var(--rx-shadow-sm);
}

.rx-book-page__direct-link {
    display: grid;
    gap: 0.22rem;
    min-height: 0;
    padding: 0.75rem 0;
    border-top: 1px solid var(--rx-home-surface-border);
}

.rx-book-page__direct-link span {
    color: var(--rx-type-muted-color);
    font-size: var(--rx-type-caption-size);
    font-weight: var(--rx-type-caption-weight);
    letter-spacing: calc(var(--rx-type-caption-track) + 0.03em);
    text-transform: uppercase;
}

.rx-book-page__direct-link strong {
    color: var(--rx-type-heading-color);
    font-size: clamp(1rem, 1.35vw, 1.18rem);
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.rx-book-page__layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: clamp(1rem, 2vw, 1.5rem);
    align-items: start;
    margin-top: clamp(0.75rem, 1.6vw, 1.15rem);
}

.rx-book-page__form-panel {
    display: grid;
    gap: clamp(1rem, 1.8vw, 1.3rem);
    padding: clamp(0.95rem, 1.7vw, 1.25rem);
}

.rx-book-page__form-panel--inline {
    margin-top: clamp(0.7rem, 1.6vw, 1rem);
}

.rx-site-page.rx-book-page {
    padding-top: calc(var(--rx-header-safe-top, 5rem) + clamp(0.35rem, 1.2vw, 0.7rem));
}

.rx-book-page__form-panel,
.rx-book-page__direct {
    box-shadow: var(--rx-shadow-sm);
}

.rx-book-page__copy {
    gap: clamp(0.55rem, 1vw, 0.75rem);
}

.rx-book-page__panel-head {
    gap: 0.35rem;
}

.rx-book-page__title {
    margin-top: 0;
}

.rx-book-page__panel-head {
    display: grid;
    gap: 0.45rem;
}

.rx-book-page__side {
    display: grid;
    gap: clamp(0.8rem, 1.6vw, 1rem);
}

.rx-site-page__steps li {
    display: grid;
    grid-template-columns: 2.2rem minmax(0, 1fr);
    gap: 0.65rem;
    align-items: center;
    padding-bottom: 0.65rem;
    border-bottom: 1px solid var(--rx-home-surface-border);
}

.rx-site-page__steps li:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.rx-site-page__steps span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.2rem;
    height: 2.2rem;
    border-radius: 999px;
    background: color-mix(in srgb, var(--rx-accent) 9%, var(--rx-surface) 91%);
    color: var(--rx-accent);
    font-size: 0.72rem;
    font-weight: 800;
}

.rx-site-page__steps strong {
    color: var(--rx-type-heading-color);
    font-size: 0.98rem;
    line-height: 1.25;
}

.rx-site-page__link-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.65rem;
}

.rx-site-page__link-grid a {
    display: flex;
    align-items: center;
    min-height: 3.1rem;
    padding: 0.75rem 0.85rem;
    border: 1px solid var(--rx-home-surface-border);
    border-radius: var(--rx-card-radius, 10px);
    background: var(--rx-home-surface-fill-strong);
    color: var(--rx-type-heading-color);
    font-size: var(--rx-type-ui-sm-size);
    font-weight: 700;
    line-height: 1.25;
    transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.rx-site-page__link-grid a:hover,
.rx-site-page__link-grid a:focus-visible {
    transform: translateY(-2px);
    border-color: var(--rx-home-surface-border-strong);
    box-shadow: var(--rx-shadow-sm);
}

.rx-site-page__proof {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    gap: clamp(1rem, 2vw, 1.4rem);
    align-items: center;
    margin-top: clamp(1rem, 2.3vw, 1.7rem);
    padding: clamp(1rem, 2vw, 1.45rem);
}

.rx-site-page__proof-copy,
.rx-site-page__faq-head {
    display: grid;
    gap: 0.45rem;
}

.rx-site-page__link-grid--cards {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.rx-site-page__faq,
.rx-site-page__related {
    display: grid;
    gap: clamp(0.85rem, 1.8vw, 1.25rem);
    margin-top: clamp(1rem, 2.3vw, 1.7rem);
}

.rx-site-page__faq .rx-faq__list,
.rx-faq-page__list {
    max-width: none;
}

.rx-faq-page__layout {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(18rem, 0.8fr);
    gap: clamp(1rem, 2vw, 1.5rem);
    align-items: start;
    margin-top: clamp(1rem, 2.3vw, 1.7rem);
}

.rx-faq-page__side {
    position: sticky;
    top: calc(var(--rx-header-safe-top) + 1rem);
}

.rx-legal-page__content {
    display: grid;
    gap: clamp(0.85rem, 1.8vw, 1.1rem);
    max-width: 58rem;
    margin-top: clamp(1rem, 2.3vw, 1.7rem);
}

@media (max-width: 61.9375rem) {

    .rx-book-page__hero,
    .rx-book-page__layout,
    .rx-site-page__proof,
    .rx-faq-page__layout {
        grid-template-columns: minmax(0, 1fr);
    }

    .rx-book-page__hero {
        grid-template-areas:
            "copy"
            "form"
            "details"
            "direct";
    }

    .rx-faq-page__side {
        position: static;
    }

    .rx-site-page__panel-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .rx-contact-page__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 47.9375rem) {
    .rx-site-page {
        padding-top: calc(var(--rx-header-safe-top, 5rem) + 0.85rem);
        padding-bottom: calc(var(--rx-mobile-nav-height, 64px) + 1.6rem);
    }

    .rx-site-page.rx-book-page {
        padding-top: calc(var(--rx-header-safe-top, 5rem) + 0.55rem);
    }

    .rx-site-page>.rx-container {
        width: min(90vw, 100%);
        max-width: 90vw;
    }

    .rx-site-page__hero,
    .rx-book-page__copy {
        gap: 0.55rem;
    }

    .rx-book-page__hero,
    .rx-book-page__layout {
        grid-template-columns: minmax(0, 1fr);
    }

    .rx-book-page__title,
    .rx-service-page__title {
        max-width: 100%;
    }

    .rx-book-page__form-panel,
    .rx-book-page__direct,
    .rx-site-page__panel,
    .rx-site-page__proof {
        border-radius: var(--rx-panel-radius, 12px);
        padding: 1rem;
    }

    .rx-book-page__layout,
    .rx-faq-page__layout,
    .rx-site-page__proof,
    .rx-site-page__faq,
    .rx-site-page__related {
        margin-top: 0.9rem;
    }

    .rx-site-page__link-grid,
    .rx-site-page__link-grid--cards,
    .rx-site-page__panel-grid,
    .rx-contact-page__grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .rx-contact-page__grid {
        margin-top: 0.9rem;
        padding: 1rem;
    }

    .rx-book-page__form-panel .rx-booking-form__grid {
        gap: 0.65rem;
    }
}
