/* ==========================================================================
   DR. RAM'S SKIN, HAIR & COSMETIC CLINIC - LUXURY AESTHETIC DESIGN
   Exact match to design screenshot:
   - Primary Slate Navy: #2A3B53 / #20334E (Buttons, Active Tabs, Headings)
   - Warm Rose-Peach / Terracotta Accent: #b96f7d / #C27A62 (Badges, Kickers, Stars, Subtitles)
   - Warm Peach Badge / Tint: #FAF1EB / #FDF1EB (Pill Backgrounds & Light Highlights)
   - Clean White: #FFFFFF (Crisp Section Backgrounds & Cards)
   - Soft Warm Sand / Cream: #FBF8F5 (Alternating Section Backgrounds)
   - Deep Slate Navy Footer: #233348 (Rich Dark Footer with Gold/Terracotta & Light Accents)
   - Soft Slate Body Text: #55606E / #7E8B9B
   ========================================================================== */

:root {
    --color-blue-primary: #2A3B53;
    --color-blue-dark: #1A283C;
    --color-blue-light: #3B4F6D;

    --color-pink-primary: #b96f7d;
    --color-pink-dark: #9E543F;
    --color-pink-light: #FAF1EB;
    --color-pink-soft: #FAF1EB;
    --color-pink-tint: #FDF6F2;

    --color-sage-bg: #FAF1EB;
    --color-sage-text: #b96f7d;
    --color-sage-border: #F2D8CD;

    --color-rose-badge-bg: #FAF1EB;
    --color-rose-badge-text: #b96f7d;
    --color-rose-badge-border: #F2D8CD;

    --color-gradient-primary: #2A3B53;
    --color-gradient-pink: #b96f7d;
    --color-gradient-blue: #FFFFFF;
    --color-hero-bg: #FFFFFF;
    --color-gradient-light-hero: #FFFFFF;
    --color-gradient-light-angled: linear-gradient(135deg, #FAF1EB 0%, #F5DDD4 50%, #EFCFC2 100%);
    --color-gradient-light-strip: #FFFFFF;

    --color-bg: #FFFFFF;
    --color-bg-alt: #FBF8F5;
    --color-surface: #FFFFFF;
    --color-surface-soft: #FAF1EB;

    --color-text-main: #20334E;
    --color-text-body: #55606E;
    --color-text-muted: #7E8B9B;
    --color-border: #EFE7E0;

    --font-heading: 'Cormorant Garamond', Georgia, serif;
    --font-subheading: 'Outfit', 'Plus Jakarta Sans', sans-serif;
    --font-body: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif;
    --font-signature: 'Great Vibes', 'Alex Brush', cursive;

    --shadow-sm: 0 4px 15px rgba(50, 65, 85, 0.05);
    --shadow-md: 0 10px 30px rgba(50, 65, 85, 0.08);
    --shadow-lg: 0 20px 45px rgba(50, 65, 85, 0.12);
    --shadow-pink: 0 10px 28px rgba(42, 59, 83, 0.25);

    --radius-sm: 8px;
    --radius-md: 16px;
    --radius-lg: 24px;
    --radius-xl: 32px;
    --radius-full: 9999px;

    --transition-fast: 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    --transition-base: 0.35s cubic-bezier(0.16, 1, 0.3, 1);
    --transition-bounce: 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
}

/* ==========================================================================
   CUSTOM THEME SCROLLBARS (VERTICAL & HORIZONTAL)
   ========================================================================== */
::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

::-webkit-scrollbar-track {
    background: #FAF1EB;
    border-radius: 10px;
}

::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, #3B4F6D 0%, #2A3B53 100%);
    border-radius: 10px;
    border: 2px solid #FAF1EB;
}

::-webkit-scrollbar-thumb:hover {
    background: #1A283C;
}

/* Firefox scrollbar */
html,
body,
* {
    scrollbar-width: thin;
    scrollbar-color: #b96f7d #FAF1EB;
}

*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    scroll-behavior: smooth;
    font-size: 16px;
}

html {
    overflow-x: clip;
}

body {
    font-family: var(--font-body);
    background-color: var(--color-bg);
    color: var(--color-text-body);
    line-height: 1.6;
    overflow-x: clip;
    max-width: 100%;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--font-heading);
    color: var(--color-text-main);
    line-height: 1.2;
    font-weight: 600;
    letter-spacing: -0.01em;
}

a {
    color: inherit;
    text-decoration: none;
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

.rs-container {
    width: 100%;
    max-width: 1280px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 2.5rem;
    padding-right: 2.5rem;
}

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

/* Buttons */
.rs-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.6rem;
    font-family: var(--font-heading);
    font-size: 0.95rem;
    font-weight: 700;
    padding: 0.85rem 1.75rem;
    border-radius: var(--radius-full);
    border: none;
    cursor: pointer;
    transition: var(--transition-bounce);
    text-decoration: none;
}

.rs-btn-lg {
    padding: 1.1rem 2.25rem;
    font-size: 1.05rem;
}

.rs-btn-gradient {
    background: var(--color-gradient-primary);
    color: #FFFFFF;
    box-shadow: var(--shadow-pink);
}

.rs-btn-gradient:hover {
    transform: translateY(-3px) scale(1.02);
    box-shadow: 0 16px 36px rgba(249, 174, 179, 0.45);
}

.rs-btn-pink {
    background: var(--color-gradient-pink);
    color: #FFFFFF;
    box-shadow: var(--shadow-pink);
}

.rs-btn-pink:hover {
    transform: translateY(-3px) scale(1.02);
    box-shadow: 0 16px 36px rgba(249, 174, 179, 0.5);
}

.rs-btn-outline-blue {
    background: #FFFFFF;
    border: 2px solid var(--color-blue-primary);
    color: var(--color-blue-primary);
    box-shadow: var(--shadow-sm);
}

.rs-btn-outline-blue:hover {
    background: var(--color-blue-primary);
    color: #FFFFFF;
    transform: translateY(-3px);
}

/* Sections */
.rs-section {
    padding: 6rem 0;
    position: relative;
}

.rs-bg-surface {
    background-color: var(--color-surface-soft);
}

/* ==========================================================================
   TOPBAR & HEADER (LIGHT THEME)
   ========================================================================== */
.rs-topbar {
    background: #2A3B53;
    color: #FFFFFF;
    font-size: 0.85rem;
    padding: 0.45rem 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.14);
}

.rs-topbar-inner {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.rs-topbar-contact-right {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 0.85rem;
    font-size: 0.86rem;
    font-weight: 700;
    margin-left: auto;
}

.rs-header-actions .rs-btn {
    min-height: 44px;
    padding: 0.55rem 1.15rem;
    font-size: 0.78rem;
    letter-spacing: 0.01em;
}

.rs-topbar-info-group {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.85rem;
}

.rs-topbar-divider {
    color: rgba(255, 255, 255, 0.48);
    font-weight: 700;
    user-select: none;
}

.rs-topbar-link {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    color: #FFFFFF;
    font-weight: 700;
    transition: var(--transition-fast);
    text-decoration: none;
}

.rs-topbar-link svg {
    stroke-width: 2.5;
    color: #FFFFFF;
    stroke: #FFFFFF;
}

.rs-topbar-link:hover {
    color: #FAF1EB;
}

.rs-topbar-link:hover svg {
    color: #FAF1EB;
    stroke: #FAF1EB;
}

.rs-topbar-social {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    margin-left: 4px;
}

.rs-topbar-follow-label {
    font-size: 0.8rem;
    font-weight: 800;
    color: #FFFFFF;
    margin-right: 2px;
}

.rs-topbar-social-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 25px;
    height: 25px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    color: #FFFFFF;
    border: 1px solid rgba(255, 255, 255, 0.28);
    font-size: 0.75rem;
    transition: all 0.25s ease;
    text-decoration: none;
}

.rs-topbar-social-link:hover {
    background: #FFFFFF;
    border-color: #FFFFFF;
    color: #2A3B53;
    transform: translateY(-2px);
}

/* Header */
.rs-header {
    position: sticky;
    position: -webkit-sticky;
    top: 0;
    z-index: 900;
    background: rgba(255, 255, 255, 0.96);
    backdrop-filter: blur(16px);
    border-bottom: 1px solid #EFE7E0;
    transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), background 0.3s ease, box-shadow 0.3s ease;
    will-change: transform;
}

.rs-header.is-scrolled {
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 8px 30px rgba(50, 65, 85, 0.08);
}

.rs-header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 98px;
}

.rs-brand {
    display: flex;
    align-items: center;

}

.rs-brand-logo-wrap {
    width: 65px;
    height: 65px;
    border-radius: 12px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.rs-brand-svg {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.rs-brand-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1.08);
    transition: transform 0.35s ease;
}

.rs-brand-text {
    display: flex;
    flex-direction: column;
}

.rs-header .rs-brand-text,
.rs-nav-mobile-brand .rs-brand-text {
    margin-left: -18px;
}

.rs-brand-name {
    font-family: var(--font-heading);
    font-weight: 1000 !important;
    font-size: 1.50rem;
    color: #1f2b88;
    line-height: 1.05;
    letter-spacing: 0.01em;
    margin: 0;
    -webkit-text-stroke: 0.35px currentColor;
    text-shadow: 0.25px 0 currentColor;
}

.rs-brand-sub {
    font-size: 0.8rem;
    font-weight: 700;
    color: #ed42a0;
    margin-top: 1px;
}

.rs-nav-mobile-header {
    display: none !important;
}



.rs-nav {
    display: flex;
    align-items: center;
    gap: 1.25rem;
}

/* Hidden on desktop; shown only in the mobile side drawer */
.rs-nav-mobile-cta {
    display: none;
}

.rs-nav-link {
    position: relative;
    font-family: 'Plus Jakarta Sans', var(--font-body, sans-serif);
    font-weight: 800;
    font-size: 1.08rem;
    letter-spacing: 0.01em;
    color: #20334E;
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding-bottom: 4px;
    transition: var(--transition-fast);
}

.rs-nav-link::after {
    content: "";
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 0;
    height: 2.5px;
    background-color: #b96f7d;
    border-radius: 2px;
    transition: width 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.rs-nav-link:hover::after,
.rs-nav-link.active::after {
    width: 100%;
}

.rs-nav-link:hover,
.rs-nav-link.active,
.rs-dropdown:hover .rs-dropdown-toggle,
.rs-dropdown-toggle:hover {
    color: #b96f7d !important;
}

/* Header Dropdown Menu Styling */
.rs-nav-item.rs-dropdown {
    position: relative;
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
}

.rs-dropdown-toggle {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    cursor: pointer;
    text-decoration: none;
    white-space: nowrap;
}

.rs-dropdown-arrow {
    transition: transform 0.3s ease;
}

.rs-dropdown:hover .rs-dropdown-arrow {
    transform: rotate(180deg);
}

.rs-dropdown {
    position: relative;
}

/* Desktop Dropdown Menu Only */


.rs-dropdown-item {
    display: flex;
    align-items: center;
    padding: 9px 16px;
    font-family: var(--font-subheading);
    font-size: 1.025rem;
    font-weight: 700;
    color: #2a3b5d !important;
    text-decoration: none;
    border-bottom: 1px solid rgba(210, 211, 255, 0.75);
    transition: all 0.2s ease;
}

.rs-dropdown-item:last-child {
    border-bottom: none;
}

.rs-dropdown-item:hover {
    background: #FFF1F8;
    color: #1F2B88 !important;
    padding-left: 20px;
    border-radius: 6px;
}

/* ==========================================================================
   MEGA MENU STYLING - ULTRA LUXURY COLUMN CARDS & HOVER EFFECTS
   ========================================================================== */
.rs-header-inner {
    position: relative;
}

.rs-megamenu-item {
    position: static !important;
}

.rs-megamenu-wrapper {
    position: absolute;
    top: calc(100% - 24px);
    left: 20px;
    right: 20px;
    width: calc(100% - 40px);
    max-height: calc(85vh - 70px) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    background: #ffffff url('../images/mega-menu-background.png') center / cover no-repeat !important;
    backdrop-filter: blur(20px);
    border: 1.5px solid #DDD8F0;
    border-radius: 24px;
    padding: 26px 30px 34px 30px !important;
    box-shadow: 0 28px 70px rgba(48, 48, 161, 0.18), 0 12px 30px #DDD8F0;
    opacity: 0;
    visibility: hidden;
    transform: translateY(14px);
    transition: all 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
    z-index: 1000;
}

/* Top Accent Line (Static, no animation) */
.rs-dropdown-menu::after,
.rs-megamenu-wrapper::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: #b96f7d;
    border-radius: 24px 24px 0 0;
    pointer-events: none;
    z-index: 1001;
}

.rs-dropdown-menu::after {
    border-radius: 16px 16px 0 0;
}

.rs-media-menu .rs-dropdown-menu::after,
.rs-media-menu:hover .rs-dropdown-menu::after,
.rs-media-menu.is-open .rs-dropdown-menu::after {
    width: 100%;
    background: #b96f7d;
    transition: none;
}

.rs-megamenu-wrapper::-webkit-scrollbar {
    width: 6px;
}

.rs-megamenu-wrapper::-webkit-scrollbar-track {
    background: rgba(249, 174, 179, 0.06);
    border-radius: 10px;
}

.rs-megamenu-wrapper::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, #F9AEB3 0%, #3030A1 100%);
    border-radius: 10px;
}

.rs-megamenu-wrapper::before {
    content: '';
    position: absolute;
    top: -14px;
    left: 0;
    right: 0;
    height: 14px;
}

.rs-megamenu-item:hover .rs-megamenu-wrapper {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

/* 3-Column Compact Mega Menu (For Conditions - Desktop Only) */


.rs-megamenu-container {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 1.4rem;
    align-items: start;
}

.rs-megamenu-col {
    background: transparent;
    border: none;
    border-radius: 0;
    padding: 0;
    box-shadow: none;
    transition: none;
    height: 100%;
}

.rs-megamenu-col:hover {
    background: transparent;
    border-color: transparent;
    box-shadow: none;
    transform: none;
}

.rs-megamenu-title {
    font-family: var(--font-heading, 'Outfit', sans-serif);
    font-size: 1.0rem;
    font-weight: 800;
    color: #2A3B53;
    padding-bottom: 0;
    margin-bottom: 10px;
    position: relative;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

.rs-megamenu-title::after {
    display: none !important;
}

.rs-megamenu-title-link {
    color: inherit;
    text-decoration: none;
    pointer-events: auto;
}

.rs-megamenu-title-link:hover {
    color: #B96F7D !important;
}

.rs-megamenu-title-link:hover span {
    color: #B96F7D !important;
}

.rs-megamenu-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.rs-megamenu-list li {
    margin: 0;
    padding: 0;
}

.rs-megamenu-link {
    display: block;
    font-family: var(--font-subheading);
    font-size: 0.95rem;
    font-weight: 700;
    color: #2A3B53 !important;
    padding: 7px 12px;
    border-radius: 8px;
    text-decoration: none;
    transition: all 0.2s ease;
    margin-bottom: 2px;
    white-space: normal;
    word-wrap: break-word;
}

.rs-megamenu-link:hover {
    color: #B96F7D !important;
    background: #FFF1F8 !important;
    border-radius: 8px !important;
}

/* Specific Responsive Adjustments ONLY for 1200px Screens (1025px - 1366px) */


.rs-megamenu-subhead {
    font-size: 1.0rem;
    font-weight: 800;
    color: #3030A1 !important;
    margin-top: 3px;
}

.rs-megamenu-subitem {
    font-size: 1.0rem;
    font-weight: 600;
    padding-left: 14px;
    color: #3030A1 !important;
}

.rs-megamenu-subitem:hover {
    padding-left: 20px;
    color: #1F2B88 !important;
    background: #FFF1F8;
    border-radius: 4px;
}



.rs-header-actions {
    display: flex;
    align-items: center;
    gap: 1rem;
}





/* ==========================================================================
   1. HERO BANNER & 6-CARD SPECIALTY GRID (LUXURY LIGHT THEME)
   ========================================================================== */
.rs-hero-banner {
    background: var(--color-gradient-light-hero);
    padding: 4.5rem 0 6rem 0;
    color: var(--color-text-main);
    border-bottom: 1px solid rgba(48, 48, 161, 0.08);
}

.rs-banner-heading {
    margin-bottom: 3.5rem;
}

.rs-banner-title {
    font-size: 2.6rem;
    font-weight: 800;
    letter-spacing: 1.5px;
    color: var(--color-blue-primary);
    text-transform: uppercase;
    margin-bottom: 0.6rem;
}

.rs-banner-sub {
    font-size: 1.1rem;
    color: var(--color-pink-primary);
    font-weight: 700;
}

.rs-banner-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
}

.rs-banner-card {
    height: 250px;
    border-radius: 20px;
    overflow: hidden;
    position: relative;
    background: #FFFFFF;
    border: 1.5px solid #DDD8F0;
    box-shadow: 0 10px 30px rgba(48, 48, 161, 0.08);
    transition: transform 0.4s ease, box-shadow 0.4s ease, border-color 0.4s ease;
}

.rs-banner-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 45px rgba(249, 174, 179, 0.25);
    border-color: var(--color-pink-primary);
}

.rs-banner-img-wrap {
    position: relative;
    width: 100%;
    height: 100%;
}

.rs-banner-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s ease;
}

.rs-banner-card:hover .rs-banner-img-wrap img {
    transform: scale(1.08);
}

.rs-banner-tag {
    position: absolute;
    bottom: 14px;
    left: 50%;
    transform: translateX(-50%);
    background: #FFFFFF;
    color: var(--color-pink-primary);
    font-family: var(--font-heading);
    font-size: 0.825rem;
    font-weight: 800;
    padding: 0.45rem 1.35rem;
    border-radius: 20px;
    text-transform: uppercase;
    white-space: nowrap;
    border: 1.5px solid rgba(249, 174, 179, 0.3);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.08);
}

.rs-banner-card:hover .rs-banner-tag {
    background: var(--color-pink-primary);
    color: #FFFFFF;
    border-color: var(--color-pink-primary);
}

/* ==========================================================================
   2. SPECIAL OFFERS SPOTLIGHT CARD (| CLINIC SPECIAL OFFERS |)
   ========================================================================== */
.rs-spotlight-title {
    font-size: 2.25rem;
    font-weight: 800;
    color: var(--color-pink-primary);
    letter-spacing: 2px;
    text-transform: uppercase;
}

.rs-bar {
    color: var(--color-pink-primary);
    font-weight: 900;
    margin: 0 0.4rem;
}

.rs-offer-card {
    background: #FFFFFF;
    border-radius: 28px;
    box-shadow: 0 15px 45px rgba(48, 48, 161, 0.08);
    border: 1.5px solid rgba(249, 174, 179, 0.18);
    padding: 2.5rem;
}

.rs-offer-grid {
    display: grid;
    grid-template-columns: 0.85fr 1.15fr;
    gap: 3rem;
    align-items: center;
}

.rs-offer-image {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    height: 400px;
    box-shadow: var(--shadow-md);
}

.rs-offer-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.rs-offer-badge-floating {
    position: absolute;
    top: 1.25rem;
    left: 1.25rem;
    background: var(--color-pink-primary);
    color: #FFFFFF;
    font-family: var(--font-heading);
    font-weight: 800;
    font-size: 0.8rem;
    padding: 0.45rem 1.1rem;
    border-radius: 20px;
    box-shadow: 0 6px 20px rgba(249, 174, 179, 0.35);
}

.rs-offer-category {
    display: inline-block;
    font-family: var(--font-heading);
    font-size: 0.8rem;
    font-weight: 800;
    color: var(--color-blue-primary);
    letter-spacing: 1.5px;
    margin-bottom: 0.5rem;
}

.rs-offer-heading {
    font-size: 1.9rem;
    font-weight: 800;
    color: var(--color-blue-primary);
    margin-bottom: 0.85rem;
}

.rs-offer-desc {
    font-size: 1.05rem;
    color: var(--color-text-body);
    margin-bottom: 1.5rem;
}

.rs-offer-bullets {
    list-style: none;
    margin-bottom: 2rem;
}

.rs-offer-bullets li {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    font-weight: 600;
    color: var(--color-text-main);
    margin-bottom: 0.85rem;
    font-size: 0.95rem;
}

/* ==========================================================================
   3. FULL-WIDTH ANGLED POLYGON SECTION (LIGHT PASTEL ROSE & LAVENDER)
   ========================================================================== */
.rs-angled-section {
    background: var(--color-gradient-light-angled);
    color: var(--color-text-main);
    padding: 6.5rem 0;
    position: relative;
    clip-path: polygon(0 3%, 100% 0, 100% 97%, 0 100%);
    border-top: 1px solid #DDD8F0;
    border-bottom: 1px solid #DDD8F0;
}

.rs-angled-title {
    font-size: 2.6rem;
    font-weight: 800;
    color: var(--color-blue-primary);
    letter-spacing: 1.5px;
    margin-bottom: 1.75rem;
}

.rs-angled-tabs {
    display: flex;
    justify-content: center;
    gap: 0.85rem;
    flex-wrap: wrap;
    margin-bottom: 3.5rem;
}

.rs-angled-tab {
    background: #FFFFFF;
    border: 1.5px solid rgba(249, 174, 179, 0.25);
    color: var(--color-blue-primary);
    font-family: var(--font-heading);
    font-weight: 700;
    font-size: 0.875rem;
    padding: 0.65rem 1.5rem;
    border-radius: 25px;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 4px 12px rgba(48, 48, 161, 0.05);
}

.rs-angled-tab.active,
.rs-angled-tab:hover {
    background: var(--color-pink-primary);
    color: #FFFFFF;
    border-color: var(--color-pink-primary);
    box-shadow: 0 8px 20px rgba(249, 174, 179, 0.3);
}

.rs-angled-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3.5rem;
    align-items: center;
}

.rs-angled-sub {
    font-size: 1.85rem;
    color: var(--color-pink-primary);
    margin-bottom: 1rem;
}

.rs-angled-text {
    font-size: 1.1rem;
    color: var(--color-text-body);
    margin-bottom: 1.5rem;
}

.rs-angled-list {
    list-style: none;
    margin-bottom: 2rem;
}

.rs-angled-list li {
    font-size: 0.95rem;
    font-weight: 600;
    margin-bottom: 0.55rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: var(--color-text-main);
}

.rs-angled-list li::before {
    content: '✓';
    color: var(--color-pink-primary);
    font-weight: 800;
}

.rs-angled-polygon-frame {
    clip-path: polygon(8% 0, 100% 0, 92% 100%, 0 100%);
    height: 380px;
    overflow: hidden;
    border-radius: 20px;
    box-shadow: 0 20px 40px rgba(48, 48, 161, 0.15);
    background: #FFFFFF;
    border: 3px solid #FFFFFF;
}

.rs-angled-polygon-frame img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* ==========================================================================
   4. ALTERNATING Z-PATTERN FEATURE SHOWCASE
   ========================================================================== */
.rs-zcard {
    background: #FFFFFF;
    border-radius: 28px;
    padding: 2.5rem;
    box-shadow: var(--shadow-md);
    border: 1px solid var(--color-border);
}

.rs-zgrid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3.5rem;
    align-items: center;
}

.rs-zgrid-reverse {
    direction: rtl;
}

.rs-zgrid-reverse>* {
    direction: ltr;
}

.rs-zimg img {
    border-radius: 20px;
    width: 100%;
    height: 360px;
    object-fit: cover;
    box-shadow: var(--shadow-lg);
}

.rs-zbadge {
    display: inline-block;
    font-family: var(--font-heading);
    font-size: 0.785rem;
    font-weight: 800;
    color: var(--color-blue-primary);
    background: rgba(48, 48, 161, 0.08);
    padding: 0.35rem 0.85rem;
    border-radius: 20px;
    margin-bottom: 0.75rem;
}

.rs-zbadge-pink {
    color: var(--color-pink-primary);
    background: var(--color-pink-soft);
}

.rs-ztitle {
    font-size: 1.85rem;
    font-weight: 800;
    color: var(--color-blue-primary);
    margin-bottom: 1rem;
}

.rs-zdesc {
    font-size: 1.05rem;
    color: var(--color-text-body);
    margin-bottom: 1.5rem;
}

.rs-zbullets {
    list-style: none;
    margin-bottom: 2rem;
}

.rs-zbullets li {
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--color-text-main);
    margin-bottom: 0.5rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.rs-zbullets li::before {
    content: '✓';
    color: var(--color-pink-primary);
    font-weight: 800;
}

/* ==========================================================================
   5. WHY CHOOSE US (PILL CARDS - LIGHT THEME)
   ========================================================================== */
.rs-why-pills-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.75rem;
}

.rs-why-pill-card {
    background: #FFF1F8;
    border: 1.5px solid #DDD8F0;
    color: var(--color-blue-primary);
    padding: 2.25rem 1.5rem;
    border-radius: 24px;
    text-align: center;
    box-shadow: 0 10px 25px rgba(48, 48, 161, 0.08);
    transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.rs-why-pill-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 16px 36px #DDD8F0;
    border-color: var(--color-pink-primary);
}

.rs-why-icon-circle {
    width: 68px;
    height: 68px;
    border-radius: 50%;
    background: var(--color-pink-primary);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 1.25rem auto;
    box-shadow: 0 8px 20px rgba(249, 174, 179, 0.35);
}

.rs-why-pill-card h4 {
    font-size: 0.95rem;
    font-weight: 800;
    letter-spacing: 0.5px;
    color: var(--color-blue-primary);
    line-height: 1.3;
}

/* ==========================================================================
   6. REELS & VIDEO TRANSFORMATIONS (LIGHT THEME)
   ========================================================================== */
.rs-reels-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.75rem;
}

.rs-reel-card {
    background: #FFFFFF;
    border-radius: 22px;
    overflow: hidden;
    box-shadow: var(--shadow-md);
    border: 1px solid var(--color-border);
    transition: transform 0.35s ease;
}

.rs-reel-card:hover {
    transform: translateY(-8px);
    box-shadow: var(--shadow-lg);
}

.rs-reel-thumb {
    position: relative;
    height: 270px;
    overflow: hidden;
}

.rs-reel-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.rs-reel-play {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(48, 48, 161, 0.3);
    transition: background 0.3s ease;
}

.rs-reel-card:hover .rs-reel-play {
    background: rgba(249, 174, 179, 0.45);
}

.rs-reel-footer {
    padding: 1.25rem;
}

.rs-reel-footer h4 {
    font-size: 0.95rem;
    margin-bottom: 0.25rem;
    color: var(--color-blue-primary);
}

.rs-reel-footer p {
    font-size: 0.8rem;
    color: var(--color-text-muted);
}

.rs-insta-card {
    background: #FFFFFF;
    border-radius: 22px;
    padding: 2.25rem 1.5rem;
    text-align: center;
    box-shadow: var(--shadow-md);
    border: 1.5px solid rgba(249, 174, 179, 0.25);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.rs-insta-icon {
    margin-bottom: 1rem;
}

.rs-insta-card h3 {
    font-size: 1.35rem;
    margin-bottom: 0.4rem;
    color: var(--color-blue-primary);
}

.rs-insta-card p {
    font-size: 0.85rem;
    color: var(--color-text-body);
    margin-bottom: 1.25rem;
}

/* ==========================================================================
   7. DIRECT CALL / BOOKING STRIP BANNER (LIGHT SOFT BLUE & PINK)
   ========================================================================== */
.rs-strip-banner {
    background: var(--color-gradient-light-strip);
    color: var(--color-text-main);
    padding: 4.5rem 0;
    border-top: 1px solid rgba(48, 48, 161, 0.1);
}

.rs-strip-title {
    font-size: 2.4rem;
    font-weight: 800;
    color: var(--color-blue-primary);
    margin-bottom: 0.5rem;
}

.rs-strip-sub {
    font-size: 1.1rem;
    color: var(--color-text-body);
}

.rs-strip-actions {
    display: flex;
    justify-content: center;
    gap: 1.5rem;
    margin-top: 2.25rem;
    flex-wrap: wrap;
}

.rs-btn-strip {
    background: #FFFFFF;
    border: 2px solid var(--color-blue-primary);
    color: var(--color-blue-primary);
    border-radius: 30px;
    padding: 0.95rem 2.25rem;
    font-weight: 800;
    box-shadow: var(--shadow-sm);
}

.rs-btn-strip:hover {
    background: var(--color-blue-primary);
    color: #FFFFFF;
    transform: translateY(-3px);
}

.rs-btn-strip-wa {
    background: #25D366;
    color: #FFFFFF;
    border-radius: 30px;
    padding: 0.95rem 2.25rem;
    font-weight: 800;
    box-shadow: 0 8px 25px rgba(37, 211, 102, 0.35);
}

/* ==========================================================================
   SCROLL TO TOP BUTTON (BRAND BLUE & PINK HOVER)
   ========================================================================== */
.rs-rocket-btn {
    position: fixed;
    right: 28px;
    bottom: 28px;
    z-index: 99999;
    width: 48px;
    height: 48px;
    border: 2px solid rgba(255, 255, 255, 0.45);
    border-radius: 50%;
    background: #3030A1;
    color: #FFFFFF;
    box-shadow: 0 6px 20px rgba(48, 48, 161, 0.3);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    transform: translateY(16px);
    transition: opacity 0.35s ease, visibility 0.35s ease, transform 0.35s ease, background 0.3s ease, box-shadow 0.3s ease;
}

.rs-rocket-btn::before {
    content: '';
    position: absolute;
    inset: -6px;
    border-radius: 50%;
    border: 2px solid rgba(48, 48, 161, 0.6);
    animation: btnPulseWave 2.4s infinite cubic-bezier(0.215, 0.61, 0.355, 1) 1.2s;
    pointer-events: none;
}

.rs-rocket-btn.is-visible {
    opacity: 1;
    visibility: visible;
    animation: floatLevitate 3.5s ease-in-out infinite alternate;
}

@keyframes floatLevitate {
    0% {
        transform: translateY(0px);
    }

    100% {
        transform: translateY(-6px);
    }
}

.rs-rocket-btn:hover .rs-rocket-inner {
    animation: rocketLaunch 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

@keyframes rocketLaunch {
    0% {
        transform: translateY(0) scale(1);
    }

    40% {
        transform: translateY(4px) scale(0.9);
    }

    100% {
        transform: translateY(-3px) scale(1.1);
    }
}

.rs-rocket-inner {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.rs-rocket-icon {
    width: 32px;
    height: 32px;
}

.rs-rocket-btn.is-pointing-down .rs-rocket-inner {
    transform: rotate(180deg);
}

.rs-rocket-btn.is-pointing-up .rs-rocket-inner {
    transform: rotate(0deg);
}

.rs-rocket-flame {
    animation: thrusterBurn 0.4s infinite alternate linear;
    transform-origin: 24px 33px;
}

@keyframes thrusterBurn {
    0% {
        transform: scaleY(0.8);
        opacity: 0.7;
    }

    100% {
        transform: scaleY(1.35);
        opacity: 1;
    }
}

.rs-rocket-tooltip {
    position: absolute;
    right: 66px;
    background: var(--color-blue-dark);
    color: #FFFFFF;
    font-family: var(--font-heading);
    font-size: 0.8rem;
    font-weight: 700;
    padding: 0.4rem 0.85rem;
    border-radius: var(--radius-sm);
    white-space: nowrap;
    opacity: 0;
    visibility: hidden;
    transition: var(--transition-fast);
    pointer-events: none;
}

.rs-rocket-btn:hover .rs-rocket-tooltip {
    opacity: 1;
    visibility: visible;
    transform: translateX(-4px);
}

/* ==========================================================================
   FOOTER (LIGHT THEME)
   ========================================================================== */
.rs-footer {
    background: var(--color-surface-soft);
    color: var(--color-text-body);
    padding: 5rem 0 2rem 0;
    border-top: 1px solid rgba(48, 48, 161, 0.1);
}

.rs-footer-grid {
    display: grid;
    grid-template-columns: 1.4fr 0.8fr 1fr 1.2fr;
    gap: 3rem;
    margin-bottom: 3.5rem;
}

.rs-footer-desc {
    font-size: 0.9rem;
    margin: 1.25rem 0 1.5rem 0;
}

.rs-footer-title {
    color: var(--color-blue-primary);
    font-size: 1.15rem;
    margin-bottom: 1.25rem;
}

.rs-footer-list {
    list-style: none;
}

.rs-footer-list li {
    margin-bottom: 0.75rem;
}

.rs-footer-list a:hover {
    color: var(--color-pink-primary);
}

.rs-footer-divider {
    height: 1px;
    background: rgba(48, 48, 161, 0.1);
    margin-bottom: 2rem;
}

.rs-footer-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 0.85rem;
}

.rs-footer-socials {
    display: flex;
    gap: 0.75rem;
}

.rs-social-link {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #FFFFFF;
    color: var(--color-blue-primary);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: var(--shadow-sm);
}

.rs-social-link:hover {
    background: var(--color-pink-primary);
    color: #FFFFFF;
}

/* Scroll reveal */
.reveal-on-scroll {
    opacity: 0;
    transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.8s ease;
}

.reveal-up {
    transform: translateY(40px);
}

.reveal-left {
    transform: translateX(-40px);
}

.reveal-right {
    transform: translateX(40px);
}

.reveal-active {
    opacity: 1;
    transform: translate(0, 0);
}

/* Responsive */




/* ==========================================================================
   SPA TEMPLATE HOME LAYOUT
   ========================================================================== */
.rs-spa-section {
    position: relative;
    padding: 48px 0;
    background: #F5F2FF;
}

.rs-spa-section:nth-of-type(even) {
    background: #F5F2FF;
}

.rs-spa-section-title {
    max-width: 720px;
    margin: 0 auto 28px;
    text-align: center;
}

.rs-spa-section-title h2 {
    color: #171735;
    font-size: 2rem;
    font-weight: 600;
    text-transform: none;
    letter-spacing: -0.01em;
}

.rs-spa-section-title>span {
    display: block;
    width: 38px;
    height: 2px;
    margin: 13px auto 16px;
    background: #F9AEB3;
}

.rs-spa-section-title p {
    color: #555565 !important;
    font-size: 1.05rem !important;
    font-weight: 500;
    line-height: 1.6;
}

/* Paragraphs following headings */
h1+p,
h2+p,
h3+p,
h4+p,
h5+p,
h6+p,
h1~p,
h2~p,
h3~p,
h4~p,
h5~p,
h6~p {
    color: #555565;
    font-size: 1.05rem;
    line-height: 1.6;
}

.rs-spa-btn,
.rs-spa-mini-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 0 24px;
    border: 0;
    border-radius: 2px;
    background: var(--color-pink-primary);
    color: #FFFFFF;
    font-family: var(--font-heading);
    /* font-size: 0.75rem; */
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0;
    box-shadow: 0 9px 20px rgba(249, 174, 179, 0.18);
    transition: transform 0.25s ease, background 0.25s ease, box-shadow 0.25s ease;
}

.rs-spa-btn:hover,
.rs-spa-mini-btn:hover {
    transform: translateY(-2px);
    background: var(--color-blue-primary);
    box-shadow: 0 12px 24px rgba(48, 48, 161, 0.18);
}

.rs-spa-btn-light {
    background: rgba(255, 255, 255, 0.94);
    color: var(--color-blue-primary);
}

.rs-spa-btn-dark {
    background: var(--color-blue-primary);
}

.rs-spa-mini-btn {
    min-height: 31px;
    padding: 0 17px;
    font-size: 0.68rem;
}

.rs-spa-hero {
    position: relative;
    min-height: 780px;
    height: 80vh;
    display: grid;
    place-items: center;
    overflow: hidden;
    background: var(--color-blue-dark);
}

.rs-spa-hero-img,
.rs-spa-appointment>img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.rs-spa-hero-img {
    object-position: center 42%;
}

.rs-spa-hero-overlay {
    position: absolute;
    inset: 0;
    background: rgba(48, 48, 161, 0.34);
}

.rs-spa-hero-content {
    position: relative;
    z-index: 2;
    text-align: center;
    color: #FFFFFF;
}

.rs-spa-hero-content h1,
.rs-hero-title {
    color: #FFFFFF;
    font-size: clamp(1.8rem, 3.8vw, 3.2rem);
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: 12px;
}

.rs-spa-hero-content p {
    margin-bottom: 28px;
    font-size: 1rem;
    color: rgba(255, 255, 255, 0.9);
}

.rs-spa-arrow {
    position: absolute;
    top: 50%;
    z-index: 3;
    width: 40px;
    height: 40px;
    border: 1px solid rgba(255, 255, 255, 0.34);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.08);
    color: #FFFFFF;
    cursor: pointer;
}

.rs-spa-arrow svg {
    width: 22px;
    height: 22px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
}

.rs-spa-arrow-left {
    left: 28px;
}

.rs-spa-arrow-right {
    right: 28px;
}

.rs-spa-split,
.rs-spa-offer-grid,
.rs-spa-appointment-grid,
.rs-spa-news-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    gap: 56px;
}

.rs-spa-welcome {
    padding-top: 86px;
}

/* Scroll Animation Variation for Photo Stack (Accent background shifts on scroll only, image stays clean) */
.rs-spa-photo-stack {
    position: relative;
    max-width: 380px;
    justify-self: end;
    will-change: transform, opacity;
}

/* Hero-Inspired Top-to-Bottom Entrance Transition for Photo Stack */
.rs-spa-photo-stack {
    position: relative;
    width: 100%;
    max-width: 380px;
    justify-self: end;
}

.rs-spa-photo-stack.reveal-on-scroll {
    opacity: 0;
    will-change: transform, opacity, filter;
}

.rs-spa-photo-stack img {
    position: relative;
    z-index: 2;
    width: 100%;
    aspect-ratio: 0.82;
    object-fit: cover;
    border: 10px solid #FFFFFF;
    border-radius: 14px;
    box-shadow: 0 20px 48px rgba(48, 48, 161, 0.16), 0 6px 18px #DDD8F0;
    opacity: 0;
    transform: scale(1.22) translate3d(0, -45px, 0);
    filter: blur(12px) brightness(1.2);
    transition: opacity 1.4s cubic-bezier(0.16, 1, 0.3, 1),
        transform 1.4s cubic-bezier(0.16, 1, 0.3, 1),
        filter 1.4s cubic-bezier(0.16, 1, 0.3, 1),
        box-shadow 0.4s ease;
    will-change: transform, opacity, filter;
}

.rs-spa-photo-stack.reveal-on-scroll.active,
.rs-spa-photo-stack.reveal-on-scroll.reveal-active {
    opacity: 1;
}

.rs-spa-photo-stack.reveal-on-scroll.active img,
.rs-spa-photo-stack.reveal-on-scroll.reveal-active img {
    opacity: 1;
    transform: scale(1) translate3d(0, 0, 0);
    filter: blur(0) brightness(1);
}

.rs-spa-photo-stack:hover img {
    box-shadow: 0 26px 60px rgba(48, 48, 161, 0.22), 0 8px 24px rgba(249, 174, 179, 0.18);
    transform: scale(1.025) translateY(-4px);
}

.rs-spa-photo-accent {
    position: absolute;
    top: 32px;
    left: -34px;
    width: 110px;
    height: calc(100% - 66px);
    background: #FFF1F8;
    border-radius: 12px;
    z-index: 1;
    box-shadow: 0 10px 24px rgba(250, 197, 227, 0.45);
    opacity: 0;
    transform: scale(1.15) translate3d(0, -25px, 0);
    transition: opacity 1.2s cubic-bezier(0.16, 1, 0.3, 1) 0.15s,
        transform 1.2s cubic-bezier(0.16, 1, 0.3, 1) 0.15s;
    will-change: transform, opacity;
}

.rs-spa-photo-stack.reveal-on-scroll.active .rs-spa-photo-accent,
.rs-spa-photo-stack.reveal-on-scroll.reveal-active .rs-spa-photo-accent {
    opacity: 1;
    transform: scale(1) translate3d(0, 0, 0);
}

.rs-spa-copy {
    max-width: 610px;
}

.rs-spa-kicker {
    display: inline-block;
    margin-bottom: 12px;
    background: #EDF5EC;
    color: #4E7A51;
    border: 1px solid #D2E6D1;
    border-radius: 9999px;
    padding: 6px 18px;
    font-size: 0.76rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.rs-spa-copy h2,
.rs-spa-offer-content h2,
.rs-spa-open-hours h2 {
    color: #222226;
    font-size: clamp(1.9rem, 2.5vw, 2.5rem);
    font-weight: 700;
    margin-bottom: 14px;
}

.rs-spa-copy p,
.rs-doctor-wide-copy p,
.rs-spa-offer-content p,
.rs-spa-open-hours p {
    color: #000000 !important;
    font-size: clamp(1.08rem, 1.3vw, 1.2rem) !important;
    line-height: 1.7 !important;
    margin-bottom: 16px;
}

.rs-spa-sign {
    color: var(--color-blue-primary);
    font-family: "Brush Script MT", cursive;
    font-size: 2rem;
    line-height: 1;
    margin: 8px 0 18px;
}

.rs-spa-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.rs-spa-offer {
    position: relative;
    padding: 48px 0;
    width: 100%;
    overflow: hidden;
    background: linear-gradient(135deg, #fdf0f7 0%, #f3e5ff 45%, #fce4f1 100%) !important;
    border-top: 2px solid #DDD8F0;
    border-bottom: 2px solid #DDD8F0;
}

.rs-spa-offer::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background:
        radial-gradient(circle at 15% 25%, #DDD8F0 0%, transparent 45%),
        radial-gradient(circle at 85% 75%, rgba(147, 51, 234, 0.14) 0%, transparent 50%),
        url('../images/banner-home.png') center / cover no-repeat;
    opacity: 0.85;
}

.rs-spa-offer::after {
    content: "";
    position: absolute;
    width: 450px;
    height: 450px;
    right: -80px;
    top: -100px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(236, 72, 153, 0.2) 0%, rgba(168, 85, 247, 0.15) 45%, transparent 70%);
    filter: blur(50px);
    pointer-events: none;
    z-index: 1;
}

.rs-spa-offer>.rs-container {
    position: relative;
    z-index: 2;
}

.rs-spa-offer-media {
    position: relative;
    height: 360px;
    min-height: 360px;
    overflow: hidden;
}

.rs-spa-offer-media img {
    width: 100%;
    height: 100%;
    max-height: none;
    object-fit: cover;
    object-position: center;
    border-radius: 20px;
    filter: saturate(0.96);
    box-shadow: 0 16px 36px rgba(48, 48, 161, 0.14);
}

.rs-spa-offer-content {
    position: relative;
    z-index: 3;
    text-align: left;
    max-width: 660px;
    margin-left: auto;
    justify-self: end;
    grid-column: 2;
}

.rs-spa-offer-content>span {
    display: block;
    color: #3030A1 !important;
    font-size: 0.85rem;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    margin-bottom: 10px;
}

.rs-spa-offer-content h2 {
    color: #3030A1 !important;
    font-family: var(--font-heading);
    font-size: clamp(2rem, 3.2vw, 2.75rem) !important;
    font-weight: 700;
    line-height: 1.25 !important;
    margin-bottom: 18px;
}

.rs-spa-offer-content p {
    color: #555565;
    font-size: clamp(0.98rem, 1.1vw, 1.08rem) !important;
    line-height: 1.65 !important;
    margin-bottom: 18px;
}

.rs-spa-offer-content .rs-spa-service-more {
    display: flex;
    justify-content: flex-start;
}

.rs-spa-open-hours>span {
    display: block;
    color: var(--color-blue-primary);
    font-size: 0.76rem;
    font-weight: 700;
}

.rs-spa-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    max-width: 430px;
    margin: 24px auto 0;
}

.rs-spa-stats strong {
    display: block;
    color: var(--color-blue-primary);
    font-size: 1.3rem;
}

.rs-spa-stats small {
    color: var(--color-text-muted);
    font-size: 0.7rem;
    text-transform: uppercase;
}

.rs-spa-health,
.rs-home-tv-radio,
.rs-home-before-after {
    position: relative;
    overflow: hidden;
    background-color: #FFF4FA;
}


.rs-home-tv-radio {
    background-color: #ffffff !important;
}

.rs-spa-health::before,
.rs-home-tv-radio::before,
.rs-home-before-after::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: rgba(255, 255, 255, 0.72);
    opacity: 1;
}

.rs-home-before-after::before {
    background: rgba(255, 255, 255, 0.35);
}


.rs-spa-health-bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    object-fit: fill;
    opacity: 0.55;
    filter: saturate(1.25) contrast(1.05);
    pointer-events: none;
}

.rs-spa-health>.rs-container,
.rs-home-tv-radio>.rs-container,
.rs-home-before-after>.rs-container {
    position: relative;
    z-index: 2;
}

.rs-spa-health-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px minmax(0, 1fr);
    gap: 36px;
    align-items: center;
}

.rs-spa-feature-list {
    display: grid;
    gap: 28px;
}

.rs-spa-feature-list:first-child {
    text-align: right;
}

.rs-spa-feature-list article {
    min-height: 86px;
}

.rs-spa-feature-list h3 {
    color: var(--color-blue-primary);
    font-size: 1.1rem;
    font-weight: 600;
    margin: 4px 0;
    text-transform: uppercase;
}

.rs-spa-feature-list p {
    color: #000000;
    font-size: 0.98rem;
    line-height: 1.5;
}

.rs-spa-icon {
    display: inline-grid;
    place-items: center;
    width: 54px;
    height: 54px;
    border-radius: 50%;
    background: #FFFFFF;
    border: 1px solid rgba(249, 174, 179, 0.18);
    box-shadow: 0 10px 22px rgba(48, 48, 161, 0.08);
}

.rs-spa-icon img {
    width: 34px;
    height: 34px;
    object-fit: contain;
}

.rs-spa-health-photo {
    width: 300px;
    height: 300px;
    border-radius: 50%;
    padding: 8px;
    background: #FFFFFF;
    box-shadow: 0 18px 45px rgba(48, 48, 161, 0.12);
}

.rs-spa-health-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
}

.rs-spa-treatment {
    background: #FFF1F8;
}

.rs-spa-treatment-tabs {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    max-width: 1120px;
    margin: 0 auto 42px;
    background: #FFFFFF;
    border: 1.5px solid rgba(48, 48, 161, 0.12);
    box-shadow: 0 10px 30px rgba(48, 48, 161, 0.06);
    border-radius: 4px;
}

.rs-spa-treatment-tabs.rs-spa-condition-tabs-3 {
    grid-template-columns: repeat(3, 1fr);
    max-width: 880px;
    margin: 0 auto 42px auto;
    text-align: center;
    justify-content: center;
    align-items: center;
}

.rs-spa-treatment-tabs.rs-spa-condition-tabs-3 button {
    text-align: center;
    justify-content: center;
    align-items: center;
}

.rs-spa-treatment-tabs.rs-spa-condition-tabs-3 button strong {
    text-align: center;
    display: block;
    width: 100%;
}

.rs-spa-treatment-tabs button {
    position: relative;
    min-height: 115px;
    padding: 18px 12px 16px 12px;
    border: 0;
    border-right: 1px solid rgba(48, 48, 161, 0.12);
    background: #FFFFFF;
    color: #3030A1;
    font-family: var(--font-heading);
    font-size: 1.0rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    transition: all 0.25s ease;
}

.rs-spa-treatment-tabs button:last-child {
    border-right: 0;
}

.rs-spa-treatment-tabs button:hover:not(.active) {
    background: #F5F2FF;
}

.rs-spa-treatment-tabs button.active {
    background: #3030A1;
    color: #FFFFFF;
    z-index: 2;
}

.rs-spa-treatment-tabs button.active::after {
    content: '';
    position: absolute;
    bottom: -11px;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: 11px solid transparent;
    border-right: 11px solid transparent;
    border-top: 11px solid #3030A1;
    z-index: 10;
}

.rs-spa-treatment-icon i {
    font-size: 2.4rem;
    color: #3030A1;
    transition: color 0.25s ease;
}

.rs-spa-treatment-tabs button.active .rs-spa-treatment-icon i {
    color: #FFFFFF;
}

.rs-spa-treatment-body {
    display: grid;
    grid-template-columns: 240px 330px minmax(0, 1fr);
    gap: 32px;
    align-items: center;
    max-width: 1080px;
    margin: 0 auto;
}

.rs-spa-treatment-menu {
    background: #FFFFFF;
    box-shadow: var(--shadow-sm);
}

.rs-spa-treatment-menu button,
.rs-spa-treatment-menu a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 14px 18px;
    border: 0;
    border-bottom: 1px solid rgba(48, 48, 161, 0.08);
    background: transparent;
    color: var(--color-text-body);
    font-family: var(--font-heading);
    font-size: 0.98rem;
    font-weight: 700;
    text-align: left;
    cursor: pointer;
    transition: all 0.2s ease;
}

.rs-spa-treatment-menu button.active,
.rs-spa-treatment-menu a.active {
    background: #FFF1F8;
    color: #F9AEB3;
}

.rs-spa-treatment-menu button i,
.rs-spa-treatment-menu a i {
    font-size: 0.825rem;
    color: var(--color-blue-primary);
    transition: transform 0.25s ease, color 0.25s ease;
    margin-left: 12px;
    flex-shrink: 0;
}

.rs-spa-treatment-menu button:hover:not(.active) i {
    transform: translateX(4px);
    color: #F9AEB3;
}

.rs-spa-treatment-menu button.active i,
.rs-spa-treatment-menu a.active i {
    color: #F9AEB3;
    transform: translateX(3px);
}

.rs-spa-treatment-body>img {
    width: 100%;
    height: 270px;
    object-fit: cover;
    border-radius: 12px;
    box-shadow: 0 16px 32px rgba(48, 48, 161, 0.12);
}

.rs-spa-treatment-body h3 {
    color: var(--color-blue-primary);
    font-size: 1.85rem;
    font-weight: 800;
    margin-bottom: 6px;
}

.rs-spa-treatment-body strong {
    display: block;
    color: var(--color-pink-primary);
    font-size: 1.2rem;
    font-weight: 800;
    margin-bottom: 14px;
}

.rs-spa-treatment-body p {
    color: var(--color-text-body);
    font-size: 1.025rem;
    line-height: 1.6;
    margin-bottom: 18px;
}

.rs-spa-gallery-filter {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin-bottom: 24px;
    flex-wrap: wrap;
}

.rs-spa-gallery-filter button {
    border: 0;
    background: transparent;
    color: var(--color-text-muted);
    font-family: var(--font-heading);
    font-size: 0.72rem;
    font-weight: 800;
    text-transform: uppercase;
    cursor: pointer;
}

.rs-spa-gallery-filter button.active,
.rs-spa-gallery-filter button:hover {
    color: var(--color-pink-primary);
}

.rs-spa-mosaic {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
    max-width: 1180px;
    margin: 0 auto;
}

.rs-spa-mosaic figure {
    position: relative;
    margin: 0;
    aspect-ratio: 1.22;
    overflow: hidden;
    background: #FFFFFF;
    border: 8px solid #FFFFFF;
    box-shadow: 0 14px 32px rgba(48, 48, 161, 0.1);
    transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1), transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.rs-spa-mosaic figure::after {
    content: "";
    position: absolute;
    inset: 0;
    border: 1px solid #DDD8F0;
    pointer-events: none;
}

.rs-spa-mosaic img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.35s ease;
}

.rs-spa-mosaic figure:hover img {
    transform: scale(1.04);
}

.rs-spa-appointment {
    position: relative;
    min-height: 520px;
    overflow: hidden;
    display: flex;
    align-items: center;
}

.rs-spa-appointment>img {
    object-position: center 34%;
    filter: saturate(0.85);
}

.rs-spa-appointment-overlay {
    position: absolute;
    inset: 0;
    background: rgba(255, 255, 255, 0.48);
}

.rs-spa-appointment-grid {
    position: relative;
    z-index: 2;
    gap: 0;
    grid-template-columns: 420px minmax(0, 1fr);
    min-height: 520px;
    align-items: stretch;
}

.rs-spa-form {
    width: 100%;
    max-width: none;
    padding: 58px 58px 54px;
    background: rgba(249, 174, 179, 0.58);
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.rs-spa-form h2 {
    color: #20334E;
    font-size: 1.45rem;
    font-weight: 500;
    margin-bottom: 34px;
    line-height: 1.15;
}

.rs-spa-form h2::after {
    content: "Appointment";
    display: block;
    margin-top: 12px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 2.35rem;
    font-style: italic;
    font-weight: 400;
}

.rs-spa-form input,
.rs-spa-form textarea {
    width: 100%;
    border: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.55);
    background: transparent;
    padding: 14px 14px;
    color: #20334E;
    font: inherit;
    font-weight: 700;
    outline: none;
}

.rs-spa-form input::placeholder,
.rs-spa-form textarea::placeholder {
    color: #20334E;
    opacity: 1;
}

.rs-spa-form button {
    margin-top: 24px;
    width: 136px;
    min-height: 52px;
    border-radius: 2px;
    background: #20334E;
}

.rs-spa-form [data-form-note] {
    color: #FFFFFF;
    margin-top: 14px;
    min-height: 20px;
    font-size: 0.86rem;
}

.rs-spa-open-hours {
    position: relative;
    justify-self: center;
    align-self: center;
    width: min(620px, calc(100% - 70px));
    max-width: 620px;
    padding: 50px 60px 44px;
    border: 5px solid rgba(249, 174, 179, 0.58);
    background: rgba(255, 255, 255, 0.5);
    backdrop-filter: blur(1px);
    text-align: center;
}

.rs-spa-open-hours h2 {
    margin-bottom: 12px;
    text-transform: uppercase;
    color: rgba(249, 174, 179, 0.78);
    font-size: clamp(3rem, 4.5vw, 4.8rem);
    line-height: 0.95;
}

.rs-spa-open-hours dl {
    margin-top: 28px;
}

.rs-spa-open-hours dl>div {
    display: flex;
    justify-content: center;
    gap: 6px;
    padding: 2px 0;
    color: #1F2430;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.12rem;
    font-style: italic;
}

.rs-spa-open-hours dt {
    font-weight: 500;
}

.rs-spa-open-hours dd {
    margin: 0;
}

.rs-spa-open-hours>span:not(.rs-spa-hours-ribbon) {
    color: #111111;
    font-size: 2rem;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.rs-spa-open-hours p {
    max-width: 560px;
    margin: 0 auto;
    color: #5f6470;
    font-size: 1.2rem;
    line-height: 1.28;
}

.rs-spa-hours-ribbon {
    position: absolute;
    left: -28px;
    top: 50%;
    transform: translateY(-50%);
    width: 56px;
    height: 154px;
    display: grid !important;
    place-items: center;
    background: rgba(249, 174, 179, 0.72);
    color: #FFFFFF !important;
    font-size: 1rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase;
    writing-mode: vertical-rl;
    rotate: 180deg;
}

.rs-spa-expert-grid,
.rs-spa-product-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 34px;
    max-width: 980px;
    margin: 0 auto;
}

.rs-spa-expert-card,
.rs-spa-product-grid article {
    text-align: center;
}

.rs-spa-expert-card img {
    width: 100%;
    aspect-ratio: 0.8;
    object-fit: cover;
    margin-bottom: 18px;
}

.rs-spa-expert-card h3,
.rs-spa-product-grid h3,
.rs-spa-news-list h3,
.rs-spa-feature-news h3 {
    color: var(--color-blue-primary);
    font-size: 1.18rem;
    font-weight: 700;
}

.rs-spa-expert-card p,
.rs-spa-product-grid p,
.rs-spa-news-list p,
.rs-spa-feature-news p {
    color: var(--color-text-muted);
    font-size: 0.82rem;
}

.rs-spa-plans {
    padding: 82px 0;
    background-color: #FFF1F8;
    background-image: url("../images/facial-glow.png");
    background-position: center;
    background-size: cover;
}

.rs-spa-plan-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
    max-width: 940px;
    margin: 0 auto;
}

.rs-spa-plan-card {
    min-height: 335px;
    padding: 34px 28px;
    text-align: center;
    color: #FFFFFF;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.rs-plan-blue {
    background: rgba(48, 48, 161, 0.86);
}

.rs-plan-pink {
    background: rgba(249, 174, 179, 0.82);
}

.rs-plan-purple {
    background: rgba(48, 48, 161, 0.78);
}

.rs-spa-plan-card span {
    display: inline-block;
    padding: 8px 18px;
    background: rgba(255, 255, 255, 0.18);
    font-size: 0.75rem;
    font-weight: 800;
    text-transform: uppercase;
}

.rs-spa-plan-card h3 {
    color: #FFFFFF;
    font-size: 2.55rem;
    margin: 20px 0 14px;
}

.rs-spa-plan-card p {
    max-width: 230px;
    color: rgba(255, 255, 255, 0.88);
    font-size: 0.84rem;
    margin-bottom: 24px;
}

.rs-spa-plan-card a {
    display: inline-flex;
    min-height: 32px;
    align-items: center;
    padding: 0 18px;
    background: #FFFFFF;
    color: var(--color-blue-primary);
    font-size: 0.68rem;
    font-weight: 800;
    text-transform: uppercase;
}

.rs-spa-product-grid {
    grid-template-columns: repeat(4, 1fr);
}

.rs-spa-product-grid article {
    background: #FFFFFF;
    padding: 18px 16px 20px;
    box-shadow: var(--shadow-sm);
}

.rs-spa-product-grid img {
    width: 100%;
    aspect-ratio: 1.45;
    object-fit: cover;
    margin-bottom: 16px;
}

.rs-spa-product-grid p {
    color: var(--color-pink-primary);
    font-weight: 800;
    margin: 6px 0 10px;
}

.rs-spa-product-grid a {
    display: inline-flex;
    min-height: 28px;
    align-items: center;
    padding: 0 14px;
    background: var(--color-pink-primary);
    color: #FFFFFF;
    font-size: 0.65rem;
    font-weight: 800;
    text-transform: uppercase;
}

.rs-spa-news {
    background: #F7F8FB;
}

.rs-spa-news-grid {
    max-width: 980px;
    margin: 0 auto;
    gap: 34px;
}

.rs-spa-news-list {
    display: grid;
    gap: 18px;
}

.rs-spa-news-list article {
    display: grid;
    grid-template-columns: 110px 1fr;
    gap: 16px;
    align-items: center;
}

.rs-spa-news-list img {
    width: 110px;
    height: 82px;
    object-fit: cover;
}

.rs-spa-feature-news {
    position: relative;
    min-height: 310px;
    overflow: hidden;
    display: flex;
    align-items: flex-end;
}

.rs-spa-feature-news img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.rs-spa-feature-news div {
    position: relative;
    width: 100%;
    padding: 34px;
    background: rgba(48, 48, 161, 0.82);
}

.rs-spa-feature-news h3,
.rs-spa-feature-news p {
    color: #FFFFFF;
}

#services-extra.rs-spa-news {
    background: #FFFFFF;
    padding: 86px 0 96px;
}

#services-extra .rs-container {
    max-width: 100%;
    padding-left: clamp(16px, 2vw, 28px);
    padding-right: clamp(16px, 2vw, 28px);
}

.rs-spa-specialist-slider {
    position: relative;
    margin-top: 54px;
}

.rs-spa-specialist-track {
    position: relative;
}

.rs-spa-specialist-slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    visibility: hidden;
    transform: translateX(34px);
    pointer-events: none;
    transition: opacity 0.45s ease, transform 0.45s ease, visibility 0.45s ease;
}

.rs-spa-specialist-slide.active {
    position: relative;
    opacity: 1;
    visibility: visible;
    transform: translateX(0);
    pointer-events: auto;
}

.rs-spa-specialist-story {
    display: grid;
    grid-template-columns: minmax(300px, 430px) minmax(340px, 440px) minmax(300px, 430px);
    align-items: center;
    justify-content: center;
    gap: clamp(20px, 3.2vw, 48px);
    margin-top: 0;
}

.rs-spa-specialist-photo {
    margin: 0;
    height: 462px;
    overflow: hidden;
    border-radius: 230px 230px 0 0;
    box-shadow: 0 18px 42px rgba(210, 211, 255, 0.34);
    border: 2.5px solid rgba(192, 132, 252, 0.28);
}

.rs-spa-specialist-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);
}

.rs-spa-specialist-photo:hover img {
    transform: scale(1.06);
}

.rs-spa-specialist-photo-left img {
    object-position: center;
}

.rs-spa-specialist-photo-right img {
    object-position: center;
}

.rs-spa-specialist-card {
    position: relative;
    min-height: 560px;
    padding: 28px;
    border-radius: 50% / 44%;
    background: linear-gradient(135deg, #FFF1F8 0%, #f4f0ff 48%, #eaf1ff 100%);
    box-shadow: 0 18px 40px rgba(48, 48, 161, 0.12);
    border: 2.5px solid rgba(192, 132, 252, 0.28);
    overflow: hidden;
}

.rs-spa-specialist-card::before {
    content: "";
    position: absolute;
    inset: 18px;
    border: 1.5px solid rgba(192, 132, 252, 0.18);
    border-radius: 50% / 44%;
    pointer-events: none;
    z-index: 2;
}

.rs-spa-specialist-card::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 520px;
    height: 520px;
    background: url('../images/esseine-floral-bg.png') center / contain no-repeat;
    opacity: 0.1;
    transform: translate(-50%, -50%);
    pointer-events: none;
    z-index: 0;
}

.rs-spa-specialist-card-inner {
    position: relative;
    z-index: 1;
    min-height: 504px;
    padding: 78px 54px;
    border-radius: 50% / 44%;
    border: 1px solid rgba(192, 132, 252, 0.16);
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
}

.rs-spa-specialist-card span {
    display: block;
    margin-bottom: 16px;
    color: var(--color-pink-primary);
    font-family: var(--font-heading);
    font-size: 0.92rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.rs-spa-specialist-card h3 {
    color: #3030A1;
    font-family: 'Cormorant Garamond', 'Marcellus', 'Playfair Display', serif;
    font-size: clamp(2.05rem, 2.6vw, 2.75rem);
    font-weight: 400;
    line-height: 1.08;
    margin-bottom: 24px;
}

.rs-spa-specialist-card p {
    color: #000000;
    font-size: 1.1rem;
    line-height: 1.72;
    margin: 0;
}

.rs-spa-specialist-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 28px;
    margin-top: 44px;
}

.rs-spa-specialist-nav span {
    display: block;
    width: 68px;
    height: 1px;
    background: #F9AEB3;
    opacity: 1;
}

.rs-spa-specialist-nav button {
    width: 56px;
    height: 34px;
    border: 0;
    background: transparent;
    color: #F9AEB3;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.3rem;
    transition: color 0.25s ease, transform 0.25s ease;
}

.rs-spa-specialist-nav button:hover {
    color: #c21373;
    transform: translateY(-2px);
}





.rs-spa-brand-strip {
    position: relative;
    min-height: 420px;
    padding: 94px 0 82px;
    background-color: #F5F2FF;
    background-image: url("../../assets/images/banner.png");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    color: #3030A1;
    overflow: hidden;
}

.rs-spa-brand-strip::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(255, 255, 255, 0.72);
}

.rs-spa-brand-strip .rs-container {
    position: relative;
    z-index: 2;
    max-width: 100%;
    padding-left: 48px;
    padding-right: 48px;
}

.rs-spa-strip-cta {
    display: grid;
    justify-items: start;
    gap: 18px;
    max-width: 760px;
    margin: 0;
    text-align: left;
    padding: 0;
    background: transparent;
    border: 0;
    box-shadow: none;
    backdrop-filter: none;
}

.rs-spa-strip-cta h2 {
    color: #3030A1;
    font-size: clamp(1.8rem, 3vw, 2.8rem);
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0;
    text-align: left;
}

.rs-spa-strip-cta>span {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: 170px;
    height: 26px;
    color: #F9AEB3;
    justify-self: start;
}

.rs-spa-strip-cta>span::before,
.rs-spa-strip-cta>span::after {
    content: "";
    position: absolute;
    top: 50%;
    width: 64px;
    height: 2px;
    background: #F9AEB3;
}

.rs-spa-strip-cta>span::before {
    left: 0;
}

.rs-spa-strip-cta>span::after {
    right: 0;
}

.rs-spa-strip-cta svg {
    width: 34px;
    height: 20px;
    fill: #F9AEB3;
    margin-left: 68px;
}

.rs-spa-strip-cta p {
    max-width: 640px;
    color: #475569;
    font-size: 1rem;
    line-height: 1.7;
    text-transform: none;
    text-align: left;
}

.rs-spa-strip-cta a {
    justify-self: start;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 14px 36px;
    background: #F9AEB3;
    color: #FFFFFF;
    font-size: 0.95rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    border-radius: 50px;
    box-shadow: 0 8px 25px rgba(249, 174, 179, 0.3);
    transition: all 0.3s ease;
}

.rs-spa-strip-cta a {
    display: inline-flex;
    min-width: 220px;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    padding: 0 28px;
    border-radius: 999px;
    /* background: #FFFFFF;
    color: #333943; */
    font-size: 0.88rem;
    font-weight: 800;
    text-transform: capitalize;
    box-shadow: 0 10px 24px rgba(48, 48, 161, 0.08);
}

.rs-spa-strip-cta a:hover {
    background: #F9AEB3;
    color: #FFFFFF;
}

.rs-menu-toggle {
    display: none;
    width: 42px;
    height: 42px;
    border: 1px solid rgba(48, 48, 161, 0.16);
    border-radius: 4px;
    background: #FFFFFF;
    cursor: pointer;
}

.rs-menu-toggle span {
    display: block;
    width: 20px;
    height: 2px;
    margin: 5px auto;
    background: var(--color-blue-primary);
}





/* Final reference-template alignment polish */
.rs-container {
    max-width: 1280px;
    padding-left: 10px;
    padding-right: 10px;
}

.rs-spa-section {
    padding: 70px 0;
}

.rs-spa-welcome {
    padding-top: 70px;
}

.rs-spa-welcome .rs-container {
    max-width: 1200px;
    padding-left: 20px;
    padding-right: 20px;
    margin-left: auto;
    margin-right: auto;
}

.rs-spa-welcome .rs-spa-split {
    grid-template-columns: minmax(320px, 380px) minmax(0, 1fr);
    max-width: 1100px;
    gap: 48px;
    margin: 0 auto;
    justify-content: center;
    align-items: center;
}

.rs-spa-welcome .rs-spa-photo-stack {
    max-width: 380px;
    justify-self: center;
    margin: 0 auto;
}

.rs-spa-welcome .rs-spa-copy {
    max-width: 620px;
    justify-self: start;
}

.rs-spa-offer {
    padding: 64px 0;
}

.rs-spa-section-title {
    margin-bottom: 34px;
}

.rs-spa-section-title h2 {
    font-size: clamp(2.2rem, 3.6vw, 3.1rem);
    font-weight: 500;
    letter-spacing: -0.01em;
}

.rs-spa-section-title p {
    max-width: 760px;
    margin-left: auto;
    margin-right: auto;
}

.rs-spa-hero {
    min-height: 780px;
    height: 80vh;
}

.rs-spa-split,
.rs-spa-offer-grid {
    grid-template-columns: 0.94fr 1.06fr;
    gap: 46px;
}

.rs-spa-photo-stack {
    max-width: 360px;
}

.rs-spa-copy h2,
.rs-spa-offer-content h2,
.rs-spa-open-hours h2 {
    font-size: clamp(2.1rem, 3.2vw, 2.9rem);
    font-weight: 500;
}

.rs-spa-copy h2 {
    color: #3030A1;
    font-weight: 500;
}

.rs-spa-copy p,
.rs-spa-offer-content p,
.rs-spa-open-hours p,
.rs-spa-treatment-body p {
    font-size: clamp(1.02rem, 1.3vw, 1.18rem) !important;
    line-height: 1.7 !important;
}

.rs-spa-welcome .rs-spa-copy p {
    font-size: clamp(0.96rem, 1.12vw, 1.06rem) !important;
    line-height: 1.68 !important;
}

.rs-spa-offer-content p {
    font-size: clamp(0.98rem, 1.1vw, 1.08rem) !important;
    line-height: 1.65 !important;
}

.rs-spa-health-grid {
    grid-template-columns: minmax(0, 1fr) 320px minmax(0, 1fr);
    gap: 28px;
    max-width: 1120px;
    margin: 0 auto;
}

.rs-spa-health-photo {
    width: 320px;
    height: 320px;
}

.rs-spa-feature-list {
    gap: 22px;
}

.rs-spa-treatment-tabs,
.rs-spa-treatment-body,
.rs-spa-mosaic,
.rs-spa-expert-grid,
.rs-spa-plan-grid,
.rs-spa-news-grid {
    max-width: 1120px;
}

.rs-spa-treatment-body {
    grid-template-columns: 200px 300px minmax(0, 1fr);
    gap: 26px;
}

.rs-spa-appointment {
    min-height: 330px;
}

.rs-spa-form {
    max-width: 390px;
    padding: 30px;
}

.rs-spa-open-hours {
    max-width: 430px;
    padding: 30px 36px;
}

.rs-spa-expert-grid {
    gap: 28px;
}

.rs-spa-plan-grid {
    gap: 26px;
}

.rs-spa-plan-card {
    min-height: 318px;
}

.rs-spa-product-grid {
    max-width: 1120px;
    margin-left: auto;
    margin-right: auto;
    gap: 22px;
}

.rs-spa-news-grid {
    gap: 28px;
}

.rs-rocket-inner {
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

.rs-rocket-icon {
    width: 18px;
    height: 18px;
    fill: currentColor;
}

.rs-rocket-inner span {
    display: none;
}

.rs-rocket-tooltip,
.rs-rocket-flame {
    display: none;
}





/* Site-wide container & edge spacing */
.rs-container {
    width: 100%;
    max-width: 1280px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 32px;
    padding-right: 32px;
}

.rs-spa-treatment-tabs,
.rs-spa-treatment-body,
.rs-spa-mosaic,
.rs-spa-expert-grid,
.rs-spa-plan-grid,
.rs-spa-product-grid,
.rs-spa-news-grid,
.rs-spa-split,
.rs-spa-offer-grid,
.rs-spa-health-grid,
.rs-spa-appointment-grid {
    max-width: 1280px;
    margin-left: auto;
    margin-right: auto;
}



/* Appointment strip matching the reference composition */
.rs-spa-appointment {
    min-height: 520px;
}

.rs-spa-appointment .rs-container {
    max-width: 1440px;
    padding-left: 24px;
    padding-right: 24px;
}

.rs-spa-appointment-grid {
    grid-template-columns: 445px minmax(0, 1fr);
    max-width: 1440px;
    min-height: 520px;
    align-items: stretch;
}

.rs-spa-form {
    max-width: none;
    padding: 58px 58px 54px;
    background: rgba(249, 174, 179, 0.58);
}

.rs-spa-open-hours {
    width: min(640px, calc(100% - 90px));
    max-width: 640px;
    padding: 50px 60px 44px;
}

.rs-spa-open-hours h2 {
    font-size: clamp(3.8rem, 5vw, 5.2rem);
    font-weight: 800;
}

.rs-spa-open-hours p {
    font-size: 1.22rem;
    line-height: 1.28;
}





/* Missing index-2 inspired homepage sections */
.rs-spa-services-for-you {
    background: #FFFFFF;
}

.rs-spa-service-circle-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 26px;
    max-width: 1280px;
    margin: 0 auto;
}

.rs-spa-service-circle-grid article {
    text-align: center;
}

.rs-spa-service-circle-grid a {
    position: relative;
    display: block;
    width: min(190px, 100%);
    aspect-ratio: 1;
    margin: 0 auto 18px;
    border: 8px solid #FFD6EA;
    border-radius: 50%;
    background: #FFF1F8;
    overflow: hidden;
    box-shadow: 0 16px 34px rgba(48, 48, 161, 0.11);
}

.rs-spa-service-circle-grid img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.35s ease;
}

.rs-spa-service-circle-grid a:hover img {
    transform: scale(1.05);
}

.rs-spa-service-circle-grid a span {
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 2;
    display: grid;
    place-items: center;
    min-width: 48px;
    min-height: 48px;
    padding: 7px;
    border-radius: 50%;
    background: #FFFFFF;
    color: var(--color-pink-primary);
    font-size: 0.74rem;
    font-weight: 800;
    box-shadow: 0 8px 18px rgba(48, 48, 161, 0.12);
}

.rs-spa-service-circle-grid h3 {
    color: var(--color-blue-primary);
    font-size: 1rem;
    font-weight: 700;
}

.rs-spa-feature-offer {
    position: relative;
    padding: 68px 0;
    min-height: 340px;
    display: flex;
    align-items: center;
    overflow: hidden;
    background-color: #FFF1F8;
    background-image: url("../images/special-offer.jpg");
    background-position: center right;
    background-repeat: no-repeat;
    background-size: cover;
}

.rs-spa-feature-offer::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(255, 255, 255, 0.2);
}

.rs-spa-feature-offer .rs-container {
    position: relative;
    z-index: 2;
}

.rs-spa-feature-offer-panel {
    width: min(560px, 100%);
    min-height: 230px;
    padding: 44px 58px;
    border-radius: 0 120px 120px 0;
    background: rgba(255, 238, 245, 0.92);
    backdrop-filter: blur(12px);
    border: 1px solid rgba(249, 174, 179, 0.25);
    box-shadow: 0 16px 45px #DDD8F0;
    color: #3030A1;
}

.rs-spa-feature-offer-panel span {
    display: block;
    margin-bottom: 6px;
    color: #F9AEB3;
    font-size: 1.15rem;
    font-weight: 700;
}

.rs-spa-feature-offer-panel h2 {
    color: #3030A1;
    font-size: clamp(1.8rem, 3.2vw, 3rem);
    font-weight: 800;
    margin-bottom: 14px;
    text-transform: uppercase;
}

.rs-spa-feature-offer-panel p {
    max-width: 390px;
    margin-bottom: 22px;
    color: #475569;
    font-size: 0.92rem;
    line-height: 1.65;
}

.rs-spa-news {
    padding-bottom: 25px;
}

.rs-spa-testimonials {
    background: #F7F8FB;
    padding: 25px 0 25px;
}

.rs-spa-testimonial-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 34px;
    max-width: 1120px;
    margin: 0 auto;
}

.rs-spa-testimonial-grid article {
    display: grid;
    grid-template-columns: 88px minmax(0, 1fr);
    gap: 20px;
    align-items: start;
    padding: 28px;
    background: #FFFFFF;
    box-shadow: 0 14px 32px rgba(48, 48, 161, 0.08);
}

.rs-spa-testimonial-grid img {
    width: 88px;
    height: 88px;
    border-radius: 50%;
    object-fit: cover;
    border: 4px solid #FFD6EA;
}

.rs-spa-testimonial-grid span {
    display: block;
    height: 28px;
    color: var(--color-pink-primary);
    font-size: 3rem;
    font-family: Georgia, "Times New Roman", serif;
    line-height: 0.8;
}

.rs-spa-testimonial-grid p {
    color: var(--color-text-muted);
    font-size: 0.9rem;
    line-height: 1.7;
    margin-bottom: 12px;
}

.rs-spa-testimonial-grid h3 {
    color: var(--color-blue-primary);
    font-size: 0.92rem;
    font-weight: 800;
    text-transform: uppercase;
}

.rs-spa-contact-section {
    background: #FFFFFF;
}

.rs-spa-contact-grid {
    display: grid;
    grid-template-columns: 360px minmax(0, 1fr);
    max-width: 1040px;
    margin: 0 auto;
    background: #F7F8FB;
    box-shadow: 0 14px 32px rgba(48, 48, 161, 0.08);
}

.rs-spa-contact-info {
    padding: 36px;
    background: var(--color-pink-primary);
    color: #FFFFFF;
}

.rs-spa-contact-info h3,
.rs-spa-contact-form h3 {
    color: inherit;
    font-size: 1.15rem;
    font-weight: 800;
    text-transform: uppercase;
    margin-bottom: 16px;
}

.rs-spa-contact-info p {
    color: rgba(255, 255, 255, 0.9);
    font-size: 0.86rem;
    line-height: 1.65;
    margin-bottom: 22px;
}

.rs-spa-contact-info ul {
    display: grid;
    gap: 16px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.rs-spa-contact-info li {
    display: grid;
    gap: 3px;
    font-size: 0.86rem;
}

.rs-spa-contact-info strong {
    color: #FFFFFF;
    font-size: 0.74rem;
    text-transform: uppercase;
}

.rs-spa-contact-info a,
.rs-spa-contact-info span {
    color: rgba(255, 255, 255, 0.9);
}

.rs-spa-contact-form {
    padding: 36px;
}

.rs-spa-contact-form h3 {
    color: var(--color-blue-primary);
}

.rs-spa-contact-form input,
.rs-spa-contact-form textarea {
    width: 100%;
    margin-bottom: 12px;
    border: 1px solid rgba(48, 48, 161, 0.1);
    background: #FFFFFF;
    padding: 12px 14px;
    color: var(--color-text-body);
    font: inherit;
    outline: none;
}

.rs-spa-contact-form input:focus,
.rs-spa-contact-form textarea:focus {
    border-color: rgba(249, 174, 179, 0.5);
}

.rs-spa-contact-form [data-form-note] {
    min-height: 20px;
    margin-top: 12px;
    color: var(--color-text-muted);
    font-size: 0.86rem;
}

.rs-spa-client-section {
    background: #F7F8FB;
    padding: 25px 0 65px;
}

.rs-spa-client-row {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 26px;
    max-width: 1120px;
    margin: 0 auto;
}

.rs-spa-client-row span {
    display: grid;
    place-items: center;
    min-height: 125px;
    padding: 20px 24px;
    background: #FFFFFF;
    border-radius: 12px;
    box-shadow: 0 10px 28px rgba(48, 48, 161, 0.08);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.rs-spa-client-row span:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 36px #DDD8F0;
}

.rs-spa-client-row img {
    max-width: 170px;
    max-height: 85px;
    height: 80px;
    width: auto;
    object-fit: contain;
    opacity: 0.92;
    transition: opacity 0.3s ease;
}

.rs-spa-client-row span:hover img {
    opacity: 1;
}





/* Reference-style interactive pricing and counter layout */
.rs-spa-treatment {
    background: #FFF1F8;
    padding: 55px 0 65px;
}

.rs-spa-treatment .rs-container {
    max-width: 100%;
    padding-left: 56px;
    padding-right: 56px;
}

.rs-spa-treatment-tabs {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0;
    max-width: 100%;
    margin: 0 0 92px;
    background: #FFFFFF;
    border: 1px solid #DDD8F0;
    box-shadow: 0 8px 30px rgba(48, 48, 161, 0.06);
}

.rs-spa-treatment-tabs button {
    position: relative;
    display: grid;
    place-items: center;
    gap: 18px;
    min-height: 164px;
    border: 0;
    border-right: 1px solid #DDD8F0;
    background: #FFFFFF;
    color: #3030A1;
    font-family: var(--font-heading);
    cursor: pointer;
    transition: background 0.25s ease, color 0.25s ease;
}

.rs-spa-treatment-tabs button:last-child {
    border-right: 0;
}

.rs-spa-treatment-tabs button.active {
    background: #3030A1;
    color: #FFFFFF;
}

.rs-spa-treatment-tabs button.active::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -16px;
    width: 0;
    height: 0;
    transform: translateX(-50%);
    border-left: 16px solid transparent;
    border-right: 16px solid transparent;
    border-top: 16px solid #3030A1;
}

.rs-spa-treatment-tabs strong {
    color: currentColor;
    font-size: 1.02rem;
    font-weight: 800;
    text-transform: uppercase;
}

.rs-spa-treatment-icon {
    display: grid;
    place-items: center;
    width: 74px;
    height: 74px;
}

.rs-spa-treatment-icon svg {
    width: 74px;
    height: 74px;
    fill: none;
    stroke: currentColor;
    stroke-width: 3;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.rs-spa-treatment-tabs.rs-spa-condition-tabs-3 {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: 100%;
    max-width: 100%;
    margin: 0 0 32px 0;
    padding: 0;
    background: #FFFFFF;
    border: 1.5px solid #E2E8F4;
    border-radius: 50px;
    box-shadow: 0 8px 26px rgba(48, 48, 161, 0.06), 0 2px 6px rgba(0, 0, 0, 0.03);
    overflow: hidden;
    box-sizing: border-box;
}

.rs-spa-treatment-tabs.rs-spa-condition-tabs-3 button {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 16px;
    width: 100%;
    min-height: 72px !important;
    height: 72px !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 8px 24px !important;
    margin: 0 !important;
    cursor: pointer;
    color: #171735;
    position: relative;
    transition: all 0.28s ease;
}

.rs-spa-treatment-tabs.rs-spa-condition-tabs-3 button .rs-spa-treatment-icon {
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    min-height: 48px !important;
    background: #FFFFFF !important;
    border: 2px solid #E4EAF6 !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: inset 0 1.5px 3px rgba(48, 48, 161, 0.06), 0 2px 6px rgba(0, 0, 0, 0.04) !important;
    transition: all 0.28s ease;
}

.rs-spa-treatment-tabs.rs-spa-condition-tabs-3 button .rs-spa-treatment-icon i {
    font-size: 1.25rem;
    color: #3030A1;
    transition: all 0.28s ease;
}

.rs-spa-treatment-tabs.rs-spa-condition-tabs-3 button strong {
    font-family: var(--font-heading);
    font-size: 1.05rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: #171735;
    line-height: 1;
    white-space: nowrap;
    transition: color 0.28s ease;
}

/* Hover State */
.rs-spa-treatment-tabs.rs-spa-condition-tabs-3 button:hover:not(.active) {
    background: rgba(244, 246, 254, 0.7) !important;
    transform: none;
}

.rs-spa-treatment-tabs.rs-spa-condition-tabs-3 button:hover:not(.active) .rs-spa-treatment-icon {
    border-color: #cbd2f8 !important;
}

.rs-spa-treatment-tabs.rs-spa-condition-tabs-3 button:hover:not(.active) .rs-spa-treatment-icon i {
    color: #3030A1;
}

/* Active Segment State (Matching Richer Blue Theme) */
.rs-spa-treatment-tabs.rs-spa-condition-tabs-3 button.active {
    background: #FAF1EB !important;
    box-shadow: inset 0 -3.5px 0 #b96f7d, inset 0 1px 0 rgba(255, 255, 255, 0.9) !important;
    transform: none !important;
}

.rs-spa-treatment-tabs.rs-spa-condition-tabs-3 button.active .rs-spa-treatment-icon {
    background: #FFFFFF !important;
    border-color: #F2D8CD !important;
    box-shadow: 0 2px 8px rgba(185, 111, 125, 0.14) !important;
}

.rs-spa-treatment-tabs.rs-spa-condition-tabs-3 button.active .rs-spa-treatment-icon i {
    color: #b96f7d !important;
}

.rs-spa-treatment-tabs.rs-spa-condition-tabs-3 button.active strong {
    color: #171735 !important;
    font-weight: 800;
}

.rs-spa-treatment-tabs.rs-spa-condition-tabs-3 button:first-child.active {
    border-radius: 50px 0 0 50px !important;
}

.rs-spa-treatment-tabs.rs-spa-condition-tabs-3 button:last-child.active {
    border-radius: 0 50px 50px 0 !important;
}

.rs-spa-treatment-tabs.rs-spa-condition-tabs-3 button:nth-child(2).active {
    border-radius: 0 !important;
}

.rs-spa-treatment-tabs.rs-spa-condition-tabs-3 button.active::after {
    display: none;
}



.rs-spa-treatment-body {
    display: grid;
    grid-template-columns: 340px minmax(360px, 1fr) minmax(360px, 0.95fr);
    gap: 88px;
    align-items: start;
    max-width: 1440px;
    margin: 0 auto;
}

.rs-spa-treatment-menu {
    display: grid;
    grid-template-rows: repeat(7, 1fr);
    height: 485px;
    background: #FFFFFF;
    border: 1px solid rgba(210, 211, 255, 0.9);
    box-shadow: 0 8px 30px rgba(210, 211, 255, 0.26);
    box-sizing: border-box;
}

.rs-spa-treatment-menu button {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 100%;
    min-height: 0;
    width: 100%;
    border: 0;
    border-bottom: 1px solid rgba(210, 211, 255, 0.9);
    background: #FFFFFF;
    color: #3030A1;
    padding: 0 24px;
    font-family: var(--font-heading);
    font-size: 1.02rem;
    font-weight: 600;
    text-align: left;
    cursor: pointer;
    box-sizing: border-box;
    transition: background 0.25s ease, color 0.25s ease;
}

.rs-spa-treatment-menu button:last-child {
    border-bottom: 0;
}

.rs-spa-treatment-menu button:hover:not(.active) {
    background: #FFF1F8;
    color: #F9AEB3;
}

.rs-spa-treatment-menu button span {
    color: currentColor;
    font-size: 2.7rem;
    line-height: 1;
    opacity: 0;
}

.rs-spa-treatment-menu button.active {
    background: #FFF1F8;
    color: #F9AEB3;
}

.rs-spa-treatment-menu button.active span {
    opacity: 1;
}

.rs-spa-treatment-body>img {
    width: 100%;
    height: 485px;
    object-fit: cover;
    border-radius: 12px;
    box-shadow: 0 12px 30px rgba(48, 48, 161, 0.1);
}

.rs-spa-treatment-copy {
    padding-top: 0;
}

.rs-spa-treatment-copy h3 {
    color: #3030A1;
    font-size: clamp(2rem, 3vw, 2.8rem);
    font-weight: 700;
    margin-bottom: 22px;
}

.rs-spa-treatment-copy strong {
    display: block;
    color: #F9AEB3;
    font-size: 1.35rem;
    font-weight: 700;
    margin-bottom: 22px;
}

.rs-spa-treatment-copy p {
    color: #000000;
    font-size: 1.08rem;
    line-height: 1.65;
    margin-bottom: 30px;
}

.rs-spa-treatment-copy .rs-spa-mini-btn {
    min-height: 50px;
    padding: 0 42px;
    background: #F9AEB3;
    color: #FFFFFF;
    font-weight: 700;
    border-radius: 6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all 0.25s ease;
}

.rs-spa-treatment-copy .rs-spa-mini-btn:hover {
    background: #C8006E;
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(249, 174, 179, 0.3);
    color: #FFFFFF;
    font-size: 0.88rem;
    border-radius: 2px;
}







/* Reference masonry gallery */
.rs-spa-gallery {
    padding-top: 10px;
}

.rs-spa-gallery .rs-container {
    max-width: 100%;
    padding-left: 72px;
    padding-right: 72px;
}

.rs-spa-gallery-filter {
    justify-content: flex-start;
    gap: 0;
    max-width: 1440px;
    margin: 0 auto 30px;
    padding-left: 0;
}

.rs-spa-gallery-filter button {
    position: relative;
    padding: 0 24px;
    color: #F9AEB3;
    font-size: 1rem;
    font-weight: 800;
    transition: color 0.3s ease, transform 0.3s ease;
}

.rs-spa-gallery-filter button:first-child {
    padding-left: 0;
}

.rs-spa-gallery-filter button:not(:last-child)::after {
    content: "/";
    position: absolute;
    right: -4px;
    top: 50%;
    transform: translateY(-50%);
    color: rgba(249, 174, 179, 0.34);
    font-size: 1.35rem;
    font-weight: 300;
}

.rs-spa-gallery-filter button::before {
    content: '';
    position: absolute;
    bottom: -4px;
    left: 50%;
    width: 0;
    height: 2px;
    background: #F9AEB3;
    border-radius: 2px;
    transition: width 0.3s ease, left 0.3s ease;
}

.rs-spa-gallery-filter button.active::before,
.rs-spa-gallery-filter button:hover::before {
    width: 50%;
    left: 25%;
}

.rs-spa-gallery-filter button.active,
.rs-spa-gallery-filter button:hover {
    color: #F9AEB3;
    transform: translateY(-1px);
}

.rs-spa-mosaic {
    display: grid;
    grid-template-columns: 1fr 1.12fr 1fr;
    grid-template-rows: 260px 260px;
    gap: 0;
    max-width: 1440px;
    margin: 0 auto;
    background: #FFFFFF;
}

.rs-spa-mosaic figure {
    position: relative;
    margin: 0;
    aspect-ratio: auto;
    overflow: hidden;
    background: #EDEFF3;
    border: 0;
    box-shadow: none;
    transition: transform 0.4s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.4s ease, opacity 0.4s ease, filter 0.4s ease;
}

/* Only the targeted figure:hover animates on hover */

.rs-spa-mosaic figure::before {
    content: "";
    position: absolute;
    top: 0;
    left: -80%;
    width: 60%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.35), transparent);
    transform: skewX(-25deg);
    z-index: 3;
    pointer-events: none;
    opacity: 0;
}

.rs-spa-mosaic figure:hover::before {
    opacity: 1;
    animation: rsGalleryShine 0.85s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

@keyframes rsGalleryShine {
    0% {
        left: -80%;
    }

    100% {
        left: 130%;
    }
}

.rs-spa-mosaic figure::after {
    display: none;
}

.rs-spa-mosaic .rs-spa-gallery-tall {
    grid-row: span 2;
}

.rs-spa-mosaic .rs-spa-gallery-wide {
    grid-column: 2 / 4;
}

.rs-spa-mosaic img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s cubic-bezier(0.165, 0.84, 0.44, 1), filter 0.6s ease;
}

.rs-spa-mosaic figure:hover {
    z-index: 5;
    box-shadow: 0 12px 28px #DDD8F0, 0 6px 18px rgba(48, 48, 161, 0.12);
    transform: scale(1.008);
}

.rs-spa-mosaic figure:hover img {
    transform: scale(1.04);
    filter: brightness(1.12) contrast(0.98) saturate(1.02);
}

.rs-spa-mosaic figcaption {
    position: absolute;
    inset: 0;
    z-index: 4;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 14px;
    padding: 20px;
    background: transparent;
    overflow: hidden;
    pointer-events: none;
}

/* 50% Left curtain coming from left - light translucent purple */
.rs-spa-mosaic figcaption::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 50%;
    height: 100%;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.12) 0%, rgba(253, 236, 247, 0.08) 100%);
    transform: translateX(-100%);
    transition: transform 0.45s cubic-bezier(0.25, 1, 0.5, 1);
    z-index: 1;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

/* 50% Right curtain coming from right - light translucent purple */
.rs-spa-mosaic figcaption::after {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    width: 50%;
    height: 100%;
    background: linear-gradient(225deg, rgba(255, 255, 255, 0.12) 0%, rgba(241, 244, 255, 0.08) 100%);
    transform: translateX(100%);
    transition: transform 0.45s cubic-bezier(0.25, 1, 0.5, 1);
    z-index: 1;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

.rs-spa-mosaic figure:hover figcaption::before {
    transform: translateX(0);
}

.rs-spa-mosaic figure:hover figcaption::after {
    transform: translateX(0);
}

.rs-spa-mosaic figcaption .rs-gallery-title {
    position: relative;
    z-index: 5;
    pointer-events: auto;
    color: #2D1B28;
    font-size: 1.05rem;
    font-weight: 700;
    letter-spacing: 0.6px;
    text-transform: capitalize;
    text-align: center;
    transform: translateY(-16px);
    opacity: 0;
    transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1), opacity 0.35s ease;
    text-shadow: 0 1px 2px rgba(255, 255, 255, 0.8);
}

.rs-spa-mosaic figure:hover figcaption .rs-gallery-title {
    transform: translateY(0);
    opacity: 1;
}

.rs-spa-mosaic figcaption .rs-gallery-actions {
    position: relative;
    z-index: 5;
    pointer-events: auto;
    display: flex;
    align-items: center;
    gap: 16px;
}

.rs-spa-mosaic figcaption a {
    position: relative;
    z-index: 5;
    pointer-events: auto;
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border: 1.5px solid rgba(249, 174, 179, 0.35);
    border-radius: 50%;
    color: #F9AEB3;
    background: #FFFFFF;
    box-shadow: 0 4px 14px #DDD8F0;
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    opacity: 0;
    transition: transform 0.45s cubic-bezier(0.34, 1.56, 0.64, 1), opacity 0.35s ease, background 0.25s ease, color 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

/* 50% Action coming from left (1st button) */
.rs-spa-mosaic figcaption a:nth-of-type(1),
.rs-spa-mosaic figcaption .rs-gallery-actions a:nth-of-type(1) {
    transform: translateX(-55px) scale(0.6);
}

/* 50% Action coming from right (2nd button) */
.rs-spa-mosaic figcaption a:nth-of-type(2),
.rs-spa-mosaic figcaption .rs-gallery-actions a:nth-of-type(2) {
    transform: translateX(55px) scale(0.6);
}

/* Single Action button centering */
.rs-spa-mosaic figcaption .rs-gallery-actions a:only-of-type {
    transform: translateY(20px) scale(0.6);
}

.rs-spa-mosaic figure:hover figcaption a:nth-of-type(1),
.rs-spa-mosaic figure:hover figcaption .rs-gallery-actions a:nth-of-type(1) {
    transform: translateX(0) scale(1);
    opacity: 1;
    transition-delay: 0.08s;
}

.rs-spa-mosaic figure:hover figcaption a:nth-of-type(2),
.rs-spa-mosaic figure:hover figcaption .rs-gallery-actions a:nth-of-type(2) {
    transform: translateX(0) scale(1);
    opacity: 1;
    transition-delay: 0.12s;
}

.rs-spa-mosaic figure:hover figcaption .rs-gallery-actions a:only-of-type {
    transform: translateY(0) scale(1);
    opacity: 1;
    transition-delay: 0.08s;
}

.rs-spa-mosaic figcaption a:hover {
    background: #F9AEB3;
    border-color: #F9AEB3;
    color: #FFFFFF;
    transform: translateY(-3px) scale(1.08) !important;
    box-shadow: 0 8px 18px rgba(249, 174, 179, 0.34);
}

.rs-spa-mosaic figcaption svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2.2;
    stroke-linecap: round;
    stroke-linejoin: round;
}





/* ==========================================================================
   SCROLL REVEAL ANIMATIONS
   ========================================================================== */

/* Scroll Animation Variations */
.reveal-on-scroll {
    opacity: 0;
    transition: opacity 0.75s ease, transform 0.75s ease;
}

.reveal-up {
    transform: translateY(35px);
}

.reveal-left {
    transform: translateX(-40px);
}

.reveal-right {
    transform: translateX(40px);
}

.reveal-zoom {
    transform: scale(0.92);
}

.reveal-on-scroll.active {
    opacity: 1;
    transform: none;
}

/* ==========================================================================
   4-COLUMN FOOTER LAYOUT (BRAND, ADDRESS-1, ADDRESS-2, ADDRESS-3)
   Exact match to design screenshot: Deep Slate Navy Palette (#233348)
   ========================================================================== */
.rs-footer {
    position: relative;
    padding: 0;
    background: #233348;
    color: #A6B7C8;
    border-top: 1px solid #32465F;
    overflow: hidden;
}

.rs-footer-main {
    padding: 3.5rem 0 2rem;
}

.rs-footer .rs-container {
    position: relative;
    z-index: 2;
    max-width: 1400px;
    padding-left: clamp(1.5rem, 4vw, 3.5rem);
    padding-right: clamp(1.5rem, 4vw, 3.5rem);
    margin: 0 auto;
}

.rs-footer-grid {
    display: grid;
    grid-template-columns: 1.15fr 1fr 1fr 1fr;
    gap: 0;
    align-items: start;
}

.rs-footer-col {
    padding: 0 2.2rem;
    position: relative;
}

.rs-footer-brand-col {
    padding-left: 0;
    padding-right: 2.5rem;
}

.rs-footer-address-col {
    border-left: 1px solid rgba(75, 100, 130, 0.4);
}

.rs-footer-brand {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0px !important;
    text-decoration: none !important;
    margin-left: -14px !important;
}

.rs-footer-brand .rs-brand-logo-wrap {
    width: 62px !important;
    height: 62px !important;
    background: transparent !important;
    padding: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: hidden !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
}

.rs-footer-brand .rs-brand-img {
    filter: none !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    transform: scale(2.00) !important;
}

.rs-footer-brand .rs-brand-text {
    margin-left: -6px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
}

.rs-footer-brand .rs-brand-name {
    color: #FFFFFF !important;
    text-shadow: none !important;
    font-size: 1.35rem !important;
    line-height: 1.1 !important;
    font-weight: 800 !important;
}

.rs-footer-brand .rs-brand-sub {
    color: #FFFFFF !important;
    font-size: 0.78rem !important;
    line-height: 1.25 !important;
}

.rs-footer-brand-line {
    display: none;
}

.rs-footer-desc {
    color: #A6B7C8;
    font-size: 0.95rem;
    font-weight: 500;
    line-height: 1.55;
    margin: 0;
}

.rs-footer-doctor-name {
    display: block;
    color: #FFFFFF;
    font-weight: 700;
    margin-top: 4px;
}

.rs-footer-brand-subline {
    width: 44px;
    height: 1px;
    background: rgba(75, 100, 130, 0.4);
    margin: 1.25rem 0 1.2rem;
}

.rs-footer-social-title {
    font-size: 1.05rem;
    font-weight: 700;
    color: #FFFFFF !important;
    margin-bottom: 0.75rem;
}

.rs-footer-social-squares {
    display: flex;
    align-items: center;
    gap: 10px;
}

.rs-social-circle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: #2D4059;
    color: #D48B70 !important;
    border: 1px solid #3B516E;
    text-decoration: none;
    font-size: 0.88rem;
    transition: all 0.25s ease;
}

.rs-social-circle:hover {
    background: #D48B70;
    border-color: #D48B70;
    color: #FFFFFF !important;
    transform: translateY(-3px);
}

.rs-footer-title {
    color: #FFFFFF;
    font-family: var(--font-heading);
    font-size: 1.35rem;
    font-weight: 700;
    margin-bottom: 0.65rem;
    letter-spacing: 0.02em;
    position: relative;
    display: inline-block;
    padding-bottom: 8px;
}

.rs-footer-title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 44px;
    height: 2.5px;
    background: #D48B70;
    border-radius: 2px;
}

.rs-footer-address-info {
    margin-top: 1rem;
    display: flex;
    flex-direction: column;
}

.rs-footer-clinic-block {
    margin-bottom: 0.25rem;
}

.rs-footer-clinic-name {
    display: block;
    color: #FFFFFF;
    font-weight: 800;
    font-size: 0.92rem;
    line-height: 1.35;
    margin-bottom: 0.5rem;
    letter-spacing: 0.01em;
}

.rs-footer-address-text {
    color: #A6B7C8;
    font-size: 0.90rem;
    font-weight: 400;
    line-height: 1.55;
    margin: 0;
}

.rs-footer-dot-divider {
    border-top: 1.5px dotted #384F6C;
    margin: 1.25rem 0;
    width: 100%;
}

.rs-footer-contact-item {
    margin-bottom: 1.15rem;
}

.rs-footer-contact-item:last-child {
    margin-bottom: 0;
}

.rs-footer-contact-header {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 4px;
}

.rs-footer-icon-circle {
    width: 24px;
    height: 24px;
    min-width: 24px;
    border-radius: 50%;
    background: #32465F;
    color: #D48B70;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.75rem;
}

.rs-footer-contact-header strong {
    color: #FFFFFF;
    font-weight: 700;
    font-size: 0.95rem;
}

.rs-footer-contact-detail {
    padding-left: 32px;
    font-size: 0.90rem;
    font-weight: 400;
    line-height: 1.5;
    color: #A6B7C8;
}

.rs-footer-contact-detail a {
    color: #CAD8E6;
    text-decoration: underline;
    text-decoration-color: rgba(212, 139, 112, 0.5);
    font-weight: 400;
    transition: all 0.25s ease;
}

.rs-footer-contact-detail a:hover {
    color: #F3D7CD;
    text-decoration-color: #F3D7CD;
}

/* Bottom Copyright Bar */
.rs-footer-bottom-bar {
    background: #192533;
    border-top: 1px solid #26374D;
    padding: 1.1rem 0;
    text-align: center;
}

.rs-footer-bottom-bar p {
    margin: 0;
    color: #8E9EAF;
    font-size: 0.88rem;
    font-weight: 500;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.rs-footer-bottom-bar i {
    color: #D48B70;
    font-size: 0.95rem;
}





/* ==========================================================================
   PATIENT REVIEWS & TESTIMONIALS SLIDER SECTION
   ========================================================================== */
.rs-spa-testimonial-slider-section {
    position: relative;
    width: 100%;
    background-image: url('../images/banner-2.png');
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    padding: 50px 0 45px;
    overflow: hidden;
    border-top: 1px solid rgba(48, 48, 161, 0.06);
    border-bottom: 1px solid rgba(48, 48, 161, 0.06);
}

.rs-spa-testimonial-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    max-width: 900px;
    margin: 0 auto;
    padding: 0 20px;
}

.rs-spa-testimonial-content {
    position: relative;
    text-align: center;
    width: 100%;
    max-width: 760px;
    margin: 0 auto;
    padding: 10px 20px;
}

.rs-spa-testimonial-track {
    position: relative;
    min-height: 195px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.rs-spa-testimonial-slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    opacity: 0;
    visibility: hidden;
    filter: blur(5px);
    transform: translateY(12px) scale(0.97);
    clip-path: inset(0 0 0 100%);
    transition: opacity 0.45s ease, transform 0.45s ease, filter 0.45s ease, clip-path 0.45s cubic-bezier(0.4, 0, 0.2, 1), visibility 0.45s ease;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.rs-spa-testimonial-slide.active {
    position: relative;
    opacity: 1;
    visibility: visible;
    filter: blur(0);
    transform: translateY(0) scale(1);
    clip-path: inset(0 0 0 0);
}

.rs-spa-testimonial-slide.erasing {
    position: absolute;
    opacity: 0;
    visibility: visible;
    filter: blur(4px);
    transform: translateY(-12px) scale(0.97);
    clip-path: inset(0 100% 0 0);
    transition: opacity 0.4s ease, transform 0.4s ease, filter 0.4s ease, clip-path 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.rs-spa-quote-icon {
    margin-bottom: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.rs-spa-quote-icon svg {
    fill: #3030A1;
}

.rs-spa-testimonial-quote {
    font-family: var(--font-body);
    font-size: 1.05rem;
    font-style: italic;
    line-height: 1.65;
    color: #334155;
    margin-bottom: 16px;
}

.rs-spa-testimonial-author {
    font-family: var(--font-heading);
    font-size: 1.35rem;
    font-weight: 800;
    color: #3030A1;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-bottom: 2px;
}

.rs-spa-testimonial-role {
    display: block;
    font-family: var(--font-body);
    font-size: 0.88rem;
    color: #737385;
    margin-bottom: 12px;
}

.rs-testimonial-read-more {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 6px;
    padding: 8px 22px;
    font-family: var(--font-heading);
    font-size: 0.85rem;
    font-weight: 700;
    color: #FFFFFF !important;
    background-color: #3030A1;
    border-radius: 24px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    text-decoration: none;
    box-shadow: 0 4px 12px rgba(48, 48, 161, 0.25);
    transition: all 0.3s ease;
}

.rs-testimonial-read-more:hover {
    background-color: #16206A;
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(48, 48, 161, 0.38);
    color: #FFFFFF !important;
}

/* Dots Navigation */
.rs-spa-testimonial-dots {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-top: 22px;
}

.rs-spa-testimonial-dots button {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    border: 2px solid rgba(48, 48, 161, 0.25);
    background: rgba(48, 48, 161, 0.35);
    padding: 0;
    cursor: pointer;
    transition: all 0.3s ease;
}

.rs-spa-testimonial-dots button:hover {
    transform: scale(1.2);
    background: #3030A1;
}

.rs-spa-testimonial-dots button.active {
    background: #3030A1;
    border: 2.5px solid #3030A1;
    transform: scale(1.25);
    box-shadow: 0 0 8px rgba(48, 48, 161, 0.4);
}



/* Social Media Square Block Buttons (Column 1) */
.rs-footer-social-title {
    margin-top: 20px;
    font-size: 1.15rem;
    font-weight: 700;
    color: #171735;
}

.rs-footer-social-squares {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 8px;
}

.rs-social-sq {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    background: transparent !important;
    text-decoration: none;
    transition: transform 0.25s ease, color 0.25s ease;
    border-radius: 0;
    overflow: hidden;
    box-shadow: none;
}

.rs-social-sq:hover {
    transform: translateY(-3px);
    filter: none;
    box-shadow: none;
}

.rs-social-sq-fb {
    background: transparent;
}

.rs-social-sq-tw {
    background: transparent;
}

.rs-social-sq-gp {
    background: transparent;
}

.rs-social-sq-yt {
    background: transparent;
}

.rs-social-sq-ig {
    background: transparent;
}

.rs-social-sq-wp {
    background: transparent;
}

.rs-footer-social-squares svg[fill="#FFFFFF"],
.rs-footer-social-squares svg [fill="#FFFFFF"],
.rs-footer-social-squares svg text {
    fill: #171735 !important;
}

.rs-footer-social-squares svg[stroke="#FFFFFF"],
.rs-footer-social-squares svg [stroke="#FFFFFF"] {
    stroke: #171735 !important;
}

.rs-footer-social-squares svg circle[fill="#FFFFFF"] {
    fill: transparent !important;
}

/* ==========================================================================
   OUR PARTNERS SECTION STYLES
   ========================================================================== */
.rs-spa-client-section {
    padding: 50px 0;
    background: #F8FAFC;
    border-top: 1px solid rgba(48, 48, 161, 0.06);
    border-bottom: 1px solid rgba(48, 48, 161, 0.06);
}

.rs-spa-client-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 40px;
    margin-top: 25px;
}

.rs-spa-client-row span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 24px;
    background: #FFFFFF;
    border-radius: 8px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.04);
    border: 1px solid rgba(48, 48, 161, 0.08);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.rs-spa-client-row span:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 25px rgba(48, 48, 161, 0.12);
}

.rs-spa-client-row img {
    max-height: 48px;
    max-width: 140px;
    width: auto;
    height: auto;
    object-fit: contain;
    filter: grayscale(30%);
    opacity: 0.88;
    transition: filter 0.3s ease, opacity 0.3s ease;
}

.rs-spa-client-row span:hover img {
    filter: grayscale(0%);
    opacity: 1;
}

/* ==========================================================================
   LUXURY CLINIC PRELOADER STYLES
   ========================================================================== */
.rs-preloader {
    position: fixed !important;
    inset: 0 !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    height: 100dvh !important;
    background: #FFFFFF !important;
    z-index: 999999 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 !important;
    transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1), visibility 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.rs-preloader.is-loaded {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

.rs-preloader-inner {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    padding: 24px !important;
    margin: auto !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

.rs-preloader-spinner {
    position: relative;
    width: 120px;
    height: 120px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 24px;
}

.rs-preloader-ring {
    position: absolute;
    inset: 0;
    border-radius: 50%;
    border: 3px solid rgba(47, 47, 165, 0.1);
    border-top-color: #2f2fa5;
    border-right-color: #ff0098;
    animation: rsPreloaderSpin 1.2s cubic-bezier(0.68, -0.55, 0.265, 1.55) infinite;
}

@keyframes rsPreloaderSpin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

.rs-preloader-logo-wrap {
    width: 85px;
    height: 85px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #FFFFFF;
    border-radius: 50%;
    box-shadow: 0 6px 22px rgba(47, 47, 165, 0.16);
    animation: rsPreloaderPulse 1.8s ease-in-out infinite alternate;
}

.rs-preloader-logo {
    max-width: 65px;
    max-height: 65px;
    object-fit: contain;
}

@keyframes rsPreloaderPulse {
    0% {
        transform: scale(0.94);
        box-shadow: 0 4px 15px rgba(47, 47, 165, 0.12);
    }

    100% {
        transform: scale(1.06);
        box-shadow: 0 10px 28px rgba(255, 0, 152, 0.28);
    }
}

.rs-preloader-text {
    margin-bottom: 20px;
}

.rs-preloader-text span {
    display: block;
    font-family: var(--font-heading, 'Cormorant Garamond', serif);
    font-size: 1.7rem;
    font-weight: 800;
    color: #2f2fa5;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.rs-preloader-text p {
    font-family: var(--font-body, 'Outfit', sans-serif);
    font-size: 0.95rem;
    font-weight: 600;
    color: #ff0098;
    letter-spacing: 0.08em;
    margin: 4px 0 0;
    text-transform: uppercase;
}

.rs-preloader-bar {
    width: 180px;
    height: 4px;
    background: rgba(47, 47, 165, 0.1);
    border-radius: 4px;
    overflow: hidden;
    position: relative;
}

.rs-preloader-progress {
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, #2f2fa5 0%, #ff0098 100%);
    border-radius: 4px;
    animation: rsPreloaderBar 1.5s ease-in-out infinite;
}

@keyframes rsPreloaderBar {
    0% {
        left: -100%;
    }

    50% {
        left: 0;
    }

    100% {
        left: 100%;
    }
}

/* ==========================================================================
   SERVICES FOR YOU - CIRCLE CARD GRID
   ========================================================================== */
.rs-spa-services-for-you {
    padding: 42px 0;
    background: #FFFFFF;
}

.rs-spa-services-for-you .rs-container {
    max-width: none;
    padding-left: clamp(4rem, 6vw, 7rem);
    padding-right: clamp(4rem, 6vw, 7rem);
}

.rs-spa-service-circle-grid {
    display: grid;
    grid-template-columns: repeat(5, auto);
    gap: 34px 18px;
    align-items: start;
    justify-content: space-between;
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
    margin-top: 28px;
}

.rs-spa-service-circle-grid article {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.rs-spa-service-circle-grid article a {
    display: block;
    width: 205px;
    height: 205px;
    border-radius: 50%;
    overflow: visible;
    position: relative;
    box-shadow: 0 12px 32px rgba(48, 48, 161, 0.14);
    border: 8px solid #FFFFFF;
    background: #FFFFFF;
    transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.4s ease;
}

.rs-spa-service-circle-grid article a::before {
    content: "";
    position: absolute;
    inset: -14px;
    border: 2px dashed #3030A1;
    border-radius: 50%;
    pointer-events: none;
    animation: rsServiceCircleRotate 12s linear infinite;
}

.rs-spa-service-circle-grid article a:hover {
    transform: translateY(-8px) scale(1.05);
    box-shadow: 0 20px 45px rgba(48, 48, 161, 0.25);
}

.rs-spa-service-circle-grid article img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: 50%;
    transition: transform 0.5s ease;
}

.rs-spa-service-circle-grid article a:hover img {
    transform: scale(1.12);
}

.rs-spa-service-circle-grid h3 {
    margin-top: 22px;
    font-family: var(--font-heading, 'Outfit', sans-serif);
    font-size: 1.3rem;
    font-weight: 600;
    color: #3030A1;
    letter-spacing: 0.01em;
    transition: color 0.3s ease;
}

.rs-spa-service-circle-grid article:hover h3 {
    color: #F9AEB3;
}

.rs-spa-service-circle-grid article a.rs-spa-service-title-link {
    display: inline;
    width: auto;
    height: auto;
    border-radius: 0;
    overflow: visible;
    position: static;
    box-shadow: none;
    border: 0;
    background: transparent;
    color: inherit;
    text-decoration: none;
    transition: color 0.3s ease;
}

.rs-spa-service-circle-grid article a.rs-spa-service-title-link::before {
    display: none;
}

.rs-spa-service-circle-grid article a.rs-spa-service-title-link:hover {
    transform: none;
    box-shadow: none;
    color: #F9AEB3;
}

.rs-spa-service-more {
    display: flex;
    justify-content: center;
    margin-top: 26px;
}

.rs-spa-treatment-copy .rs-spa-service-more {
    justify-content: flex-start;
}

@keyframes rsServiceCircleRotate {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}


/* ==========================================================================
   HEALTH SECTION DUAL IMAGE CROSS-FADER STYLES
   ========================================================================== */
.rs-spa-health-photo {
    position: relative;
    width: 320px;
    height: 320px;
    border-radius: 50%;
    overflow: hidden;
    margin: 0 auto;
    box-shadow: 0 16px 40px rgba(48, 48, 161, 0.18), 0 0 0 3px rgba(192, 132, 252, 0.25);
    border: 6px solid #FFFFFF;
    will-change: transform, opacity;
}

/* Dynamic Scroll-Towards Reveal Variation */
.rs-spa-health-photo.reveal-on-scroll {
    opacity: 0;
    transform: scale(0.82) rotate(-8deg) translateY(40px);
    transition: opacity 1.1s cubic-bezier(0.16, 1, 0.3, 1), transform 1.1s cubic-bezier(0.16, 1, 0.3, 1);
}

.rs-spa-health-photo.reveal-on-scroll.active {
    opacity: 1;
    transform: scale(1) rotate(0deg) translateY(0);
}

/* Image Fader Transition Variations */
.rs-health-fader-img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    transform: scale(1.12) rotate(3deg);
    transition: opacity 1.2s cubic-bezier(0.4, 0, 0.2, 1), transform 1.2s cubic-bezier(0.4, 0, 0.2, 1);
}

.rs-health-fader-img[data-transition="rotate"] {
    transform: scale(1.16) rotate(-6deg);
}

.rs-health-fader-img[data-transition="slide"] {
    transform: scale(1.08) translateY(24px);
}

.rs-health-fader-img[data-transition="expand"] {
    transform: scale(0.88);
}

.rs-health-fader-img.active {
    opacity: 1;
    transform: scale(1) rotate(0deg) translateY(0);
}

/* ==========================================================================
   WHAT PEOPLE SAY - 2 CARD VISIBLE SLIDER STYLES
   ========================================================================== */
.rs-spa-testimonials {
    padding: 65px 0;
    background: #F8FAFC;
    position: relative;
}

.rs-reviews-slider-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    gap: 16px;
    margin-top: 40px;
}

.rs-reviews-carousel-viewport {
    width: 100%;
    overflow: hidden;
    padding: 10px 4px;
}

.rs-reviews-track {
    display: flex;
    gap: 24px;
    transition: transform 0.5s cubic-bezier(0.25, 1, 0.5, 1);
}

.rs-review-card {
    flex: 0 0 calc(50% - 12px);
    box-sizing: border-box;
    background: #FFFFFF !important;
    background-image: none !important;
    border-radius: 16px;
    padding: 28px 30px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.05) !important;
    border: 1px solid rgba(0, 0, 0, 0.06) !important;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.rs-review-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.08) !important;
}

.rs-review-card-header {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 18px;
}

.rs-review-avatar-icon {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: linear-gradient(135deg, #3030A1 0%, #3B4CCA 100%);
    color: #FFFFFF;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
    box-shadow: 0 4px 12px rgba(48, 48, 161, 0.22);
    flex-shrink: 0;
}

.rs-spa-testimonials .rs-review-avatar-icon,
.rs-testimonial-page-section .rs-review-avatar-icon {
    background: transparent;
    border: 0;
    box-shadow: none;
}

.rs-google-symbols {
    position: absolute;
    width: 0;
    height: 0;
    overflow: hidden;
}

.rs-google-review-icon {
    display: block;
    width: 36px;
    height: 36px;
}

.rs-review-meta h3 {
    font-family: var(--font-heading, 'Outfit', sans-serif);
    font-size: 1.2rem;
    font-weight: 700;
    color: #3030A1;
    margin: 0 0 4px;
}

.rs-review-stars {
    color: #FFC107;
    font-size: 0.85rem;
    display: flex;
    gap: 3px;
}

.rs-review-text {
    font-family: var(--font-body, 'Outfit', sans-serif);
    font-size: 1.05rem;
    line-height: 1.6;
    color: #000000;
    margin-bottom: 18px;
    font-style: italic;
}

.rs-review-tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 12px;
    background: rgba(48, 48, 161, 0.08);
    color: #F9AEB3;
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: 600;
}

.rs-review-card-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px dashed rgba(48, 48, 161, 0.12);
    width: 100%;
}

.rs-review-google-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 11px;
    background: #F8FAFC;
    border: 1px solid #DDD8F0;
    border-radius: 20px;
    font-size: 0.78rem;
    font-weight: 600;
    color: #334155;
    margin-left: auto;
}

.rs-review-google-badge svg {
    width: 15px;
    height: 15px;
    flex-shrink: 0;
}

.rs-review-date {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 0.78rem;
    font-weight: 500;
    color: #737385;
    margin-left: auto;
}

/* Navigation Arrows */
.rs-reviews-arrow {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #FFFFFF;
    border: 1px solid rgba(48, 48, 161, 0.15);
    color: #3030A1;
    font-size: 1rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 14px rgba(48, 48, 161, 0.1);
    transition: all 0.25s ease;
    flex-shrink: 0;
    z-index: 5;
}

.rs-reviews-arrow:hover {
    background: #3030A1;
    color: #FFFFFF;
    box-shadow: 0 6px 18px rgba(48, 48, 161, 0.25);
    transform: scale(1.08);
}

/* Pagination Dots */
.rs-reviews-pagination {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 25px;
}

.rs-reviews-pagination button {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    border: none;
    background: rgba(48, 48, 161, 0.2);
    cursor: pointer;
    transition: all 0.3s ease;
    padding: 0;
}

.rs-reviews-pagination button.active {
    width: 28px;
    border-radius: 10px;
    background: #3030A1;
}

/* ==========================================================================
   INNER PAGES HERO, CONTACT BRANCHES, WHITE MAP OVERLAY & ENQUIRY STYLES
   ========================================================================== */
.rs-inner-hero {
    position: relative;
    padding: 40px 0 35px;
    min-height: 400px;
    display: flex;
    align-items: center;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    color: #FFFFFF;
    text-align: left;
    overflow: hidden;
}

/* Contact Page Hero Specifically */
.rs-contact-hero {
    height: 400px !important;
    min-height: 400px !important;
    padding: 35px 0 !important;
}

.rs-contact-hero .rs-treat-hero-bg {
    object-position: right center !important;
}

.rs-inner-hero-zoom {
    background-image: none !important;
}

.rs-inner-hero-zoom::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background-image:
        linear-gradient(90deg, rgba(255, 240, 246, 0.85) 0%, rgba(255, 227, 237, 0.55) 55%, rgba(255, 255, 255, 0.25) 100%),
        var(--rs-inner-hero-image);
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    transform: scale(1);
    transform-origin: center center;
    animation: rsInnerHeroZoomPulse 14s ease-in-out infinite;
    will-change: transform;
}

.rs-inner-hero-zoom .rs-inner-hero-container {
    position: relative;
    z-index: 1;
}

@keyframes rsInnerHeroZoomPulse {
    0% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.08);
    }

    100% {
        transform: scale(1);
    }
}

@media (prefers-reduced-motion: reduce) {
    .rs-inner-hero-zoom::before {
        animation: none;
    }
}

/* Light Pink Hero Theme */
.rs-inner-hero.rs-hero-light-pink {
    background: linear-gradient(135deg, #FFF1F8 0%, #FFE3ED 100%);
    color: #3030A1;
    border-bottom: 1px solid rgba(48, 48, 161, 0.08);
}

.rs-hero-light-pink .rs-inner-hero-title {
    color: #3030A1;
    text-shadow: none;
    font-weight: 800;
}

.rs-hero-light-pink .rs-inner-hero-desc {
    color: #555565;
}

.rs-hero-light-pink .rs-breadcrumb {
    background: rgba(48, 48, 161, 0.06);
    border: 1px solid rgba(48, 48, 161, 0.1);
}

.rs-hero-light-pink .rs-breadcrumb a {
    color: #3030A1;
}

.rs-hero-light-pink .rs-breadcrumb i {
    color: rgba(48, 48, 161, 0.4);
}

.rs-hero-light-pink .rs-breadcrumb span {
    color: #3030A1;
}

.rs-hero-light-pink .rs-hero-badge {
    background: #3030A1;
    color: #FFFFFF;
}

.rs-hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 0.82rem;
    font-weight: 700;
    color: var(--color-pink-primary);
    text-transform: uppercase;
    letter-spacing: 1.2px;
    margin-bottom: 14px;
    background: rgba(255, 255, 255, 0.92);
    backdrop-filter: blur(8px);
    border: 1px solid #DDD8F0;
    padding: 6px 18px;
    border-radius: var(--radius-full);
    box-shadow: 0 4px 15px rgba(48, 48, 161, 0.08);
    white-space: nowrap;
}

.rs-inner-hero-container {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
    gap: 12px;
}

.rs-inner-hero-title {
    font-family: var(--font-heading, 'Cormorant Garamond', serif);
    font-size: clamp(2rem, 4.5vw, 3.4rem);
    font-weight: 700;
    color: #FFFFFF;
    letter-spacing: 0.05em;
    margin: 0;
    text-shadow: 0 4px 18px rgba(0, 0, 0, 0.4);
}

.rs-inner-hero-desc {
    max-width: 680px;
    font-family: var(--font-body, 'Outfit', sans-serif);
    font-size: 1.05rem;
    color: rgba(255, 255, 255, 0.9);
    margin: 0;
}

.rs-breadcrumb {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: rgba(255, 255, 255, 0.12);
    backdrop-filter: blur(10px);
    padding: 6px 20px;
    border-radius: 30px;
    font-size: 0.88rem;
    font-weight: 600;
    margin-top: 8px;
}

.rs-breadcrumb a {
    color: #FFFFFF;
    transition: color 0.25s ease;
}

.rs-breadcrumb a:hover {
    color: #F9AEB3;
}

.rs-breadcrumb i {
    font-size: 0.7rem;
    color: rgba(255, 255, 255, 0.6);
}

.rs-breadcrumb span {
    color: #F9AEB3;
}

/* Both Clinic Branches Grid */
.rs-contact-branches-section {
    padding: 65px 0;
    background: #FFFFFF;
}

.rs-branches-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 32px;
    margin-top: 40px;
}

.rs-branch-card {
    background: #FFFFFF;
    border-radius: 20px;
    padding: 36px 32px;
    border: 1px solid rgba(48, 48, 161, 0.12);
    box-shadow: 0 10px 30px rgba(48, 48, 161, 0.07);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease;
}

.rs-branch-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 18px 45px rgba(48, 48, 161, 0.15);
    border-color: rgba(48, 48, 161, 0.25);
}

.rs-branch-card-header {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-bottom: 24px;
    padding-bottom: 20px;
    border-bottom: 1px dashed rgba(48, 48, 161, 0.15);
}

.rs-branch-icon {
    width: 58px;
    height: 58px;
    border-radius: 16px;
    background: linear-gradient(135deg, #3030A1 0%, #3B4CCA 100%);
    color: #FFFFFF;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.4rem;
    box-shadow: 0 6px 18px rgba(48, 48, 161, 0.25);
    flex-shrink: 0;
}

.rs-branch-icon-alt {
    background: linear-gradient(135deg, #F9AEB3 0%, #F9AEB3 100%);
    box-shadow: 0 6px 18px rgba(249, 174, 179, 0.25);
}

.rs-branch-badge {
    display: inline-block;
    padding: 3px 12px;
    background: rgba(48, 48, 161, 0.08);
    color: #3030A1;
    border-radius: 20px;
    font-size: 0.76rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 6px;
}

.rs-branch-badge-alt {
    background: rgba(48, 48, 161, 0.08);
    color: #F9AEB3;
}

.rs-branch-card-header h3 {
    font-family: var(--font-heading, 'Outfit', sans-serif);
    font-size: 1.15rem;
    font-weight: 800;
    color: #3030A1;
    margin: 0;
    line-height: 1.35;
}

.rs-branch-details {
    display: flex;
    flex-direction: column;
    gap: 18px;
    margin-bottom: 28px;
}

.rs-branch-info-item {
    display: flex;
    align-items: flex-start;
    gap: 14px;
}

.rs-branch-info-item i {
    color: #F9AEB3;
    font-size: 1.1rem;
    margin-top: 3px;
    flex-shrink: 0;
}

.rs-branch-info-item strong {
    display: block;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #3030A1;
    margin-bottom: 2px;
}

.rs-branch-info-item p {
    font-size: 0.95rem;
    line-height: 1.55;
    color: #555565;
    margin: 0;
}

.rs-branch-info-item a {
    color: #3030A1;
    font-weight: 600;
    transition: color 0.25s ease;
}

.rs-branch-info-item a:hover {
    color: #F9AEB3;
}

.rs-branch-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.rs-branch-actions .rs-spa-btn {
    justify-content: center;
    font-size: 0.88rem;
    padding: 11px 18px;
}

/* White Overlay Map Section */
.rs-contact-map-section {
    position: relative;
    width: 100%;
    overflow: hidden;
}

.rs-map-container {
    position: relative;
    width: 100%;
    height: 520px;
}

.rs-map-white-overlay {
    position: absolute;
    top: 50%;
    right: max(40px, calc((100vw - 1240px) / 2));
    transform: translateY(-50%);
    width: 380px;
    max-width: calc(100% - 40px);
    background: #FFFFFF;
    border-radius: 20px;
    padding: 32px 28px;
    box-shadow: 0 16px 45px rgba(48, 48, 161, 0.18);
    border: 1px solid rgba(48, 48, 161, 0.12);
    z-index: 10;
}

.rs-map-overlay-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 14px;
    background: rgba(48, 48, 161, 0.06);
    color: #3030A1;
    border-radius: 20px;
    font-size: 0.78rem;
    font-weight: 700;
    margin-bottom: 12px;
}

.rs-map-white-overlay h3 {
    font-family: var(--font-heading, 'Outfit', sans-serif);
    font-size: 1.4rem;
    font-weight: 700;
    color: #3030A1;
    margin-bottom: 8px;
}

.rs-map-white-overlay p {
    font-size: 0.92rem;
    line-height: 1.55;
    color: #737385;
    margin-bottom: 18px;
}

.rs-map-overlay-contacts {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 22px;
    font-size: 0.9rem;
    color: #3030A1;
    font-weight: 600;
}

.rs-map-overlay-contacts div {
    display: flex;
    align-items: center;
    gap: 10px;
}

.rs-map-overlay-contacts i {
    color: #F9AEB3;
    font-size: 1rem;
}

/* Contact & Enquiry Forms */
.rs-contact-form-section,
.rs-enquiry-page-section {
    padding: 65px 0;
    background: #F8FAFC;
}

.rs-contact-form-grid {
    display: grid;
    grid-template-columns: 1fr 1.1fr;
    gap: 40px;
    align-items: center;
}

.rs-contact-form-info h2 {
    font-size: clamp(1.6rem, 3vw, 2.3rem);
    font-weight: 700;
    color: #3030A1;
    margin: 12px 0 16px;
}

.rs-contact-form-info p {
    font-size: 1rem;
    line-height: 1.65;
    color: #555565;
    margin-bottom: 24px;
}

.rs-contact-promises {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.rs-contact-promises div {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 0.95rem;
    font-weight: 600;
    color: #3030A1;
}

.rs-contact-promises i {
    color: #22C55E;
    font-size: 1.15rem;
}

.rs-contact-form-card,
.rs-enquiry-form-card {
    background: #FFFFFF;
    border-radius: 20px;
    padding: 36px;
    box-shadow: 0 12px 35px rgba(48, 48, 161, 0.08);
    border: 1px solid rgba(48, 48, 161, 0.1);
}

.rs-enquiry-wrapper {
    max-width: 900px;
    margin: 0 auto;
}

.rs-form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.rs-form-group {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 20px;
}

.rs-form-group label {
    font-size: 0.88rem;
    font-weight: 700;
    color: #3030A1;
}

.rs-form-group input,
.rs-form-group select,
.rs-form-group textarea {
    width: 100%;
    padding: 12px 16px;
    border-radius: 10px;
    border: 1px solid rgba(48, 48, 161, 0.18);
    background: #FFFFFF;
    font-family: var(--font-body, 'Outfit', sans-serif);
    font-size: 0.95rem;
    color: #1E293B;
    outline: none;
    transition: border-color 0.25s ease, box-shadow 0.25s ease;
}

.rs-form-group input:focus,
.rs-form-group select:focus,
.rs-form-group textarea:focus {
    border-color: #3030A1;
    box-shadow: 0 0 0 3px rgba(48, 48, 161, 0.12);
}

.rs-enquiry-submit-row {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
    margin-top: 10px;
}

.rs-enquiry-submit-row .rs-spa-btn {
    width: 100%;
    justify-content: center;
    padding: 14px 28px;
    font-size: 1rem;
}

.rs-enquiry-note {
    font-size: 0.85rem;
    color: #737385;
    display: flex;
    align-items: center;
    gap: 6px;
}

.rs-spa-btn-primary {
    background: #3030A1;
    color: #FFFFFF;
    border: none;
    padding: 12px 24px;
    border-radius: 50px;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: all 0.3s ease;
    cursor: pointer;
    box-shadow: 0 4px 15px rgba(48, 48, 161, 0.2);
}

.rs-spa-btn-primary:hover {
    background: #F9AEB3;
    color: #FFFFFF;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(255, 94, 175, 0.35);
}

.rs-spa-btn-outline {
    background: transparent;
    color: #3030A1;
    border: 1px solid rgba(48, 48, 161, 0.3);
    padding: 12px 24px;
    border-radius: 50px;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: all 0.3s ease;
    cursor: pointer;
}

.rs-spa-btn-outline:hover {
    background: #3030A1;
    color: #FFFFFF;
    border-color: #3030A1;
}

.full-width {
    width: 100%;
    justify-content: center;
}



.rs-connect-box,
.rs-connect-map-box,
.rs-contact-form-card,
.rs-enquiry-form-card,
.rs-branch-card {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
}

/* ==========================================================================
   EXACT REFERENCE CONTACT PAGE STYLES (SIDE-BY-SIDE CONNECT & MAP)
   ========================================================================== */
.rs-contact-reference-section {
    padding: 65px 0;
    background: #FFFFFF;
}

.rs-contact-reference-grid {
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;
    gap: 32px;
    align-items: stretch;
}

.rs-connect-box {
    background: #F8FAFC;
    border-radius: 24px;
    padding: 42px 36px;
    border: 1px solid rgba(48, 48, 161, 0.08);
    display: flex;
    flex-direction: column;
}

.rs-connect-heading {
    font-family: var(--font-heading, 'Outfit', sans-serif);
    font-size: clamp(1.8rem, 3.2vw, 2.4rem);
    font-weight: 800;
    color: #3030A1;
    margin: 0 0 10px;
}

.rs-connect-sub {
    font-family: var(--font-body, 'Outfit', sans-serif);
    font-size: 0.98rem;
    line-height: 1.6;
    color: #737385;
    margin-bottom: 28px;
}

.rs-connect-cards-list {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.rs-connect-card {
    background: #FFFFFF;
    border-radius: 16px;
    padding: 22px 26px;
    box-shadow: 0 6px 20px rgba(48, 48, 161, 0.04);
    border: 1px solid rgba(48, 48, 161, 0.06);
    border-left: 5px solid #3030A1;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.rs-connect-card:hover {
    transform: translateX(4px);
    box-shadow: 0 10px 28px rgba(48, 48, 161, 0.08);
}

.rs-card-accent-blue {
    border-left-color: #3030A1;
}

.rs-card-accent-pink {
    border-left-color: #F9AEB3;
}

.rs-card-accent-darkblue {
    border-left-color: #0F172A;
}

.rs-card-accent-purple {
    border-left-color: #F9AEB3;
}

.rs-connect-card-header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 10px;
}

.rs-connect-card-header i {
    font-size: 1.15rem;
    color: #3030A1;
}

.rs-card-accent-pink .rs-connect-card-header i {
    color: #F9AEB3;
}

.rs-card-accent-purple .rs-connect-card-header i {
    color: #F9AEB3;
}

.rs-connect-card-header h3 {
    font-family: var(--font-heading, 'Outfit', sans-serif);
    font-size: 1.1rem;
    font-weight: 700;
    color: #3030A1;
    margin: 0;
}

.rs-connect-card-body {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding-left: 28px;
}

.rs-connect-card-body p {
    font-size: 0.93rem;
    line-height: 1.55;
    color: #555565;
    margin: 0;
}

.rs-connect-card-body a {
    display: inline-block;
    font-size: 0.98rem;
    font-weight: 700;
    color: #3030A1;
    transition: color 0.25s ease;
}

.rs-connect-card-body a:hover {
    color: #F9AEB3;
}

/* Map Right Column */
.rs-connect-map-box {
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(48, 48, 161, 0.08);
    border: 1px solid rgba(48, 48, 161, 0.1);
    height: 100%;
}

.rs-connect-map-box iframe {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 560px;
}

.rs-clinic-locations-section {
    padding: 65px 0;
    background: linear-gradient(180deg, #FFFFFF 0%, #F8FAFF 100%);
}

.rs-clinic-location-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;
}

.rs-clinic-location-card {
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg, #FFFFFF 0%, #FFF1F8 52%, #F7F9FF 100%);
    border: 1px solid rgba(48, 48, 161, 0.14);
    border-left: 6px solid #3030A1;
    border-radius: 8px;
    padding: 26px;
    box-shadow: 0 16px 36px rgba(48, 48, 161, 0.1);
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 44%);
    align-items: stretch;
    gap: 26px;
    transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease;
}

.rs-clinic-location-card:nth-child(even) {
    border-left-color: #F9AEB3;
}

.rs-clinic-location-card:hover {
    transform: translateY(-4px);
    border-color: #DDD8F0;
    box-shadow: 0 22px 48px rgba(48, 48, 161, 0.16);
}

.rs-clinic-location-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, #3030A1 0%, #b96f7d 100%);
}

.rs-clinic-location-card h3 {
    font-family: var(--font-heading, 'Outfit', sans-serif);
    font-size: 1.16rem;
    line-height: 1.35;
    font-weight: 800;
    color: #b96f7d;
    margin: 0;
    grid-column: 1;
    letter-spacing: 0;
}

.rs-clinic-location-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    grid-column: 1;
}

.rs-clinic-location-list p {
    display: grid;
    grid-template-columns: 40px 1fr;
    align-items: start;
    gap: 13px;
    margin: 0;
    color: #111827;
    font-size: 0.95rem;
    font-weight: 400;
    line-height: 1.55;
    padding: 10px 12px;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.74);
    border: 1px solid rgba(48, 48, 161, 0.06);
}

.rs-clinic-location-list i {
    width: 38px;
    height: 38px;
    border-radius: 8px;
    background: #2A3B53;
    color: #FFFFFF;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 8px 18px rgba(48, 48, 161, 0.22);
}

.rs-clinic-location-list p:nth-child(even) i {
    background: #b96f7d;
    box-shadow: 0 8px 18px #DDD8F0;
}

.rs-clinic-location-list a {
    color: inherit;
    text-decoration: none;
}

.rs-clinic-location-list a:hover {
    color: #F9AEB3;
}

.rs-clinic-location-map {
    position: relative;
    min-height: 260px;
    overflow: hidden;
    border-radius: 8px;
    background: #F1F5F9;
    border: 1px solid rgba(48, 48, 161, 0.12);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.75);
    grid-column: 2;
    grid-row: 1 / span 2;
}

.rs-clinic-location-map>a {
    position: absolute;
    z-index: 2;
    top: 14px;
    left: 14px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #FFFFFF;
    color: #1F6FEB;
    border-radius: 8px;
    padding: 10px 14px;
    font-weight: 700;
    text-decoration: none;
    box-shadow: 0 3px 12px rgba(15, 23, 42, 0.18);
    transition: transform 0.22s ease, color 0.22s ease;
}

.rs-clinic-location-map>a:hover {
    color: #F9AEB3;
    transform: translateY(-2px);
}

.rs-clinic-location-map iframe {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 260px;
    border: 0;
}



/* ==========================================================================
   OUR EXPERTS SECTION - 3D ELEVATING SPOTLIGHT & FLOATING BADGE HOVER VARIATION
   ========================================================================== */
.rs-spa-experts {
    padding: 80px 0;
    background: linear-gradient(180deg, #FFFFFF 0%, #DDD8F0 100%);
    position: relative;
}

.rs-spa-expert-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
    max-width: 1200px;
    margin: 0 auto;
    padding-top: 10px;
}

.rs-spa-expert-card {
    position: relative;
    background: #FFFFFF;
    border-radius: 24px;
    padding: 24px;
    border: 1.5px solid #DDD8F0;
    box-shadow: 0 10px 30px rgba(48, 48, 161, 0.05);
    text-align: center;
    overflow: hidden;
    transition: transform 0.45s cubic-bezier(0.165, 0.84, 0.44, 1), box-shadow 0.45s ease, border-color 0.45s ease;
    cursor: pointer;
}

/* Radiant aura sheen sweep behind card */
.rs-spa-expert-card::before {
    content: '';
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: radial-gradient(circle at center, rgba(48, 48, 161, 0.08) 0%, transparent 65%);
    opacity: 0;
    transform: scale(0.5);
    transition: opacity 0.5s ease, transform 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
    pointer-events: none;
    z-index: 1;
}

.rs-spa-expert-card:hover {
    transform: translateY(-14px) scale(1.02);
    box-shadow: 0 24px 50px #DDD8F0, 0 12px 28px rgba(48, 48, 161, 0.08);
    border-color: rgba(249, 174, 179, 0.45);
}

.rs-spa-expert-card:hover::before {
    opacity: 1;
    transform: scale(1);
}

.rs-expert-img-wrapper {
    position: relative;
    width: 100%;
    aspect-ratio: 4/4.5;
    border-radius: 18px;
    overflow: hidden;
    margin-bottom: 20px;
    background: #F4F1FA;
    z-index: 2;
}

.rs-expert-img-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top center;
    transition: transform 0.6s cubic-bezier(0.165, 0.84, 0.44, 1), filter 0.6s ease;
}

.rs-spa-expert-card:hover .rs-expert-img-wrapper img {
    transform: scale(1.08) rotate(-1deg);
    filter: brightness(1.04) contrast(1.02);
}

/* Floating Verified Badge popping in on hover */
.rs-expert-badge {
    position: absolute;
    top: 14px;
    right: 14px;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #F9AEB3;
    color: #FFFFFF;
    display: grid;
    place-items: center;
    box-shadow: 0 6px 16px rgba(249, 174, 179, 0.4);
    transform: scale(0) rotate(-45deg);
    opacity: 0;
    transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1), opacity 0.3s ease;
    z-index: 4;
}

.rs-expert-badge svg {
    width: 20px;
    height: 20px;
}

.rs-spa-expert-card:hover .rs-expert-badge {
    transform: scale(1) rotate(0);
    opacity: 1;
}

.rs-spa-expert-card h3 {
    position: relative;
    z-index: 2;
    font-size: 1.35rem;
    font-weight: 800;
    color: #3030A1;
    margin-bottom: 6px;
    transition: color 0.35s ease, transform 0.35s ease;
}

.rs-spa-expert-card:hover h3 {
    color: #F9AEB3;
    transform: translateY(-2px);
}

.rs-spa-expert-card p {
    position: relative;
    z-index: 2;
    display: inline-block;
    font-size: 0.92rem;
    font-weight: 700;
    color: #737385;
    background: rgba(48, 48, 161, 0.05);
    padding: 6px 18px;
    border-radius: 50px;
    transition: all 0.35s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.rs-spa-expert-card:hover p {
    background: #F9AEB3;
    color: #FFFFFF;
    box-shadow: 0 6px 18px rgba(249, 174, 179, 0.35);
    transform: translateY(-2px);
}





/* ==========================================================================
   MUHIBBI ABOUT CLINIC SECTION (EXACT MATCH TO REFERENCE DESIGN)
   ========================================================================== */
@keyframes floatButterfly {

    0%,
    100% {
        transform: translateY(0) rotate(0deg);
    }

    50% {
        transform: translateY(-8px) rotate(2deg);
    }
}

.rs-about-section {
    position: relative;
    background: #F5F2FF !important;
    background-color: #F5F2FF !important;
    padding: 48px 0;
    overflow: hidden;
}

.rs-about-container {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 1380px;
    margin: 0 auto;
    padding: 0 20px;
    display: grid;
    grid-template-columns: 460px 1fr 250px;
    gap: 40px;
    align-items: center;
}

/* Continuous Gentle Floating Animations for Images */
@keyframes floatImageLeft {

    0%,
    100% {
        transform: translateY(0px) rotate(0deg);
    }

    50% {
        transform: translateY(-12px) rotate(0.8deg);
    }
}

@keyframes floatImageRight {

    0%,
    100% {
        transform: translateY(0px) rotate(0deg);
    }

    50% {
        transform: translateY(-14px) rotate(-0.8deg);
    }
}

/* Left Column Image (Larger & Prominent with Floating Motion) */
.rs-about-left-col {
    display: flex;
    align-items: flex-start;
    animation: floatImageLeft 6s ease-in-out infinite;
}

.rs-about-img-wrap {
    position: relative;
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 14px 35px rgba(0, 0, 0, 0.08);
    transition: box-shadow 0.5s ease, transform 0.5s ease;
}

.rs-about-img-wrap:hover {
    box-shadow: 0 22px 50px rgba(110, 79, 58, 0.22);
}

.rs-about-img-wrap::before {
    content: "";
    position: absolute;
    inset: 12px;
    z-index: 1;
    border: 1px solid rgba(255, 255, 255, 0.58);
    opacity: 0;
    transform: scale(0.94);
    transition: opacity 0.45s ease, transform 0.45s ease;
    pointer-events: none;
}

.rs-about-img-wrap:hover::before {
    opacity: 1;
    transform: scale(1);
}

.rs-about-img-wrap img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    opacity: 0;
    z-index: 0;
    transform: scale(1.06) translateX(18px);
    transition: opacity 0.9s ease, transform 1.15s cubic-bezier(0.16, 1, 0.3, 1), filter 0.5s ease;
}

.rs-about-img-wrap:not(.is-slider-ready) img:first-child {
    opacity: 1;
}

.rs-about-img-wrap img.is-active {
    opacity: 1;
    transform: scale(1) translateX(0);
    z-index: 2;
}

.rs-about-slider img {
    opacity: 0;
    z-index: 0;
    animation: rsAboutSlide 8s infinite;
}

.rs-about-slider img:nth-child(1) {
    animation-delay: 0s;
    opacity: 1;
    z-index: 2;
}

.rs-about-slider img:nth-child(2) {
    animation-delay: 4s;
}

.rs-about-slider-alt img {
    animation-name: rsAboutSlideAlt;
}

@keyframes rsAboutSlide {
    0% {
        opacity: 1;
        z-index: 2;
        transform: scale(1) translateX(0);
    }

    52% {
        opacity: 1;
        z-index: 2;
        transform: scale(1) translateX(0);
    }

    62%,
    100% {
        opacity: 0;
        z-index: 0;
        transform: scale(1.08) translateX(-26px);
    }
}

@keyframes rsAboutSlideAlt {
    0% {
        opacity: 1;
        z-index: 2;
        transform: scale(1) translateY(0);
    }

    52% {
        opacity: 1;
        z-index: 2;
        transform: scale(1) translateY(0);
    }

    62%,
    100% {
        opacity: 0;
        z-index: 0;
        transform: scale(1.08) translateY(-24px);
    }
}

.rs-img-left img {
    transform: scale(1.08) translateY(24px);
}

.rs-img-left img.is-active {
    transform: scale(1) translateY(0);
}

.rs-img-right img {
    transform: scale(1.08) translateX(-24px);
}

.rs-img-right img.is-active {
    transform: scale(1) translateX(0);
}

.rs-about-img-wrap.is-alt-transition img {
    transform: scale(1.1) translateY(-22px);
}

.rs-about-img-wrap.is-alt-transition img.is-active {
    transform: scale(1) translateY(0);
}

.rs-about-img-wrap:hover img.is-active {
    transform: scale(1.08);
    filter: brightness(1.04);
}

.rs-img-left:hover img.is-active {
    transform: scale(1.09) translateY(-8px);
    filter: brightness(1.05) saturate(1.08);
}

.rs-img-right:hover img.is-active {
    transform: scale(1.1) translateX(-10px);
    filter: brightness(1.04) contrast(1.04);
}

/* Shimmer Light Sheen Sweep Effect on Image Hover */
.rs-about-img-wrap::after {
    content: '';
    position: absolute;
    top: 0;
    left: -120%;
    width: 70%;
    height: 100%;
    z-index: 2;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.32), transparent);
    transition: left 0.85s ease;
    pointer-events: none;
}

.rs-about-img-wrap:hover::after {
    left: 160%;
}

.rs-img-left {
    width: 460px;
    height: 540px;
}

/* Center Content Column */
.rs-about-center-col {
    text-align: center;
    max-width: 660px;
    margin: 0 auto;
    padding: 0 10px;
}

.rs-about-icon {
    width: 105px;
    height: 118px;
    margin: 0 auto 24px auto;
    animation: floatButterfly 3.5s ease-in-out infinite;
}

.rs-about-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.rs-about-title {
    font-family: 'Cormorant Garamond', 'Marcellus', 'Playfair Display', serif;
    font-size: 3.4rem;
    /* ~54px */
    font-weight: 600;
    color: #3030A1;
    line-height: 1.2;
    margin-bottom: 25px;
    letter-spacing: -0.01em;
}

/* Center Decorative Vertical Line */
.rs-about-subtitle {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--color-blue-primary, #3030A1);
    letter-spacing: 0.01em;
    margin-top: 8px;
    margin-bottom: 0;
}

.rs-about-divider {
    width: 1.5px;
    height: 50px;
    background-color: var(--color-pink-primary);
    margin: 0 auto 25px auto;
}

.rs-about-text {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 1.02rem;
    line-height: 1.75;
    color: #111827;
    margin-bottom: 35px;
    max-width: 620px;
    margin-left: auto;
    margin-right: auto;
}

.rs-about-text p {
    color: #111827;
    margin-bottom: 16px;
}

.rs-about-text p strong {
    color: #000000;
    font-weight: 700;
}

.rs-about-text p:last-child {
    margin-bottom: 0;
}

/* Center Pill Button */
.rs-about-btn-wrap {
    display: flex;
    justify-content: center;
}

.rs-about-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 16px 42px;
    background: #F9AEB3;
    color: #171735 !important;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.88rem;
    font-weight: 800;
    letter-spacing: 1.2px;
    text-transform: none;
    border-radius: 50px;
    text-decoration: none;
    white-space: nowrap;
    transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
    box-shadow: 0 8px 24px rgba(249, 174, 179, 0.35);
}

.rs-about-btn:hover {
    background: #3030A1;
    color: #ffffff !important;
    transform: translateY(-3px) scale(1.02);
    box-shadow: 0 14px 30px rgba(48, 48, 161, 0.35);
}

.rs-about-btn--outline {
    background: transparent;
    color: #171735 !important;
    border: 2px solid #F9AEB3;
    box-shadow: none;
}

.rs-about-btn--outline:hover {
    background: #F9AEB3;
    color: #171735 !important;
    border-color: #F9AEB3;
    box-shadow: 0 8px 24px rgba(249, 174, 179, 0.35);
}

/* Smaller buttons specifically inside hero section */
.photo-hero-actions .rs-about-btn {
    padding: 11px 26px;
    font-size: 0.78rem;
    letter-spacing: 1px;
    box-shadow: 0 8px 24px rgba(42, 59, 83, 0.28);
}

.photo-hero-actions .rs-about-btn--outline {
    box-shadow: none;
}

/* Right Column Image (Noticeably Smaller & Offset Lower with Floating Motion) */
.rs-about-right-col {
    display: flex;
    align-items: flex-end;
    margin-top: 210px;
    justify-content: flex-end;
    animation: floatImageRight 7s ease-in-out infinite 0.5s;
}

.rs-img-right {
    width: 250px;
    height: 300px;
}

.rs-about-section-single .rs-about-container {
    max-width: 1180px;
    grid-template-columns: minmax(320px, 460px) minmax(0, 1fr);
    gap: clamp(36px, 5vw, 72px);
    align-items: stretch;
}

.rs-about-section-single .rs-about-left-col {
    align-items: stretch;
}

.rs-about-section-single .rs-img-left {
    width: 100%;
    height: auto;
    min-height: 100%;
}

.rs-about-section-single .rs-about-center-col {
    max-width: 680px;
    margin: 0;
    padding: 0;
    text-align: left;
}

.rs-about-section-single .rs-about-center-col>.rs-container {
    max-width: none;
    padding: 0;
}

.rs-about-section-single .rs-spa-section-title {
    margin-right: 0;
    margin-left: 0;
    text-align: left;
}

.rs-about-section-single .rs-about-divider {
    margin-left: 0;
    margin-right: 0;
}

.rs-about-section-single .rs-about-text {
    margin-left: 0;
    margin-right: 0;
}

.rs-about-section-single .rs-about-btn-wrap {
    justify-content: flex-start;
}

/* Responsive Styles */




/* Soft alternating home section backgrounds */
.rs-spa-welcome {
    background: #ffffff;
}

.rs-spa-section.rs-spa-welcome {
    position: relative;
    overflow: hidden;
    padding-top: 36px;
    padding-bottom: 36px;
}

.rs-spa-welcome::before {
    content: none;
}

.rs-spa-welcome .rs-container {
    position: relative;
    z-index: 2;
    max-width: 1200px;
    padding-left: 20px;
    padding-right: 20px;
    margin-left: auto;
    margin-right: auto;
}

.rs-spa-welcome .rs-spa-split {
    max-width: 1100px;
    gap: 48px;
    margin: 0 auto;
    justify-content: center;
    align-items: center;
}

.rs-spa-welcome .rs-spa-photo-stack {
    justify-self: center;
    margin: 0 auto;
}

.rs-spa-welcome .rs-spa-copy {
    justify-self: start;
}

/* Performance Boost: Defer layout calculation & rendering for off-screen sections */
.rs-about-section,
.rs-spa-health,
.rs-spa-services-for-you,
.rs-spa-treatment,
.rs-spa-testimonials,
.rs-spa-gallery,
.rs-home-shorts,
.rs-home-tv-radio,
.rs-home-before-after,
.rs-home-print-media,
.rs-spa-news {
    content-visibility: auto;
    contain-intrinsic-size: 1px 500px;
}

/* ==========================================================================
   HOMEPAGE ALTERNATING SECTIONS (#f5f7ff vs #FBF8F5)
   Sequence after Hero section:
   1. Meet Dr. Ram (#about-doctor / .rs-spa-welcome) -> #f5f7ff
   2. About Clinic (#about-clinic / .rs-about-section) -> #FBF8F5
   3. Complete Care (#aesthetic-care / .dr-care-wave-section) -> #f5f7ff
   4. Why Patients Choose Us (#why-choose-us / .rs-spa-services-for-you) -> #FBF8F5
   5. Conditions We Treat (#conditions / .dr-cond-section) -> #f5f7ff
   6. Counter Strip (.dr-counter-section) -> #FBF8F5
   7. Testimonials (#testimonials / .rs-spa-testimonials) -> #f5f7ff
   8. Educational Videos (#shorts / .rs-home-shorts) -> #FBF8F5
   9. Media & TV/Radio (#tv-radio / .rs-home-tv-radio) -> #f5f7ff
   10. Print Media (#print-media / .rs-home-print-media) -> #FBF8F5
   11. Before & After (#before-after / .rs-home-before-after) -> #f5f7ff
   12. Our Gallery (#journey / .rs-spa-gallery) -> #FBF8F5
   13. Special Offer / Philosophy Banner (.rs-spa-offer) -> #f5f7ff
   ========================================================================== */

/* 1. Cool Soft Blue-Lavender Sections (#f5f7ff) */
.rs-spa-welcome,
#about-doctor,
.dr-care-wave-section,
#aesthetic-care,
.dr-cond-section,
#conditions,
.rs-spa-testimonials,
#testimonials,
/* .rs-home-tv-radio, */
/* #tv-radio, */
.rs-home-before-after,
#before-after,
.rs-spa-offer {
    background: #f5f7ff !important;
    background-color: #f5f7ff !important;
}

/* 2. Soft Warm Sand / Nude Sections (#FBF8F5) */
.rs-about-section,
#about-clinic,
.rs-spa-services-for-you,
#why-choose-us,
.dr-counter-section,
.rs-home-shorts,
#shorts,
.rs-home-print-media,
#print-media,
/* .rs-spa-gallery, */
#journey {
    background: #FBF8F5 !important;
    background-color: #FBF8F5 !important;
}

/* Base typography styles & font matching */
.rs-spa-section-title h2,
.rs-spa-copy h2,
.rs-spa-offer-content h2,
.rs-spa-open-hours h2,
.rs-about-text h2,
.rs-about-center-col h2,
.photo-hero-title,
.brand-hero-title,
.rs-treat-hero h1,
.rs-cond-hero h1,
.rs-doctor-wide-copy h1,
.rs-about-hero h1,
.rs-page-hero h1 {
    font-family: var(--font-heading) !important;
    color: #20334E !important;
    font-weight: 700 !important;
    letter-spacing: -0.01em !important;
}

.rs-spa-feature-list h3,
.rs-home-before-after-caption h3,
.rs-tv-card-content h3,
.rs-spa-service-circle-grid h3,
.rs-spa-treatment-copy h3,
.rs-review-meta h3 {
    font-family: var(--font-subheading) !important;
    color: #20334E !important;
    font-weight: 700 !important;
}

.rs-spa-section-title p,
.rs-about-subtitle,
.rs-doctor-subtitle,
.rs-spa-copy p,
.rs-about-text p,
.rs-spa-feature-list p,
.rs-review-text,
.rs-tv-card-content p,
.photo-hero-text,
.brand-hero-text {
    font-family: var(--font-body) !important;
    color: #55606E !important;
}

.rs-spa-sign {
    font-family: var(--font-signature) !important;
    color: #b96f7d !important;
    font-size: 2.6rem !important;
    line-height: 1 !important;
    margin: 8px 0 18px !important;
}

/* Pill Badges (Warm Terracotta / Peach Pill #FAF1EB) */
.rs-badge-sage,
.rs-kicker-sage,
.brand-kicker,
.photo-hero-kicker,
.rs-badge-rose,
.rs-kicker-rose,
.rs-spa-kicker,
.rs-spa-section-title .rs-badge-rose {
    background: #FAF1EB !important;
    color: #c98e80 !important;
    border: 1px solid #F2D8CD !important;
    border-radius: 9999px !important;
    padding: 6px 18px !important;
    font-family: var(--font-subheading) !important;
    font-size: 0.76rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    display: inline-block !important;
    margin-bottom: 14px !important;
}

/* Primary Pill Buttons (Slate Navy #2A3B53) */
.rs-btn,
.rs-about-btn,
.brand-btn-primary,
.rs-spa-actions .rs-about-btn,
.rs-spa-service-more .rs-about-btn,
.rs-spa-treatment-copy .rs-about-btn {
    background: #2A3B53 !important;
    color: #FFFFFF !important;
    border: none !important;
    border-radius: 9999px !important;
    font-family: var(--font-subheading) !important;
    font-weight: 700 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    box-shadow: 0 8px 24px rgba(42, 59, 83, 0.28) !important;
    transition: all 0.3s ease !important;
    text-decoration: none !important;
}

.rs-btn:hover,
.rs-about-btn:hover,
.brand-btn-primary:hover,
.rs-spa-actions .rs-about-btn:hover,
.rs-spa-service-more .rs-about-btn:hover,
.rs-spa-treatment-copy .rs-about-btn:hover {
    background: #1A283C !important;
    color: #FFFFFF !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 12px 28px rgba(42, 59, 83, 0.4) !important;
}

.brand-btn-outline {
    background: transparent !important;
    color: #20334E !important;
    border: 1.5px solid #20334E !important;
    border-radius: 9999px !important;
    font-family: var(--font-subheading) !important;
    font-weight: 700 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    transition: all 0.3s ease !important;
}

.brand-btn-outline:hover {
    background: #2A3B53 !important;
    color: #FFFFFF !important;
    border-color: #2A3B53 !important;
}

/* Section 2: Meet Dr. Ram Doctor Card */
.rs-spa-welcome .rs-spa-split {
    background: transparent !important;
    border-radius: 0 !important;
    padding: 0 !important;
    box-shadow: none !important;
    border: 0 !important;
    align-items: center;
}

.rs-spa-welcome .rs-spa-photo-stack img {
    border-radius: 20px;
}

.rs-spa-welcome .rs-spa-photo-accent {
    background:
        linear-gradient(90deg, #fff9fc 0%, #fde7f4 48%, #f8f3ff 100%),
        linear-gradient(180deg, #fff8fc 0%, #fce2f2 56%, #f7f4ff 100%) !important;
    box-shadow: 0 12px 30px rgba(245, 178, 218, 0.4) !important;
}

.rs-doctor-subtitle {
    color: #b96f7d !important;
    font-weight: 600 !important;
    font-size: 1.05rem !important;
    margin-bottom: 12px !important;
}

.rs-doctor-degrees-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 20px;
}

.rs-doctor-degrees-strip span {
    display: inline-block;
    padding: 4px 12px;
    background: #F4F6FA;
    border: 1px solid #E2E8F0;
    border-radius: 6px;
    font-size: 0.76rem;
    font-weight: 700;
    color: #2A3B53;
    letter-spacing: 0.03em;
}

/* Section 3: About Clinic Card */
.rs-about-container {
    background: #FFFFFF !important;
    border-radius: 28px !important;
    padding: 36px 40px !important;
    box-shadow: 0 10px 36px rgba(50, 65, 85, 0.07) !important;
    border: 1px solid rgba(226, 216, 206, 0.6) !important;
}

.rs-about-img-wrap img {
    border-radius: 20px;
}

#about-clinic .rs-about-container {
    grid-template-columns: 1fr !important;
}

#about-clinic .rs-about-center-col,
#about-clinic .rs-about-center-col>.rs-container,
#about-clinic .rs-spa-section-title,
#about-clinic .rs-about-text {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    text-align: left !important;
}

#about-clinic .rs-about-text p {
    max-width: none !important;
}

#about-clinic .rs-about-subtitle {
    text-align: left !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

#about-clinic .rs-about-btn-wrap {
    justify-content: flex-start !important;
}

/* Section 4: Category Circles */
.rs-spa-service-circle-grid article {
    background: #FFFFFF !important;
    border-radius: 20px !important;
    padding: 22px 14px 18px !important;
    box-shadow: 0 8px 24px rgba(50, 65, 85, 0.06) !important;
    border: 1px solid rgba(226, 216, 206, 0.6) !important;
    transition: all 0.3s ease !important;
}

.rs-spa-service-circle-grid article:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 30px rgba(50, 65, 85, 0.12) !important;
}

.rs-spa-service-circle-grid img {
    border-radius: 50%;
}

.rs-spa-service-title-link {
    color: #20334E !important;
    font-weight: 700;
}

/* Home treatment category cards: reference-style white panels with circular media */
.rs-spa-services-for-you {
    background: #f5f7ff !important;
    padding: 44px 0 52px !important;
}

.rs-spa-services-for-you .rs-container {
    max-width: none !important;
    padding-left: clamp(42px, 5vw, 96px) !important;
    padding-right: clamp(42px, 5vw, 96px) !important;
}

.rs-spa-services-for-you .rs-spa-section-title {
    margin-bottom: 26px !important;
}

.rs-spa-services-for-you .rs-spa-service-circle-grid {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: clamp(20px, 2vw, 34px) !important;
    align-items: stretch !important;
    justify-content: center !important;
    margin-top: 0 !important;
}

.rs-spa-services-for-you .rs-spa-service-circle-grid article {
    min-height: 318px !important;
    padding: 34px 24px 30px !important;
    background: #FFFFFF !important;
    border: 1px solid rgba(226, 216, 206, 0.95) !important;
    border-radius: 30px !important;
    box-shadow: 0 18px 42px rgba(48, 38, 28, 0.08) !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    text-align: center !important;
}

.rs-spa-services-for-you .rs-spa-service-circle-grid article:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 24px 52px rgba(48, 38, 28, 0.12) !important;
}

.rs-spa-services-for-you .rs-spa-service-circle-grid article>a:not(.rs-spa-service-title-link) {
    width: clamp(132px, 9.4vw, 164px) !important;
    height: clamp(132px, 9.4vw, 164px) !important;
    border-radius: 50% !important;
    overflow: hidden !important;
    background: #FFFFFF !important;
    border: 4px solid #E8E1D8 !important;
    box-shadow: none !important;
    display: block !important;
    position: relative !important;
}

.rs-spa-services-for-you .rs-spa-service-circle-grid article>a:not(.rs-spa-service-title-link)::before {
    display: none !important;
}

.rs-spa-services-for-you .rs-spa-service-circle-grid article>a:not(.rs-spa-service-title-link):hover {
    transform: none !important;
    box-shadow: none !important;
}

.rs-spa-services-for-you .rs-spa-service-circle-grid article img {
    width: 100% !important;
    height: 100% !important;
    border-radius: 50% !important;
    object-fit: cover !important;
    transform: none !important;
}

.rs-spa-services-for-you .rs-spa-service-circle-grid h3 {
    margin: 28px 0 0 !important;
    font-family: "Cormorant Garamond", Georgia, serif !important;
    font-size: clamp(1.35rem, 1.6vw, 1.72rem) !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
    color: #20334E !important;
}

.rs-spa-services-for-you .rs-spa-service-circle-grid article a.rs-spa-service-title-link {
    color: #20334E !important;
    text-decoration: none !important;
}

.rs-spa-services-for-you .rs-spa-service-circle-grid article a.rs-spa-service-title-link:hover {
    color: #b96f7d !important;
}

.rs-spa-services-for-you .rs-spa-service-more {
    margin-top: 28px !important;
}







/* Section 5: Why Choose Us Feature Cards */
.rs-spa-feature-list article {
    background: #FFFFFF !important;
    border-radius: 18px !important;
    padding: 20px 22px !important;
    box-shadow: 0 8px 24px rgba(50, 65, 85, 0.06) !important;
    border: 1px solid rgba(226, 216, 206, 0.6) !important;
    transition: transform 0.3s ease;
}

.rs-spa-feature-list article:hover {
    transform: translateY(-3px);
}

.rs-spa-icon {
    background: #FAF1EB !important;
    border-radius: 50% !important;
    width: 52px;
    height: 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Section 6: Conditions We Treat Tabs & Card */
.rs-spa-treatment-tabs button {
    background: #FFFFFF !important;
    color: #20334E !important;
    border: 1px solid #EBE2DA !important;
    border-radius: 9999px !important;
    padding: 10px 24px !important;
    font-weight: 600 !important;
    transition: all 0.25s ease !important;
}

.rs-spa-treatment-tabs button.active {
    background: #2A3B53 !important;
    color: #FFFFFF !important;
    border-color: #2A3B53 !important;
    box-shadow: 0 8px 24px rgba(42, 59, 83, 0.28) !important;
}

.rs-spa-treatment-tabs button.active .rs-spa-treatment-icon {
    color: #FFFFFF !important;
}

.rs-spa-treatment-tabs button:not(.active) .rs-spa-treatment-icon {
    color: #2A3B53 !important;
}

.rs-spa-treatment-body {
    background: #FFFFFF !important;
    border-radius: 24px !important;
    padding: 34px !important;
    box-shadow: 0 12px 40px rgba(50, 65, 85, 0.08) !important;
    border: 1px solid rgba(226, 216, 206, 0.7) !important;
}

.rs-spa-treatment-body img {
    border-radius: 18px;
}

#conditions .rs-spa-treatment-menu button {
    border-radius: 12px;
    color: #55606E !important;
    transition: all 0.2s ease;
    border: none;
}

#conditions .rs-spa-treatment-menu button:hover:not(.active),
#conditions .rs-spa-treatment-menu button.active {
    background: #FAF1EB !important;
    color: #b96f7d !important;
    font-weight: 700;
}

#conditions .rs-spa-treatment-menu button:hover:not(.active) i,
#conditions .rs-spa-treatment-menu button.active i {
    color: #b96f7d !important;
}

/* Reference-style statistics cards */
.rs-spa-counter-strip {
    padding: 28px 0 !important;
    background: #FBF8F5 !important;
    background-color: #FBF8F5 !important;
    background-image: none !important;
    border: 0 !important;
}

.rs-spa-counter-strip .rs-spa-counter-grid {
    max-width: none !important;
    padding: 0 clamp(42px, 5vw, 96px) !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: clamp(22px, 2.4vw, 34px) !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.rs-spa-counter-strip .rs-spa-counter-grid article {
    min-height: 178px !important;
    padding: 34px 24px 30px !important;
    background: #FFFFFF !important;
    border: 1px solid rgba(226, 216, 206, 0.95) !important;
    border-radius: 30px !important;
    box-shadow: 0 18px 42px rgba(48, 38, 28, 0.08) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
}

.rs-spa-counter-strip .rs-spa-counter-grid article:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 24px 52px rgba(48, 38, 28, 0.12) !important;
}

.rs-spa-counter-strip .rs-spa-counter-grid i {
    display: none !important;
}

.rs-spa-counter-strip .rs-spa-counter-grid strong {
    color: #20334E !important;
    font-family: "Cormorant Garamond", Georgia, serif !important;
    font-size: clamp(2.65rem, 4vw, 3.45rem) !important;
    font-weight: 700 !important;
    line-height: 0.95 !important;
    letter-spacing: 0 !important;
    margin: 0 0 14px !important;
}

.rs-spa-counter-strip .rs-spa-counter-grid span {
    color: #20334E !important;
    font-family: "Plus Jakarta Sans", sans-serif !important;
    font-size: clamp(0.96rem, 1.15vw, 1.12rem) !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}





/* Section 8: Testimonial Cards */
.rs-review-card {
    background: #FFFFFF !important;
    border-radius: 20px !important;
    padding: 30px 26px !important;
    box-shadow: 0 10px 32px rgba(50, 65, 85, 0.08) !important;
    border: 1px solid rgba(226, 216, 206, 0.7) !important;
}

.rs-review-stars {
    color: #E5A158 !important;
}

.rs-review-meta h3 {
    color: #20334E !important;
}

.rs-reviews-pagination button.active {
    background: #2A3B53 !important;
}

.rs-reviews-pagination button {
    background: #E5DDD5;
}

.rs-reviews-arrow {
    background: #FFFFFF !important;
    color: #20334E !important;
    border: 1px solid #EBE2DA !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.06) !important;
}

.rs-reviews-arrow:hover {
    background: #2A3B53 !important;
    color: #FFFFFF !important;
    border-color: #2A3B53 !important;
}

/* Section 9 & 10: Video Cards */
.rs-tv-card {
    background: #FFFFFF !important;
    border-radius: 20px !important;
    overflow: hidden !important;
    box-shadow: 0 8px 28px rgba(50, 65, 85, 0.06) !important;
    border: 1px solid rgba(226, 216, 206, 0.6) !important;
}

.rs-tv-category {
    background: #FAF1EB !important;
    color: #b96f7d !important;
    border-radius: 9999px !important;
    padding: 4px 12px !important;
    font-size: 0.75rem !important;
    font-weight: 700 !important;
}

/* Section 11: Print Media Cards */
.rs-home-print-media .rs-media-card {
    background: #FFFFFF !important;
    border-radius: 18px !important;
    padding: 12px !important;
    box-shadow: 0 8px 28px rgba(50, 65, 85, 0.06) !important;
    border: 1px solid rgba(226, 216, 206, 0.6) !important;
}

.rs-home-print-media .rs-media-card img {
    border-radius: 12px;
}

/* Section 12: Before & After Cards */
.rs-before-after-card {
    background: #FFFFFF !important;
    border-radius: 20px !important;
    padding: 14px !important;
    box-shadow: 0 10px 32px rgba(50, 65, 85, 0.08) !important;
    border: 1px solid rgba(226, 216, 206, 0.7) !important;
    overflow: hidden;
}

.rs-before-after-image-wrap img {
    border-radius: 14px;
}

.rs-home-before-after-caption {
    padding: 14px 10px 6px !important;
    border-top: none !important;
    background: transparent !important;
}

.rs-home-before-after-caption h3 {
    margin: 0 !important;
    color: #2A3B53 !important;
    font-family: "Plus Jakarta Sans", sans-serif !important;
    font-size: clamp(1rem, 1.1vw, 1.16rem) !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
}

#before-after .rs-before-after-card {
    padding: 0 !important;
    border: 1px solid rgba(249, 174, 179, 0.6) !important;
    border-radius: 8px !important;
    box-shadow: 0 12px 34px rgba(42, 59, 83, 0.06) !important;
}

#before-after .rs-before-after-image-wrap,
#before-after .rs-before-after-card:nth-child(3n + 1) .rs-before-after-image-wrap,
#before-after .rs-before-after-card:nth-child(3n + 2) .rs-before-after-image-wrap {
    height: 330px !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(249, 174, 179, 0.45) !important;
    background: #FFFFFF !important;
}

#before-after .rs-before-after-image-wrap img {
    border-radius: 0 !important;
    object-fit: contain !important;
}

#before-after .rs-home-before-after-caption {
    min-height: 70px !important;
    padding: 14px 18px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* Section 13: Gallery Cards */
.rs-spa-mosaic {
    gap: 18px !important;
    background: transparent !important;
}

.rs-spa-mosaic figure {
    background: #FFFFFF !important;
    border-radius: 0 !important;
    overflow: hidden !important;
    box-shadow: 0 8px 28px rgba(50, 65, 85, 0.06) !important;
    border: 1px solid rgba(226, 216, 206, 0.6) !important;
}

.rs-spa-mosaic figure img {
    border-radius: 0 !important;
}

/* Section 14: Clinical philosophy full-width banner */
.rs-spa-offer {
    min-height: 520px;
    padding: 0 !important;
    display: flex;
    align-items: center;
    background: #FFF3FA url('../images/banner-home.png') left center / cover no-repeat !important;
    border-top: 1px solid rgba(249, 174, 179, 0.35) !important;
    border-bottom: 0 !important;
}

.rs-spa-offer::before,
.rs-spa-offer::after {
    display: none !important;
}

.rs-spa-offer-grid {
    width: 100%;
    max-width: 1280px !important;
    min-height: 520px;
    margin: 0 auto !important;
    padding: 74px clamp(28px, 5vw, 78px) !important;
    display: grid;
    grid-template-columns: minmax(360px, 1fr) minmax(420px, 720px);
    align-items: center;
    gap: clamp(34px, 5vw, 82px);
    background: transparent !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    text-align: left;
}

.rs-spa-offer-content {
    width: 100%;
    max-width: 720px !important;
    margin: 0 0 0 auto !important;
    padding: 0 !important;
    grid-column: 2;
    justify-self: end;
    background: transparent !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    text-align: left !important;
}

.rs-spa-offer-content span {
    display: block !important;
    margin: 0 0 14px !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    color: #2A3B53 !important;
    font-size: 0.86rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase;
}

.rs-spa-offer-content h2 {
    max-width: 680px;
    margin: 0 0 26px !important;
    color: #2A3B53 !important;
    font-family: var(--font-heading, 'Outfit', sans-serif);
    font-size: clamp(2.6rem, 4.2vw, 4.35rem) !important;
    font-weight: 800 !important;
    line-height: 1.08 !important;
    letter-spacing: 0 !important;
}

.rs-spa-offer-content p {
    max-width: 720px !important;
    margin: 0 0 20px !important;
    color: #000000 !important;
    font-size: clamp(1rem, 1.28vw, 1.24rem) !important;
    line-height: 1.55 !important;
    font-weight: 400;
}

.rs-spa-offer-content .rs-spa-service-more {
    justify-content: flex-start !important;
    margin-top: 30px !important;
}

.rs-spa-offer-content .rs-about-btn {
    background: #2A3B53 !important;
    color: #FFFFFF !important;
    border-radius: 9999px !important;
    padding: 17px 52px !important;
    font-weight: 800 !important;
    letter-spacing: 0.06em !important;
    box-shadow: 0 16px 36px rgba(42, 59, 83, 0.28) !important;
}

.rs-spa-offer-content .rs-about-btn:hover {
    background: #1A283C !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 18px 42px rgba(42, 59, 83, 0.36) !important;
}





.rs-spa-section-title>span,
.rs-hero-divider-bar,
.rs-hero-divider-bar-exact,
.rs-about-info-item h3::after,
.rs-about-card h3::after,
.rs-doctor-credentials-section .rs-doctor-credential-card h3::after,
.rs-doctor-affiliations-section .rs-doctor-affiliation-card h3::after {
    display: none !important;
}







.rs-spa-health::before {
    background: rgba(255, 255, 255, 0.25);
}

/* Home testimonials: original layout with the supplied warm color palette */
.rs-spa-testimonials {
    padding-top: 36px;
    background: #FBF8F5 !important;
    background-image: none !important;
    background-color: #FBF8F5 !important;
}

.rs-spa-testimonials .rs-spa-section-title h2,
.rs-spa-testimonials .rs-review-meta h3,
.rs-spa-testimonials .rs-review-text {
    color: #20334E !important;
}

.rs-spa-testimonials .rs-spa-section-title span {
    background: #D99A8D;
}

.rs-spa-testimonials .rs-spa-section-title p,
.rs-spa-testimonials .rs-review-date {
    color: #62718A;
}

.rs-spa-testimonials .rs-review-card {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    background: #FFFFFF !important;
    background-image: none !important;
    border: 1px solid #E8DED3 !important;
    box-shadow: 0 8px 24px rgba(48, 38, 28, 0.06) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

.rs-spa-testimonials .rs-review-card:hover {
    box-shadow: 0 12px 30px rgba(48, 38, 28, 0.1) !important;
}

.rs-spa-testimonials .rs-review-card::before {
    content: "";
    position: absolute;
    right: -8px;
    bottom: -10px;
    width: 320px;
    height: 320px;
    background: url('../images/pattern.png') right bottom / cover no-repeat;
    opacity: 0.42;
    filter: none;
    pointer-events: none;
    z-index: 0;
}

.rs-spa-testimonials .rs-review-card>* {
    position: relative;
    z-index: 1;
}

.rs-spa-testimonials .rs-review-stars {
    color: #D99A8D !important;
}

.rs-spa-testimonials .rs-review-tag {
    background: #FAF1EB;
    color: #b96f7d;
}

.rs-spa-testimonials .rs-review-card-footer {
    border-top-color: #E8DED3;
}

.rs-spa-testimonials .rs-reviews-arrow {
    background: #FFFFFF;
    border-color: #E8DED3;
    color: #2A3B53;
    box-shadow: 0 4px 14px rgba(48, 38, 28, 0.08);
}

.rs-spa-testimonials .rs-reviews-arrow:hover {
    background: #20334E;
    color: #FFFFFF;
    box-shadow: 0 6px 18px rgba(32, 51, 78, 0.2);
}

.rs-spa-testimonials .rs-reviews-pagination button {
    background: rgba(217, 154, 141, 0.32);
}

.rs-spa-testimonials .rs-reviews-pagination button.active {
    background: #D99A8D;
}

/* About doctor and clinic pages */
.rs-about-inner-hero {
    min-height: 360px;
    display: flex;
    align-items: center;
}

.rs-about-page-intro {
    background: linear-gradient(135deg, #ffffff 0%, #FFF1F8 48%, #eef4ff 100%);
}

.rs-about-page-grid {
    display: grid;
    grid-template-columns: minmax(280px, 430px) minmax(0, 1fr);
    gap: 56px;
    align-items: center;
}

.rs-about-page-grid-reverse {
    grid-template-columns: minmax(0, 1fr) minmax(280px, 480px);
}

.rs-about-page-media {
    position: relative;
}

.rs-about-page-media::before {
    content: "";
    position: absolute;
    inset: 22px auto auto -20px;
    width: 52%;
    height: 82%;
    background: linear-gradient(180deg, rgba(249, 174, 179, 0.18), rgba(48, 48, 161, 0.14));
    border-radius: 8px;
}

.rs-about-page-media img {
    position: relative;
    z-index: 1;
    width: 100%;
    aspect-ratio: 0.86;
    object-fit: cover;
    border: 10px solid #ffffff;
    border-radius: 8px;
    box-shadow: 0 18px 42px rgba(48, 48, 161, 0.14);
}

.rs-about-page-grid-reverse .rs-about-page-media img {
    aspect-ratio: 1.02;
}

.rs-about-page-copy h2 {
    max-width: 720px;
    color: #3030A1;
    font-size: clamp(1.8rem, 3vw, 2.65rem);
    font-weight: 700;
    line-height: 1.18;
    margin-bottom: 18px;
}

.rs-about-page-copy p {
    max-width: 720px;
    color: #555565;
    font-size: 0.98rem;
    line-height: 1.78;
    margin-bottom: 15px;
}

.rs-about-pill-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 24px 0 28px;
}

.rs-about-pill-list span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 36px;
    padding: 0 16px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.88);
    border: 1px solid rgba(48, 48, 161, 0.12);
    color: #3030A1;
    font-size: 0.82rem;
    font-weight: 700;
    box-shadow: 0 8px 20px rgba(48, 48, 161, 0.07);
}

.rs-about-pill-list i {
    color: #F9AEB3;
}

/* .rs-about-highlight-section {
    background: #FFF1F8 !important;
    background-color: #FFF1F8 !important;
} */

.rs-about-info-list,
.rs-about-card-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: clamp(34px, 6vw, 82px);
    border-top: 1px solid rgba(48, 48, 161, 0.16);
    border-bottom: 1px solid rgba(48, 48, 161, 0.16);
}

.rs-about-info-item,
.rs-about-card {
    position: relative;
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 18px;
    min-height: 158px;
    padding: 26px 0;
    border-bottom: 1px solid rgba(48, 48, 161, 0.12);
}

.rs-about-info-item:nth-last-child(-n + 2),
.rs-about-card:nth-last-child(-n + 2) {
    border-bottom: 0;
}

.rs-about-card-grid .rs-about-card:nth-child(4) {
    border-bottom: 1px solid rgba(48, 48, 161, 0.12);
}

.rs-about-card.rs-about-card-full {
    grid-column: 1 / -1;
    width: 100%;
    border-bottom: 0 !important;
}

.rs-about-info-item i,
.rs-about-card i {
    width: 52px;
    height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: #F9AEB3;
    background: #ffffff;
    border: 1px solid #DDD8F0;
    box-shadow: 0 10px 22px rgba(48, 48, 161, 0.08);
}

.rs-about-card i {
    grid-row: 1 / span 2;
}

.rs-about-info-item h3,
.rs-about-card h3 {
    color: #3030A1;
    font-size: 1.08rem;
    font-weight: 800;
    margin: 2px 0 9px;
}

.rs-about-info-item h3::after,
.rs-about-card h3::after {
    content: "";
    display: block;
    width: 38px;
    height: 2px;
    margin-top: 9px;
    background: linear-gradient(90deg, #F9AEB3 0%, rgba(48, 48, 161, 0.18) 100%);
}

.rs-about-info-item p,
.rs-about-card p {
    color: #111827;
    font-size: 0.92rem;
    line-height: 1.7;
    margin: 0;
}

.rs-about-hours-card,
.rs-about-location-card {
    align-content: start;
}

.rs-about-hours-list,
.rs-about-location-list {
    display: grid;
    gap: 12px;
}

.rs-about-hours-item,
.rs-about-location-item {
    display: grid;
    gap: 5px;
    padding: 0 0 12px;
    border: 0;
    border-bottom: 1px solid rgba(48, 48, 161, 0.1);
    border-radius: 0;
    background: transparent;
}

.rs-about-hours-item:last-child,
.rs-about-location-item:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.rs-about-hours-item strong,
.rs-about-location-item strong {
    color: #000000;
    font-size: 0.82rem;
    font-weight: 900;
    line-height: 1.35;
}

.rs-about-hours-item span,
.rs-about-location-item span {
    color: #111827;
    font-size: 0.94rem;
    font-weight: 400;
    line-height: 1.5;
}

.rs-about-hours-item em {
    color: #F9AEB3;
    font-size: 0.82rem;
    font-style: normal;
    font-weight: 800;
    line-height: 1.35;
}





/* Reference-style About pages */
.rs-about-showcase {
    position: relative;
    height: auto;
    min-height: 260px;
    overflow: hidden;
    display: flex;
    align-items: center;
    padding: 25px 0 20px;
    background:
        radial-gradient(circle at 7% 18%, rgba(48, 48, 161, 0.12) 0 18%, transparent 39%),
        radial-gradient(circle at 83% 12%, rgba(255, 205, 225, 0.40) 0 18%, transparent 43%),
        linear-gradient(118deg, #f2f8fc 0%, #fafdff 40%, #fff7fa 70%, #ffeaf2 100%);
    border-bottom: 1px solid #DDD8F0;
}

.rs-about-showcase::before {
    content: "";
    position: absolute;
    left: 10%;
    top: 5%;
    width: 58%;
    height: 88%;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.55);
    filter: blur(2px);
    z-index: 0;
}

.rs-about-showcase::after {
    content: "";
    position: absolute;
    right: -5%;
    top: -10%;
    width: 40%;
    height: 90%;
    border-radius: 0 0 0 50%;
    background: linear-gradient(145deg, rgba(255, 168, 202, 0.25), rgba(255, 255, 255, 0.1));
    z-index: 0;
}

.rs-about-showcase-grid {
    position: static;
    z-index: 3;
    display: grid;
    grid-template-columns: minmax(380px, 0.58fr) minmax(380px, 0.42fr);
    align-items: center;
    gap: 44px;
    width: 100%;
}

.rs-about-showcase-copy {
    position: relative;
    z-index: 5;
    max-width: 580px;
    padding-left: clamp(0px, 2.5vw, 34px);
}

.rs-about-showcase-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
    color: #3030A1;
    font-family: var(--font-body);
    font-size: 0.85rem;
    font-weight: 900;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.rs-about-showcase-kicker::after {
    display: none;
}

.rs-about-showcase h1:not(.rs-hero-title-exact) {
    margin: 0 0 14px;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: clamp(2.8rem, 4.2vw, 3.5rem);
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: -0.01em;
}

.rs-about-showcase h1:not(.rs-hero-title-exact) span {
    display: block;
    color: #3030A1;
}

.rs-about-showcase h1:not(.rs-hero-title-exact) span.highlight,
.rs-about-showcase h1:not(.rs-hero-title-exact) span:last-child {
    color: #3030A1;
    margin-left: 0;
}

.rs-about-showcase-divider {
    position: relative;
    width: 130px;
    height: 10px;
    margin: 0 0 14px;
}

.rs-about-showcase-divider::before,
.rs-about-showcase-divider::after {
    content: "";
    position: absolute;
    top: 4px;
    width: 52px;
    height: 1px;
    background: rgba(48, 48, 161, 0.45);
}

.rs-about-showcase-divider::before {
    left: 0;
}

.rs-about-showcase-divider::after {
    right: 0;
}

.rs-about-showcase-divider {
    background:
        radial-gradient(circle at 50% 50%, #3030A1 0 3px, transparent 4px),
        radial-gradient(circle at 44% 42%, #3030A1 0 2px, transparent 3px),
        radial-gradient(circle at 56% 42%, #3030A1 0 2px, transparent 3px);
}

.rs-about-showcase p {
    max-width: 560px;
    margin: 0 0 14px;
    color: #5c6270;
    font-size: 1.05rem;
    line-height: 1.62;
    font-weight: 600;
}

.rs-about-breadcrumbs {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.88rem;
    font-weight: 700;
    color: #737385;
    margin-top: 14px;
}

.rs-about-breadcrumbs a {
    color: #3030A1;
    text-decoration: none;
    transition: color 0.2s ease;
}

.rs-about-breadcrumbs a:hover {
    color: #F9AEB3;
}

.rs-about-breadcrumbs i {
    font-size: 0.72rem;
    color: #ef8aac;
}

.rs-about-breadcrumbs span {
    color: #F9AEB3;
}

.rs-about-showcase-features {
    display: grid;
    grid-template-columns: repeat(4, minmax(82px, 1fr));
    gap: 24px;
    max-width: 555px;
}

.rs-about-showcase-feature {
    text-align: center;
}

.rs-about-showcase-feature span {
    width: 66px;
    height: 66px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 12px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.52);
    box-shadow: 0 10px 26px rgba(31, 90, 165, 0.08);
}

.rs-about-showcase-feature i {
    font-size: 1.75rem;
}

.rs-about-feature-blue span {
    background: rgba(220, 238, 255, 0.86);
}

.rs-about-feature-blue i,
.rs-about-feature-blue strong {
    color: #1f5aa5;
}

.rs-about-feature-pink span {
    background: rgba(255, 229, 240, 0.88);
}

.rs-about-feature-pink i,
.rs-about-feature-pink strong {
    color: #e86d98;
}

.rs-about-showcase-feature strong {
    display: block;
    font-size: 0.96rem;
    line-height: 1.24;
    font-weight: 800;
}

.rs-about-showcase-media {
    position: absolute;
    top: 0;
    right: calc((100vw - 100%) / -2);
    bottom: 0;
    z-index: 2;
    width: clamp(380px, 42vw, 580px);
    min-height: 0;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.rs-about-showcase-image-frame {
    position: relative;
    width: 100%;
    height: 100%;
    min-height: 0;
    overflow: hidden;
    border-left: 18px solid rgba(255, 164, 203, 0.72);
    border-radius: 52% 0 0 52% / 50% 0 0 50%;
    box-shadow: -28px 30px 80px rgba(232, 109, 152, 0.22);
    background: #fff6fa;
    transition: border-color 0.45s ease, box-shadow 0.45s ease, transform 0.45s ease;
}

.rs-about-showcase-image-frame:hover {
    border-left-color: rgba(249, 174, 179, 0.58);
    box-shadow: -34px 36px 92px rgba(249, 174, 179, 0.24);
    transform: translateY(-6px);
}

.rs-about-showcase-image-frame::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    background: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.38) 48%, transparent 100%);
    transform: translateX(-115%);
    transition: transform 0.9s ease;
    pointer-events: none;
}

.rs-about-showcase-image-frame:hover::before {
    transform: translateX(115%);
}

.rs-about-showcase-image-frame::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(120deg, rgba(255, 255, 255, 0.18), rgba(255, 210, 226, 0.2));
    pointer-events: none;
}

.rs-about-showcase-image-frame img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    transition: transform 0.85s cubic-bezier(0.16, 1, 0.3, 1), filter 0.45s ease;
}

.rs-about-showcase-image-frame:hover img {
    transform: scale(1.04);
    filter: saturate(1.08) contrast(1.04);
}

.rs-about-showcase-lady {
    position: absolute;
    right: clamp(8px, 3.8vw, 74px);
    bottom: 0;
    z-index: 4;
    width: min(48vw, 650px);
    max-height: 92%;
    object-fit: contain;
    object-position: right bottom;
    filter: drop-shadow(-22px 28px 34px rgba(48, 48, 161, 0.18));
    pointer-events: none;
}

.rs-about-showcase-doctor .rs-about-showcase-image-frame img {
    object-position: center top;
}

.rs-about-showcase-leaves,
.rs-about-showcase-dots,
.rs-about-showcase-wave {
    position: absolute;
    pointer-events: none;
}

.rs-about-showcase-leaves {
    background: url('../images/pattern.png') center / contain no-repeat;
    mix-blend-mode: multiply;
    z-index: 1;
}

.rs-about-showcase-leaves-blue {
    left: -150px;
    top: 80px;
    width: 480px;
    height: 660px;
    opacity: 0.34;
    filter: hue-rotate(150deg) saturate(1.4);
    transform: scaleX(-1) rotate(-5deg);
}

.rs-about-showcase-leaves-pink {
    right: 35px;
    bottom: -105px;
    width: 470px;
    height: 570px;
    opacity: 0.48;
    z-index: 1;
}

.rs-about-showcase-dots {
    width: 135px;
    height: 135px;
    background-image: radial-gradient(circle, currentColor 0 4px, transparent 5px);
    background-size: 22px 22px;
    opacity: 0.24;
    z-index: 1;
}

.rs-about-showcase-dots-blue {
    top: 36px;
    left: 22px;
    color: #4f9fe8;
}

.rs-about-showcase-dots-pink {
    right: 36px;
    bottom: 50px;
    color: #ee85aa;
}

.rs-about-showcase-wave {
    left: -6%;
    bottom: -130px;
    width: 112%;
    height: 255px;
    border-radius: 50% 50% 0 0;
    z-index: 1;
}

.rs-about-showcase-wave-one {
    background: linear-gradient(100deg, rgba(152, 204, 255, 0.42), rgba(255, 208, 229, 0.68));
    transform: rotate(-4deg);
}

.rs-about-showcase-wave-two {
    bottom: -160px;
    background: linear-gradient(100deg, rgba(255, 255, 255, 0.52), rgba(255, 185, 215, 0.34));
    border-top: 2px solid rgba(255, 255, 255, 0.8);
    transform: rotate(3deg);
}

/* About page hero palette refresh */
.rs-about-showcase {
    background:
        radial-gradient(circle at 7% 18%, rgba(42, 59, 83, 0.10) 0 18%, transparent 39%),
        radial-gradient(circle at 83% 12%, rgba(185, 111, 125, 0.14) 0 18%, transparent 43%),
        linear-gradient(118deg, #f5f7ff 0%, #ffffff 48%, #FBF8F5 100%) !important;
    border-bottom-color: rgba(42, 59, 83, 0.12) !important;
}

.rs-about-showcase::after {
    background: linear-gradient(145deg, rgba(185, 111, 125, 0.14), rgba(255, 255, 255, 0.1)) !important;
}

.rs-about-showcase-kicker,
.rs-about-showcase .rs-hero-title-exact,
.rs-about-showcase .rs-hero-title-exact span,
.rs-about-showcase h1:not(.rs-hero-title-exact) span,
.rs-about-showcase h1:not(.rs-hero-title-exact) span.highlight,
.rs-about-showcase h1:not(.rs-hero-title-exact) span:last-child,
.rs-about-breadcrumbs a,
.rs-about-breadcrumbs span {
    color: #2A3B53 !important;
}

.rs-about-showcase p {
    color: #4A5568 !important;
}

.rs-about-showcase-divider {
    background:
        radial-gradient(circle at 50% 50%, #b96f7d 0 3px, transparent 4px),
        radial-gradient(circle at 44% 42%, #b96f7d 0 2px, transparent 3px),
        radial-gradient(circle at 56% 42%, #b96f7d 0 2px, transparent 3px) !important;
}

.rs-about-showcase-divider::before,
.rs-about-showcase-divider::after {
    background: rgba(185, 111, 125, 0.5) !important;
}

.rs-about-breadcrumbs i {
    color: rgba(42, 59, 83, 0.45) !important;
}

.rs-about-breadcrumbs a:hover {
    color: #1A283C !important;
}

.rs-about-showcase-image-frame {
    border-left-color: rgba(185, 111, 125, 0.55) !important;
    box-shadow: -28px 30px 80px rgba(42, 59, 83, 0.16) !important;
    background: #FBF8F5 !important;
}

.rs-about-showcase-image-frame:hover {
    border-left-color: rgba(42, 59, 83, 0.45) !important;
    box-shadow: -34px 36px 92px rgba(42, 59, 83, 0.2) !important;
}

.rs-about-showcase-image-frame::after {
    background: linear-gradient(120deg, rgba(255, 255, 255, 0.18), rgba(185, 111, 125, 0.12)) !important;
}

.rs-about-showcase-leaves-blue {
    filter: none !important;
    opacity: 0.2 !important;
}

.rs-about-showcase-leaves-pink {
    opacity: 0.26 !important;
}

.rs-about-showcase-dots-blue {
    color: #2A3B53 !important;
}

.rs-about-showcase-dots-pink {
    color: #b96f7d !important;
}

.rs-about-showcase-wave-one {
    background: linear-gradient(100deg, rgba(42, 59, 83, 0.14), rgba(185, 111, 125, 0.18)) !important;
}

.rs-about-showcase-wave-two {
    background: linear-gradient(100deg, rgba(255, 255, 255, 0.58), rgba(251, 248, 245, 0.44)) !important;
}







/* Doctor detail content */
.rs-doctor-profile-section {
    position: relative;
    padding: 72px 0;
    background: linear-gradient(135deg, #FFF1F8 0%, #eef5ff 50%, #fff0f8 100%);
}

.rs-doctor-full-content .rs-container {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 20px;
    padding-right: 20px;
}

.rs-doctor-full-content .rs-spa-split {
    display: grid;
    grid-template-columns: minmax(320px, 380px) minmax(0, 1fr);
    justify-content: center;
    align-items: start;
    gap: 48px;
    width: 100%;
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 0;
    padding-right: 0;
    box-sizing: border-box;
}

.rs-doctor-full-content .rs-spa-photo-stack {
    justify-self: center;
    max-width: 380px;
    width: 100%;
    margin-top: 48px;
    margin-left: auto;
    margin-right: auto;
}

.rs-doctor-full-content .rs-spa-copy {
    justify-self: start;
    max-width: 680px;
    width: 100%;
}

.rs-doctor-wide-copy {
    grid-column: 1 / -1;
    width: 100%;
    max-width: none;
    margin-top: -30px;
}

.rs-doctor-full-content .rs-spa-copy p,
.rs-doctor-wide-copy p {
    color: #555565;
    font-size: clamp(0.96rem, 1.12vw, 1.06rem) !important;
    line-height: 1.68 !important;
    margin-bottom: 16px;
}

.rs-doctor-wide-copy .rs-spa-sign {
    margin-top: 16px;
}

.rs-doctor-full-content .rs-spa-copy h2 {
    font-size: clamp(2rem, 3vw, 2.65rem);
}

/* Mobile Responsive Styles for About Doctor Full Content Section */






.rs-doctor-profile-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 26px;
    margin-bottom: 34px;
}

.rs-doctor-profile-card,
.rs-doctor-long-copy,
.rs-doctor-affiliation-panel {
    position: relative;
    overflow: hidden;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid rgba(48, 48, 161, 0.1);
    box-shadow: 0 16px 38px rgba(48, 48, 161, 0.08);
}

.rs-doctor-profile-card {
    padding: 34px 32px;
}

.rs-doctor-profile-card-soft {
    background: linear-gradient(135deg, rgba(237, 244, 255, 0.92), rgba(255, 241, 248, 0.96));
}

.rs-doctor-profile-card span {
    display: block;
    margin-bottom: 10px;
    color: #F9AEB3;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.rs-doctor-profile-card h2 {
    color: #3030A1;
    font-size: clamp(1.45rem, 2.2vw, 2rem);
    line-height: 1.22;
    margin-bottom: 16px;
}

.rs-doctor-profile-card p,
.rs-doctor-long-copy p,
.rs-doctor-affiliation-panel p {
    color: #5c6678;
    font-size: 0.95rem;
    line-height: 1.78;
    margin-bottom: 13px;
}

.rs-doctor-profile-card p:last-child,
.rs-doctor-long-copy p:last-child,
.rs-doctor-affiliation-panel p:last-child {
    margin-bottom: 0;
}

.rs-doctor-treatment-grid,
.rs-doctor-credentials-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.rs-doctor-treatment-card,
.rs-doctor-credential-card {
    position: relative;
    overflow: hidden;
    min-height: 245px;
    padding: 28px 22px;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid rgba(48, 48, 161, 0.1);
    box-shadow: 0 14px 34px rgba(48, 48, 161, 0.08);
}

.rs-doctor-treatment-card::before,
.rs-doctor-credential-card::before {
    content: "";
    position: absolute;
    right: -52px;
    bottom: -60px;
    width: 160px;
    height: 160px;
    background: url('../images/pattern.png') right bottom / contain no-repeat;
    opacity: 0.16;
    mix-blend-mode: multiply;
    pointer-events: none;
}

.rs-doctor-treatment-card i,
.rs-doctor-credential-card i {
    position: relative;
    z-index: 1;
    width: 46px;
    height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 18px;
    border-radius: 50%;
    color: #ffffff;
    background: linear-gradient(135deg, #3030A1 0%, #F9AEB3 100%);
    box-shadow: 0 10px 24px rgba(249, 174, 179, 0.18);
}

.rs-doctor-treatment-card h3,
.rs-doctor-credential-card h3,
.rs-doctor-treatment-card p,
.rs-doctor-credential-card p {
    position: relative;
    z-index: 1;
}

.rs-doctor-treatment-card h3,
.rs-doctor-credential-card h3 {
    color: #3030A1;
    font-size: 1.02rem;
    font-weight: 800;
    margin-bottom: 10px;
}

.rs-doctor-treatment-card p,
.rs-doctor-credential-card p {
    color: #5c6678;
    font-size: 0.88rem;
    line-height: 1.68;
}

.rs-doctor-long-copy {
    margin-top: 28px;
    padding: 30px 34px;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(255, 242, 248, 0.9)),
        url('../images/banner-2.png') center / cover no-repeat;
}

.rs-doctor-credentials-section,
.rs-doctor-affiliations-section {
    position: relative;
    overflow: hidden;
    padding: 72px 0;
}

.rs-doctor-credentials-section {
    padding: 86px 0 112px;
    background:
        radial-gradient(circle at 13% 3%, rgba(48, 48, 161, 0.08), transparent 18%),
        radial-gradient(circle at 84% 8%, rgba(48, 48, 161, 0.08), transparent 20%),
        linear-gradient(135deg, #fff4fb 0%, #ffffff 43%, #f3efff 100%);
}

.rs-doctor-credentials-section::before,
.rs-doctor-credentials-section::after {
    content: "";
    position: absolute;
    pointer-events: none;
}

.rs-doctor-credentials-section::before {
    top: 32px;
    left: 0;
    width: 210px;
    height: 140px;
    background-image: radial-gradient(circle, rgba(249, 174, 179, 0.34) 0 2px, transparent 3px);
    background-size: 24px 24px;
    opacity: 0.62;
}

.rs-doctor-credentials-section::after {
    left: -6%;
    right: -6%;
    bottom: -95px;
    height: 210px;
    background:
        repeating-radial-gradient(ellipse at 65% 100%, transparent 0 13px, rgba(95, 72, 230, 0.18) 14px 15px, transparent 16px 29px),
        radial-gradient(ellipse at 18% 100%, rgba(255, 93, 170, 0.13), transparent 48%);
}

.rs-doctor-affiliations-section {
    background:
        radial-gradient(circle at 92% 18%, #DDD8F0, transparent 28%),
        linear-gradient(135deg, #FFF1F8 0%, #f4f8ff 48%, #FFF1F8 100%);
}

.rs-doctor-credentials-section .rs-container,
.rs-doctor-affiliations-section .rs-container {
    position: relative;
    z-index: 1;
}

.rs-doctor-credentials-title {
    display: block;
    text-align: center;
    margin: 0 auto;
    font-family: var(--font-heading, 'Outfit', sans-serif) !important;
}

.rs-doctor-credentials-title span {
    display: block;
    width: auto;
    height: auto;
    margin: 0;
    background: transparent;
    font-family: var(--font-heading, 'Outfit', sans-serif) !important;
    font-size: clamp(2rem, 3vw, 2.65rem) !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    letter-spacing: -0.01em !important;
    color: #3030A1 !important;
}

.rs-spa-section-title .rs-doctor-credentials-title span+span {
    margin-top: 8px;
}

.rs-doctor-credentials-title span+span::before {
    display: none;
}

.rs-doctor-credentials-section .rs-spa-section-title {
    max-width: 1080px;
    margin-bottom: 64px;
}

.rs-doctor-credentials-section .rs-spa-section-title>span {
    position: relative;
    width: 116px;
    height: 2px;
    margin: 26px auto 28px;
    background: linear-gradient(90deg, transparent 0%, #ff4aa0 18%, #F9AEB3 50%, #ff4aa0 82%, transparent 100%);
}

.rs-doctor-credentials-section .rs-spa-section-title>span::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 11px;
    height: 11px;
    background: #F9AEB3;
    transform: translate(-50%, -50%) rotate(45deg);
}

.rs-doctor-credentials-section .rs-spa-section-title p {
    max-width: 980px;
    color: #71809a;
    font-size: 1.08rem;
}

.rs-doctor-credentials-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    max-width: 1280px;
    margin: 0 auto;
}

.rs-doctor-credentials-section .rs-doctor-credential-card {
    position: relative;
    min-height: 0;
    padding: 0 42px;
    text-align: center;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    transition: transform 0.25s ease;
}

.rs-doctor-credentials-section .rs-doctor-credential-card::before {
    display: none;
}

.rs-doctor-credentials-section .rs-doctor-credential-card::after {
    content: "";
    position: absolute;
    top: 106px;
    right: 0;
    width: 1px;
    height: 218px;
    background: linear-gradient(180deg, transparent 0%, rgba(48, 48, 161, 0.16) 14%, rgba(249, 174, 179, 0.18) 86%, transparent 100%);
}

.rs-doctor-credentials-section .rs-doctor-credential-card:last-child::after {
    display: none;
}

.rs-doctor-credentials-section .rs-doctor-credential-card:hover {
    transform: translateY(-7px);
}

.rs-doctor-credentials-section .rs-doctor-credential-card i {
    position: relative;
    width: 104px;
    height: 104px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 28px;
    border-radius: 50%;
    font-size: 1.72rem;
    color: #3030A1;
    background:
        radial-gradient(circle, #ffffff 0 40%, transparent 41%),
        radial-gradient(circle, rgba(48, 48, 161, 0.1) 0 64%, transparent 65%),
        linear-gradient(135deg, rgba(218, 211, 255, 0.75), rgba(255, 229, 245, 0.88));
    box-shadow: none;
}

.rs-doctor-credentials-section .rs-doctor-credential-card:nth-child(2n) i {
    color: #F9AEB3;
    background:
        radial-gradient(circle, #ffffff 0 40%, transparent 41%),
        radial-gradient(circle, rgba(249, 174, 179, 0.1) 0 64%, transparent 65%),
        linear-gradient(135deg, rgba(255, 225, 242, 0.86), rgba(234, 243, 255, 0.9));
}

.rs-doctor-credentials-section .rs-doctor-credential-card i::after {
    content: "";
    position: absolute;
    inset: -8px;
    border-radius: 50%;
    border: 4px solid transparent;
    border-left-color: #3030A1;
    border-top-color: #3030A1;
    transform: rotate(-45deg);
    transition: transform 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.rs-doctor-credentials-section .rs-doctor-credential-card:hover i::after {
    transform: rotate(135deg);
}

.rs-doctor-credentials-section .rs-doctor-credential-card:nth-child(2n) i::after {
    border-left-color: #F9AEB3;
    border-top-color: #F9AEB3;
}

.rs-doctor-credentials-section .rs-doctor-credential-card:nth-child(3) i {
    color: #3030A1;
    background:
        radial-gradient(circle, #ffffff 0 40%, transparent 41%),
        radial-gradient(circle, rgba(48, 48, 161, 0.1) 0 64%, transparent 65%),
        linear-gradient(135deg, rgba(218, 211, 255, 0.75), rgba(255, 229, 245, 0.88));
}

.rs-doctor-credentials-section .rs-doctor-credential-card:nth-child(3) i::after {
    border-left-color: #3030A1;
    border-top-color: #3030A1;
}

.rs-doctor-credentials-section .rs-doctor-credential-card h3 {
    max-width: 250px;
    margin: 0 auto 18px;
    color: #3030A1;
    font-size: 1.45rem;
    line-height: 1.18;
    font-weight: 600;
}

.rs-doctor-credentials-section .rs-doctor-credential-card:nth-child(2n) h3 {
    color: #F9AEB3;
}

.rs-doctor-credentials-section .rs-doctor-credential-card h3::after {
    content: "";
    display: block;
    width: 76px;
    height: 2px;
    margin: 18px auto 0;
    background: linear-gradient(90deg, rgba(48, 48, 161, 0.18), #9b2ad2, rgba(249, 174, 179, 0.18));
}

.rs-doctor-credentials-section .rs-doctor-credential-card p {
    max-width: 270px;
    margin: 0 auto;
    color: #40506a;
    font-size: 0.98rem;
    line-height: 1.72;
}

.rs-doctor-certificates-section {
    position: relative;
    overflow: hidden;
    padding: 72px 0;
    background:
        radial-gradient(circle at 8% 10%, rgba(48, 48, 161, 0.08), transparent 24%),
        linear-gradient(135deg, #ffffff 0%, #f4f8ff 48%, #FFF1F8 100%);
}

.rs-doctor-certificates-section .rs-container {
    position: relative;
    z-index: 1;
}

.rs-doctor-certificates-section .rs-spa-section-title {
    margin-bottom: 28px;
    text-align: center;
}

.rs-doctor-certificates-section .rs-spa-section-title h2 {
    font-family: var(--font-heading, 'Outfit', sans-serif) !important;
    font-size: clamp(2rem, 3vw, 2.65rem) !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    letter-spacing: -0.01em !important;
    color: #3030A1 !important;
}

.rs-doctor-certificates-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    max-width: 1120px;
    margin: 0 auto;
}

.rs-doctor-certificate-card {
    overflow: hidden;
    border-radius: 8px;
    background: #ffffff;
    border: 1px solid rgba(48, 48, 161, 0.1);
    box-shadow: 0 18px 42px rgba(48, 48, 161, 0.1);
    cursor: zoom-in;
}

.rs-doctor-certificate-card img {
    width: 100%;
    height: 280px;
    object-fit: cover;
    object-position: top center;
    transition: transform 0.35s ease;
}

.rs-doctor-certificate-card:hover img {
    transform: scale(1.04);
}

.rs-doctor-affiliation-panel {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
    overflow: visible;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.rs-doctor-affiliation-card {
    position: relative;
    overflow: hidden;
    min-height: 295px;
    padding: 34px 30px 32px;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.94);
    border: 1px solid rgba(48, 48, 161, 0.1);
    box-shadow: 0 16px 38px rgba(48, 48, 161, 0.09);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.rs-doctor-affiliation-card::before {
    content: "";
    position: absolute;
    inset: 0;
    height: 5px;
    background: linear-gradient(90deg, #3030A1 0%, #F9AEB3 64%, #ff4aa0 100%);
}

.rs-doctor-affiliation-card::after {
    content: "";
    position: absolute;
    right: -44px;
    bottom: -50px;
    width: 150px;
    height: 150px;
    border-radius: 50%;
    background: rgba(48, 48, 161, 0.08);
    pointer-events: none;
}

.rs-doctor-affiliation-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 24px 52px rgba(48, 48, 161, 0.14);
}

.rs-doctor-affiliation-card i {
    position: relative;
    z-index: 1;
    width: 52px;
    height: 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 18px;
    border-radius: 8px;
    color: #F9AEB3;
    background: linear-gradient(135deg, #ffeaf5 0%, #eaf3ff 100%);
    box-shadow: 0 12px 26px rgba(48, 48, 161, 0.1);
}

.rs-doctor-affiliation-panel h3 {
    position: relative;
    z-index: 1;
    color: #3030A1;
    font-size: 1.12rem;
    font-weight: 600;
    margin-bottom: 12px;
}

.rs-doctor-affiliation-panel p {
    position: relative;
    z-index: 1;
}

.rs-doctor-affiliations-section {
    padding: 82px 0 108px;
    background:
        radial-gradient(circle at 96% 22%, rgba(249, 174, 179, 0.18), transparent 13%),
        radial-gradient(circle at 6% 4%, rgba(48, 48, 161, 0.08), transparent 18%),
        linear-gradient(135deg, #fff8fd 0%, #ffffff 48%, #f4f0ff 100%);
}

.rs-doctor-affiliations-section::before,
.rs-doctor-affiliations-section::after {
    content: "";
    position: absolute;
    pointer-events: none;
}

.rs-doctor-affiliations-section::before {
    top: 18px;
    right: 0;
    width: 220px;
    height: 150px;
    background-image: radial-gradient(circle, rgba(249, 174, 179, 0.25) 0 2px, transparent 3px);
    background-size: 20px 20px;
    opacity: 0.7;
}

.rs-doctor-affiliations-section::after {
    left: -5%;
    right: -5%;
    bottom: -98px;
    height: 220px;
    background:
        repeating-radial-gradient(ellipse at 76% 100%, transparent 0 12px, rgba(249, 174, 179, 0.13) 13px 14px, transparent 15px 27px),
        radial-gradient(ellipse at 78% 100%, rgba(255, 100, 190, 0.16), transparent 48%),
        radial-gradient(ellipse at 8% 100%, rgba(87, 61, 222, 0.1), transparent 42%);
}

.rs-doctor-affiliations-section .rs-spa-section-title {
    max-width: 920px;
    margin: 0 auto 28px;
    text-align: center;
}

.rs-doctor-affiliations-section .rs-spa-section-title h2 {
    font-family: var(--font-heading, 'Outfit', sans-serif) !important;
    font-size: clamp(2rem, 3vw, 2.65rem) !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    color: #3030A1 !important;
}

.rs-doctor-affiliations-section .rs-spa-section-title>span {
    width: 118px;
    height: 2px;
    margin: 24px auto 24px;
    background: linear-gradient(90deg, rgba(48, 48, 161, 0.24), #F9AEB3, rgba(48, 48, 161, 0.24));
}

.rs-doctor-affiliations-section .rs-spa-section-title>span::before {
    content: "";
    display: block;
    width: 34px;
    height: 5px;
    margin: -1.5px auto 0;
    border-radius: 999px;
    background: #F9AEB3;
}

.rs-doctor-affiliations-section .rs-spa-section-title p {
    max-width: 780px;
    color: #40506a;
    font-size: 1.05rem;
    line-height: 1.6;
}

.rs-doctor-affiliations-section .rs-doctor-affiliation-panel {
    counter-reset: affiliation-step;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    max-width: 1320px;
}

.rs-doctor-affiliations-section .rs-doctor-affiliation-card {
    counter-increment: affiliation-step;
    min-height: 0;
    padding: 0 50px;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.rs-doctor-affiliations-section .rs-doctor-affiliation-card::before {
    top: 61px;
    left: 150px;
    right: 36px;
    width: auto;
    height: 2px;
    border-radius: 0;
    background: linear-gradient(90deg, #F9AEB3 0%, #7b22c7 100%);
}

.rs-doctor-affiliations-section .rs-doctor-affiliation-card::after {
    content: counter(affiliation-step, decimal-leading-zero);
    top: 42px;
    left: 146px;
    right: auto;
    bottom: auto;
    width: 74px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    color: #ffffff;
    background: linear-gradient(135deg, #3030A1 0%, #7a24d3 100%);
    box-shadow: 0 12px 26px rgba(48, 48, 161, 0.16);
    font-family: var(--font-heading);
    font-size: 1rem;
    font-weight: 800;
}

.rs-doctor-affiliations-section .rs-doctor-affiliation-card:nth-child(2)::before,
.rs-doctor-affiliations-section .rs-doctor-affiliation-card:nth-child(2)::after {
    background: #F9AEB3;
}

.rs-doctor-affiliations-section .rs-doctor-affiliation-card+.rs-doctor-affiliation-card {
    border-left: 1px solid rgba(249, 174, 179, 0.22);
}

.rs-doctor-affiliations-section .rs-doctor-affiliation-card i {
    position: relative;
    width: 116px;
    height: 116px;
    margin: 0 0 42px;
    border-radius: 50%;
    color: #3030A1;
    background:
        radial-gradient(circle, #ffffff 0 45%, transparent 46%),
        radial-gradient(circle, rgba(48, 48, 161, 0.08) 0 64%, transparent 65%),
        linear-gradient(135deg, rgba(235, 231, 255, 0.95), rgba(255, 246, 251, 0.98));
    box-shadow: 0 18px 36px rgba(48, 48, 161, 0.1);
    font-size: 2.1rem;
}

.rs-doctor-affiliations-section .rs-doctor-affiliation-card i::after {
    content: "";
    position: absolute;
    inset: -8px;
    border-radius: 50%;
    border: 4px solid transparent;
    border-left-color: #3030A1;
    border-top-color: #3030A1;
    transform: rotate(-44deg);
    transition: transform 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.rs-doctor-affiliations-section .rs-doctor-affiliation-card:hover i::after {
    transform: rotate(136deg);
}

.rs-doctor-affiliations-section .rs-doctor-affiliation-card:nth-child(2) i {
    color: #F9AEB3;
}

.rs-doctor-affiliations-section .rs-doctor-affiliation-card:nth-child(2) i::after {
    border-left-color: #F9AEB3;
    border-top-color: #F9AEB3;
}

.rs-doctor-affiliations-section .rs-doctor-affiliation-card h3 {
    color: #3030A1;
    font-size: 1.4rem;
    line-height: 1.2;
    margin-bottom: 18px;
}

.rs-doctor-affiliations-section .rs-doctor-affiliation-card:nth-child(2) h3 {
    color: #F9AEB3;
}

.rs-doctor-affiliations-section .rs-doctor-affiliation-card h3::after {
    content: "";
    display: block;
    width: 76px;
    height: 2px;
    margin-top: 18px;
    background: linear-gradient(90deg, #3030A1, #F9AEB3);
}

.rs-doctor-affiliations-section .rs-doctor-affiliation-card p {
    color: #2f4058;
    font-size: 0.98rem;
    line-height: 1.72;
}

.rs-doctor-affiliations-section .rs-doctor-affiliation-card ul {
    margin: 14px 0 0;
    padding-left: 20px;
    color: #2f4058;
    font-size: 0.96rem;
    line-height: 1.65;
}

.rs-doctor-affiliations-section .rs-doctor-affiliation-card li {
    margin-bottom: 8px;
}

.rs-doctor-affiliations-section .rs-doctor-affiliation-card li:last-child {
    margin-bottom: 0;
}





.rs-media-hero-text {
    max-width: 560px;
}

.rs-hero-kicker {
    display: inline-block;
    font-size: 0.8rem;
    font-weight: 700;
    color: var(--color-blue-primary);
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 10px;
    background: rgba(48, 48, 161, 0.08);
    padding: 4px 14px;
    border-radius: var(--radius-full);
}

.rs-hero-title {
    font-family: var(--font-heading);
    font-size: clamp(2.2rem, 3.8vw, 3.2rem);
    color: var(--color-blue-dark);
    line-height: 1.15;
    font-weight: 800;
    margin-bottom: 12px;
}

.rs-hero-pink-text {
    color: var(--color-blue-primary);
}

.rs-hero-divider-bar {
    width: 50px;
    height: 3px;
    background: #F9AEB3;
    border-radius: var(--radius-full);
    margin-bottom: 14px;
}

.rs-hero-description {
    font-size: 0.98rem;
    color: var(--color-text-body);
    line-height: 1.6;
    margin-bottom: 18px;
}

.rs-hero-nav-breadcrumbs {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 0.92rem;
    font-weight: 600;
    color: var(--color-text-muted);
}

.rs-hero-nav-breadcrumbs a {
    color: var(--color-blue-primary);
    transition: color 0.2s ease;
}

.rs-hero-nav-breadcrumbs a:hover {
    color: var(--color-blue-dark);
}





/* Final coded skincare media hero */
.rs-media-hero-exact {
    min-height: 650px;
    height: 650px;
    padding: 0;
    background:
        radial-gradient(circle at 77% 44%, rgba(250, 197, 227, 0.62) 0 15%, transparent 36%),
        radial-gradient(circle at 18% 28%, rgba(255, 255, 255, 0.96) 0 17%, transparent 38%),
        radial-gradient(circle at 92% 10%, rgba(210, 211, 255, 0.34) 0 9%, transparent 28%),
        linear-gradient(135deg, #ffffff 0%, #FFF1F8 35%, #FFF1F8 100%);
}

.rs-media-hero-bg,
.rs-media-hero-bg>* {
    position: absolute;
    pointer-events: none;
}

.rs-media-hero-bg {
    inset: 0;
    z-index: 1;
    overflow: hidden;
}

.rs-media-glow {
    border-radius: 50%;
    filter: blur(18px);
}

.rs-media-glow-one {
    width: 260px;
    height: 260px;
    left: -78px;
    bottom: 56px;
    background: rgba(250, 197, 227, 0.46);
}

.rs-media-glow-two {
    width: 310px;
    height: 310px;
    right: 6%;
    top: 80px;
    background: rgba(210, 211, 255, 0.28);
}

.rs-media-blob {
    border-radius: 54% 46% 63% 37% / 48% 58% 42% 52%;
    background: rgba(250, 197, 227, 0.22);
    filter: blur(2px);
}

.rs-media-blob-one {
    left: 19%;
    top: 52px;
    width: 132px;
    height: 178px;
    transform: rotate(-12deg);
}

.rs-media-blob-two {
    right: 1%;
    top: 118px;
    width: 210px;
    height: 275px;
    transform: rotate(16deg);
}

.rs-media-circle-glow {
    right: 7%;
    top: 74px;
    width: 500px;
    height: 500px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(250, 197, 227, 0.52) 0 58%, rgba(255, 255, 255, 0.38) 59% 68%, transparent 69%);
}

.rs-media-circle-border {
    right: 6.2%;
    top: 58px;
    width: 535px;
    height: 535px;
    border-radius: 50%;
    border: 1.5px solid rgba(212, 153, 84, 0.42);
}

.rs-media-wave-lines {
    left: -4%;
    right: -2%;
    bottom: -14px;
    width: 108%;
    height: 220px;
    fill: none;
    stroke-linecap: round;
}

.rs-media-wave-lines path:nth-child(1) {
    stroke: rgba(218, 137, 84, 0.34);
    stroke-width: 2;
}

.rs-media-wave-lines path:nth-child(2) {
    stroke: rgba(250, 104, 170, 0.3);
    stroke-width: 2;
}

.rs-media-wave-lines path:nth-child(3) {
    stroke: rgba(250, 197, 227, 0.42);
    stroke-width: 26;
}

.rs-media-botanical {
    fill: none;
    stroke: rgba(249, 174, 179, 0.18);
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.rs-media-botanical-left {
    left: 22px;
    bottom: 58px;
    width: 150px;
    height: 240px;
    transform: rotate(-17deg);
}

.rs-media-botanical-right {
    right: 28px;
    top: 62px;
    width: 150px;
    height: 260px;
    transform: rotate(12deg);
}

.rs-media-floating-dot {
    border-radius: 50%;
    background: radial-gradient(circle at 35% 28%, #ffffff 0 18%, rgba(249, 174, 179, 0.32) 43%, rgba(250, 197, 227, 0.2) 74%);
    box-shadow: 0 10px 26px rgba(249, 174, 179, 0.14);
}

.rs-media-floating-dot-one {
    right: 42%;
    top: 43%;
    width: 24px;
    height: 24px;
}

.rs-media-floating-dot-two {
    right: 36%;
    top: 50%;
    width: 36px;
    height: 36px;
}

.rs-media-hero-layout {
    position: relative;
    z-index: 3;
    display: grid;
    grid-template-columns: minmax(0, 45%) minmax(0, 55%);
    align-items: center;
    height: 100%;
}

.rs-media-hero-text {
    max-width: 500px;
}

.rs-media-hero-exact .rs-hero-kicker {
    border-radius: 30px;
    padding: 8px 18px;
    background: rgba(48, 48, 161, 0.08);
    color: #3030A1;
    box-shadow: 0 12px 28px rgba(48, 48, 161, 0.1);
    letter-spacing: 0.08em;
}

.rs-media-hero-exact .rs-hero-title {
    margin-bottom: 16px;
    font-size: clamp(2.8rem, 4.6vw, 4.6rem);
    line-height: 1.05;
    font-weight: 600;
    color: #3030A1;
}

.rs-media-hero-exact .rs-hero-divider-bar {
    width: 58px;
    height: 3px;
    margin-bottom: 18px;
    background: #3030A1;
}

.rs-media-hero-exact .rs-hero-description {
    max-width: 500px;
    color: #50617d;
    font-size: 1rem;
    line-height: 1.72;
}

.rs-media-hero-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    margin: 6px 0 22px;
    padding: 0 28px;
    border-radius: 999px;
    color: #ffffff;
    background: linear-gradient(135deg, #F9AEB3 0%, #ff6eb5 100%);
    box-shadow: 0 14px 30px rgba(249, 174, 179, 0.18);
    font-family: var(--font-heading);
    font-weight: 800;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.rs-media-hero-cta:hover {
    color: #ffffff;
    transform: translateY(-3px);
    box-shadow: 0 18px 38px rgba(249, 174, 179, 0.24);
}

.rs-media-hero-visual {
    position: relative;
    align-self: stretch;
    min-height: 650px;
}

.hero-image {
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 3;
    width: min(620px, 100%);
    height: 620px;
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    filter: drop-shadow(0 28px 54px rgba(98, 43, 68, 0.18));
}

.hero-image img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    object-position: right bottom;
}

.rs-media-product-scene {
    position: absolute;
    right: -16px;
    bottom: 0;
    z-index: 4;
    width: 360px;
    height: 220px;
    pointer-events: none;
}

.rs-media-product-scene span {
    position: absolute;
}

.rs-media-marble-platform {
    left: 0;
    right: 0;
    bottom: 0;
    height: 120px;
    border-radius: 50% 50% 0 0 / 24% 24% 0 0;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(248, 238, 242, 0.94)),
        repeating-linear-gradient(120deg, transparent 0 24px, rgba(184, 93, 108, 0.12) 25px 26px);
    box-shadow: 0 -18px 42px rgba(185, 93, 116, 0.14);
}

.rs-media-css-jar {
    left: 86px;
    bottom: 102px;
    width: 126px;
    height: 82px;
    border-radius: 14px 14px 18px 18px;
    background: linear-gradient(180deg, #ffffff 0 42%, #f5d4dc 43% 100%);
    box-shadow: 0 14px 28px rgba(169, 86, 99, 0.16);
}

.rs-media-css-jar::before {
    content: "";
    position: absolute;
    left: 13px;
    top: -24px;
    width: 100px;
    height: 38px;
    border-radius: 50% 50% 10px 10px;
    background: #ffffff;
}

.rs-media-css-serum {
    right: 44px;
    bottom: 102px;
    width: 54px;
    height: 148px;
    border-radius: 28px 28px 12px 12px;
    background: linear-gradient(180deg, #ffffff 0 21%, #d99083 22% 40%, rgba(255, 151, 164, 0.64) 41% 100%);
    box-shadow: 0 14px 28px rgba(169, 86, 99, 0.16);
}

.rs-media-css-serum::before {
    content: "";
    position: absolute;
    left: 14px;
    top: -40px;
    width: 26px;
    height: 50px;
    border-radius: 18px 18px 8px 8px;
    background: #f8fbff;
}

.rs-media-css-serum::after {
    content: "";
    position: absolute;
    right: -22px;
    bottom: -14px;
    width: 76px;
    height: 76px;
    background:
        radial-gradient(ellipse at 50% 10%, rgba(249, 174, 179, 0.28) 0 14px, transparent 15px),
        radial-gradient(ellipse at 12% 52%, rgba(249, 174, 179, 0.22) 0 14px, transparent 15px),
        radial-gradient(ellipse at 88% 52%, rgba(249, 174, 179, 0.22) 0 14px, transparent 15px),
        radial-gradient(ellipse at 50% 90%, rgba(249, 174, 179, 0.24) 0 14px, transparent 15px);
}

.rs-media-hero-exact .rs-hero-nav-breadcrumbs {
    margin-top: 0;
}





/* Reverted media hero: image banner */
.rs-media-hero-exact {
    min-height: 400px;
    height: 400px;
    padding: 40px 0 35px;
    background: #fff1f6;
}

.rs-media-hero-banner-img {
    position: absolute;
    inset: 0;
    z-index: 1;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 54%;
}

.rs-media-hero-overlay {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: block;
    background: linear-gradient(90deg, rgba(255, 246, 250, 0.98) 0%, rgba(255, 246, 250, 0.9) 34%, rgba(255, 246, 250, 0.2) 59%, rgba(255, 246, 250, 0) 100%);
    pointer-events: none;
}

.rs-media-hero-exact .rs-container {
    position: relative;
    z-index: 3;
    display: block;
    height: auto;
}

.rs-media-hero-exact .rs-media-hero-text {
    max-width: 560px;
    margin: 0;
    text-align: left;
}

.rs-media-hero-exact .rs-hero-title {
    font-size: clamp(2.2rem, 3.8vw, 3.2rem);
    line-height: 1.15;
}

.rs-media-hero-exact .rs-hero-cta,
.rs-media-hero-cta {
    display: none;
}





/* Final media hero: CSS-only decorative banner */
.rs-media-hero-exact {
    min-height: 350px;
    height: auto;
    padding: 30px 0;
    background:
        radial-gradient(circle at 78% 28%, rgba(250, 197, 227, 0.56) 0 11%, transparent 32%),
        radial-gradient(circle at 92% 72%, rgba(210, 211, 255, 0.36) 0 10%, transparent 28%),
        linear-gradient(135deg, #ffffff 0%, #FFF1F8 44%, #ffe3f0 100%);
}

.rs-media-hero-banner-img,
.rs-media-hero-overlay {
    display: none;
}

.rs-media-banner-art,
.rs-media-banner-art>* {
    position: absolute;
    pointer-events: none;
}

.rs-media-banner-art {
    inset: 0;
    z-index: 1;
    overflow: hidden;
}

.rs-media-banner-orb {
    border-radius: 50%;
    filter: blur(4px);
}

.rs-media-banner-orb-one {
    right: 8%;
    top: 52px;
    width: 320px;
    height: 320px;
    background: rgba(250, 197, 227, 0.34);
}

.rs-media-banner-orb-two {
    right: 23%;
    bottom: 44px;
    width: 170px;
    height: 170px;
    background: rgba(210, 211, 255, 0.3);
}

.rs-media-banner-ring {
    right: 7%;
    top: 42px;
    width: 350px;
    height: 350px;
    border: 1.5px solid rgba(249, 174, 179, 0.14);
    border-radius: 50%;
    box-shadow: inset 0 0 0 34px rgba(255, 255, 255, 0.36);
}

.rs-media-banner-dots {
    right: 48px;
    top: 54px;
    width: 170px;
    height: 126px;
    background-image: radial-gradient(circle, rgba(249, 174, 179, 0.24) 0 3px, transparent 4px);
    background-size: 24px 24px;
    opacity: 0.62;
}

.rs-media-banner-wave {
    left: -7%;
    right: -7%;
    bottom: -96px;
    height: 210px;
    border-radius: 50% 50% 0 0;
}

.rs-media-banner-wave-one {
    background: rgba(250, 197, 227, 0.38);
    transform: rotate(3deg);
}

.rs-media-banner-wave-two {
    bottom: -128px;
    background: rgba(210, 211, 255, 0.2);
    border-top: 2px solid #DDD8F0;
    transform: rotate(-4deg);
}

.rs-media-banner-leaf {
    fill: none;
    stroke: #DDD8F0;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.rs-media-banner-leaf-left {
    left: 24px;
    bottom: 52px;
    width: 135px;
    height: 215px;
    transform: rotate(-16deg);
}

.rs-media-banner-leaf-right {
    right: 200px;
    bottom: 38px;
    width: 140px;
    height: 230px;
    transform: rotate(8deg);
}

.rs-media-hero-exact .rs-container {
    position: relative;
    z-index: 3;
}

.rs-media-hero-exact .rs-media-hero-text {
    max-width: 680px;
    margin: 0;
    text-align: left;
}

.rs-media-hero-exact .rs-hero-title {
    color: #3030A1;
    font-size: clamp(2.65rem, 5vw, 4.5rem);
    font-weight: 600;
}

.rs-media-hero-exact .rs-hero-description {
    max-width: 620px;
}





/* Alternative media hero: editorial press banner */
.rs-media-hero-exact {
    min-height: 430px;
    padding: 76px 0 70px;
    background:
        linear-gradient(118deg, rgba(255, 255, 255, 0.98) 0 44%, rgba(248, 250, 255, 0.82) 44% 100%),
        radial-gradient(circle at 88% 20%, rgba(250, 197, 227, 0.38) 0 12%, transparent 32%),
        linear-gradient(135deg, #ffffff 0%, #f3f7ff 52%, #FFF1F8 100%);
}

.rs-media-banner-art {
    inset: 0;
    z-index: 1;
    overflow: hidden;
}

.rs-media-editorial-panel {
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.68);
    border: 1px solid rgba(48, 48, 161, 0.08);
    box-shadow: 0 24px 60px rgba(48, 48, 161, 0.08);
    backdrop-filter: blur(8px);
}

.rs-media-editorial-panel::before,
.rs-media-editorial-panel::after {
    content: "";
    position: absolute;
    left: 26px;
    right: 26px;
    height: 8px;
    border-radius: 999px;
    background: rgba(48, 48, 161, 0.12);
}

.rs-media-editorial-panel::before {
    top: 28px;
}

.rs-media-editorial-panel::after {
    top: 52px;
    right: 78px;
    background: rgba(249, 174, 179, 0.14);
}

.rs-media-editorial-panel-one {
    right: 110px;
    top: 54px;
    width: 330px;
    height: 210px;
    transform: rotate(-4deg);
}

.rs-media-editorial-panel-two {
    right: 310px;
    bottom: 54px;
    width: 260px;
    height: 170px;
    transform: rotate(6deg);
    opacity: 0.9;
}

.rs-media-editorial-panel-three {
    right: -42px;
    bottom: 36px;
    width: 270px;
    height: 190px;
    transform: rotate(3deg);
    opacity: 0.78;
}

.rs-media-scanline {
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, rgba(249, 174, 179, 0.38) 20%, rgba(48, 48, 161, 0.18) 70%, transparent 100%);
}

.rs-media-scanline-one {
    left: 0;
    right: 0;
    bottom: 92px;
}

.rs-media-scanline-two {
    left: -8%;
    right: 34%;
    bottom: 132px;
    transform: rotate(-4deg);
}

.rs-media-press-ring {
    right: 86px;
    top: 28px;
    width: 360px;
    height: 360px;
    border-radius: 50%;
    border: 1px solid #DDD8F0;
    box-shadow: inset 0 0 0 36px rgba(250, 197, 227, 0.16);
}

.rs-media-press-dots {
    right: 32px;
    top: 42px;
    width: 150px;
    height: 130px;
    background-image: radial-gradient(circle, rgba(48, 48, 161, 0.18) 0 2px, transparent 3px);
    background-size: 18px 18px;
}

.rs-media-press-orb {
    right: 42%;
    bottom: 58px;
    width: 150px;
    height: 150px;
    border-radius: 50%;
    background: rgba(250, 197, 227, 0.28);
    filter: blur(10px);
}

.rs-media-hero-exact .rs-media-hero-text {
    max-width: 650px;
}

.rs-media-hero-exact .rs-hero-kicker {
    background: #ffffff;
    border: 1px solid rgba(48, 48, 161, 0.14);
    box-shadow: 0 10px 24px rgba(48, 48, 161, 0.07);
}

.rs-media-hero-exact .rs-hero-title {
    color: #3030A1;
    font-weight: 600;
}





/* Similar coded media hero layout with circular image */
.rs-media-hero-exact {
    min-height: 560px;
    height: 560px;
    padding: 0;
    background:
        radial-gradient(circle at 82% 34%, rgba(250, 197, 227, 0.32) 0 15%, transparent 36%),
        linear-gradient(135deg, #ffffff 0%, #FFF1F8 48%, #ffe7f1 100%);
}

.rs-media-banner-art {
    inset: 0;
    z-index: 1;
    overflow: hidden;
}

.rs-media-editorial-panel,
.rs-media-scanline,
.rs-media-press-ring,
.rs-media-press-dots,
.rs-media-press-orb {
    display: none;
}

.rs-media-similar-blob,
.rs-media-similar-dots,
.rs-media-similar-wave,
.rs-media-similar-line {
    position: absolute;
    pointer-events: none;
}

.rs-media-similar-blob {
    right: 18%;
    bottom: -72px;
    width: 460px;
    height: 560px;
    border-radius: 55% 45% 0 0 / 58% 42% 0 0;
    background: linear-gradient(135deg, rgba(250, 197, 227, 0.12), rgba(250, 197, 227, 0.46));
    transform: rotate(38deg);
}

.rs-media-similar-dots {
    left: 34px;
    bottom: 86px;
    width: 170px;
    height: 82px;
    background-image: radial-gradient(circle, rgba(255, 106, 151, 0.58) 0 4px, transparent 5px);
    background-size: 34px 18px;
}

.rs-media-similar-wave {
    left: -8%;
    right: -8%;
    bottom: -88px;
    height: 212px;
    border-radius: 50% 50% 0 0;
}

.rs-media-similar-wave-one {
    background: rgba(250, 197, 227, 0.42);
    transform: rotate(3deg);
}

.rs-media-similar-wave-two {
    bottom: -124px;
    background: rgba(250, 197, 227, 0.24);
    transform: rotate(-5deg);
}

.rs-media-similar-line {
    left: -4%;
    bottom: 118px;
    width: 72%;
    height: 170px;
    border-top: 2px solid rgba(225, 112, 74, 0.34);
    border-radius: 50%;
    transform: rotate(5deg);
}

.rs-media-similar-grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, 52%) minmax(360px, 48%);
    align-items: center;
    height: 100%;
}

.rs-media-hero-exact .rs-media-hero-text {
    max-width: 720px;
    margin: 0;
    text-align: left;
}

.rs-media-hero-exact .rs-hero-kicker {
    position: relative;
    padding: 0 0 0 56px;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #2d4b25;
    box-shadow: none;
    font-size: 0.84rem;
    font-weight: 800;
    letter-spacing: 0.16em;
}

.rs-media-hero-exact .rs-hero-kicker::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 42px;
    height: 2px;
    background: #9f1726;
    transform: translateY(-50%);
}

.rs-media-hero-exact .rs-hero-title {
    max-width: 720px;
    margin: 28px 0 26px;
    color: #991827;
    background: none;
    font-size: clamp(3.8rem, 6.4vw, 6.15rem);
    line-height: 0.98;
    font-weight: 600;
}

.rs-media-hero-exact .rs-hero-divider-bar,
.rs-media-hero-cta {
    display: none;
}

.rs-media-hero-exact .rs-hero-description {
    max-width: 760px;
    margin-bottom: 26px;
    color: #4d5a53;
    font-size: clamp(1.06rem, 1.5vw, 1.34rem);
    line-height: 1.55;
}

.rs-media-similar-visual {
    position: relative;
    height: 100%;
}

.rs-media-similar-photo-ring {
    position: absolute;
    right: 32px;
    top: 4px;
    width: min(500px, 44vw);
    height: min(500px, 44vw);
    min-width: 390px;
    min-height: 390px;
    border-radius: 50%;
    background: rgba(250, 197, 227, 0.68);
    display: grid;
    place-items: center;
    box-shadow: 0 24px 70px rgba(170, 70, 105, 0.12);
}

.rs-media-similar-photo-ring::before {
    content: "";
    position: absolute;
    inset: 30px;
    border-radius: 50%;
    background: #ffffff;
}

.rs-media-similar-photo {
    position: relative;
    z-index: 1;
    width: calc(100% - 74px);
    height: calc(100% - 74px);
    overflow: hidden;
    border-radius: 50%;
    background: #ffffff;
}

.rs-media-similar-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% center;
}





/* Polished media hero cleanup */
.rs-media-hero-exact {
    min-height: 520px;
    height: 520px;
    padding: 0;
    background:
        radial-gradient(circle at 80% 36%, rgba(250, 197, 227, 0.38) 0 18%, transparent 38%),
        radial-gradient(circle at 58% 72%, rgba(210, 211, 255, 0.28) 0 10%, transparent 26%),
        linear-gradient(120deg, #ffffff 0%, #FFF1F8 48%, #DDD8F0 100%);
}

.rs-media-banner-art {
    inset: 0;
    z-index: 1;
    overflow: hidden;
}

.rs-media-similar-line,
.rs-media-similar-blob,
.rs-media-editorial-panel,
.rs-media-scanline,
.rs-media-press-ring,
.rs-media-press-dots,
.rs-media-press-orb {
    display: none;
}

.rs-media-similar-wave {
    left: -6%;
    right: -6%;
    bottom: -120px;
    height: 220px;
    border-radius: 50% 50% 0 0;
}

.rs-media-similar-wave-one {
    background: rgba(250, 197, 227, 0.26);
    transform: rotate(2deg);
}

.rs-media-similar-wave-two {
    bottom: -150px;
    background: rgba(210, 211, 255, 0.16);
    transform: rotate(-3deg);
}

.rs-media-similar-dots {
    left: auto;
    right: 54px;
    top: 58px;
    bottom: auto;
    width: 150px;
    height: 120px;
    background-image: radial-gradient(circle, rgba(48, 48, 161, 0.16) 0 3px, transparent 4px);
    background-size: 22px 22px;
    opacity: 0.55;
}

.rs-media-similar-grid {
    position: relative;
    z-index: 3;
    display: grid;
    grid-template-columns: minmax(0, 48%) minmax(360px, 52%);
    align-items: center;
    height: 100%;
}

.rs-media-hero-exact .rs-media-hero-text {
    max-width: 640px;
    margin: 0;
    text-align: left;
}

.rs-media-hero-exact .rs-hero-kicker {
    display: inline-flex;
    padding: 8px 18px;
    border: 1px solid rgba(48, 48, 161, 0.14);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.72);
    color: #3030A1;
    box-shadow: 0 12px 28px rgba(48, 48, 161, 0.06);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.09em;
}

.rs-media-hero-exact .rs-hero-kicker::before {
    display: none;
}

.rs-media-hero-exact .rs-hero-title {
    margin: 24px 0 18px;
    color: #3030A1;
    font-size: clamp(3rem, 4.8vw, 4.6rem);
    line-height: 1.08;
    font-weight: 600;
}

.rs-media-hero-exact .rs-hero-divider-bar {
    display: block;
    width: 64px;
    height: 3px;
    margin: 0 0 22px;
    background: #3030A1;
}

.rs-media-hero-exact .rs-hero-description {
    max-width: 620px;
    margin-bottom: 24px;
    color: #53637f;
    font-size: 1.05rem;
    line-height: 1.68;
}

.rs-media-hero-cta {
    display: inline-flex;
}

.rs-media-similar-visual {
    position: relative;
    height: 100%;
}

.rs-media-similar-photo-ring {
    position: absolute;
    top: 44px;
    right: 52px;
    width: min(420px, 38vw);
    height: min(420px, 38vw);
    min-width: 330px;
    min-height: 330px;
    border-radius: 50%;
    background: linear-gradient(135deg, rgba(250, 197, 227, 0.9), rgba(210, 211, 255, 0.5));
    display: grid;
    place-items: center;
    box-shadow: 0 24px 64px rgba(48, 48, 161, 0.12);
}

.rs-media-similar-photo-ring::before {
    content: "";
    position: absolute;
    inset: 22px;
    border-radius: 50%;
    background: #ffffff;
}

.rs-media-similar-photo {
    position: relative;
    z-index: 1;
    width: calc(100% - 56px);
    height: calc(100% - 56px);
    overflow: hidden;
    border-radius: 50%;
}

.rs-media-similar-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% center;
}





/* Full-cover media hero image */
.rs-media-hero-exact {
    min-height: 520px;
    height: 520px;
    padding: 0;
    background: #fff1f6;
}

.rs-media-hero-banner-img {
    position: absolute;
    inset: 0;
    z-index: 1;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
}

.rs-media-hero-overlay {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: block;
    background: linear-gradient(90deg, rgba(255, 246, 250, 0.98) 0%, rgba(255, 246, 250, 0.82) 36%, rgba(255, 246, 250, 0.18) 58%, rgba(255, 246, 250, 0) 100%);
    pointer-events: none;
}

.rs-media-banner-art {
    display: none;
}

.rs-media-hero-exact .rs-container {
    position: relative;
    z-index: 3;
    height: 100%;
    display: flex;
    align-items: center;
}

.rs-media-hero-exact .rs-media-hero-text {
    max-width: 640px;
    margin: 0;
    text-align: left;
}





.rs-media-hero-frame {
    position: relative;
    border-radius: var(--radius-xl);
    overflow: hidden;
    box-shadow: var(--shadow-lg);
}

.rs-media-hero-badge {
    position: absolute;
    bottom: 20px;
    left: 20px;
    background: rgba(18, 26, 94, 0.85);
    backdrop-filter: blur(10px);
    color: #ffffff;
    padding: 10px 18px;
    border-radius: var(--radius-full);
    font-weight: 700;
    font-size: 0.88rem;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.rs-media-filter-section {
    padding: 30px 0 10px;
    background: linear-gradient(180deg, rgba(255, 240, 247, 0.6) 0%, rgba(255, 255, 255, 0) 100%);
}

.rs-media-filter-bar {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    flex-wrap: wrap;
}

.rs-media-filter-btn {
    padding: 12px 24px;
    border-radius: var(--radius-full);
    border: 1.5px solid var(--color-border);
    background: #ffffff;
    color: var(--color-text-main);
    font-family: var(--font-heading);
    font-weight: 700;
    font-size: 0.95rem;
    cursor: pointer;
    transition: var(--transition-bounce);
    display: inline-flex;
    align-items: center;
    gap: 8px;
    box-shadow: var(--shadow-sm);
}

.rs-media-filter-btn:hover {
    border-color: var(--color-pink-primary);
    color: var(--color-pink-primary);
    transform: translateY(-2px);
}

.rs-media-filter-btn.active {
    background: var(--color-gradient-primary);
    color: #ffffff;
    border-color: transparent;
    box-shadow: var(--shadow-pink);
}

.rs-media-content-section,
.rs-tv-radio-page-section {
    padding: 30px 0 40px !important;
}

.rs-media-content-section .rs-container,
.rs-tv-radio-page-section .rs-container {
    max-width: 1280px !important;
    padding-left: 28px !important;
    padding-right: 28px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
}

.rs-media-filter-section {
    padding: 30px 0 10px;
    background: linear-gradient(180deg, rgba(255, 240, 247, 0.6) 0%, rgba(255, 255, 255, 0) 100%);
}

.rs-media-filter-bar {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    flex-wrap: wrap;
}

.rs-media-filter-btn {
    padding: 12px 24px;
    border-radius: var(--radius-full);
    border: 1.5px solid var(--color-border);
    background: #ffffff;
    color: var(--color-text-main);
    font-family: var(--font-heading);
    font-weight: 700;
    font-size: 0.95rem;
    cursor: pointer;
    transition: var(--transition-bounce);
    display: inline-flex;
    align-items: center;
    gap: 8px;
    box-shadow: var(--shadow-sm);
}

.rs-media-filter-btn:hover {
    border-color: var(--color-pink-primary);
    color: var(--color-pink-primary);
    transform: translateY(-2px);
}

.rs-media-filter-btn.active {
    background: var(--color-gradient-primary);
    color: #ffffff;
    border-color: transparent;
    box-shadow: var(--shadow-pink);
}

.rs-media-content-section {
    padding: 35px 0 50px;
}

.rs-media-content-section .rs-container {
    max-width: 1440px;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
}

.rs-media-section-subtitle {
    max-width: 680px;
    margin: 12px auto 0;
    color: var(--color-text-muted);
    font-size: 1.05rem;
}

/* Media Cards Grid */
.rs-media-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 24px;
    margin-top: 25px;
}

.rs-media-card {
    background: #ffffff;
    border-radius: 8px;
    border: 1px solid #DDD8F0;
    overflow: hidden;
    box-shadow: var(--shadow-sm);
    transition: var(--transition-base);
    display: flex;
    flex-direction: column;
    width: clamp(280px, 30vw, 360px);
    max-width: 100%;
}

.rs-media-card:hover {
    transform: translateY(-6px);
    box-shadow: var(--shadow-md);
    border-color: rgba(249, 174, 179, 0.3);
}

.rs-media-card-img-wrap {
    position: relative;
    width: 100%;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: var(--color-surface-soft);
    cursor: pointer;
}

.rs-media-card-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.rs-media-card:hover .rs-media-card-img-wrap img {
    transform: scale(1.05);
}

.rs-media-overlay {
    position: absolute;
    inset: 0;
    background: rgba(186, 224, 253, 0.72);
    backdrop-filter: blur(3px);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.rs-media-card-img-wrap:hover .rs-media-overlay {
    opacity: 1;
}

.rs-media-zoom-btn {
    color: #ffffff;
    background: var(--color-pink-primary);
    padding: 10px 22px;
    border-radius: var(--radius-full);
    font-family: var(--font-heading);
    font-weight: 700;
    font-size: 0.9rem;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    box-shadow: 0 6px 20px rgba(249, 174, 179, 0.35);
    transform: translateY(10px);
    transition: transform 0.3s ease;
}

.rs-media-card-img-wrap:hover .rs-media-zoom-btn {
    transform: translateY(0);
}

.rs-media-card-img-wrap span {
    position: absolute;
    inset: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
    color: #b96f7d;
    font-size: 1.35rem;
    opacity: 0;
    transform: scale(0.84);
    transition: opacity 0.3s ease, transform 0.3s ease;
    pointer-events: none;
}

.rs-media-card-img-wrap span i {
    display: grid;
    place-items: center;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 12px 28px rgba(48, 48, 161, 0.16);
}

.rs-media-card:hover .rs-media-card-img-wrap span,
.rs-media-card-img-wrap:hover span {
    opacity: 1;
    transform: scale(1);
}

.rs-media-tag {
    position: absolute;
    top: 16px;
    left: 16px;
    background: var(--color-blue-dark);
    color: #ffffff;
    font-size: 0.78rem;
    font-weight: 700;
    padding: 6px 14px;
    border-radius: var(--radius-full);
    letter-spacing: 0.5px;
    text-transform: uppercase;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

.rs-media-card-body {
    padding: 26px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.rs-media-card-meta {
    display: flex;
    align-items: center;
    gap: 16px;
    font-size: 0.82rem;
    color: var(--color-pink-primary);
    font-weight: 600;
    margin-bottom: 12px;
}

.rs-media-card-meta span {
    display: flex;
    align-items: center;
    gap: 6px;
}

.rs-media-card-body h3 {
    font-size: 1.25rem;
    color: var(--color-blue-dark);
    line-height: 1.35;
    margin-bottom: 12px;
}

.rs-media-card-body p {
    font-size: 0.94rem;
    color: var(--color-text-muted);
    line-height: 1.6;
    margin-bottom: 20px;
    flex-grow: 1;
}

.rs-btn-link {
    background: none;
    border: none;
    padding: 0;
    color: var(--color-pink-primary);
    font-family: var(--font-heading);
    font-weight: 700;
    font-size: 0.92rem;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: gap 0.25s ease;
}

.rs-btn-link:hover {
    gap: 14px;
    color: var(--color-blue-primary);
}

/* TV & Video Section */
.rs-tv-section {
    background: var(--color-gradient-light-hero);
}

.rs-tv-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(360px, 1fr));
    gap: 32px;
    margin-top: 50px;
}

.rs-tv-card {
    background: #ffffff;
    border-radius: var(--radius-lg);
    overflow: hidden;
    box-shadow: var(--shadow-sm);
    border: 1px solid #DDD8F0;
    transition: var(--transition-base);
}

.rs-tv-card:hover {
    transform: translateY(-8px);
    box-shadow: var(--shadow-lg);
}

.rs-tv-card-video {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    background: #000000;
    overflow: hidden;
}

.rs-tv-card-video img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.85;
    transition: transform 0.5s ease;
}

.rs-tv-card-video iframe {
    position: absolute;
    inset: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
    background: #000000;
}

.rs-tv-card:hover .rs-tv-card-video img {
    transform: scale(1.05);
}

.rs-tv-play-btn {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 64px;
    height: 64px;
    background: var(--color-gradient-primary);
    color: #ffffff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
    box-shadow: var(--shadow-pink);
    transition: var(--transition-bounce);
    text-indent: 3px;
}

.rs-tv-card:hover .rs-tv-play-btn {
    transform: translate(-50%, -50%) scale(1.15);
}

.rs-tv-badge {
    position: absolute;
    bottom: 14px;
    left: 14px;
    z-index: 2;
    background: rgba(0, 0, 0, 0.75);
    color: #ffffff;
    font-size: 0.78rem;
    font-weight: 700;
    padding: 4px 12px;
    border-radius: var(--radius-full);
    backdrop-filter: blur(4px);
}

.rs-tv-card-content {
    padding: 24px;
}

/* ==========================================================================
   MEDIA & PRESS COVERAGE / GALLERY PAGE HERO STYLES
   ========================================================================== */

@keyframes heroImgEnlarge {
    0% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.08);
    }

    100% {
        transform: scale(1);
    }
}

.rs-media-hero-exact {
    position: relative;
    width: 100%;
    height: 400px;
    min-height: 400px;
    padding: 35px 0;
    overflow: hidden;
    display: flex;
    align-items: center;
    background: #ffffff;
    box-sizing: border-box;
}

.rs-media-hero-bg-img-wrap {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    overflow: hidden;
}

.rs-media-hero-bg-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: right center;
    display: block;
    animation: heroImgEnlarge 20s ease-in-out infinite alternate;
    will-change: transform;
}

.rs-media-hero-fade-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.65) 0%, rgba(255, 255, 255, 0.35) 45%, rgba(255, 255, 255, 0.08) 80%, transparent 100%);
    pointer-events: none;
    z-index: 2;
}

/* Reduced overlay opacity specifically for Media pages hero sections */
.rs-media-page-hero .rs-media-hero-fade-overlay,
.rs-tv-radio-hero .rs-media-hero-fade-overlay {
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.35) 0%, rgba(255, 255, 255, 0.15) 45%, transparent 75%);
}

/* Reduced overlay opacity specifically for Testimonials hero section */
.rs-testimonial-hero .rs-media-hero-fade-overlay {
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.45) 0%, rgba(255, 255, 255, 0.2) 45%, transparent 75%);
}

.rs-gallery-hero .rs-media-hero-fade-overlay {
    background: linear-gradient(90deg, #ffffff 0%, rgba(255, 255, 255, 0.95) 35%, rgba(255, 255, 255, 0.65) 60%, rgba(255, 255, 255, 0.15) 85%, transparent 100%);
}

.rs-gallery-hero .rs-media-hero-bg-img-wrap img {
    opacity: 0.86;
}

.rs-blogs-hero .rs-media-hero-bg-img-wrap img {
    object-position: right center;
}

.rs-blogs-hero .rs-media-hero-fade-overlay {
    background:
        linear-gradient(90deg, rgba(255, 255, 255, 0.74) 0%, rgba(255, 255, 255, 0.46) 44%, rgba(255, 255, 255, 0.1) 72%, transparent 100%),
        linear-gradient(180deg, rgba(48, 48, 161, 0.1) 0%, rgba(48, 48, 161, 0.08) 100%);
}

.rs-media-hero-exact .rs-container {
    position: relative;
    z-index: 3;
    width: 100%;
}

.rs-media-hero-content-box {
    max-width: 620px;
    text-align: left;
    padding: 10px 0;
}

.rs-hero-kicker-exact {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 0.82rem;
    font-weight: 700;
    color: var(--color-blue-primary);
    text-transform: uppercase;
    letter-spacing: 1.2px;
    margin-bottom: 14px;
    background: rgba(255, 255, 255, 0.92);
    backdrop-filter: blur(8px);
    border: 1px solid rgba(48, 48, 161, 0.2);
    padding: 6px 18px;
    border-radius: var(--radius-full);
    box-shadow: 0 4px 15px rgba(48, 48, 161, 0.08);
}

.rs-hero-title-exact {
    font-family: var(--font-heading);
    font-size: clamp(2.5rem, 4.8vw, 3.6rem);
    color: var(--color-blue-dark);
    line-height: 1.15;
    font-weight: 600;
    margin-bottom: 14px;
    letter-spacing: -0.5px;
}

.rs-hero-title-exact span {
    color: var(--color-blue-primary);
}

.rs-hero-divider-bar-exact {
    width: 60px;
    height: 4px;
    background: #F9AEB3;
    border-radius: var(--radius-full);
    margin: 0 0 16px 0;
    box-shadow: 0 12px 32px rgba(249, 174, 179, 0.18);
}

.rs-hero-desc-exact {
    font-size: 1.02rem;
    color: #000000;
    line-height: 1.65;
    margin-bottom: 22px;
}

.rs-hero-breadcrumbs-exact {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.88rem;
    font-weight: 600;
    color: var(--color-text-muted);
}

.rs-hero-breadcrumbs-exact a {
    color: var(--color-blue-primary);
    text-decoration: none;
    transition: color 0.2s ease;
}

.rs-hero-breadcrumbs-exact a:hover {
    color: var(--color-blue-dark);
}



.rs-tv-category {
    font-size: 0.8rem;
    font-weight: 700;
    color: var(--color-pink-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    display: block;
    margin-bottom: 8px;
}

.rs-tv-card-content h3 {
    font-size: 1.15rem;
    color: var(--color-blue-primary);
    line-height: 1.35;
    margin-bottom: 10px;
}

.rs-tv-card-content p {
    font-size: 0.92rem;
    color: var(--color-text-muted);
    line-height: 1.55;
    margin-bottom: 18px;
}

/* Cleaned legacy block */
.rs-tv-link {
    color: var(--color-blue-primary);
    font-family: var(--font-heading);
    font-weight: 700;
    font-size: 0.9rem;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: color 0.2s ease;
}

.rs-tv-link:hover {
    color: var(--color-pink-primary);
}

.rs-tv-radio-hero .rs-media-hero-bg-img-wrap img {
    object-position: center right;
}

.rs-tv-radio-page-section {
    background:
        linear-gradient(180deg, #f5f7ff 0%, rgba(255, 255, 255, 1) 54%, #FBF8F5 100%),
        radial-gradient(circle at 8% 10%, rgba(42, 59, 83, 0.08), transparent 34%),
        radial-gradient(circle at 92% 18%, rgba(185, 111, 125, 0.12), transparent 32%);
}

.rs-tv-radio-page-section .rs-tv-card {
    border-radius: 8px;
    position: relative;
    overflow: hidden;
}

.rs-tv-radio-page-section .rs-tv-card::after {
    content: "";
    position: absolute;
    inset: 0;
    border: 1px solid rgba(255, 255, 255, 0.62);
    opacity: 0;
    transform: scale(0.96);
    transition: opacity 0.35s ease, transform 0.35s ease;
    pointer-events: none;
}

.rs-tv-radio-page-section .rs-tv-card:hover::after {
    opacity: 1;
    transform: scale(1);
}

.rs-tv-radio-page-section .rs-tv-card-video::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(135deg, rgba(48, 48, 161, 0.18), transparent 48%),
        linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.28) 50%, transparent 100%);
    opacity: 0;
    transform: translateX(-35%);
    transition: opacity 0.4s ease, transform 0.75s ease;
    pointer-events: none;
}

.rs-tv-radio-page-section .rs-tv-card:hover .rs-tv-card-video::after {
    opacity: 1;
    transform: translateX(35%);
}

.rs-tv-radio-note {
    display: flex;
    align-items: center;
    gap: 12px;
    max-width: 760px;
    margin: 38px auto 0;
    padding: 18px 22px;
    border-radius: 8px;
    background: #ffffff;
    border: 1px solid rgba(48, 48, 161, 0.1);
    box-shadow: 0 12px 30px rgba(48, 48, 161, 0.07);
}

.rs-tv-radio-note i {
    color: #F9AEB3;
}

.rs-tv-radio-note p {
    margin: 0;
    color: #555565;
    font-size: 0.94rem;
    line-height: 1.6;
}

.rs-shorts-hero .rs-media-hero-bg-img-wrap img {
    object-position: center right;
}

.rs-shorts-page-section {
    background:
        linear-gradient(180deg, rgba(255, 240, 247, 0.62) 0%, rgba(255, 255, 255, 1) 52%),
        radial-gradient(circle at 8% 10%, rgba(48, 48, 161, 0.12), transparent 34%),
        radial-gradient(circle at 92% 18%, #DDD8F0, transparent 32%);
}

.rs-shorts-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 340px));
    justify-content: center;
    gap: 28px;
    max-width: 1180px;
    margin-left: auto;
    margin-right: auto;
    margin-top: 42px;
}

.rs-short-card {
    overflow: hidden;
    border-radius: 8px;
    background: #ffffff;
    border: 1px solid rgba(48, 48, 161, 0.1);
    box-shadow: 0 12px 30px rgba(48, 48, 161, 0.08);
    transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease;
}

.rs-short-card:hover {
    transform: translateY(-7px);
    border-color: rgba(249, 174, 179, 0.26);
    box-shadow: 0 18px 42px rgba(48, 48, 161, 0.14);
}

.rs-short-video {
    position: relative;
    width: 100%;
    aspect-ratio: 9 / 16;
    background: #101426;
    overflow: hidden;
}

.rs-short-video iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

.rs-short-content {
    padding: 20px 22px 22px;
}

.rs-short-content span {
    display: inline-flex;
    margin-bottom: 8px;
    color: #F9AEB3;
    font-size: 0.78rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.rs-short-content h3 {
    color: #3030A1;
    font-size: 1.08rem;
    line-height: 1.35;
    margin-bottom: 14px;
}

.rs-short-content a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #3030A1;
    font-size: 0.9rem;
    font-weight: 800;
}

.rs-short-content a:hover {
    color: #F9AEB3;
}







/* Publications Grid */
.rs-publications-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
    gap: 28px;
    margin-top: 48px;
}

.rs-pub-card {
    background: #ffffff;
    padding: 30px;
    border-radius: var(--radius-lg);
    border: 1px solid #DDD8F0;
    box-shadow: var(--shadow-sm);
    display: flex;
    align-items: flex-start;
    gap: 20px;
    transition: var(--transition-base);
}

.rs-pub-card:hover {
    transform: translateY(-6px);
    box-shadow: var(--shadow-md);
    border-color: rgba(249, 174, 179, 0.25);
}

.rs-pub-icon {
    width: 56px;
    height: 56px;
    min-width: 56px;
    background: var(--color-surface-soft);
    color: var(--color-pink-primary);
    border-radius: var(--radius-md);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.4rem;
}

.rs-pub-badge {
    display: inline-block;
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--color-pink-primary);
    background: #FFF1F8;
    padding: 4px 10px;
    border-radius: var(--radius-full);
    margin-bottom: 8px;
    text-transform: uppercase;
}

.rs-pub-content h3 {
    font-size: 1.1rem;
    color: var(--color-blue-dark);
    margin-bottom: 8px;
}

.rs-pub-content p {
    font-size: 0.9rem;
    color: var(--color-text-muted);
    line-height: 1.55;
}

/* Media CTA Section */
.rs-media-cta-section {
    padding: 60px 0 80px;
}

.rs-media-cta-card {
    background: var(--color-gradient-blue);
    color: #ffffff;
    border-radius: var(--radius-xl);
    padding: 50px 40px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    box-shadow: var(--shadow-lg);
    position: relative;
    overflow: hidden;
}

.rs-media-cta-card::before {
    content: '';
    position: absolute;
    top: -50%;
    right: -20%;
    width: 400px;
    height: 400px;
    background: radial-gradient(circle, rgba(249, 174, 179, 0.3) 0%, rgba(249, 174, 179, 0) 70%);
    pointer-events: none;
}

.rs-media-cta-kicker {
    font-size: 0.85rem;
    font-weight: 700;
    color: var(--color-pink-soft);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 10px;
}

.rs-media-cta-content h2 {
    color: #ffffff;
    font-size: clamp(1.8rem, 4vw, 2.3rem);
    margin-bottom: 12px;
}

.rs-media-cta-content p {
    color: rgba(255, 255, 255, 0.85);
    font-size: 1.05rem;
    max-width: 580px;
}

.rs-media-cta-actions {
    display: flex;
    flex-direction: column;
    gap: 14px;
    min-width: 240px;
}

.rs-btn-outline {
    background: transparent;
    color: #ffffff;
    border: 2px solid rgba(255, 255, 255, 0.4);
}

.rs-btn-outline:hover {
    background: rgba(255, 255, 255, 0.15);
    border-color: #ffffff;
    color: #ffffff;
}

/* Lightbox Modal */
.rs-media-modal {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: clamp(16px, 3vh, 32px) 20px;
    overflow-y: auto;
    overscroll-behavior: contain;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.35s ease, visibility 0.35s ease;
}

.rs-media-modal.active {
    opacity: 1;
    visibility: visible;
}

.rs-media-modal::-webkit-scrollbar {
    width: 10px;
}

.rs-media-modal::-webkit-scrollbar-track {
    background: rgba(220, 239, 255, 0.7);
}

.rs-media-modal::-webkit-scrollbar-thumb {
    background: rgba(48, 48, 161, 0.32);
    border-radius: 999px;
}

.rs-media-modal-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(10, 15, 30, 0.92);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

.rs-media-modal-nav {
    position: fixed;
    top: 50%;
    z-index: 4;
    width: 60px;
    height: 60px;
    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.15);
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.4rem;
    cursor: pointer;
    transform: translateY(-50%);
    transition: background 0.25s ease, border-color 0.25s ease, color 0.25s ease, transform 0.25s ease;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.35);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

.rs-media-modal-nav:hover {
    background: #F9AEB3;
    border-color: #F9AEB3;
    color: #ffffff;
    transform: translateY(-50%) scale(1.1);
}

.rs-media-modal-prev {
    left: 28px;
}

.rs-media-modal-next {
    right: 28px;
}

.rs-media-modal-container {
    position: relative;
    z-index: 2;
    background: transparent;
    border-radius: var(--radius-lg);
    max-width: fit-content;
    width: auto;
    max-height: none;
    overflow: visible;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin: auto;
    box-shadow: none;
    transform: scale(0.92);
    transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

.rs-media-modal.active .rs-media-modal-container {
    transform: scale(1);
}

.rs-media-modal-close {
    position: absolute;
    top: -16px;
    right: -16px;
    z-index: 5;
    width: 44px;
    height: 44px;
    background: #ffffff;
    color: #3030A1;
    border: none;
    border-radius: 50%;
    font-size: 1.25rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s ease, transform 0.2s ease, color 0.2s ease;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
}

.rs-media-modal-close:hover {
    background: #F9AEB3;
    color: #ffffff;
    transform: scale(1.12);
}

.rs-media-modal-img-wrap {
    width: auto;
    max-width: 100%;
    max-height: none;
    overflow: visible;
    background: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--radius-lg);
}

.rs-media-modal-img-wrap img {
    max-width: min(960px, calc(100vw - 48px));
    max-height: 85vh;
    width: auto;
    height: auto;
    object-fit: contain;
    border-radius: 14px;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.6);
    display: block;
}







/* ==========================================================================
   CLINIC GALLERY PAGE STYLES
   ========================================================================== */

.rs-gallery-main-section {
    padding: 50px 0 80px;
    background: linear-gradient(180deg, rgba(255, 240, 247, 0.4) 0%, rgba(255, 255, 255, 1) 100%);
}

.rs-gallery-filter-bar {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 40px;
}

.rs-gallery-filter-btn {
    padding: 10px 22px;
    border-radius: var(--radius-full);
    border: 1.5px solid rgba(249, 174, 179, 0.18);
    background: #ffffff;
    color: var(--color-text-main);
    font-family: var(--font-heading);
    font-weight: 700;
    font-size: 0.92rem;
    cursor: pointer;
    transition: var(--transition-bounce);
    display: inline-flex;
    align-items: center;
    gap: 8px;
    box-shadow: var(--shadow-sm);
}

.rs-gallery-filter-btn:hover {
    border-color: var(--color-pink-primary);
    color: var(--color-pink-primary);
    transform: translateY(-2px);
}

.rs-gallery-filter-btn.active {
    background: var(--color-gradient-primary);
    color: #ffffff;
    border-color: transparent;
    box-shadow: var(--shadow-pink);
}

.rs-gallery-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.rs-gallery-card {
    --gallery-glow: #DDD8F0;
    --gallery-border: rgba(249, 174, 179, 0.3);
    --gallery-tint: rgba(249, 174, 179, 0.26);
    background: #ffffff;
    border-radius: var(--radius-lg);
    border: 1px solid #DDD8F0;
    overflow: hidden;
    box-shadow: var(--shadow-sm);
    transition: all 0.35s ease;
    display: flex;
    flex-direction: column;
    position: relative;
    isolation: isolate;
}

.rs-gallery-card:hover {
    transform: translateY(-6px);
    box-shadow: var(--shadow-md);
    border-color: rgba(249, 174, 179, 0.3);
}

.rs-gallery-card.filter-clinic {
    --gallery-glow: rgba(48, 48, 161, 0.2);
    --gallery-border: rgba(48, 48, 161, 0.38);
    --gallery-tint: rgba(48, 48, 161, 0.24);
}

.rs-gallery-card.filter-laser {
    --gallery-glow: rgba(249, 174, 179, 0.22);
    --gallery-border: rgba(249, 174, 179, 0.4);
    --gallery-tint: rgba(249, 174, 179, 0.28);
}

.rs-gallery-card.filter-consultation {
    --gallery-glow: rgba(41, 166, 184, 0.2);
    --gallery-border: rgba(41, 166, 184, 0.38);
    --gallery-tint: rgba(41, 166, 184, 0.24);
}

.rs-gallery-card.filter-hair {
    --gallery-glow: rgba(123, 92, 201, 0.2);
    --gallery-border: rgba(123, 92, 201, 0.38);
    --gallery-tint: rgba(123, 92, 201, 0.24);
}

.rs-gallery-card:hover {
    box-shadow: 0 18px 42px var(--gallery-glow);
    border-color: var(--gallery-border);
}

.rs-gallery-img-wrap {
    position: relative;
    width: 100%;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: var(--color-surface-soft);
    cursor: pointer;
}

.rs-gallery-img-wrap::before {
    content: "";
    position: absolute;
    inset: 10px;
    border: 1px solid rgba(255, 255, 255, 0.64);
    opacity: 0;
    transform: scale(0.94);
    transition: opacity 0.4s ease, transform 0.4s ease;
    z-index: 2;
    pointer-events: none;
}

.rs-gallery-img-wrap::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(135deg, var(--gallery-tint), transparent 52%),
        linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.42) 50%, transparent 100%);
    opacity: 0;
    transform: translateX(-38%);
    transition: opacity 0.45s ease, transform 0.8s ease;
    z-index: 1;
    pointer-events: none;
}

.rs-gallery-card:hover .rs-gallery-img-wrap::before {
    opacity: 1;
    transform: scale(1);
}

.rs-gallery-card:hover .rs-gallery-img-wrap::after {
    opacity: 1;
    transform: translateX(38%);
}

.rs-gallery-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform 0.7s cubic-bezier(0.16, 1, 0.3, 1), filter 0.4s ease;
}

.rs-gallery-card:hover .rs-gallery-img-wrap img {
    transform: scale(1.06);
}

.rs-gallery-card.filter-clinic:hover .rs-gallery-img-wrap img {
    transform: scale(1.08) translateY(-6px);
    filter: brightness(1.04) saturate(1.08);
}

.rs-gallery-card.filter-laser:hover .rs-gallery-img-wrap img {
    transform: scale(1.1) translateX(-10px);
    filter: brightness(1.05) contrast(1.06);
}

.rs-gallery-card.filter-consultation:hover .rs-gallery-img-wrap img {
    transform: scale(1.07) translateY(7px);
    filter: brightness(1.03) saturate(1.06);
}

.rs-gallery-card.filter-hair:hover .rs-gallery-img-wrap img {
    transform: scale(1.1) translateX(10px);
    filter: brightness(1.04) saturate(1.1);
}

.rs-gallery-badge {
    position: absolute;
    top: 14px;
    left: 14px;
    background: rgba(18, 26, 94, 0.88);
    color: #ffffff;
    font-size: 0.76rem;
    font-weight: 700;
    padding: 4px 12px;
    border-radius: var(--radius-full);
    letter-spacing: 0.5px;
    text-transform: uppercase;
    backdrop-filter: blur(4px);
    z-index: 2;
}

.rs-gallery-overlay {
    position: absolute;
    inset: 0;
    background: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.3s ease;
    z-index: 3;
}

.rs-gallery-img-wrap:hover .rs-gallery-overlay {
    opacity: 1;
}

.rs-gallery-zoom-btn {
    display: grid;
    place-items: center;
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: #ffffff;
    border: 1.5px solid rgba(249, 174, 179, 0.4);
    color: #F9AEB3;
    box-shadow: 0 6px 22px rgba(249, 174, 179, 0.28);
    cursor: pointer;
    transform: translateY(14px) scale(0.8);
    transition: transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1), opacity 0.3s ease, background 0.25s ease, color 0.25s ease;
    opacity: 0;
    pointer-events: none;
}

.rs-gallery-img-wrap:hover .rs-gallery-zoom-btn {
    transform: translateY(0) scale(1);
    opacity: 1;
    pointer-events: auto;
}

.rs-gallery-zoom-btn:hover {
    background: #F9AEB3;
    color: #ffffff;
    border-color: #F9AEB3;
    transform: scale(1.15) !important;
    box-shadow: 0 10px 28px rgba(249, 174, 179, 0.5);
}

.rs-gallery-info {
    padding: 20px 22px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.rs-gallery-info h3 {
    font-size: 1.12rem;
    color: var(--color-blue-dark);
    margin-bottom: 6px;
    line-height: 1.35;
}

.rs-gallery-info p {
    font-size: 0.9rem;
    color: var(--color-text-muted);
    line-height: 1.55;
}

/* ==========================================================================
   TESTIMONIAL PAGE
   ========================================================================== */

.rs-testimonial-hero .rs-media-hero-bg-img-wrap img {
    object-position: center right;
}

.rs-testimonial-page-section {
    background:
        linear-gradient(180deg, rgba(255, 240, 247, 0.72) 0%, rgba(255, 255, 255, 1) 48%),
        radial-gradient(circle at 8% 12%, rgba(48, 48, 161, 0.12), transparent 34%),
        radial-gradient(circle at 92% 18%, #DDD8F0, transparent 32%);
}

.rs-google-review-summary {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 10px;
    width: max-content;
    max-width: 100%;
    margin: 0 auto 28px auto;
    padding: 22px 28px;
    border: 1px solid rgba(48, 48, 161, 0.1);
    border-radius: 12px;
    background: #FFFFFF;
    box-shadow: 0 10px 28px rgba(48, 48, 161, 0.08);
}

.rs-google-review-summary .rs-google-review-icon {
    margin: 0 auto 4px auto;
}

.rs-google-review-summary span,
.rs-google-review-summary p {
    display: block;
    color: #555565;
    font-size: 0.94rem;
    margin: 0;
}

.rs-google-review-summary strong {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    color: #3030A1;
    font-size: 1.35rem;
    line-height: 1.25;
    margin: 4px 0;
}

.rs-google-review-summary strong i {
    color: #FFC107;
    font-size: 0.98rem;
}

.rs-google-review-embed {
    margin-top: 34px;
    padding: 24px;
    border: 1px solid rgba(48, 48, 161, 0.1);
    border-radius: 8px;
    background: #FFFFFF;
    box-shadow: 0 14px 34px rgba(48, 48, 161, 0.1);
}

.rs-google-review-embed-head {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 14px;
}

.rs-google-review-embed-head span {
    display: block;
    color: #555565;
    font-size: 0.9rem;
}

.rs-google-review-embed-head strong {
    color: #3030A1;
    font-size: 1.12rem;
}

.rs-google-review-embed-rating {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 18px;
    color: #555565;
}

.rs-google-review-embed-rating strong {
    color: #3030A1;
    font-size: 1.6rem;
}

.rs-google-review-embed-rating span {
    color: #FFC107;
}

.rs-google-review-embed-rating em {
    font-style: normal;
    font-size: 0.95rem;
}

.rs-google-review-embed-card {
    padding-top: 18px;
    border-top: 1px solid rgba(48, 48, 161, 0.1);
}

.rs-google-review-embed-card h3 {
    color: #3030A1;
    font-size: 1.1rem;
    margin: 0 0 6px;
}

.rs-google-review-embed-card p {
    color: #3f4656;
    font-size: 1rem;
    line-height: 1.7;
    margin: 12px 0;
}

.rs-google-review-embed-card>span {
    color: #7b8494;
    font-size: 0.9rem;
}

.rs-testimonial-cta h2 {
    color: #3030A1;
    font-size: clamp(1.8rem, 3vw, 2.65rem);
    line-height: 1.15;
    margin-bottom: 12px;
}

.rs-testimonial-cta p {
    color: #555565;
    font-size: 0.98rem;
    line-height: 1.7;
    margin: 0;
}

.rs-testimonial-page-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.rs-testimonial-page-grid .rs-review-card {
    flex: none;
    min-height: 100%;
    border-radius: 8px;
    position: relative;
    overflow: hidden;
    isolation: isolate;
}

.rs-testimonial-page-grid .rs-review-card::before {
    content: "";
    position: absolute;
    right: -8px;
    bottom: -10px;
    width: 320px;
    height: 320px;
    background: url('../images/pattern.png') right bottom / cover no-repeat;
    opacity: 0.42;
    pointer-events: none;
    z-index: 0;
}

.rs-testimonial-page-grid .rs-review-card>* {
    position: relative;
    z-index: 1;
}

.rs-testimonial-page-grid .rs-review-card::after {
    content: "";
    position: absolute;
    inset: auto 24px 0;
    height: 3px;
    border-radius: 999px 999px 0 0;
    background: #F9AEB3;
    opacity: 0;
    z-index: 2;
    transform: scaleX(0.35);
    transition: opacity 0.3s ease, transform 0.3s ease;
}

.rs-testimonial-page-grid .rs-review-card:hover::after {
    opacity: 1;
    transform: scaleX(1);
}

.rs-testimonial-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-top: 46px;
    padding: 34px;
    border-radius: 8px;
    background: linear-gradient(135deg, #DDD8F0 0%, #fff0f8 100%);
    border: 1px solid rgba(48, 48, 161, 0.1);
}













/* ==========================================================================
   FLOATING ACTION BUTTONS (CIRCULAR DEFAULT, EXPANDS ON HOVER)
   ========================================================================== */
.rs-floating-call-btn,
.rs-floating-whatsapp-btn {
    position: fixed;
    right: 28px;
    z-index: 99990;
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    height: 48px;
    width: 48px;
    padding: 0 12px;
    border-radius: 50px;
    color: #FFFFFF !important;
    font-family: var(--font-heading, 'Outfit', sans-serif);
    font-size: 0.98rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    border: 2px solid rgba(255, 255, 255, 0.45);
    text-decoration: none !important;
    overflow: hidden;
    white-space: nowrap;
    transition: width 0.4s cubic-bezier(0.16, 1, 0.3, 1), background 0.35s ease, box-shadow 0.35s ease, transform 0.3s ease;
}

.rs-floating-call-btn::before,
.rs-floating-whatsapp-btn::before {
    content: '';
    position: absolute;
    inset: -6px;
    border-radius: 50px;
    z-index: -1;
    opacity: 0;
    pointer-events: none;
}

.rs-floating-call-btn::before {
    border: 2px solid rgba(194, 19, 115, 0.6);
    animation: btnPulseWave 2.4s infinite cubic-bezier(0.215, 0.61, 0.355, 1);
}

.rs-floating-whatsapp-btn::before {
    border: 2px solid rgba(37, 211, 102, 0.6);
    animation: btnPulseWave 2.4s infinite cubic-bezier(0.215, 0.61, 0.355, 1) 0.6s;
}

@keyframes btnPulseWave {
    0% {
        transform: scale(0.9);
        opacity: 0.9;
    }

    50% {
        opacity: 0.5;
    }

    100% {
        transform: scale(1.45);
        opacity: 0;
    }
}

.rs-floating-call-btn {
    bottom: 92px;
    background: #c21373;
    box-shadow: 0 8px 24px rgba(194, 19, 115, 0.4);
}

.rs-floating-whatsapp-btn {
    bottom: 156px;
    background: linear-gradient(135deg, #25D366 0%, #128C7E 100%);
    box-shadow: 0 8px 24px rgba(37, 211, 102, 0.4);
}

.rs-floating-call-btn i {
    font-size: 1.25rem;
    flex-shrink: 0;
    width: 20px;
    text-align: center;
    transition: transform 0.35s ease;
    animation: phoneRingtone 3.6s infinite ease-in-out;
}

.rs-floating-whatsapp-btn i {
    font-size: 1.48rem;
    flex-shrink: 0;
    width: 20px;
    text-align: center;
    transition: transform 0.35s ease;
    animation: waHeartbeat 3.6s infinite ease-in-out;
}

@keyframes phoneRingtone {

    0%,
    85%,
    100% {
        transform: scale(1) rotate(0deg);
    }

    88% {
        transform: scale(1.22) rotate(-14deg);
    }

    91% {
        transform: scale(1.12) rotate(14deg);
    }

    94% {
        transform: scale(1.2) rotate(-10deg);
    }

    97% {
        transform: scale(1.08) rotate(6deg);
    }
}

@keyframes waHeartbeat {

    0%,
    85%,
    100% {
        transform: scale(1) rotate(0deg);
    }

    88% {
        transform: scale(1.22) rotate(-8deg);
    }

    92% {
        transform: scale(1.08) rotate(6deg);
    }

    95% {
        transform: scale(1.18) rotate(-4deg);
    }
}

.rs-floating-call-btn span,
.rs-floating-whatsapp-btn span {
    max-width: 0;
    opacity: 0;
    visibility: hidden;
    margin-left: 0;
    transition: max-width 0.4s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.3s ease, margin-left 0.35s ease;
}

/* Hover State - Smooth Expansion to Pill */
.rs-floating-call-btn:hover {
    width: 140px;
    background: linear-gradient(135deg, #c21373 0%, #8f0e54 100%);
    box-shadow: 0 12px 30px rgba(194, 19, 115, 0.5);
    transform: translateY(-3px);
}

.rs-floating-whatsapp-btn:hover {
    width: 146px;
    background: linear-gradient(135deg, #128C7E 0%, #075E54 100%);
    box-shadow: 0 12px 30px rgba(37, 211, 102, 0.48);
    transform: translateY(-3px);
}

.rs-floating-call-btn:hover span,
.rs-floating-whatsapp-btn:hover span {
    max-width: 100px;
    opacity: 1;
    visibility: visible;
    margin-left: 10px;
}

.rs-floating-call-btn:hover i {
    animation: none;
    transform: scale(1.22) rotate(-14deg);
}

.rs-floating-whatsapp-btn:hover i {
    animation: none;
    transform: scale(1.22) rotate(-12deg);
}



/* ==========================================================================
   PERFORMANCE & RENDERING OPTIMIZATIONS
   ========================================================================== */
.rs-footer,
.rs-spa-reviews,
.rs-spa-gallery,
.rs-spa-treatments,
.rs-spa-conditions,
.rs-spa-faq,
.rs-spa-media-section {
    content-visibility: auto;
    contain-intrinsic-size: 1px 600px;
}

.photo-hero-panel,
.rs-btn,
.rs-card,
.rs-floating-call-btn,
.rs-floating-whatsapp-btn {
    transform: translateZ(0);
    backface-visibility: hidden;
}

/* Unified hero breadcrumb pill used across all inner pages */
.rs-hero-breadcrumb-tabs {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: wrap;
    width: fit-content;
    max-width: 100%;
    gap: 8px;
    margin: 0 0 26px;
    padding: 8px 15px;
    border: 1px solid rgba(48, 48, 161, 0.18);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.72);
    box-shadow: 0 10px 24px rgba(48, 48, 161, 0.08);
    color: #737385;
    font-size: 0.92rem;
    font-weight: 700;
    line-height: 1.2;
}

.rs-hero-breadcrumb-tabs a {
    color: var(--color-blue-primary, #3030A1);
    text-decoration: none;
    transition: color 0.2s ease;
}

.rs-hero-breadcrumb-tabs a:hover {
    color: var(--color-blue-dark, #171735);
}

.rs-hero-breadcrumb-tabs i {
    color: rgba(48, 48, 161, 0.45);
    font-size: 0.72rem;
}

.rs-hero-breadcrumb-tabs span {
    color: var(--color-blue-primary, #3030A1);
}

/* Before & After page */
.rs-before-after-section {
    background:
        radial-gradient(circle at 8% 10%, rgba(42, 59, 83, 0.07), transparent 32%),
        radial-gradient(circle at 92% 18%, rgba(185, 111, 125, 0.10), transparent 28%),
        linear-gradient(180deg, #f5f7ff 0%, #ffffff 48%, #FBF8F5 100%);
}

.rs-before-after-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.rs-before-after-group {
    margin-top: 42px;
}

.rs-before-after-group:first-of-type {
    margin-top: 0;
}

.rs-before-after-group-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 18px;
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(42, 59, 83, 0.12);
}

.rs-before-after-group-head h3 {
    margin: 0;
    color: #2A3B53;
    font-size: clamp(1.55rem, 2.4vw, 2rem);
    font-weight: 900;
    line-height: 1.2;
}

.rs-before-after-group-head span {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 7px 13px;
    border-radius: 999px;
    background: #FAF1EB;
    color: #b96f7d;
    font-size: 0.78rem;
    font-weight: 900;
    line-height: 1;
}

.rs-before-after-card {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(232, 222, 211, 0.95);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 18px 44px rgba(42, 59, 83, 0.08);
    transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}

.rs-before-after-card:hover {
    transform: translateY(-5px);
    border-color: #F2D8CD;
    box-shadow: 0 24px 56px rgba(42, 59, 83, 0.12);
}

.rs-before-after-image-wrap {
    position: relative;
    display: block;
    width: 100%;
    height: 280px;
    margin: 0;
    padding: 0;
    border: 1px solid rgba(232, 222, 211, 0.95);
    overflow: hidden;
    background: #f5f7ff;
    cursor: pointer;
}

.rs-before-after-card:nth-child(3n + 1) .rs-before-after-image-wrap {
    height: 300px;
}

.rs-before-after-card:nth-child(3n + 2) .rs-before-after-image-wrap {
    height: 250px;
}

.rs-before-after-image-wrap::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(255, 255, 255, 0);
    transition: background 0.3s ease;
}

.rs-before-after-image-wrap img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.45s ease, filter 0.45s ease;
}

.rs-before-after-card:hover .rs-before-after-image-wrap img {
    transform: scale(1.04);
    filter: brightness(1.05);
}

.rs-before-after-card:hover .rs-before-after-image-wrap::after {
    background: rgba(255, 255, 255, 0.1);
}

.rs-before-after-image-wrap span {
    position: absolute;
    inset: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
    color: #b96f7d;
    font-size: 1.35rem;
    opacity: 0;
    transform: scale(0.84);
    transition: opacity 0.3s ease, transform 0.3s ease;
}

.rs-before-after-image-wrap span i {
    display: grid;
    place-items: center;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 12px 28px rgba(48, 48, 161, 0.16);
}

.rs-before-after-card:hover .rs-before-after-image-wrap span {
    opacity: 1;
    transform: scale(1);
}

.rs-before-after-pager {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 42px;
    padding-top: 22px;
    border-top: 1px solid rgba(42, 59, 83, 0.12);
}

.rs-before-after-pager a,
.rs-before-after-pager .is-disabled,
.rs-before-after-page-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 10px 18px;
    border-radius: 999px;
    font-size: 0.9rem;
    font-weight: 900;
    line-height: 1;
    text-decoration: none;
}

.rs-before-after-pager a {
    background: #2A3B53;
    color: #fff;
    box-shadow: 0 12px 26px rgba(42, 59, 83, 0.18);
    transition: transform 0.25s ease, background 0.25s ease, box-shadow 0.25s ease;
}

.rs-before-after-pager a:hover {
    background: #1A283C;
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 14px 30px rgba(48, 48, 161, 0.24);
}

.rs-before-after-page-jump {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.rs-before-after-page-jump a,
.rs-before-after-page-jump span {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border: 1px solid rgba(232, 222, 211, 0.95);
    border-radius: 50%;
    background: #fff;
    color: #2A3B53;
    font-size: 0.9rem;
    font-weight: 900;
    line-height: 1;
    text-decoration: none;
    transition: transform 0.25s ease, background 0.25s ease, color 0.25s ease, box-shadow 0.25s ease;
}

.rs-before-after-page-jump a:hover,
.rs-before-after-page-jump .is-active {
    background: #2A3B53;
    color: #fff;
    box-shadow: 0 10px 22px rgba(42, 59, 83, 0.16);
}

.rs-before-after-page-jump a:hover {
    transform: translateY(-2px);
}

.rs-before-after-pager .is-disabled {
    background: #eef1f8;
    color: #a3acc0;
    cursor: not-allowed;
}

.rs-before-after-page-count {
    border: 1px solid rgba(42, 59, 83, 0.12);
    background: #fff;
    color: #2A3B53;
}

.rs-before-after-hero+.rs-before-after-section,
.rs-shorts-hero+.rs-tv-radio-page-section {
    background:
        radial-gradient(circle at 8% 10%, rgba(42, 59, 83, 0.07), transparent 32%),
        radial-gradient(circle at 92% 18%, rgba(185, 111, 125, 0.10), transparent 28%),
        linear-gradient(180deg, #f5f7ff 0%, #ffffff 48%, #FBF8F5 100%) !important;
}





/* Blog listing page */
.rs-blogs-section {
    position: relative;
    isolation: isolate;
    background: #fff;
}

.rs-blogs-section .rs-container {
    position: relative;
    z-index: 1;
}

.rs-blogs-list {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.rs-blog-horizontal-card {
    position: relative;
    display: grid;
    grid-template-columns: minmax(250px, 350px) minmax(0, 1fr);
    align-items: stretch;
    overflow: hidden;
    border: 1px solid rgba(48, 48, 161, 0.1);
    border-radius: 8px;
    background:
        linear-gradient(90deg, rgba(255, 255, 255, 0.9) 0%, rgba(255, 255, 255, 0.96) 46%, rgba(255, 247, 251, 0.8) 100%),
        url("../images/blogs/blogs-background.png") right center / cover no-repeat,
        #fff;
    box-shadow: 0 18px 46px rgba(48, 48, 161, 0.075);
    transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease;
}

.rs-blog-horizontal-card::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 4px;
    background: #2a3b53;
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 0.35s ease;
    z-index: 2;
}

.rs-blog-horizontal-card:hover {
    transform: translateY(-6px);
    border-color: rgba(249, 174, 179, 0.22);
    box-shadow: 0 26px 64px rgba(48, 48, 161, 0.14);
}

.rs-blog-horizontal-card:hover::before {
    transform: scaleX(1);
}

.rs-blog-horizontal-media {
    position: relative;
    display: block;
    height: 260px;
    min-height: 260px;
    overflow: hidden;
    background: #f7f5fa;
    isolation: isolate;
}

.rs-blog-horizontal-media::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(13, 23, 61, 0) 46%, rgba(13, 23, 61, 0.58) 100%);
    z-index: 1;
    pointer-events: none;
}

.rs-blog-horizontal-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    filter: saturate(1.04) contrast(1.02);
    transition: transform 0.45s ease, filter 0.45s ease;
}

.rs-blog-horizontal-card:hover .rs-blog-horizontal-media img {
    transform: scale(1.055);
    filter: saturate(1.12) contrast(1.04);
}

.rs-blog-horizontal-content {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 30px 34px;
}

.rs-blog-horizontal-content::before {
    content: "";
    position: absolute;
    top: 30px;
    bottom: 30px;
    left: 0;
    width: 1px;
    background: linear-gradient(180deg, rgba(249, 174, 179, 0), rgba(249, 174, 179, 0.32), rgba(249, 174, 179, 0));
}

.rs-blog-meta-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px 14px;
    margin-bottom: 10px;
    color: #8993a8;
    font-size: 0.82rem;
    font-weight: 800;
}

.rs-blog-meta-row span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}

.rs-blog-meta-row i {
    color: #F9AEB3;
    font-size: 0.88rem;
}

.rs-blog-horizontal-content h2 {
    margin: 0 0 12px;
    color: var(--color-blue-primary, #3030A1);
    font-size: clamp(1.18rem, 1.72vw, 1.52rem);
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: 0;
}

.rs-blog-horizontal-content p {
    margin: 0 0 22px;
    color: #657086;
    font-size: 1rem;
    line-height: 1.72;
}

.rs-blog-read-more {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    align-self: flex-start;
    gap: 9px;
    min-height: 42px;
    padding: 11px 18px;
    border-radius: 999px;
    background: #2a3b53;
    color: #fff;
    font-size: 0.86rem;
    font-weight: 900;
    line-height: 1;
    text-decoration: none;
    box-shadow: 0 12px 28px rgba(249, 174, 179, 0.24);
    transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease;
}

.rs-blog-read-more:hover {
    color: #fff;
    background: #2a3b53;
    transform: translateY(-2px);
    box-shadow: 0 16px 34px rgba(48, 48, 161, 0.28);
}

.rs-blog-read-more i {
    font-size: 0.86rem;
}



/* PORTFOLIO-STYLE EDITORIAL HERO CAROUSEL */
:root {
    --hero-terracotta: #ba5d2c;
    --hero-terracotta-dark: #9d4a1f;
    --hero-terracotta-light: #c86c3a;
    --hero-dark-title: #171735;
    --hero-text-muted: #555565;
    --hero-bg-white: #ffffff;
}

/* Hero Kicker & Highlights */
.photo-hero-card-brand {
    background: #F5F2FF !important;
}

.photo-hero-kicker-wrap {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
}

.photo-hero-kicker-line {
    width: 32px;
    height: 2px;
    background-color: #F9AEB3;
    display: inline-block;
}

.highlight-pink {
    color: #F9AEB3 !important;
    font-weight: 700;
}

/* Collage Layout */
.photo-hero-collage-container {
    width: 100%;
    max-width: 580px;
    padding: 30px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}

.photo-hero-collage {
    display: flex;
    flex-direction: column;
    gap: 20px;
    width: 100%;
}

.photo-hero-collage-top {
    display: flex;
    gap: 20px;
    width: 100%;
}

.collage-img-wrap {
    position: relative;
    overflow: hidden;
    border-radius: 24px;
    box-shadow: 0 12px 30px rgba(48, 48, 161, 0.08);
    transition: transform 0.4s ease, box-shadow 0.4s ease;
}

.collage-img-wrap:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 36px rgba(249, 174, 179, 0.15);
}

.collage-img-wrap-1 {
    flex: 1.1;
    aspect-ratio: 1 / 1.15;
}

.collage-img-wrap-2 {
    flex: 0.9;
    aspect-ratio: 1 / 1.15;
    margin-top: 24px;
}

.collage-img-wrap-3 {
    width: 100%;
    aspect-ratio: 2.1 / 1;
}

.photo-hero-collage-bottom {
    position: relative;
    width: 100%;
}

.photo-hero-collage img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Floating Testimonial Review Badge */
.hero-patient-review-badge {
    position: absolute;
    bottom: -15px;
    left: 24px;
    background: rgba(255, 255, 255, 0.94);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(249, 174, 179, 0.15);
    border-radius: 18px;
    padding: 12px 20px;
    display: flex;
    align-items: center;
    gap: 14px;
    box-shadow: 0 15px 35px rgba(48, 48, 161, 0.12);
    z-index: 5;
    animation: floatingBadge 4s ease-in-out infinite;
}

.hero-patient-review-badge .patient-avatar {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid #F9AEB3;
}

.hero-patient-review-badge .patient-info {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.hero-patient-review-badge .patient-name {
    font-size: 0.88rem;
    font-weight: 800;
    color: #3030A1;
    line-height: 1.2;
    font-family: 'Plus Jakarta Sans', sans-serif;
}

.hero-patient-review-badge .patient-role {
    font-size: 0.72rem;
    font-weight: 600;
    color: #737385;
    line-height: 1.2;
}

.hero-patient-review-badge .patient-stars {
    display: flex;
    gap: 2px;
    margin-top: 2px;
}

.hero-patient-review-badge .patient-stars i {
    font-size: 0.75rem;
    color: #fbbf24;
}

@keyframes floatingBadge {
    0% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-6px);
    }

    100% {
        transform: translateY(0);
    }
}



/* ============================================================
   Slide 1-4: Full-bleed brand hero (hero images + overlay)
   ============================================================ */
.photo-hero-slide--fullbg .photo-hero-frame {
    position: relative;
    min-height: clamp(550px, 73vh, 720px);
    width: 100%;
    overflow: hidden;
}

/* Full-width background image */
.brand-hero-bg {
    position: absolute;
    inset: 0;
    z-index: 0;
}

.brand-hero-bg-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    display: block;
}

/* Solid soft overlay for the first hero slide */
.brand-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, #F2E8DE 0%, rgba(242, 232, 222, 0.97) 36%, rgba(242, 232, 222, 0.78) 58%, rgba(242, 232, 222, 0.32) 80%, rgba(242, 232, 222, 0.02) 100%);
}

/* Text panel sitting on top */
.brand-hero-content {
    position: relative;
    z-index: 2;
    max-width: 580px;
    padding: clamp(36px, 5vw, 72px) clamp(24px, 5vw, 80px);
    display: flex;
    flex-direction: column;
    gap: 0;
}



.brand-kicker {
    background: #FAF1EB !important;
    color: #c98e80 !important;
    border: 1px solid #F2D8CD !important;
    border-radius: 9999px !important;
    padding: 6px 18px !important;
    font-size: 0.76rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    display: inline-block !important;
}

/* Hero heading */
.brand-hero-title {
    margin: 0 0 14px;
    color: #20334E;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: clamp(2.55rem, 4.6vw, 4.05rem);
    font-weight: 700;
    line-height: 1.08;
    letter-spacing: -0.01em;
}

.brand-title-accent {
    color: #20334E;
    font-style: italic;
}

.brand-hero-title-pink {
    color: #20334E;
}

.brand-hero-title-blue {
    color: #20334E;
}

/* Descriptor text */
.brand-hero-text {
    margin: 0 0 24px;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: clamp(0.86rem, 1vw, 0.98rem);
    font-weight: 500;
    color: #55606E;
    line-height: 1.55;
    max-width: 460px;
}

/* Button overrides for the brand hero background */
.brand-btn-primary {
    background: #2A3B53 !important;
    color: #FFFFFF !important;
    border: none !important;
    border-radius: 9999px !important;
    font-weight: 700 !important;
    box-shadow: 0 8px 24px rgba(42, 59, 83, 0.28) !important;
}

.brand-btn-primary:hover {
    background: #1A283C !important;
    color: #ffffff !important;
    transform: translateY(-2px);
    box-shadow: 0 12px 28px rgba(42, 59, 83, 0.4) !important;
}

.brand-btn-outline {
    background: transparent !important;
    color: #20334E !important;
    border: 1.5px solid #20334E !important;
    border-radius: 9999px !important;
    box-shadow: none !important;
    font-weight: 600 !important;
}

.brand-btn-outline:hover {
    background: #2A3B53 !important;
    color: #ffffff !important;
    border-color: #2A3B53 !important;
}

/* Preloader entrance for the full-bleed brand hero slide */
.photo-hero-slide--fullbg .brand-hero-bg-img {
    opacity: 0;
    transform: scale(1.08);
    filter: blur(10px);
    will-change: opacity, transform, filter;
}

.photo-hero-slide--fullbg .hero-animate {
    opacity: 0;
    transform: translate3d(0, 28px, 0);
    filter: blur(10px);
    will-change: opacity, transform, filter;
}

.photo-hero.hero-entrance-active .swiper-slide-active.photo-hero-slide--fullbg .brand-hero-bg-img {
    animation: brandHeroBgReveal 1.35s cubic-bezier(0.16, 1, 0.3, 1) both;
}

.photo-hero.hero-entrance-active .swiper-slide-active.photo-hero-slide--fullbg .photo-hero-frame {
    animation: modernShutterExpand 1.3s cubic-bezier(0.85, 0, 0.15, 1) both;
}

.photo-hero.hero-entrance-active .swiper-slide-active.photo-hero-slide--fullbg .brand-hero-content>.hero-animate:nth-child(1) {
    animation: brandHeroRise 0.9s cubic-bezier(0.16, 1, 0.3, 1) 0.12s both;
}

.photo-hero.hero-entrance-active .swiper-slide-active.photo-hero-slide--fullbg .brand-hero-content>.hero-animate:nth-child(2) {
    animation: brandHeroRise 0.9s cubic-bezier(0.16, 1, 0.3, 1) 0.24s both;
}

.photo-hero.hero-entrance-active .swiper-slide-active.photo-hero-slide--fullbg .brand-hero-content>.hero-animate:nth-child(3) {
    animation: brandHeroRise 0.9s cubic-bezier(0.16, 1, 0.3, 1) 0.36s both;
}

.photo-hero.hero-entrance-active .swiper-slide-active.photo-hero-slide--fullbg .brand-hero-content>.hero-animate:nth-child(4) {
    animation: brandHeroRise 0.9s cubic-bezier(0.16, 1, 0.3, 1) 0.48s both;
}

/* Mobile: full overlay on narrow screens */


@keyframes brandHeroBgReveal {
    0% {
        opacity: 0;
        transform: scale(1.08);
        filter: blur(12px);
    }

    100% {
        opacity: 1;
        transform: scale(1);
        filter: blur(0);
    }
}

@keyframes brandHeroRise {
    0% {
        opacity: 0;
        transform: translate3d(0, 28px, 0);
        filter: blur(10px);
    }

    100% {
        opacity: 1;
        transform: translate3d(0, 0, 0);
        filter: blur(0);
    }
}

.photo-hero-slide--image-bg .photo-hero-frame {
    min-height: clamp(550px, 73vh, 720px);
    width: 100%;
    background: #F2E8DE;
}

.photo-hero-slide--image-bg .brand-hero-bg-img {
    opacity: 1 !important;
    object-fit: cover !important;
    object-position: center center !important;
    filter: none !important;
}

.photo-hero-slide--image-bg .photo-hero-image-overlay {
    background: linear-gradient(90deg, #F2E8DE 0%, rgba(242, 232, 222, 0.97) 36%, rgba(242, 232, 222, 0.78) 58%, rgba(242, 232, 222, 0.32) 80%, rgba(242, 232, 222, 0.02) 100%);
}

.photo-hero-slide--image-bg .brand-hero-content {
    max-width: min(74vw, 940px);
}

.photo-hero-slide--image-bg .brand-hero-title {
    font-size: clamp(2.55rem, 4.6vw, 4.05rem);
    max-width: min(68vw, 860px);
}

.photo-hero-slide--image-bg .brand-hero-text {
    max-width: 460px;
}

.photo-hero-slide--hair-bg .brand-hero-bg-img {
    object-position: 68% top !important;
}

.photo-hero-slide--laser-bg .brand-hero-bg-img {
    object-position: 60% top !important;
}

.photo-hero-slide--skin-bg .brand-hero-bg-img {
    object-position: 68% top !important;
}



.photo-hero {
    /* min-height: clamp(640px, 86vh, 840px); */
    padding: 0;
    margin: 0;
    position: relative;
    display: flex;
    align-items: center;
    overflow: hidden;
    background: linear-gradient(135deg, #FAF1EB 0%, #F5DDD4 50%, #EFCFC2 100%);
}

.photo-hero-slider {
    width: 100%;
    min-height: inherit;
    margin: 0;
    padding: 0;
    overflow: hidden;
}

.photo-hero-slide {
    height: auto;
}

.photo-hero-frame {
    /* min-height: clamp(440px, 86vh, 840px); */
    width: 100%;
    padding: 0;
    margin: 0;
    position: relative;
    background: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
}

.photo-hero-card {
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0;
    background: linear-gradient(135deg, #FAF1EB 0%, #F5DDD4 50%, #EFCFC2 100%);
    box-shadow: none;
    overflow: hidden;
    border-radius: 0px;
    position: relative;
    isolation: isolate;
}



.photo-hero-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(120deg, rgba(255, 255, 255, 0.22) 0%, rgba(255, 244, 250, 0.14) 50%, rgba(238, 241, 255, 0.18) 100%),
        url('../images/hero-background-4.png') center bottom / cover no-repeat;
    background-position: center bottom;
    background-size: cover;
    z-index: 0;
}

.photo-hero-card>[class*="col-"] {
    position: relative;
    z-index: 1;
}

/* Left Feature Box (Terracotta Panel) */
.photo-hero-feature {
    height: 100%;
    min-height: clamp(585px, 78vh, 760px);
    margin: 0;
    padding: 0;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: center;
    overflow: hidden;
    background: transparent;
}

.photo-hero-feature::before {
    content: none;
}

.swiper-slide-active .photo-hero-feature::before {
    animation: none;
}

@keyframes photoBgEnlarge {
    0% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.16);
    }

    100% {
        transform: scale(1.04);
    }
}

.photo-hero-feature-inner {
    position: relative;
    width: 100%;
    height: 100%;
    min-height: inherit;
    display: flex;
    align-items: flex-end;
    justify-content: center;
}

/* Inner white line frame overlay around the image */
.photo-hero-line-frame {
    display: none;
}

.photo-hero-feature img {
    width: 100%;
    height: 100%;
    min-height: clamp(560px, 76vh, 720px);
    display: block;
    object-fit: cover;
    object-position: center bottom;
    position: relative;
    z-index: 1;
    transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
    will-change: transform;
    transform-origin: center center;
    opacity: 0;
    transform: scale(1.04);
}



/* Shift lady portraits left on Slides 2–4 using width+left (object-position alone has no
   horizontal effect when object-fit:cover fills the container exactly). */
.photo-hero-feature img[src*="lady-2.png"] {
    width: 110% !important;
    max-width: none !important;
    left: -5% !important;
    object-position: center 10% !important;
}

.photo-hero-feature img[src*="lady-3.png"] {
    width: 100% !important;
    max-width: none !important;
    left: -2% !important;
    object-position: 46% center !important;
    position: relative !important;
}

.photo-hero-feature img[src*="lady-4.png"] {
    object-position: center 25% !important;
    top: 8px !important;
}



/* Mobile View Only: Adjust portrait framing to prevent hair and head cutting */


.swiper-slide-active .photo-hero-feature img,
.swiper-slide-active .photo-hero-feature-inner img {
    animation: heroFadeIn 1s ease-out both, photoZoomPulse 6s ease-in-out 1.1s infinite alternate !important;
}

.photo-hero-feature img {
    opacity: 0;
    transform: scale(1.08);
}

.photo-hero-feature:hover img {
    animation-play-state: paused;
}

@keyframes heroFadeIn {
    0% {
        opacity: 0;
        transform: scale(1.12);
        filter: blur(6px);
    }

    100% {
        opacity: 1;
        transform: scale(1);
        filter: blur(0);
    }
}

@keyframes photoZoomPulse {
    0% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.05);
    }

    100% {
        transform: scale(1);
    }
}

/* Active Slide Portrait Fade-In */
@keyframes modernPortraitFloatZoom {
    0% {
        opacity: 0;
        transform: scale(1.1);
        filter: blur(4px);
    }

    100% {
        opacity: 1;
        transform: scale(1);
        filter: blur(0);
    }
}

/* Top-right circular badge stamp */
.photo-hero-badge {
    position: absolute;
    top: 24px;
    right: 24px;
    left: auto;
    z-index: 4;
    width: 80px;
    height: 80px;
    animation: rotateBadge 25s linear infinite;
    pointer-events: none;
    overflow: visible;
}

.photo-hero-badge svg {
    width: 100%;
    height: 100%;
    overflow: visible;
}

.photo-hero-badge svg text {
    font-family: var(--font-subheading) !important;
    font-weight: 700 !important;
    letter-spacing: 0.15em !important;
}

@keyframes rotateBadge {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

/* Bottom PORTFOLIOS Caption with Lines */
.photo-hero-caption {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 12px;
    z-index: 4;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 20px;
    width: 100%;
}

.caption-line {
    flex: 1;
    height: 2px;
    background: linear-gradient(90deg, transparent 0%, rgba(185, 111, 125, 0.4) 50%, transparent 100%);
}

.caption-text {
    padding: 14px 38px;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.96) 0%, rgba(253, 246, 242, 0.96) 100%);
    color: #20334E;
    border: 2.5px solid rgba(185, 111, 125, 0.4);
    border-radius: 50px;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    box-shadow: 0 12px 30px rgba(50, 65, 85, 0.12), 0 6px 16px rgba(185, 111, 125, 0.14);
    font-family: var(--font-heading, 'Outfit', sans-serif);
    font-size: clamp(1.4rem, 2.5vw, 2.1rem);
    font-weight: 800;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    white-space: nowrap;
    position: relative;
    top: 0;
    transition: all 0.3s ease;
}

.caption-text:hover {
    color: #b96f7d;
    border-color: #b96f7d;
    transform: translateY(-2px);
    box-shadow: 0 14px 30px rgba(185, 111, 125, 0.25);
}

/* Right Content Panel with hero-background.png Background and Zoom Animation */
.photo-hero-panel {
    height: 100%;
    min-height: clamp(550px, 75vh, 700px);
    padding: clamp(20px, 2.8vw, 38px) clamp(24px, 4vw, 72px) clamp(20px, 2.8vw, 38px) clamp(36px, 6vw, 100px);
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
    overflow: hidden;
}

.photo-hero-panel::before,
.swiper-slide-active .photo-hero-panel::before {
    content: none;
}

.photo-hero-panel>* {
    position: relative;
    z-index: 2;
}

.photo-hero-kicker {
    display: inline-block;
    margin-bottom: 10px;
    background: #FAF1EB !important;
    color: #b96f7d !important;
    border: 1px solid #F2D8CD !important;
    border-radius: 9999px !important;
    padding: 6px 18px !important;
    font-family: "Outfit", "Plus Jakarta Sans", sans-serif;
    font-size: 0.76rem !important;
    font-style: normal;
    font-weight: 700 !important;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    line-height: 1;
    width: fit-content;
}

.photo-hero-title {
    max-width: 740px;
    margin: 0 0 12px;
    color: #20334E;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: clamp(2.3rem, 3.8vw, 3.45rem);
    font-weight: 700;
    line-height: 1.14;
    letter-spacing: -0.01em;
    padding-bottom: 0.1em;
    overflow: visible;
}

.photo-hero-panel .photo-hero-title {
    font-size: clamp(2.55rem, 4.6vw, 4.05rem);
    line-height: 1.12;
    margin-bottom: 14px;
    color: #20334E;
}

.photo-hero-text {
    max-width: 620px;
    margin: 0 0 26px;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: clamp(0.92rem, 1.08vw, 1.05rem);
    font-weight: 500;
    color: #55606E;
    line-height: 1.6;
    letter-spacing: 0.01em;
}

/* 3-Grid Images in 1 Single Horizontal Row & Mini Slider */
.photo-hero-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    max-width: 680px;
    width: 100%;
    margin-bottom: 30px;
}

.photo-hero-mini-slider {
    position: relative;
    max-width: 560px;
    width: 100%;
    margin-bottom: 18px;
    overflow: hidden;
    padding: 3px 2px 10px 2px;
}

.photo-hero-mini-slider.swiper {
    overflow: hidden;
}

.photo-hero-mini-slide {
    height: auto;
    display: flex;
    box-sizing: border-box;
}

.photo-hero-grid-item {
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 8px 20px rgba(44, 37, 35, 0.08);
    transition: box-shadow 0.6s cubic-bezier(0.25, 1, 0.5, 1);
    display: block;
    text-decoration: none;
}

.photo-hero-grid-item img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center;
    cursor: pointer;
    transform: scale(1);
    transition: transform 0.65s cubic-bezier(0.25, 1, 0.5, 1);
    will-change: transform;
}

/* ONLY inner image zooms on hover smoothly, outer image box stays fixed */
.photo-hero-grid-item:hover img {
    transform: scale(1.12);
}

.photo-hero-grid-item:hover {
    box-shadow: 0 16px 36px rgba(185, 111, 125, 0.2);
}

.photo-hero-grid-label {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 24px 10px 12px;
    background: linear-gradient(to top, rgba(15, 23, 42, 0.88) 0%, rgba(15, 23, 42, 0.45) 70%, rgba(15, 23, 42, 0) 100%);
    color: #ffffff;
    font-family: "Outfit", "Plus Jakarta Sans", sans-serif;
    font-size: clamp(0.9rem, 1.1vw, 1.06rem);
    font-weight: 700;
    text-align: center;
    letter-spacing: 0.03em;
    z-index: 2;
    pointer-events: none;
    line-height: 1.25;
    transition: background 0.4s ease, color 0.3s ease;
}

.photo-hero-grid-item:hover .photo-hero-grid-label {
    background: linear-gradient(to top, rgba(42, 59, 83, 0.92) 0%, rgba(42, 59, 83, 0.45) 65%, rgba(42, 59, 83, 0) 100%);
    color: #ffffff;
}

/* Action Buttons */
.photo-hero-actions {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
}

.photo-hero-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 16px 42px;
    background: #2A3B53;
    color: #ffffff !important;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.88rem;
    font-weight: 700;
    letter-spacing: 1.2px;
    text-transform: none;
    border-radius: 50px;
    text-decoration: none;
    transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
    box-shadow: 0 10px 25px rgba(42, 59, 83, 0.28);
}

.photo-hero-btn:hover {
    background: #1A283C;
    transform: translateY(-3px) scale(1.02);
    box-shadow: 0 14px 30px rgba(42, 59, 83, 0.4);
    color: #ffffff !important;
}

.photo-hero-link {
    color: #20334E !important;
    font-family: "Outfit", sans-serif;
    font-size: 0.98rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    text-decoration: none;
    border-bottom: none !important;
    padding-bottom: 2px;
    transition: all 0.25s ease;
}

.photo-hero-link:hover {
    color: #b96f7d !important;
    transform: translateX(3px);
}

/* Swiper Controls */
.photo-hero-arrow {
    position: absolute;
    top: 50%;
    z-index: 8;
    width: 46px;
    height: 46px;
    border: 1px solid rgba(42, 59, 83, 0.2);
    border-radius: 50%;
    background: #ffffff;
    color: #2A3B53;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 10px 24px rgba(50, 65, 85, 0.08);
    transform: translateY(-50%);
    transition: background 0.3s ease, color 0.3s ease, transform 0.3s ease, border-color 0.3s ease;
}

.photo-hero-arrow i {
    color: #2A3B53;
    font-size: 1.05rem;
    transition: color 0.3s ease;
}

.photo-hero-arrow:hover {
    background: #2A3B53;
    color: #ffffff;
    border-color: #2A3B53;
    transform: translateY(-50%) scale(1.06);
}

.photo-hero-arrow:hover i {
    color: #ffffff;
}

.photo-hero-prev {
    left: clamp(10px, 2vw, 30px);
}

.photo-hero-next {
    right: clamp(10px, 2vw, 30px);
}

.photo-hero-pagination {
    position: absolute;
    left: 50%;
    bottom: 18px;
    z-index: 8;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    transform: translateX(-50%);
}

.photo-hero-pagination .swiper-pagination-bullet {
    width: 10px;
    height: 10px;
    margin: 0;
    border-radius: 999px;
    background: rgba(42, 59, 83, 0.25);
    opacity: 1;
    transition: width 0.25s ease, background 0.25s ease;
}

.photo-hero-pagination .swiper-pagination-bullet-active {
    width: 32px;
    background: #2A3B53;
}

/* Ultra-Modern Camera Shutter & 3D Prism Depth Reveal Keyframes */
@keyframes modernShutterExpand {
    0% {
        opacity: 0;
        clip-path: inset(0 50% 0 50% round 40px);
        transform: scale(0.94) translate3d(0, 20px, 0);
        filter: blur(14px);
    }

    60% {
        opacity: 1;
        filter: blur(0);
    }

    100% {
        opacity: 1;
        clip-path: inset(0 0% 0 0% round 0px);
        transform: scale(1) translate3d(0, 0, 0);
        filter: blur(0);
    }
}

@keyframes modernPortraitFloatZoom {
    0% {
        opacity: 0;
        filter: blur(6px);
        transform: scale(1.04);
    }

    100% {
        opacity: 1;
        filter: blur(0);
        transform: scale(1);
    }
}

@keyframes modernLineFrameGlowDraw {
    0% {
        opacity: 0;
        inset: 40px 40px 72px 40px;
        border-color: rgba(185, 111, 125, 0.8);
        box-shadow: 0 0 25px rgba(185, 111, 125, 0.5);
    }

    100% {
        opacity: 1;
        inset: 20px 20px 52px 20px;
        border-color: rgba(255, 255, 255, 0.65);
        box-shadow: 0 0 0 transparent;
    }
}

/* Preloader One-Time Hero Entrance Shutter */
.photo-hero.is-preloader-entering .photo-hero-card {
    animation: modernShutterExpand 1.3s cubic-bezier(0.85, 0, 0.15, 1) both;
}

/* Inactive Slides: Reset state cleanly */
.photo-hero-slide:not(.swiper-slide-active) .photo-hero-kicker,
.photo-hero-slide:not(.swiper-slide-active) .photo-hero-text,
.photo-hero-slide:not(.swiper-slide-active) .photo-hero-title-char,
.photo-hero-slide:not(.swiper-slide-active) .photo-hero-grid,
.photo-hero-slide:not(.swiper-slide-active) .photo-hero-mini-slider,
.photo-hero-slide:not(.swiper-slide-active) .photo-hero-actions,
.photo-hero-slide:not(.swiper-slide-active) .photo-hero-line-frame,
.photo-hero-slide:not(.swiper-slide-active) .photo-hero-feature-inner img {
    opacity: 0 !important;
    animation: none !important;
}

/* Active Slide Portrait Image: Fade-in + Zoom In/Out Breathing */
.swiper-slide-active .photo-hero-feature-inner img {
    animation: heroFadeIn 1s ease-out both, photoZoomPulse 6s ease-in-out 1.1s infinite alternate !important;
}

.swiper-slide-active .photo-hero-line-frame {
    animation: modernLineFrameGlowDraw 1.2s cubic-bezier(0.16, 1, 0.3, 1) 0.2s both !important;
}

/* Editorial Kinetic Masked Text Reveal */
.photo-hero-kicker,
.photo-hero-title,
.photo-hero-text,
.photo-hero-grid,
.photo-hero-actions {
    opacity: 0;
    will-change: transform, opacity, filter;
}

/* Kicker Tag Character Tracking Reveal */
.swiper-slide-active .photo-hero-kicker {
    animation: modernKickerExpand 0.9s cubic-bezier(0.16, 1, 0.3, 1) 0.15s forwards !important;
}

.swiper-slide-active .photo-hero-text {
    animation: modernKickerExpand 0.9s cubic-bezier(0.16, 1, 0.3, 1) 0.25s forwards !important;
}

/* Kinetic Title Character Reveal */
.photo-hero-title-line {
    display: block;
    overflow: visible;
    padding-bottom: 0.25em;
    margin-bottom: -0.25em;
}

.photo-hero-title-line:nth-child(1) {
    color: #20334E;
}

.photo-hero-title-line:nth-child(2) {
    color: #20334E;
}

.photo-hero-title-word {
    display: inline-block;
    white-space: nowrap;
    overflow: visible;
    padding-bottom: 0.25em;
    margin-bottom: -0.25em;
}

.photo-hero-title-char {
    display: inline-block;
    vertical-align: baseline;
    overflow: visible;
    padding-bottom: 0.25em;
    margin-bottom: -0.25em;
}

.swiper-slide-active .photo-hero-title {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
}

.swiper-slide-active .photo-hero-title-line,
.swiper-slide-active .photo-hero-title-word {
    opacity: 1 !important;
    animation: none !important;
    transform: none !important;
    filter: none !important;
}

.swiper-slide-active .photo-hero-title-char {
    opacity: 0;
    animation: modernKineticCharPop 0.54s cubic-bezier(0.16, 1, 0.3, 1) both !important;
    animation-delay: calc(0.18s + (var(--hero-char-index, 0) * 0.016s)) !important;
}

@keyframes modernKickerExpand {
    0% {
        opacity: 0;
        letter-spacing: 0.4em;
        transform: translate3d(-30px, 0, 0);
        filter: blur(8px);
    }

    100% {
        opacity: 1;
        letter-spacing: 0.16em;
        transform: translate3d(0, 0, 0);
        filter: blur(0);
    }
}

@keyframes modernKineticCharPop {
    0% {
        opacity: 0;
        transform: translate3d(0, 1em, 0) rotate(8deg) scale(0.8);
        filter: blur(8px);
    }

    70% {
        opacity: 1;
        transform: translate3d(0, -0.06em, 0) rotate(-1deg) scale(1.04);
        filter: blur(0);
    }

    100% {
        opacity: 1;
        transform: translate3d(0, 0, 0) rotate(0deg) scale(1);
        filter: blur(0);
    }
}

/* 3D Floating Prism Cards Grid & Mini Slider Reveal */
.swiper-slide-active .photo-hero-grid,
.swiper-slide-active .photo-hero-mini-slider {
    animation: photoGridFade 0.5s ease 0.35s forwards !important;
}

.photo-hero-grid-item {
    opacity: 1;
    transform: none;
    filter: none;
}

.photo-hero-grid>.photo-hero-grid-item {
    opacity: 0;
    transform: perspective(1000px) rotateY(-20deg) rotateX(25deg) translate3d(0, 40px, -40px);
    filter: blur(8px);
}

.swiper-slide-active .photo-hero-grid>.photo-hero-grid-item:nth-child(1) {
    animation: modernPrismCardFlip 0.9s cubic-bezier(0.16, 1, 0.3, 1) 0.42s forwards !important;
}

.swiper-slide-active .photo-hero-grid>.photo-hero-grid-item:nth-child(2) {
    animation: modernPrismCardFlip 0.9s cubic-bezier(0.16, 1, 0.3, 1) 0.54s forwards !important;
}

.swiper-slide-active .photo-hero-grid>.photo-hero-grid-item:nth-child(3) {
    animation: modernPrismCardFlip 0.9s cubic-bezier(0.16, 1, 0.3, 1) 0.66s forwards !important;
}

/* Action Buttons Glow Entrance */
.swiper-slide-active .photo-hero-actions {
    animation: modernActionsPulse 0.95s cubic-bezier(0.16, 1, 0.3, 1) 0.78s forwards !important;
}

/* Keyframes for Modern Prism & Actions Effects */
@keyframes modernPrismCardFlip {
    0% {
        opacity: 0;
        transform: perspective(1000px) rotateY(-20deg) rotateX(25deg) translate3d(0, 40px, -40px);
        filter: blur(8px);
    }

    100% {
        opacity: 1;
        transform: perspective(1000px) rotateY(0deg) rotateX(0deg) translate3d(0, 0, 0);
        filter: blur(0);
    }
}

@keyframes modernActionsPulse {
    0% {
        opacity: 0;
        transform: translate3d(0, 30px, 0) scale(0.92);
        filter: blur(8px);
    }

    70% {
        opacity: 1;
        transform: translate3d(0, -3px, 0) scale(1.02);
    }

    100% {
        opacity: 1;
        transform: translate3d(0, 0, 0) scale(1);
        filter: blur(0);
    }
}

/* Cinematic Keyframes */
@keyframes photoCinematicKicker {
    0% {
        opacity: 0;
        transform: translate3d(-30px, 0, 0);
        filter: blur(6px);
    }

    100% {
        opacity: 1;
        transform: translate3d(0, 0, 0);
        filter: blur(0);
    }
}

@keyframes photoCinematicTitle {
    0% {
        opacity: 0;
        transform: perspective(600px) rotateX(16deg) translate3d(0, 32px, 0);
        filter: blur(10px);
    }

    100% {
        opacity: 1;
        transform: perspective(600px) rotateX(0deg) translate3d(0, 0, 0);
        filter: blur(0);
    }
}

@keyframes photoCinematicGrid {
    0% {
        opacity: 0;
        transform: translate3d(0, 24px, 0);
        filter: blur(6px);
    }

    100% {
        opacity: 1;
        transform: translate3d(0, 0, 0);
        filter: blur(0);
    }
}

@keyframes photoCinematicActions {
    0% {
        opacity: 0;
        transform: translate3d(0, 20px, 0) scale(0.96);
    }

    100% {
        opacity: 1;
        transform: translate3d(0, 0, 0) scale(1);
    }
}

@keyframes photoGridFade {
    to {
        opacity: 1;
    }
}

/* Category Filter Pill Active & Hover #2A3B53 */
.rs-treat-filter-btn:hover,
.rs-treat-filter-btn.active,
.rs-cond-tab-btn:hover,
.rs-cond-tab-btn.active {
    background: #b96f7d !important;
    background-color: #b96f7d !important;
    color: #ffffff !important;
    border-color: #b96f7d !important;
    box-shadow: 0 8px 24px rgba(42, 59, 83, 0.28) !important;
}

.rs-treat-filter-btn:hover i,
.rs-treat-filter-btn.active i,
.rs-cond-tab-btn:hover i,
.rs-cond-tab-btn.active i {
    color: #ffffff !important;
}

/* About Clinic page palette refresh */
.rs-about-showcase-clinic+#about-clinic {
    background: #FFFFFF !important;
    background-color: #FFFFFF !important;
}

.rs-about-showcase-clinic+#about-clinic .rs-about-container {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
}

.rs-about-showcase-clinic+#about-clinic .rs-about-img-wrap {
    border-radius: 20px !important;
    overflow: hidden !important;
    border: 1px solid rgba(185, 111, 125, 0.22) !important;
    box-shadow: 0 16px 40px rgba(42, 59, 83, 0.10) !important;
}

.rs-about-showcase-clinic+#about-clinic .rs-spa-section-title h2,
#about-clinic+.rs-about-highlight-section .rs-spa-section-title h2,
#about-clinic+.rs-about-highlight-section .rs-about-card h3,
#about-clinic+.rs-about-highlight-section .rs-about-hours-item strong,
#about-clinic+.rs-about-highlight-section .rs-about-location-item strong {
    color: #2A3B53 !important;
}

#about-clinic+.rs-about-highlight-section .rs-spa-section-title p,
#about-clinic+.rs-about-highlight-section .rs-about-card p,
#about-clinic+.rs-about-highlight-section .rs-about-hours-item span,
#about-clinic+.rs-about-highlight-section .rs-about-location-item span {
    color: #4A5568 !important;
}

.rs-about-showcase-clinic+#about-clinic .rs-about-subtitle {
    color: #b96f7d !important;
}

.rs-about-showcase-clinic+#about-clinic .rs-about-text p {
    color: #2F3E52 !important;
}

.rs-about-showcase-clinic+#about-clinic .rs-about-text strong {
    color: #2A3B53 !important;
}

#about-clinic+.rs-about-highlight-section {
    background: #f5f7ff !important;
    background-color: #f5f7ff !important;
}

#about-clinic+.rs-about-highlight-section .rs-about-card-grid {
    border-color: rgba(42, 59, 83, 0.14) !important;
}

#about-clinic+.rs-about-highlight-section .rs-spa-section-title>span {
    background: #b96f7d !important;
}

#about-clinic+.rs-about-highlight-section .rs-about-card {
    border-bottom-color: rgba(42, 59, 83, 0.12) !important;
}

#about-clinic+.rs-about-highlight-section .rs-about-card i {
    color: #2A3B53 !important;
    background: #FAF1EB !important;
    border-color: #F2D8CD !important;
    box-shadow: 0 12px 26px rgba(42, 59, 83, 0.09) !important;
}

#about-clinic+.rs-about-highlight-section .rs-about-card h3::after {
    background: linear-gradient(90deg, #b96f7d 0%, rgba(42, 59, 83, 0.18) 100%) !important;
}

#about-clinic+.rs-about-highlight-section .rs-about-hours-item,
#about-clinic+.rs-about-highlight-section .rs-about-location-item {
    border-bottom-color: rgba(185, 111, 125, 0.18) !important;
}

#about-clinic+.rs-about-highlight-section .rs-about-hours-item em {
    color: #b96f7d !important;
}

/* About Clinic all sections color lock */
.rs-about-showcase-clinic,
.rs-about-showcase-clinic~section {
    color: #2F3E52 !important;
}

.rs-about-showcase-clinic~section h1,
.rs-about-showcase-clinic~section h2,
.rs-about-showcase-clinic~section h3,
.rs-about-showcase-clinic~section h4,
.rs-about-showcase-clinic~section strong {
    color: #2A3B53 !important;
}

.rs-about-showcase-clinic~section p,
.rs-about-showcase-clinic~section span,
.rs-about-showcase-clinic~section li,
.rs-about-showcase-clinic~section em {
    color: #4A5568 !important;
}

.rs-about-showcase-clinic~section .rs-about-subtitle,
.rs-about-showcase-clinic~section em {
    color: #b96f7d !important;
}

.rs-about-showcase-clinic~section .rs-spa-section-title>span,
.rs-about-showcase-clinic~section .rs-about-divider,
.rs-about-showcase-clinic~section .rs-about-card h3::after {
    background: #b96f7d !important;
    background-color: #b96f7d !important;
}

.rs-about-showcase-clinic~section .rs-about-card,
.rs-about-showcase-clinic~section .rs-about-container,
.rs-about-showcase-clinic~section .rs-about-img-wrap,
.rs-about-showcase-clinic~section .rs-about-hours-item,
.rs-about-showcase-clinic~section .rs-about-location-item {
    border-color: rgba(232, 222, 211, 0.95) !important;
}

.rs-about-showcase-clinic~section .rs-about-card i {
    color: #2A3B53 !important;
    background: #FAF1EB !important;
    border-color: #F2D8CD !important;
}

.rs-about-showcase-clinic~section .rs-about-btn,
.rs-about-showcase-clinic~section .rs-about-btn:visited {
    background: #2A3B53 !important;
    border-color: #2A3B53 !important;
    color: #ffffff !important;
    box-shadow: 0 10px 26px rgba(42, 59, 83, 0.24) !important;
}

.rs-about-showcase-clinic~section .rs-about-btn:hover {
    background: #1A283C !important;
    border-color: #1A283C !important;
    color: #ffffff !important;
}

/* About Doctor qualifications and memberships palette refresh */
.rs-doctor-credentials-section,
.rs-doctor-certificates-section,
.rs-doctor-affiliations-section {
    background:
        radial-gradient(circle at 10% 8%, rgba(42, 59, 83, 0.08), transparent 22%),
        radial-gradient(circle at 92% 14%, rgba(185, 111, 125, 0.12), transparent 18%),
        linear-gradient(135deg, #f5f7ff 0%, #ffffff 48%, #FBF8F5 100%) !important;
}

.rs-doctor-credentials-section::before,
.rs-doctor-affiliations-section::before {
    background-image: radial-gradient(circle, rgba(185, 111, 125, 0.22) 0 2px, transparent 3px) !important;
    opacity: 0.45 !important;
}

.rs-doctor-credentials-section::after,
.rs-doctor-affiliations-section::after {
    background:
        repeating-radial-gradient(ellipse at 70% 100%, transparent 0 13px, rgba(42, 59, 83, 0.08) 14px 15px, transparent 16px 29px),
        radial-gradient(ellipse at 18% 100%, rgba(185, 111, 125, 0.10), transparent 48%) !important;
}

.rs-doctor-credentials-title span,
.rs-doctor-credentials-section .rs-spa-section-title h2,
.rs-doctor-certificates-section .rs-spa-section-title h2,
.rs-doctor-affiliations-section .rs-spa-section-title h2,
.rs-doctor-credentials-section .rs-doctor-credential-card h3,
.rs-doctor-credentials-section .rs-doctor-credential-card:nth-child(2n) h3,
.rs-doctor-affiliations-section .rs-doctor-affiliation-card h3,
.rs-doctor-affiliations-section .rs-doctor-affiliation-card:nth-child(2) h3,
.rs-doctor-affiliations-section .rs-doctor-affiliation-card strong {
    color: #2A3B53 !important;
}

.rs-doctor-credentials-section .rs-spa-section-title p,
.rs-doctor-credentials-section .rs-doctor-credential-card p,
.rs-doctor-affiliations-section .rs-spa-section-title p,
.rs-doctor-affiliations-section .rs-doctor-affiliation-card p,
.rs-doctor-affiliations-section .rs-doctor-affiliation-card ul,
.rs-doctor-affiliations-section .rs-doctor-affiliation-card li {
    color: #4A5568 !important;
}

.rs-doctor-credentials-section .rs-spa-section-title>span,
.rs-doctor-certificates-section .rs-spa-section-title>span,
.rs-doctor-affiliations-section .rs-spa-section-title>span,
.rs-doctor-credentials-section .rs-doctor-credential-card h3::after,
.rs-doctor-affiliations-section .rs-doctor-affiliation-card h3::after,
.rs-doctor-affiliations-section .rs-spa-section-title>span::before {
    background: #b96f7d !important;
    background-color: #b96f7d !important;
}

.rs-doctor-credentials-section .rs-spa-section-title>span::before,
.rs-doctor-affiliations-section .rs-spa-section-title>span::before {
    background: #b96f7d !important;
}

.rs-doctor-credentials-section .rs-doctor-credential-card::after,
.rs-doctor-affiliations-section .rs-doctor-affiliation-card+.rs-doctor-affiliation-card {
    border-color: rgba(232, 222, 211, 0.95) !important;
}

.rs-doctor-credentials-section .rs-doctor-credential-card::after {
    background: linear-gradient(180deg, transparent 0%, rgba(42, 59, 83, 0.16) 14%, rgba(185, 111, 125, 0.16) 86%, transparent 100%) !important;
}

.rs-doctor-credentials-section .rs-doctor-credential-card i,
.rs-doctor-credentials-section .rs-doctor-credential-card:nth-child(2n) i,
.rs-doctor-credentials-section .rs-doctor-credential-card:nth-child(3) i,
.rs-doctor-affiliations-section .rs-doctor-affiliation-card i,
.rs-doctor-affiliations-section .rs-doctor-affiliation-card:nth-child(2) i {
    color: #2A3B53 !important;
    background:
        radial-gradient(circle, #ffffff 0 40%, transparent 41%),
        radial-gradient(circle, rgba(42, 59, 83, 0.08) 0 64%, transparent 65%),
        linear-gradient(135deg, #FAF1EB 0%, #ffffff 100%) !important;
    box-shadow: 0 18px 36px rgba(42, 59, 83, 0.09) !important;
}

.rs-doctor-credentials-section .rs-doctor-credential-card i::after,
.rs-doctor-credentials-section .rs-doctor-credential-card:nth-child(2n) i::after,
.rs-doctor-credentials-section .rs-doctor-credential-card:nth-child(3) i::after,
.rs-doctor-affiliations-section .rs-doctor-affiliation-card i::after,
.rs-doctor-affiliations-section .rs-doctor-affiliation-card:nth-child(2) i::after {
    border-left-color: #2A3B53 !important;
    border-top-color: #2A3B53 !important;
}

.rs-doctor-affiliations-section .rs-doctor-affiliation-card::before {
    background: linear-gradient(90deg, #b96f7d 0%, rgba(42, 59, 83, 0.75) 100%) !important;
}

.rs-doctor-affiliations-section .rs-doctor-affiliation-card::after,
.rs-doctor-affiliations-section .rs-doctor-affiliation-card:nth-child(2)::after {
    background: #2A3B53 !important;
    color: #ffffff !important;
    box-shadow: 0 12px 26px rgba(42, 59, 83, 0.18) !important;
}

.rs-doctor-affiliations-section .rs-doctor-affiliation-card:nth-child(2)::before {
    background: linear-gradient(90deg, #b96f7d 0%, rgba(42, 59, 83, 0.75) 100%) !important;
}

.rs-doctor-certificate-card {
    border-color: rgba(232, 222, 211, 0.95) !important;
    box-shadow: 0 18px 42px rgba(42, 59, 83, 0.09) !important;
}

/* About Clinic detail page: keep image on the left */
.rs-about-showcase-clinic+#about-clinic .rs-about-container {
    display: grid !important;
    grid-template-columns: minmax(320px, 460px) minmax(0, 1fr) !important;
    gap: clamp(36px, 5vw, 72px) !important;
    align-items: stretch !important;
}

.rs-about-showcase-clinic+#about-clinic .rs-about-left-col {
    display: flex !important;
    align-items: stretch !important;
}

.rs-about-showcase-clinic+#about-clinic .rs-img-left {
    width: 100% !important;
    height: auto !important;
    min-height: 100% !important;
}





/* ==========================================================================
   HOMEPAGE MODERN AESTHETIC REDESIGN (TASKS 1, 2, 3, 4)
   ========================================================================== */

/* --- Common Section Kicker Pill & Title Accent --- */
.rs-section-kicker-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.35rem 1.15rem;
    background: #FAF1EB;
    border: 1px solid #F2D8CD;
    border-radius: 9999px;
    color: #b96f7d;
    font-family: var(--font-subheading, 'Outfit', sans-serif);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    margin-bottom: 0.75rem;
    box-shadow: 0 4px 12px rgba(185, 111, 125, 0.08);
}

.rs-title-divider {
    width: 48px;
    height: 3px;
    background: linear-gradient(90deg, #b96f7d 0%, rgba(185, 111, 125, 0.25) 100%);
    border-radius: 3px;
    margin: 0.85rem auto 1.1rem auto;
}

/* ==========================================================================
   TASK 1: HERO CAROUSEL (Center Aligned Vertically & Horizontally, Mobile Responsive)
   ========================================================================== */
.photo-hero {
    position: relative !important;
    width: 100% !important;
    min-height: 88vh !important;
    overflow: hidden !important;
    background-color: #1A283C !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.photo-hero .photo-hero-slider {
    width: 100% !important;
    height: 100% !important;
    min-height: 88vh !important;
    margin: 0 !important;
    padding: 0 !important;
}

.photo-hero .swiper-wrapper {
    height: 100% !important;
    min-height: 88vh !important;
}

.photo-hero .photo-hero-slide {
    position: relative !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 88vh !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
}

.photo-hero .photo-hero-frame {
    position: relative !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 88vh !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: clamp(4.5rem, 8vw, 7.5rem) 1.5rem !important;
    box-sizing: border-box !important;
}

.photo-hero .brand-hero-bg {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    z-index: 1 !important;
    overflow: hidden !important;
}

.photo-hero .brand-hero-bg-img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
    animation: homeHeroBgZoomPulse 13s ease-in-out infinite !important;
    transform-origin: center center !important;
    will-change: transform !important;
    filter: brightness(0.92) contrast(1.04) !important;
}

@keyframes homeHeroBgZoomPulse {
    0% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.08);
    }

    100% {
        transform: scale(1);
    }
}

.photo-hero .brand-hero-content {
    position: relative !important;
    z-index: 5 !important;
    max-width: 980px !important;
    width: 100% !important;
    margin: 0 auto !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
}

.photo-hero .photo-hero-kicker-wrap {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-bottom: 1.25rem !important;
}

.photo-hero .photo-hero-kicker.brand-kicker {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
    padding: 0.45rem 1.35rem !important;
    background: rgba(250, 241, 235, 0.15) !important;
    border: 1px solid rgba(242, 216, 205, 0.4) !important;
    border-radius: 9999px !important;
    backdrop-filter: blur(10px) !important;
    color: #FAF1EB !important;
    font-family: var(--font-subheading, 'Outfit', sans-serif) !important;
    font-size: clamp(0.75rem, 1.2vw, 0.85rem) !important;
    font-weight: 700 !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.4) !important;
}

.photo-hero .photo-hero-kicker.brand-kicker i {
    color: #E8C1B2 !important;
    font-size: 0.9em !important;
}

.photo-hero .brand-hero-title {
    font-family: var(--font-heading, 'Cormorant Garamond', Georgia, serif) !important;
    font-size: clamp(2.3rem, 5.8vw, 4.4rem) !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
    color: #FFFFFF !important;
    letter-spacing: -0.015em !important;
    margin: 0 0 1.25rem 0 !important;
    text-align: center !important;
    text-shadow: 0 4px 25px rgba(0, 0, 0, 0.4) !important;
}

.photo-hero .brand-hero-title-pink {
    color: #F8D5C8 !important;
    background: linear-gradient(135deg, #FFFFFF 15%, #FAD7CB 60%, #E8A896 100%) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
}

.photo-hero .brand-hero-title-blue {
    color: #FFFFFF !important;
}

.photo-hero .brand-hero-text {
    font-family: var(--font-body, 'Plus Jakarta Sans', sans-serif) !important;
    font-size: clamp(0.98rem, 1.3vw, 1.15rem) !important;
    font-weight: 700 !important;
    line-height: 1.7 !important;
    color: rgba(255, 255, 255, 0.92) !important;
    max-width: 740px !important;
    margin: 0 auto 2.2rem auto !important;
    text-align: center !important;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.35) !important;
}

.photo-hero .photo-hero-actions {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 1.1rem !important;
    flex-wrap: wrap !important;
    width: 100% !important;
    margin: 0 auto !important;
}

.photo-hero .brand-btn-primary {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 16px 42px !important;
    background: #2A3B53 !important;
    color: #FFFFFF !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 0.88rem !important;
    font-weight: 800 !important;
    letter-spacing: 1.2px !important;
    text-transform: none !important;
    border-radius: 50px !important;
    border: none !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1) !important;
    box-shadow: 0 8px 24px rgba(42, 59, 83, 0.28) !important;
}

.photo-hero .brand-btn-primary:hover {
    background: #1A283C !important;
    color: #FFFFFF !important;
    transform: translateY(-3px) scale(1.02) !important;
    box-shadow: 0 14px 30px rgba(42, 59, 83, 0.38) !important;
}

.photo-hero .brand-btn-outline {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 16px 42px !important;
    background: transparent !important;
    color: #2A3B53 !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 0.88rem !important;
    font-weight: 800 !important;
    letter-spacing: 1.2px !important;
    text-transform: none !important;
    border-radius: 50px !important;
    border: 2px solid #2A3B53 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1) !important;
    box-shadow: none !important;
}

.photo-hero .brand-btn-outline:hover {
    background: #2A3B53 !important;
    color: #FFFFFF !important;
    border-color: #2A3B53 !important;
    transform: translateY(-3px) scale(1.02) !important;
    box-shadow: 0 8px 24px rgba(42, 59, 83, 0.28) !important;
}

.photo-hero .photo-hero-badge {
    position: absolute !important;
    right: 3.5% !important;
    bottom: 6.5% !important;
    z-index: 10 !important;
    width: 86px !important;
    height: 86px !important;
    pointer-events: none !important;
    opacity: 0.8 !important;
    animation: spinHeroBadge 25s linear infinite !important;
}

@keyframes spinHeroBadge {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

.photo-hero .photo-hero-arrow {
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 25 !important;
    width: 52px !important;
    height: 52px !important;
    border-radius: 50% !important;
    background: rgba(255, 255, 255, 0.15) !important;
    backdrop-filter: blur(12px) !important;
    border: 1px solid rgba(255, 255, 255, 0.35) !important;
    color: #FFFFFF !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1) !important;
    font-size: 1.1rem !important;
}

.photo-hero .photo-hero-prev {
    left: 2rem !important;
}

.photo-hero .photo-hero-next {
    right: 2rem !important;
}

.photo-hero .photo-hero-arrow:hover {
    background: #b96f7d !important;
    border-color: #b96f7d !important;
    color: #FFFFFF !important;
    transform: translateY(-50%) scale(1.12) !important;
    box-shadow: 0 10px 28px rgba(185, 111, 125, 0.45) !important;
}

/* ==========================================================================
   TASK 2: COMPLETE DERMATOLOGY & AESTHETIC CARE (Exact Reference Radial Showcase)
   ========================================================================== */
.rs-spa-services-for-you {
    position: relative !important;
    background: radial-gradient(circle at 50% 45%, #FAF5EE 0%, #F5EDE2 50%, #EDE4D8 100%) !important;
    padding: clamp(4.5rem, 7vw, 6.5rem) 0 !important;
    overflow: hidden !important;
}

/* 3-Column Radial Layout Grid */
.rs-radial-showcase {
    display: grid !important;
    grid-template-columns: 1fr minmax(290px, 360px) 1fr !important;
    gap: clamp(1.2rem, 2.5vw, 2.8rem) !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
    margin: 3.5rem 0 3.5rem 0 !important;
}

.rs-radial-col {
    display: flex !important;
    flex-direction: column !important;
    gap: 1.35rem !important;
    position: relative !important;
    z-index: 5 !important;
}

/* Base Capsule Card */
.rs-radial-card {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    gap: 1.15rem !important;
    padding: 1.25rem 1.5rem !important;
    text-decoration: none !important;
    color: inherit !important;
    background: #FFFFFF !important;
    background-color: #FFFFFF !important;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
    cursor: pointer !important;
    z-index: 2 !important;
}

/* Left Column Cards (Pointing Inward Right) */
.rs-radial-card--left {
    border-radius: 30px 10px 10px 30px !important;
    text-align: left !important;
    padding-right: 2rem !important;
}

.rs-radial-card--left .rs-radial-pointer {
    position: absolute !important;
    right: -13px !important;
    top: 50% !important;
    transform: translateY(-50%) rotate(45deg) !important;
    width: 26px !important;
    height: 26px !important;
    border-top: inherit !important;
    border-right: inherit !important;
    background: #FFFFFF !important;
    border-radius: 0 4px 0 0 !important;
    z-index: 1 !important;
    transition: all 0.4s ease !important;
}

/* Right Column Cards (Pointing Inward Left) */
.rs-radial-card--right {
    border-radius: 10px 30px 30px 10px !important;
    text-align: left !important;
    padding-left: 2rem !important;
    justify-content: space-between !important;
}

.rs-radial-card--right .rs-radial-pointer {
    position: absolute !important;
    left: -13px !important;
    top: 50% !important;
    transform: translateY(-50%) rotate(-135deg) !important;
    width: 26px !important;
    height: 26px !important;
    border-top: inherit !important;
    border-right: inherit !important;
    background: #FFFFFF !important;
    border-radius: 0 4px 0 0 !important;
    z-index: 1 !important;
    transition: all 0.4s ease !important;
}

/* Pure White Cards */
.rs-radial-card--marble,
.rs-radial-card--glass {
    background: #FFFFFF !important;
    background-color: #FFFFFF !important;
    backdrop-filter: none !important;
    border: 1.5px solid rgba(225, 210, 190, 0.85) !important;
    box-shadow: 0 10px 30px rgba(42, 59, 83, 0.06), inset 0 1px 0 rgba(255, 255, 255, 1) !important;
}

/* Hover Elevations */
.rs-radial-card:hover {
    background: #FFFFFF !important;
    background-color: #FFFFFF !important;
    transform: translateY(-4px) scale(1.02) !important;
    box-shadow: 0 20px 45px rgba(185, 111, 125, 0.18), inset 0 1px 0 rgba(255, 255, 255, 1) !important;
    border-color: #b96f7d !important;
}

.rs-radial-card:hover .rs-radial-pointer {
    background: #FFFFFF !important;
    border-color: #b96f7d !important;
}

/* Card Icon Thumbnail */
.rs-radial-card-icon {
    width: 58px !important;
    height: 58px !important;
    overflow: hidden !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;

}

.rs-radial-card-icon img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;

}

.rs-radial-card:hover .rs-radial-card-icon {

    border-color: #b96f7d !important;
}


/* Card Body Content */
.rs-radial-card-body {
    flex: 1 !important;
}

.rs-radial-card-body h3 {
    font-family: var(--font-subheading, 'Outfit', sans-serif) !important;
    font-size: 0.92rem !important;
    font-weight: 800 !important;
    color: #1E2B3E !important;
    letter-spacing: 0.05em !important;
    margin: 0 0 0.3rem 0 !important;
    line-height: 1.25 !important;
    text-transform: uppercase !important;
    transition: color 0.3s ease !important;
}

.rs-radial-card-body .rs-radial-num {
    color: #b96f7d !important;
    font-family: var(--font-heading, 'Cormorant Garamond', serif) !important;
    font-size: 1.15rem !important;
    font-weight: 700 !important;
    margin-right: 0.25rem !important;
}

.rs-radial-card-body .rs-radial-num:empty {
    display: none !important;
    margin-right: 0 !important;
}

.rs-radial-card-body p {
    font-family: var(--font-body, 'Plus Jakarta Sans', sans-serif) !important;
    font-size: 0.84rem !important;
    color: #55606E !important;
    line-height: 1.45 !important;
    margin: 0 !important;
}

.rs-radial-card:hover .rs-radial-card-body h3 {
    color: #b96f7d !important;
}

/* Centerpiece Master Portal */
.rs-radial-center {
    position: relative !important;
    width: 100% !important;
    max-width: 360px !important;
    margin: 0 auto !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 3 !important;
}

.rs-radial-orbit-ring {
    position: absolute !important;
    inset: -28px !important;
    border-radius: 50% !important;
    border: 1px dashed rgba(185, 111, 125, 0.25) !important;
    animation: spinOrbitRing 60s linear infinite !important;
    pointer-events: none !important;
}

.rs-radial-focal-frame {
    position: relative !important;
    width: clamp(260px, 24vw, 340px) !important;
    height: clamp(260px, 24vw, 340px) !important;
    border-radius: 50% !important;
    overflow: hidden !important;
    border: 8px solid #FBF8F4 !important;
    outline: 5px solid #D4BA99 !important;
    box-shadow: 0 25px 65px rgba(50, 35, 20, 0.22), inset 0 0 20px rgba(0, 0, 0, 0.15) !important;
    background: #FAF1EB !important;
    margin: 0 auto !important;
}

.rs-radial-focal-img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transform: scale(1.04) !important;
    transition: opacity 1.2s cubic-bezier(0.4, 0, 0.2, 1), transform 1.2s cubic-bezier(0.4, 0, 0.2, 1), visibility 1.2s !important;
    z-index: 1 !important;
    pointer-events: none !important;
}

.rs-radial-focal-img.is-active {
    opacity: 1 !important;
    visibility: visible !important;
    transform: scale(1) !important;
    z-index: 2 !important;
}

.rs-radial-center:hover .rs-radial-focal-img.is-active {
    transform: scale(1.06) !important;
}

/* Bottom Center Emblem Badge */
.rs-radial-emblem-badge {
    position: absolute !important;
    bottom: -18px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 92px !important;
    height: 92px !important;
    border-radius: 50% !important;
    background: radial-gradient(circle, #22354F 0%, #162438 100%) !important;
    border: 3.5px solid #D4BA99 !important;
    outline: 2px solid #FAF4EB !important;
    box-shadow: 0 10px 28px rgba(22, 36, 56, 0.45), inset 0 2px 4px rgba(255, 255, 255, 0.2) !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    z-index: 10 !important;
}

.rs-emblem-years {
    font-family: var(--font-heading, 'Cormorant Garamond', serif) !important;
    font-size: 1.15rem !important;
    font-weight: 700 !important;
    color: #FFFFFF !important;
    line-height: 1.1 !important;
    letter-spacing: 0.02em !important;
}

.rs-emblem-text {
    font-family: var(--font-subheading, 'Outfit', sans-serif) !important;
    font-size: 0.58rem !important;
    font-weight: 800 !important;
    color: #E5C39D !important;
    line-height: 1.15 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    margin-top: 2px !important;
}

.rs-spa-services-for-you .rs-spa-service-more {
    text-align: center !important;
    margin-top: 3.5rem !important;
}

/* ==========================================================================
   COMPLETE DERMATOLOGY & AESTHETIC CARE (Fluid Constellation Wave Flow: .dr-care-*)
   ========================================================================== */
.dr-care-wave-section {
    position: relative !important;
    background: radial-gradient(circle at 85% 20%, #F5EAE0 0%, #FAF7F2 40%, #F4ECE3 75%, #EADBCE 100%) !important;
    padding: clamp(5rem, 8vw, 7.5rem) 0 clamp(5.5rem, 8.5vw, 8rem) 0 !important;
    overflow: hidden !important;
}

/* Ambient Fluid Background Overlays matching reference graphic */
.dr-care-bg-glow {
    position: absolute !important;
    border-radius: 50% !important;
    filter: blur(80px) !important;
    pointer-events: none !important;
    z-index: 0 !important;
}

.dr-care-bg-glow--topright {
    top: -100px !important;
    right: -100px !important;
    width: 500px !important;
    height: 500px !important;
    background: radial-gradient(circle, rgba(235, 205, 175, 0.45) 0%, rgba(250, 240, 230, 0) 70%) !important;
}

.dr-care-bg-glow--bottomleft {
    bottom: -120px !important;
    left: -100px !important;
    width: 550px !important;
    height: 550px !important;
    background: radial-gradient(circle, rgba(160, 190, 220, 0.35) 0%, rgba(245, 235, 225, 0) 70%) !important;
}

.dr-care-bg-glow--center {
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: 600px !important;
    height: 350px !important;
    background: radial-gradient(ellipse, rgba(255, 255, 255, 0.8) 0%, rgba(255, 255, 255, 0) 70%) !important;
}

.dr-care-container {
    position: relative !important;
    z-index: 2 !important;
}

/* Section Header */
.dr-care-header {
    text-align: center !important;
    max-width: 850px !important;
    margin: 0 auto clamp(3rem, 5vw, 4.5rem) auto !important;
}

.dr-care-title {
    font-family: var(--font-heading, 'Cormorant Garamond', Georgia, serif) !important;
    font-size: clamp(2.4rem, 4vw, 3.5rem) !important;
    font-weight: 700 !important;
    color: #1E2B3E !important;
    line-height: 1.15 !important;
    margin: 0 0 0.75rem 0 !important;
    letter-spacing: -0.01em !important;
}

.dr-care-subtitle {
    font-family: var(--font-body, 'Plus Jakarta Sans', sans-serif) !important;
    font-size: clamp(0.95rem, 1.25vw, 1.15rem) !important;
    color: #4A5568 !important;
    line-height: 1.6 !important;
    margin: 0 auto !important;
    font-weight: 400 !important;
}

/* Flow Showcase Wrapper with Constellation SVG Line */
.dr-care-flow-wrapper {
    position: relative !important;
    width: 100% !important;
    max-width: 1240px !important;
    margin: 0 auto !important;
    min-height: 380px !important;
}

.dr-care-constellation-svg {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    pointer-events: none !important;
    z-index: 1 !important;
}

/* 5 Nodes Grid */
.dr-care-nodes-grid {
    display: grid !important;
    grid-template-columns: repeat(5, 1fr) !important;
    gap: clamp(0.6rem, 1.6vw, 2rem) !important;
    position: relative !important;
    z-index: 2 !important;
    align-items: start !important;
}

/* Individual Node Stagger Placements */
.dr-care-node {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    position: relative !important;
}

/* Node 1 & 5: Orb Top, Text Bottom */
.dr-care-node--top {
    margin-top: 0 !important;
}

.dr-care-node--top .dr-care-node-info {
    margin-top: 1.25rem !important;
}

/* Node 2 & 4: Text Top, Orb Bottom */
.dr-care-node--bottom {
    margin-top: clamp(2.5rem, 4.5vw, 4.2rem) !important;
    flex-direction: column-reverse !important;
}

.dr-care-node--bottom .dr-care-node-info {
    margin-bottom: 1.25rem !important;
}

/* Node 3: Center Node with CTA Button */
.dr-care-node--center {
    margin-top: clamp(0.6rem, 1.2vw, 1.4rem) !important;
}

.dr-care-node--center .dr-care-node-info {
    margin-top: 1rem !important;
}

/* Circular Orb Link & Frame */
.dr-care-orb-link {
    display: block !important;
    text-decoration: none !important;
    outline: none !important;
    position: relative !important;
    z-index: 3 !important;
}

.dr-care-orb-frame {
    position: relative !important;
    width: clamp(140px, 13vw, 180px) !important;
    height: clamp(140px, 13vw, 180px) !important;
    border-radius: 50% !important;
    margin: 0 auto !important;
    padding: 6px !important;
    background: #FAF7F2 !important;
    border: 3px solid #D4BA99 !important;
    outline: 6px solid rgba(255, 255, 255, 0.95) !important;
    box-shadow: 0 0 0 10px rgba(212, 186, 153, 0.55), 0 20px 45px rgba(60, 45, 30, 0.16) !important;
    transition: all 0.45s cubic-bezier(0.16, 1, 0.3, 1) !important;
    cursor: pointer !important;
}

.dr-care-orb-frame.dr-care-orb--rosegold {
    border-color: #C8957E !important;
    box-shadow: 0 0 0 10px rgba(200, 149, 126, 0.5), 0 20px 45px rgba(60, 45, 30, 0.16) !important;
}

.dr-care-orb-frame.dr-care-orb--master {
    border-color: #D4BA99 !important;
    box-shadow: 0 0 0 12px rgba(212, 186, 153, 0.7), 0 22px 50px rgba(60, 45, 30, 0.2) !important;
}

.dr-care-orb-img {
    width: 100% !important;
    height: 100% !important;
    border-radius: 50% !important;
    object-fit: cover !important;
    display: block !important;
    transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

/* Glowing Golden Sparkle Node Dot */
.dr-care-sparkle-node {
    position: absolute !important;
    width: 16px !important;
    height: 16px !important;
    border-radius: 50% !important;
    background: #FFFFFF !important;
    border: 3px solid #D4BA99 !important;
    box-shadow: 0 0 12px #FFDFB0, 0 0 22px rgba(212, 186, 153, 0.95) !important;
    top: 50% !important;
    right: -14px !important;
    transform: translateY(-50%) !important;
    pointer-events: none !important;
    z-index: 5 !important;
}

.dr-care-node--bottom .dr-care-sparkle-node {
    left: -14px !important;
    right: auto !important;
}

/* Hover Elevations */
.dr-care-orb-link:hover .dr-care-orb-frame {
    transform: translateY(-6px) scale(1.05) !important;
    box-shadow: 0 0 0 14px rgba(185, 111, 125, 0.35), 0 26px 60px rgba(185, 111, 125, 0.28) !important;
    border-color: #b96f7d !important;
}

.dr-care-orb-link:hover .dr-care-orb-img {
    transform: scale(1.08) !important;
}

/* Node Info & Typography */
.dr-care-node-info {
    max-width: 220px !important;
    margin: 0 auto !important;
}

.dr-care-node-title {
    font-family: var(--font-heading, 'Cormorant Garamond', Georgia, serif) !important;
    font-size: clamp(1.25rem, 1.45vw, 1.55rem) !important;
    font-weight: 700 !important;
    color: #1E2B3E !important;
    margin: 0 0 0.35rem 0 !important;
    line-height: 1.2 !important;
}

.dr-care-node-title a {
    text-decoration: none !important;
    color: inherit !important;
    transition: color 0.3s ease !important;
}

.dr-care-node:hover .dr-care-node-title a,
.dr-care-node:hover .dr-care-node-title {
    color: #b96f7d !important;
}

.dr-care-node-desc {
    font-family: var(--font-body, 'Plus Jakarta Sans', sans-serif) !important;
    font-size: 0.85rem !important;
    color: #4A5568 !important;
    line-height: 1.45 !important;
    margin: 0 !important;
}



.dr-care-navy-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0.72rem 1.65rem !important;
    background: linear-gradient(135deg, #1A2B42 0%, #0E1A2C 100%) !important;
    color: #FFFFFF !important;
    font-family: var(--font-subheading, 'Outfit', sans-serif) !important;
    font-size: 0.76rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    border-radius: 9999px !important;
    text-decoration: none !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    box-shadow: 0 10px 24px rgba(14, 26, 44, 0.45) !important;
    transition: all 0.35s ease !important;
}

.dr-care-navy-btn:hover {
    background: linear-gradient(135deg, #253D60 0%, #162842 100%) !important;
    color: #FFFFFF !important;
    transform: translateY(-3px) scale(1.02) !important;
    box-shadow: 0 14px 30px rgba(14, 26, 44, 0.6) !important;
}

/* Mobile-only CTA container (hidden by default on desktop) */
/* .dr-care-mobile-cta {
    display: none !important;
} */


/* ==========================================================================
   TASK 1: SKIN, HAIR & SCALP CONDITIONS WE TREAT (Dedicated Unique Classes: .dr-cond-*)
   ========================================================================== */
.dr-cond-section {
    position: relative !important;
    background: radial-gradient(circle at 50% 30%, #FAF5EE 0%, #F5EDE2 60%, #EDE4D8 100%) !important;
    padding: clamp(4.5rem, 7vw, 6.5rem) 0 !important;
    overflow: hidden !important;
}

/* Section Header */
.dr-cond-header {
    text-align: center !important;
    max-width: 820px !important;
    margin: 0 auto 2.5rem auto !important;
}

.dr-cond-main-title {
    font-family: var(--font-heading, 'Cormorant Garamond', Georgia, serif) !important;
    font-size: clamp(2.2rem, 3.4vw, 3.2rem) !important;
    font-weight: 700 !important;
    color: #1E2B3E !important;
    line-height: 1.15 !important;
    margin: 0 0 0.85rem 0 !important;
    letter-spacing: -0.01em !important;
}

.dr-cond-title-divider {
    width: 60px !important;
    height: 3px !important;
    background: linear-gradient(90deg, #D4BA99 0%, #b96f7d 100%) !important;
    border-radius: 9999px !important;
    margin: 0 auto 1.25rem auto !important;
}

.dr-cond-subtitle {
    font-family: var(--font-body, 'Plus Jakarta Sans', sans-serif) !important;
    font-size: clamp(0.95rem, 1.15vw, 1.08rem) !important;
    color: #55606E !important;
    line-height: 1.65 !important;
    margin: 0 auto !important;
}

/* Top Floating Segmented Glass Category Navigation Bar */
.dr-cond-glass-nav {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: clamp(0.5rem, 2vw, 1.5rem) !important;
    max-width: 880px !important;
    margin: 0 auto 3.5rem auto !important;
    padding: 0.55rem 1.25rem !important;
    background: rgba(255, 255, 255, 0.65) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
    border: 2px solid #D4BA99 !important;
    border-radius: 9999px !important;
    box-shadow: 0 10px 30px rgba(60, 45, 30, 0.08), inset 0 1px 2px rgba(255, 255, 255, 0.9) !important;
    position: relative !important;
}

.dr-cond-cat-btn {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.75rem !important;
    padding: 0.9rem 2.1rem !important;
    background: transparent !important;
    border: none !important;
    border-radius: 9999px !important;
    color: #4A5568 !important;
    font-family: var(--font-subheading, 'Outfit', sans-serif) !important;
    font-size: 0.88rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
    cursor: pointer !important;
    transition: all 0.35s ease !important;
    outline: none !important;
}

.dr-cond-cat-btn .dr-cond-cat-icon {
    font-size: 1.4rem !important;
    color: #b96f7d !important;
    transition: transform 0.3s ease, color 0.3s ease !important;
}

.dr-cond-cat-btn:hover:not(.active) {
    color: #1E2B3E !important;
}

.dr-cond-cat-btn.active {
    color: #1E2B3E !important;
}

/* Electric Blue Neon Indicator Underline on Active Tab */
.dr-cond-cat-btn.active .dr-cond-active-glow {
    position: absolute !important;
    bottom: -9px !important;
    left: 15% !important;
    right: 15% !important;
    height: 3.5px !important;
    background: #b96f7d !important;
    border-radius: 9999px !important;
    /* box-shadow: 0 0 12px #3B82F6, 0 0 22px rgba(59, 130, 246, 0.85) !important; */
    display: block !important;
}

/* Main Studio Canvas Board */
.dr-cond-studio-board {
    display: grid !important;
    grid-template-columns: 1.1fr 1fr 1.1fr !important;
    gap: clamp(1.8rem, 3vw, 3.2rem) !important;
    align-items: center !important;
    background: #FAF7F2 !important;
    border-radius: 32px !important;
    padding: clamp(2rem, 3.5vw, 3.2rem) !important;
    border: 1.5px solid #EAE0D5 !important;
    box-shadow: 0 25px 65px rgba(50, 40, 30, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.9) !important;
}

/* Left: Menu Stack of Condition Pills */
.dr-cond-menu-stack {
    display: flex !important;
    flex-direction: column !important;
    gap: 0.65rem !important;
    max-height: 480px !important;
    overflow-y: auto !important;
    padding-right: 0.4rem !important;
}

.dr-cond-menu-stack::-webkit-scrollbar {
    width: 5px !important;
}

.dr-cond-menu-stack::-webkit-scrollbar-thumb {
    background: #E2CEBE !important;
    border-radius: 10px !important;
}

.dr-cond-menu-item {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    padding: 0.85rem 1.2rem !important;
    background: #FFFFFF !important;
    border: 1.5px solid #EFE8E0 !important;
    border-radius: 16px !important;
    text-align: left !important;
    cursor: pointer !important;
    box-shadow: 0 4px 12px rgba(60, 45, 30, 0.04) !important;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.dr-cond-menu-item-left {
    display: flex !important;
    align-items: center !important;
    gap: 0.8rem !important;
}

.dr-cond-menu-icon {
    width: 32px !important;
    height: 32px !important;
    border-radius: 50% !important;
    background: #FAF1EB !important;
    color: #b96f7d !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 0.85rem !important;
    flex-shrink: 0 !important;
    transition: all 0.3s ease !important;
}

.dr-cond-menu-title {
    font-family: var(--font-body, 'Plus Jakarta Sans', sans-serif) !important;
    font-size: 0.92rem !important;
    font-weight: 700 !important;
    color: #1E2B3E !important;
    transition: color 0.3s ease !important;
}

.dr-cond-menu-arrow {
    font-size: 0.75rem !important;
    color: #A0AEC0 !important;
    transition: all 0.3s ease !important;
}

.dr-cond-menu-item:hover {
    background: #FAF4EB !important;
    border-color: #D4BA99 !important;
    transform: translateX(3px) !important;
}

.dr-cond-menu-item.active {
    background: linear-gradient(135deg, #FAF4EB 0%, #F5EAE0 100%) !important;
    border-color: #D4BA99 !important;
    box-shadow: 0 8px 20px rgba(184, 106, 83, 0.16) !important;
    transform: translateX(4px) !important;
}

.dr-cond-menu-item.active .dr-cond-menu-icon {
    background: #2A3B53 !important;
    color: #FAF1EB !important;
}

.dr-cond-menu-item.active .dr-cond-menu-arrow {
    color: #b96f7d !important;
    transform: translateX(2px) !important;
}

/* Center: Master Square Portrait with Zoom Inset */
.dr-cond-portrait-column {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
}

.dr-cond-master-portal {
    position: relative !important;
    width: clamp(250px, 23vw, 320px) !important;
    height: clamp(250px, 23vw, 320px) !important;
    border-radius: 0 !important;
    border: 4px solid #D8C2A8 !important;
    outline: 4px solid #FFFFFF !important;
    box-shadow: 0 20px 48px rgba(50, 40, 30, 0.18) !important;
    background: #FAF1EB !important;
}

.dr-cond-master-photo {
    width: 100% !important;
    height: 100% !important;
    border-radius: 0 !important;
    object-fit: cover !important;
    transition: transform 0.6s ease !important;
}

.dr-cond-chip-badge {
    position: absolute !important;
    bottom: 16px !important;
    left: 16px !important;
    z-index: 5 !important;
    background: rgba(22, 35, 52, 0.92) !important;
    color: #FAF4EB !important;
    padding: 0.35rem 1rem !important;
    border-radius: 9999px !important;
    font-family: var(--font-subheading, 'Outfit', sans-serif) !important;
    font-size: 0.75rem !important;
    font-weight: 700 !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    backdrop-filter: blur(8px) !important;
    white-space: nowrap !important;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.2) !important;
}

.dr-cond-chip-badge i {
    color: #E8C1B2 !important;
    margin-right: 0.25rem !important;
}

.dr-cond-zoom-bubble {
    position: absolute !important;
    bottom: 8px !important;
    right: 8px !important;
    width: 88px !important;
    height: 88px !important;
    border-radius: 0 !important;
    border: 3px solid #D4BA99 !important;
    outline: 3px solid #FFFFFF !important;
    overflow: hidden !important;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.25) !important;
    background: #FAF1EB !important;
    z-index: 6 !important;
}

.dr-cond-zoom-photo {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transform: scale(1.3) !important;
}

/* Right: Clinical Protocol Details & Glowing Navy CTA */
.dr-cond-details-column {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    text-align: left !important;
    padding-left: 0.5rem !important;
}

.dr-cond-protocol-kicker {
    font-family: var(--font-subheading, 'Outfit', sans-serif) !important;
    font-size: 0.8rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.12em !important;
    color: #1E3A8A !important;
    text-transform: uppercase !important;
    margin-bottom: 0.5rem !important;
    display: inline-block !important;
}

.dr-cond-detail-title {
    font-family: var(--font-heading, 'Cormorant Garamond', Georgia, serif) !important;
    font-size: clamp(1.8rem, 2.4vw, 2.4rem) !important;
    font-weight: 700 !important;
    color: #1E2B3E !important;
    line-height: 1.18 !important;
    margin: 0 0 0.85rem 0 !important;
}

.dr-cond-detail-desc {
    font-family: var(--font-body, 'Plus Jakarta Sans', sans-serif) !important;
    font-size: 0.95rem !important;
    color: #55606E !important;
    line-height: 1.65 !important;
    margin-bottom: 1.4rem !important;
}

.dr-cond-checklist {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 1.8rem 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0.6rem !important;
}

.dr-cond-checklist li {
    display: flex !important;
    align-items: center !important;
    gap: 0.65rem !important;
    font-family: var(--font-body, 'Plus Jakarta Sans', sans-serif) !important;
    font-size: 0.92rem !important;
    font-weight: 500 !important;
    color: #334155 !important;
}

.dr-cond-checklist li i {
    color: #1E2B3E !important;
    font-size: 1rem !important;
    flex-shrink: 0 !important;
}

.dr-cond-navy-btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.65rem !important;
    padding: 0.95rem 2.2rem !important;
    background: linear-gradient(135deg, #162842 0%, #0D1A2D 100%) !important;
    color: #FFFFFF !important;
    font-family: var(--font-subheading, 'Outfit', sans-serif) !important;
    font-size: 0.85rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    border-radius: 9999px !important;
    text-decoration: none !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    box-shadow: 0 12px 30px rgba(12, 35, 60, 0.45) !important;
    transition: all 0.35s ease !important;
}

.dr-cond-navy-btn:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 16px 38px rgba(12, 35, 60, 0.6) !important;
    background: linear-gradient(135deg, #1E3A8A 0%, #162842 100%) !important;
    color: #FFFFFF !important;
}


/* ==========================================================================
   TASK 3: COUNTER STRIP (Modern Aesthetic Luxury Ribbon in Container: .dr-counter-*)
   ========================================================================== */

.dr-counter-section {
    position: relative !important;
    background: #FAF8F5 !important;
    padding: clamp(3rem, 5vw, 4.5rem) 0 !important;
}

.dr-counter-board {
    position: relative !important;
    background: #FFFFFF !important;
    border: 1.5px solid #D4BA99 !important;
    border-radius: 28px !important;
    padding: clamp(2rem, 3.5vw, 3rem) clamp(1.5rem, 3vw, 2.5rem) !important;
    box-shadow: 0 16px 38px rgba(42, 59, 83, 0.07) !important;
    overflow: hidden !important;
}

/* Ambient Backlight Highlights */
.dr-counter-glow {
    position: absolute !important;
    border-radius: 50% !important;
    filter: blur(50px) !important;
    opacity: 0.5 !important;
    pointer-events: none !important;
    z-index: 1 !important;
    display: block !important;
}

.dr-counter-glow-1 {
    width: 250px !important;
    height: 250px !important;
    top: -50px !important;
    left: -30px !important;
    background: radial-gradient(circle, #D8ADA3 0%, rgba(216, 173, 163, 0) 70%) !important;
}

.dr-counter-glow-2 {
    width: 250px !important;
    height: 250px !important;
    bottom: -50px !important;
    right: -30px !important;
    background: radial-gradient(circle, #9DAFD5 0%, rgba(157, 175, 213, 0) 70%) !important;
}

.dr-counter-grid {
    display: grid !important;
    grid-template-columns: 1fr auto 1fr auto 1fr auto 1.15fr !important;
    align-items: center !important;
    gap: clamp(1rem, 2vw, 2rem) !important;
    position: relative !important;
    z-index: 2 !important;
}

.dr-counter-card {
    display: flex !important;
    align-items: center !important;
    gap: 1.15rem !important;
}

.dr-counter-icon-wrap {
    width: 52px !important;
    height: 52px !important;
    border-radius: 16px !important;
    background: #FAF1EB !important;
    border: 1px solid #EFE8E0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 1.3rem !important;
    color: #b96f7d !important;
    flex-shrink: 0 !important;
    box-shadow: 0 4px 14px rgba(42, 59, 83, 0.08) !important;
    transition: transform 0.35s ease, background 0.35s ease !important;
}

.dr-counter-icon-wrap i {
    color: #b96f7d !important;
}

.dr-counter-card:hover .dr-counter-icon-wrap {
    transform: scale(1.08) !important;
    background: #FFFFFF !important;
    border-color: #D4BA99 !important;
}

.dr-counter-icon--gold {
    color: #b96f7d !important;
}

.dr-counter-text {
    display: flex !important;
    flex-direction: column !important;
    gap: 0.2rem !important;
}

.dr-counter-text strong {
    font-family: var(--font-heading, 'Cormorant Garamond', Georgia, serif) !important;
    font-size: clamp(2rem, 2.6vw, 2.8rem) !important;
    font-weight: 700 !important;
    color: #1E2B3E !important;
    line-height: 1 !important;
    letter-spacing: -0.01em !important;
}

.dr-counter-text span {
    font-family: var(--font-subheading, 'Outfit', sans-serif) !important;
    font-size: 0.8rem !important;
    font-weight: 600 !important;
    color: #55606E !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
}

.dr-counter-rating-val {
    display: flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
}

.dr-counter-stars {
    display: inline-flex !important;
    gap: 2px !important;
    font-size: 0.85rem !important;
    color: #FFB800 !important;
}

.dr-counter-divider {
    width: 1px !important;
    height: 48px !important;
    background: linear-gradient(180deg, transparent 0%, rgba(143, 162, 204, 0.38) 50%, transparent 100%) !important;
}


/* ==========================================================================
   UNIFIED RESPONSIVE MEDIA QUERIES
   ========================================================================== */






@keyframes brandHeroSlideImageFade {
    0% {
        opacity: 0.35;
    }

    100% {
        opacity: 1;
    }
}

/* Keep the preloader entrance one-time, then replay only slide-level motion. */
.photo-hero.hero-entrance-complete:not(.hero-slide-transitioning) .swiper-slide-active.photo-hero-slide--fullbg .brand-hero-bg-img {
    opacity: 1 !important;
}

.photo-hero.hero-entrance-complete:not(.hero-slide-transitioning) .swiper-slide-active.photo-hero-slide--fullbg .hero-animate {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
}

.photo-hero.hero-entrance-complete.hero-slide-transitioning .swiper-slide-active.photo-hero-slide--fullbg .brand-hero-bg-img {
    animation: none !important;
    transform: none !important;
}

.rs-home-page .photo-hero .swiper-slide-active.photo-hero-slide--fullbg .hero-animate,
.rs-home-page .photo-hero .swiper-slide-active.photo-hero-slide--fullbg .brand-hero-content>.hero-animate,
.rs-home-page .photo-hero .swiper-slide-active.photo-hero-slide--fullbg .brand-hero-content>.hero-animate:nth-child(1),
.rs-home-page .photo-hero .swiper-slide-active.photo-hero-slide--fullbg .brand-hero-content>.hero-animate:nth-child(2),
.rs-home-page .photo-hero .swiper-slide-active.photo-hero-slide--fullbg .brand-hero-content>.hero-animate:nth-child(3),
.rs-home-page .photo-hero .swiper-slide-active.photo-hero-slide--fullbg .brand-hero-content>.hero-animate:nth-child(4),
.rs-home-page .photo-hero .swiper-slide-active.photo-hero-slide--fullbg .photo-hero-kicker,
.rs-home-page .photo-hero .swiper-slide-active.photo-hero-slide--fullbg .brand-kicker,
.rs-home-page .photo-hero .swiper-slide-active.photo-hero-slide--fullbg .brand-hero-title,
.rs-home-page .photo-hero .swiper-slide-active.photo-hero-slide--fullbg .brand-hero-title>span,
.rs-home-page .photo-hero .swiper-slide-active.photo-hero-slide--fullbg .brand-hero-text,
.rs-home-page .photo-hero .swiper-slide-active.photo-hero-slide--fullbg .photo-hero-actions,
.rs-home-page .photo-hero .swiper-slide-active.photo-hero-slide--fullbg .photo-hero-actions .rs-about-btn {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    animation: none !important;
    clip-path: none !important;
}

.rs-megamenu-title,
.rs-megamenu-title-link,
.rs-megamenu-title-link span {
    font-family: 'Outfit', sans-serif !important;
    color: #2A3B53 !important;
    font-weight: 900 !important;
}

.rs-home-page #about-doctor.rs-spa-welcome,
.rs-home-page #about-doctor {
    padding-left: 1.5rem !important;
    padding-right: 1.5rem !important;
}

.rs-home-page #about-doctor .rs-container {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}

.rs-home-page #about-doctor .rs-spa-split {
    width: 100%;
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 0;
    padding-right: 0;
    box-sizing: border-box;
    display: grid;
    grid-template-columns: minmax(320px, 380px) minmax(0, 1fr);
    justify-content: center;
    align-items: center;
    gap: 48px;
}

.rs-home-page #about-doctor .rs-spa-photo-stack {
    justify-self: center;
    max-width: 380px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}

.rs-home-page #about-doctor .rs-spa-copy {
    justify-self: start;
    max-width: 620px;
    width: 100%;
}

/* Final homepage-only background rhythm. Keep this after component sections so
   specialized home blocks follow the same alternating palette. */
.rs-home-page #about-doctor,
.rs-home-page .rs-spa-welcome,
.rs-home-page #aesthetic-care,
.rs-home-page .dr-care-wave-section,
.rs-home-page #conditions,
.rs-home-page .dr-cond-section,
.rs-home-page #testimonials,
.rs-home-page .rs-spa-testimonials,
/* .rs-home-page #tv-radio, */
.rs-home-page,
.rs-home-page #before-after,
.rs-home-page .rs-home-before-after,
.rs-home-page .rs-spa-offer {
    background: #f5f7ff !important;
    background-color: #f5f7ff !important;
}

.rs-home-page #about-clinic,
.rs-home-page .rs-about-section-single,
.rs-home-page #why-choose-us,
.rs-home-page .rs-spa-services-for-you,
.rs-home-page .dr-counter-section,
.rs-home-page #shorts,
.rs-home-page .rs-home-shorts,
.rs-home-page #print-media,
.rs-home-page .rs-home-print-media,
.rs-home-page #journey,
.rs-home-page .rs-spa-gallery {
    background: #FBF8F5 !important;
    background-color: #FBF8F5 !important;
}

/* Match the Complete Care constellation artwork to the cool home background. */
.rs-home-page #aesthetic-care {
    background:
        radial-gradient(circle at 82% 16%, rgba(218, 226, 246, 0.72) 0%, rgba(218, 226, 246, 0) 34%),
        radial-gradient(circle at 12% 84%, rgba(250, 241, 235, 0.7) 0%, rgba(250, 241, 235, 0) 36%),
        #f5f7ff !important;
    background-color: #f5f7ff !important;
}

.rs-home-page #aesthetic-care .dr-care-bg-glow--topright {
    background: radial-gradient(circle, rgba(190, 205, 236, 0.48) 0%, rgba(190, 205, 236, 0) 70%) !important;
}

.rs-home-page #aesthetic-care .dr-care-bg-glow--bottomleft {
    background: radial-gradient(circle, rgba(226, 185, 174, 0.3) 0%, rgba(226, 185, 174, 0) 70%) !important;
}

.rs-home-page #aesthetic-care .dr-care-bg-glow--center {
    background: radial-gradient(ellipse, rgba(255, 255, 255, 0.82) 0%, rgba(255, 255, 255, 0) 70%) !important;
}

.rs-home-page #aesthetic-care #goldGradientLine stop:nth-child(1),
.rs-home-page #aesthetic-care #goldGradientLine stop:nth-child(5) {
    stop-color: #B8C6E4 !important;
    stop-opacity: 0.42 !important;
}

.rs-home-page #aesthetic-care #goldGradientLine stop:nth-child(2),
.rs-home-page #aesthetic-care #goldGradientLine stop:nth-child(4) {
    stop-color: #D9AFA5 !important;
    stop-opacity: 0.72 !important;
}

.rs-home-page #aesthetic-care #goldGradientLine stop:nth-child(3) {
    stop-color: #8FA2CC !important;
    stop-opacity: 0.9 !important;
}

.rs-home-page #aesthetic-care .dr-care-svg-line {
    opacity: 0.82 !important;
}

.rs-home-page #aesthetic-care .dr-care-orb-frame {
    background: #FFFFFF !important;
    border-color: #C3D0EA !important;
    outline-color: rgba(255, 255, 255, 0.96) !important;
    box-shadow:
        0 0 0 10px rgba(195, 208, 234, 0.72),
        0 20px 45px rgba(42, 59, 83, 0.13) !important;
}

.rs-home-page #aesthetic-care .dr-care-orb-frame.dr-care-orb--rosegold {
    border-color: #B8C6E4 !important;
    box-shadow:
        0 0 0 10px rgba(184, 198, 228, 0.72),
        0 20px 45px rgba(42, 59, 83, 0.13) !important;
}

.rs-home-page #aesthetic-care .dr-care-orb-frame.dr-care-orb--master {
    border-color: #9DAFD5 !important;
    box-shadow:
        0 0 0 12px rgba(157, 175, 213, 0.72),
        0 22px 50px rgba(42, 59, 83, 0.16) !important;
}

.rs-home-page #aesthetic-care .dr-care-sparkle-node {
    border-color: #B8C6E4 !important;
    box-shadow:
        0 0 12px rgba(184, 198, 228, 0.95),
        0 0 22px rgba(216, 173, 163, 0.5) !important;
}

.rs-home-page #aesthetic-care .dr-care-orb-link:hover .dr-care-orb-frame {
    border-color: #8FA2CC !important;
    box-shadow:
        0 0 0 14px rgba(184, 198, 228, 0.78),
        0 26px 60px rgba(42, 59, 83, 0.22) !important;
}

.rs-home-page #aesthetic-care .dr-care-node:hover .dr-care-node-title,
.rs-home-page #aesthetic-care .dr-care-node:hover .dr-care-node-title a {
    color: #536D9F !important;
}

.rs-home-page #aesthetic-care .dr-care-node:hover .dr-care-node-desc {
    color: #4B5E7D !important;
}

.rs-home-page #aesthetic-care .dr-care-node--center {
    margin-top: 2.8rem !important;
    transform: translateY(14px) !important;
}

.rs-home-page #aesthetic-care .dr-care-node--bottom {
    gap: 1.15rem !important;
}

.rs-home-page #about-clinic.rs-about-section-single {
    background: #FFFFFF !important;
    background-color: #FFFFFF !important;
}

.rs-home-page #journey.rs-spa-gallery,
.rs-home-page .rs-spa-gallery {
    background: #FFFFFF !important;
    background-color: #FFFFFF !important;
}

.rs-home-page #conditions.dr-cond-section {
    background: #FFFFFF !important;
    background-color: #FFFFFF !important;
}

.rs-home-page #about-clinic.rs-about-section-single .rs-about-center-col {
    max-width: 860px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: clamp(1.25rem, 4vw, 2.5rem) !important;
    padding-right: clamp(1.25rem, 4vw, 2.5rem) !important;
    text-align: center !important;
}

.rs-home-page #about-clinic.rs-about-section-single .rs-spa-section-title,
.rs-home-page #about-clinic.rs-about-section-single .rs-about-subtitle,
.rs-home-page #about-clinic.rs-about-section-single .rs-about-text {
    text-align: center !important;
}

.rs-home-page #about-clinic.rs-about-section-single .rs-about-text p {
    max-width: 780px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.rs-home-page #about-clinic.rs-about-section-single .rs-about-btn-wrap {
    justify-content: center !important;
}

.rs-home-page #conditions .dr-cond-studio-board {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
}

.rs-home-page #why-choose-us>.rs-container {
    max-width: 1320px !important;
    /* padding-top: clamp(2.5rem, 4vw, 4rem) !important;
    padding-bottom: clamp(2.5rem, 4vw, 4rem) !important; */
}

.rs-home-page #why-choose-us {
    background:
        linear-gradient(180deg, rgba(251, 248, 245, 0.72) 0%, rgba(251, 248, 245, 0.82) 100%),
        url('../images/why-choose-us.png') center center / cover no-repeat !important;
    background-color: #FBF8F5 !important;
}

.rs-home-page .rs-spa-offer {
    background:
        linear-gradient(90deg, rgba(245, 247, 255, 0.2) 0%, rgba(245, 247, 255, 0.08) 44%, rgba(245, 247, 255, 0.58) 100%),
        url('../images/banner-home.png') left center / cover no-repeat !important;
    background-color: #f5f7ff !important;
}

/* Tighten homepage section rhythm without changing the alternating colors. */
.rs-home-page #about-clinic,
.rs-home-page .rs-about-section-single,
.rs-home-page #aesthetic-care,
.rs-home-page .dr-care-wave-section,
.rs-home-page #conditions,
.rs-home-page .dr-cond-section,
.rs-home-page #testimonials,
.rs-home-page .rs-spa-testimonials,
.rs-home-page #shorts,
.rs-home-page .rs-home-shorts,
.rs-home-page #tv-radio,
/* .rs-home-page .rs-home-tv-radio, */
.rs-home-page #print-media,
.rs-home-page .rs-home-print-media,
.rs-home-page #before-after,
.rs-home-page .rs-home-before-after,
.rs-home-page #journey,
.rs-home-page .rs-spa-gallery {
    padding-top: clamp(3rem, 5vw, 4.5rem) !important;
    padding-bottom: clamp(3rem, 5vw, 4.5rem) !important;
}

/* .rs-home-page #why-choose-us>.rs-container {
    /* padding-top: clamp(2.25rem, 3.5vw, 3.25rem) !important;
    padding-bottom: clamp(2.25rem, 3.5vw, 3.25rem) !important; 
} */

.rs-home-page .dr-counter-section {
    padding-top: clamp(2rem, 3.5vw, 3rem) !important;
    padding-bottom: clamp(2rem, 3.5vw, 3rem) !important;
}

.rs-home-page .rs-spa-offer,
.rs-home-page .rs-spa-offer-grid {
    min-height: 460px !important;
}

.rs-home-page .rs-spa-offer-grid {
    padding-top: clamp(44px, 4.5vw, 60px) !important;
    padding-bottom: clamp(44px, 4.5vw, 60px) !important;
}



/* Reference-style home hero: left editorial copy over the existing images. */
.rs-home-page .photo-hero,
.rs-home-page .photo-hero .photo-hero-slider,
.rs-home-page .photo-hero .swiper-wrapper,
.rs-home-page .photo-hero .photo-hero-slide,
.rs-home-page .photo-hero .photo-hero-frame,
.rs-home-page .photo-hero .brand-hero-bg {
    height: 92vh !important;
    min-height: 92vh !important;
    max-height: 92vh !important;
    background: #fbf1f4 !important;
    overflow: hidden !important;
}

.rs-home-page .photo-hero .photo-hero-frame {
    align-items: center !important;
    justify-content: flex-start !important;
    padding: clamp(6.5rem, 9vw, 8rem) clamp(1.5rem, 8vw, 10rem) clamp(4.5rem, 7vw, 6rem) !important;
}

.rs-home-page .photo-hero .photo-hero-slide.swiper-slide-active,
.rs-home-page .photo-hero .photo-hero-slide.swiper-slide-duplicate-active {
    opacity: 1 !important;
    visibility: visible !important;
}

.rs-home-page .photo-hero .brand-hero-bg-img {
    object-fit: cover !important;
    opacity: 1 !important;
    filter: none !important;
}

.rs-home-page .photo-hero .photo-hero-slide--fullbg .hero-animate,
.rs-home-page .photo-hero .photo-hero-slide--fullbg .brand-hero-content>* {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    animation: none !important;
    clip-path: none !important;
}

.rs-home-page .photo-hero .brand-hero-bg,
.rs-home-page .photo-hero.hero-slide-transitioning .swiper-slide-active.photo-hero-slide--fullbg .brand-hero-bg,
.rs-home-page .photo-hero.hero-slide-transitioning .swiper-slide-duplicate-active.photo-hero-slide--fullbg .brand-hero-bg {
    animation: none !important;
    transform: none !important;
}

.rs-home-page .photo-hero.hero-slide-transitioning .swiper-slide-active.photo-hero-slide--fullbg .brand-hero-content {
    animation: rsHomeHeroCopyReveal 0.82s cubic-bezier(0.16, 1, 0.3, 1) both !important;
}

@keyframes rsHomeHeroCopyReveal {
    0% {
        opacity: 0;
        transform: translate3d(-18px, 18px, 0);
        filter: blur(8px);
    }

    100% {
        opacity: 1;
        transform: translate3d(0, 0, 0);
        filter: blur(0);
    }
}

.rs-home-page .photo-hero .swiper-slide-active .brand-hero-bg-img {
    opacity: 1 !important;
}

.rs-home-page .photo-hero .photo-hero-slide:not(.photo-hero-slide--image-bg) .brand-hero-bg-img {
    object-position: 72% center !important;
}

/* .rs-home-page .photo-hero .brand-hero-overlay,
.rs-home-page .photo-hero .photo-hero-image-overlay {
    backdrop-filter: none !important;
    background:
        linear-gradient(90deg,
            rgba(252, 248, 243, 0.98) 0%,
            rgba(252, 248, 243, 0.94) 26%,
            rgba(252, 248, 243, 0.72) 42%,
            rgba(252, 248, 243, 0.26) 61%,
            rgba(252, 248, 243, 0.02) 100%) !important;
} */

.rs-home-page .photo-hero .brand-hero-content {
    max-width: 900px !important;
    width: min(100%, 900px) !important;
    margin: 0 !important;
    top: -clamp(1.25rem, 4vh, 3rem) !important;
    align-items: flex-start !important;
    justify-content: center !important;
    text-align: left !important;
}

.rs-home-page .photo-hero .photo-hero-kicker-wrap {
    justify-content: flex-start !important;
    margin-bottom: 0.85rem !important;
}

.rs-home-page .photo-hero .photo-hero-kicker.brand-kicker {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 6px 18px !important;
    background: rgba(250, 241, 235, 0.95) !important;
    border: 1px solid rgba(201, 142, 128, 0.3) !important;
    border-radius: 9999px !important;
    color: #c98e80 !important;
    font-family: var(--font-body, 'Plus Jakarta Sans', sans-serif) !important;
    font-size: 0.78rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
    line-height: 1.4 !important;
    text-transform: uppercase !important;
    box-shadow: 0 2px 10px rgba(201, 142, 128, 0.1) !important;
}

.rs-home-page .photo-hero .photo-hero-kicker.brand-kicker i {
    display: inline-block !important;
    color: #c98e80 !important;
    font-size: 0.85em !important;
}

.rs-home-page .photo-hero .brand-hero-title {
    color: #2A3B53 !important;
    font-size: clamp(3.2rem, 5.2vw, 4.4rem) !important;
    line-height: 1.18 !important;
    letter-spacing: 0 !important;
    margin: 0 0 1.25rem !important;
    text-align: left !important;
    text-shadow: none !important;
    opacity: 1 !important;
    overflow: visible !important;
}

.rs-home-page .photo-hero .brand-hero-title .photo-hero-title-line {
    display: block !important;
}

.rs-home-page .photo-hero .brand-hero-title .photo-hero-title-word {
    display: inline-block !important;
    white-space: nowrap !important;
}

.rs-home-page .photo-hero .brand-hero-title-pink {
    color: #2A3B53 !important;
    background: none !important;
    -webkit-background-clip: initial !important;
    background-clip: initial !important;
    -webkit-text-fill-color: #2A3B53 !important;
}

.rs-home-page .photo-hero .brand-hero-title-blue {
    color: #b96f7d !important;
    font-style: italic !important;
    background: none !important;
    -webkit-background-clip: initial !important;
    background-clip: initial !important;
    -webkit-text-fill-color: #b96f7d !important;
}

.rs-home-page .photo-hero .brand-hero-text {
    max-width: 470px !important;
    margin: 0 0 1.9rem !important;
    color: #55606E !important;
    font-size: clamp(0.95rem, 1.05vw, 1.08rem) !important;
    font-weight: 600 !important;
    line-height: 1.65 !important;
    text-align: left !important;
    text-shadow: none !important;
}

.rs-home-page .photo-hero .photo-hero-actions {
    justify-content: flex-start !important;
    gap: 0.85rem !important;
    margin: 0 !important;
}

.rs-home-page .photo-hero .brand-btn-primary,
.rs-home-page .photo-hero .brand-btn-outline {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 16px 42px !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 0.88rem !important;
    font-weight: 800 !important;
    letter-spacing: 1.2px !important;
    border-radius: 50px !important;
    text-transform: none !important;
    white-space: nowrap !important;
    transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.rs-home-page .photo-hero .brand-btn-primary {
    background: #2A3B53 !important;
    border: none !important;
    color: #FFFFFF !important;
    box-shadow: 0 8px 24px rgba(42, 59, 83, 0.28) !important;
}

.rs-home-page .photo-hero .brand-btn-primary:hover {
    background: #1A283C !important;
    color: #FFFFFF !important;
    transform: translateY(-3px) scale(1.02) !important;
    box-shadow: 0 14px 30px rgba(42, 59, 83, 0.38) !important;
}

.rs-home-page .photo-hero .brand-btn-outline {
    background: transparent !important;
    border: 2px solid #2A3B53 !important;
    color: #2A3B53 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
}

.rs-home-page .photo-hero .brand-btn-outline:hover {
    background: #2A3B53 !important;
    border-color: #2A3B53 !important;
    color: #FFFFFF !important;
    transform: translateY(-3px) scale(1.02) !important;
    box-shadow: 0 8px 24px rgba(42, 59, 83, 0.28) !important;
}

.rs-home-page .photo-hero .photo-hero-badge {
    display: block !important;
    top: clamp(1.25rem, 3vw, 2.5rem) !important;
    right: clamp(1rem, 2.5vw, 2.25rem) !important;
    bottom: auto !important;
    width: clamp(78px, 7.2vw, 98px) !important;
    height: clamp(78px, 7.2vw, 98px) !important;
    opacity: 0.94 !important;
    mix-blend-mode: normal !important;
}

.rs-home-page .photo-hero .photo-hero-badge svg text,
.rs-home-page .photo-hero .photo-hero-badge svg textPath {
    font-size: 11.5px !important;
    font-weight: 800 !important;
    letter-spacing: 1.5px !important;
    text-shadow: 0 2px 10px rgba(42, 59, 83, 0.24) !important;
}

.rs-home-page .photo-hero .photo-hero-arrow {
    display: inline-flex !important;
    background: rgba(255, 255, 255, 0.58) !important;
    border: 1px solid rgba(42, 59, 83, 0.18) !important;
    color: #2A3B53 !important;
    box-shadow: 0 12px 30px rgba(42, 59, 83, 0.12) !important;
}

.rs-home-page .photo-hero .photo-hero-arrow i {
    color: #2A3B53 !important;
}

.rs-home-page .photo-hero .photo-hero-arrow:hover {
    background: #2A3B53 !important;
    border-color: #2A3B53 !important;
    color: #FFFFFF !important;
}

.rs-home-page .photo-hero .photo-hero-arrow:hover i {
    color: #FFFFFF !important;
}

.rs-home-page .photo-hero .brand-hero-bg-img,
.rs-home-page .photo-hero .photo-hero-slide .brand-hero-bg-img,
.rs-home-page .photo-hero .swiper-slide .brand-hero-bg-img,
.rs-home-page .photo-hero .swiper-slide-active .brand-hero-bg-img,
.rs-home-page .photo-hero .swiper-slide-duplicate-active .brand-hero-bg-img,
.rs-home-page .photo-hero .photo-hero-slide--fullbg .brand-hero-bg-img,
.rs-home-page .photo-hero.hero-slide-transitioning .brand-hero-bg-img,
.rs-home-page .photo-hero.hero-slide-transitioning .swiper-slide-active.photo-hero-slide--fullbg .brand-hero-bg-img,
.rs-home-page .photo-hero.hero-slide-transitioning .swiper-slide-duplicate-active.photo-hero-slide--fullbg .brand-hero-bg-img {
    animation: homeHeroBgZoomPulse 13s ease-in-out infinite !important;
    transform-origin: center center !important;
    will-change: transform !important;
}

/* ==========================================================================
   ABOUT DOCTOR - OPEN EDITORIAL STYLES (merged from doctor.css)
   Color Palette: Slate Navy (#2A3B53) | Terracotta Rose (#b96f7d)
   ========================================================================== */

/* --- Doctor subtitle & degree strip --- */
.rs-doctor-subtitle {
    font-size: clamp(0.82rem, 1vw, 0.92rem) !important;
    font-weight: 600 !important;
    color: #b96f7d !important;
    letter-spacing: 0.02em;
    line-height: 1.5 !important;
    margin-bottom: 12px !important;
}

.rs-doctor-degrees-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 20px;
}

.rs-doctor-degrees-strip span {
    display: inline-block;
    padding: 4px 12px;
    background: #F4F6FA;
    border: 1px solid #E2E8F0;
    border-radius: 6px;
    font-size: 0.76rem;
    font-weight: 700;
    color: #2A3B53;
    letter-spacing: 0.03em;
}

/* --- Open Philosophy Quote & Trust Section --- */
.rs-doc-open-trust-section {
    padding: clamp(50px, 6vw, 80px) 0;
    background: #FFFFFF;
    border-bottom: 1px solid rgba(185, 111, 125, 0.12);
}

.rs-doc-open-quote {
    max-width: 860px;
    margin: 0 auto 50px auto;
    text-align: center;
    padding: 0 20px;
}

.rs-doc-open-quote blockquote {
    font-family: var(--font-heading, 'Cormorant Garamond', serif);
    font-size: clamp(1.45rem, 2.3vw, 1.95rem);
    font-style: italic;
    font-weight: 600;
    color: #2A3B53;
    line-height: 1.45;
    margin: 0 0 14px 0;
    position: relative;
}

.rs-doc-open-quote cite {
    font-size: 0.88rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #b96f7d;
    font-style: normal;
    display: block;
}

/* --- Open Trust Grid --- */
.rs-doc-open-trust-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 36px 30px;
    margin-top: 36px;
}

.rs-doc-open-trust-item {
    display: flex;
    align-items: flex-start;
    gap: 14px;
}

.rs-doc-open-trust-item i {
    color: #b96f7d;
    font-size: 1.3rem;
    margin-top: 4px;
    flex-shrink: 0;
}

.rs-doc-open-trust-item h3 {
    font-family: var(--font-heading, 'Cormorant Garamond', serif);
    font-size: 1.3rem;
    font-weight: 700;
    color: #2A3B53;
    margin: 0 0 6px 0;
    line-height: 1.25;
}

.rs-doc-open-trust-item p {
    color: #4A5568;
    font-size: 0.92rem;
    line-height: 1.6;
    margin: 0;
}

/* --- Open Clinical Expertise --- */
.rs-doc-open-expertise-section {
    padding: clamp(50px, 6vw, 80px) 0;
    background: #FBF8F5;
    border-bottom: 1px solid rgba(185, 111, 125, 0.12);
}

.rs-doc-open-exp-list {
    display: flex;
    flex-direction: column;
    gap: 28px;
    margin-top: 36px;
}

.rs-doc-open-exp-row {
    padding-bottom: 24px;
    border-bottom: 1px solid rgba(185, 111, 125, 0.15);
}

.rs-doc-open-exp-row:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.rs-doc-open-exp-title {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 14px;
}

.rs-doc-open-exp-title i {
    color: #b96f7d;
    font-size: 1.15rem;
}

.rs-doc-open-exp-title h3 {
    font-family: var(--font-heading, 'Cormorant Garamond', serif);
    font-size: 1.45rem;
    font-weight: 700;
    color: #2A3B53;
    margin: 0;
}

.rs-doc-open-exp-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.rs-doc-open-exp-tags span {
    display: inline-block;
    padding: 6px 14px;
    background: #FFFFFF;
    border: 1px solid #EAE0D6;
    border-radius: 9999px;
    font-size: 0.82rem;
    font-weight: 600;
    color: #2A3B53;
    transition: all 0.2s ease;
}

.rs-doc-open-exp-tags span:hover {
    background: #2A3B53;
    color: #FFFFFF;
    border-color: #2A3B53;
}

/* --- Dual Grid: Tech & Holistic --- */
.rs-doc-open-tech-section,
.rs-doc-open-excellence-section {
    padding: clamp(50px, 6vw, 80px) 0;
    background: #FFFFFF;
    border-bottom: 1px solid rgba(185, 111, 125, 0.12);
}

.rs-doc-open-excellence-section {
    background: #FBF8F5;
}

.rs-doc-open-dual-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
}

.rs-doc-open-dual-col h2 {
    font-family: var(--font-heading, 'Cormorant Garamond', serif);
    font-size: clamp(1.8rem, 2.5vw, 2.2rem);
    font-weight: 700;
    color: #2A3B53;
    margin-bottom: 8px;
    line-height: 1.2;
}

.rs-doc-open-lead {
    font-size: 0.96rem;
    font-weight: 600;
    color: #b96f7d;
    font-style: italic;
    margin-bottom: 14px;
}

.rs-doc-open-dual-col p {
    color: #4A5568;
    font-size: 0.95rem;
    line-height: 1.7;
    margin-bottom: 14px;
}

.rs-doc-open-dual-col p strong {
    color: #2A3B53;
}

.rs-doc-open-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.rs-doc-open-list li {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.88rem;
    font-weight: 600;
    color: #2A3B53;
}

.rs-doc-open-list li i {
    color: #b96f7d;
    font-size: 0.82rem;
}

/* --- Credentials & Experience Grid --- */
.rs-doc-open-creds-section {
    padding: clamp(50px, 6vw, 80px) 0;
    background: #FFFFFF;
    border-bottom: 1px solid rgba(185, 111, 125, 0.12);
}

.rs-doc-open-creds-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
    margin-top: 36px;
}

.rs-doc-open-cred-col h3 {
    font-family: var(--font-heading, 'Cormorant Garamond', serif);
    font-size: 1.45rem;
    font-weight: 700;
    color: #2A3B53;
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 18px;
    padding-bottom: 12px;
    border-bottom: 2px solid #b96f7d;
}

.rs-doc-open-cred-col h3 i {
    color: #b96f7d;
    font-size: 1.15rem;
}

.rs-doc-open-cred-col ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.rs-doc-open-cred-col li {
    position: relative;
    padding-left: 18px;
    font-size: 0.92rem;
    color: #4A5568;
    line-height: 1.55;
}

.rs-doc-open-cred-col li::before {
    content: "�";
    position: absolute;
    left: 0;
    top: -2px;
    color: #b96f7d;
    font-size: 1.4rem;
    line-height: 1;
}

.rs-doc-open-cred-col li strong {
    color: #2A3B53;
    font-weight: 700;
}

/* --- Closing Banner --- */
.rs-doc-closing-banner {
    position: relative;
    padding: clamp(56px, 7vw, 84px) 0;
    background: radial-gradient(circle at center, #2A3B53 0%, #162438 100%);
    color: #FFFFFF;
    text-align: center;
    overflow: hidden;
}

.rs-doc-closing-banner::before {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 80% 20%, rgba(185, 111, 125, 0.25), transparent 50%);
    pointer-events: none;
}

.rs-doc-closing-inner {
    position: relative;
    z-index: 2;
    max-width: 800px;
    margin: 0 auto;
}

.rs-doc-closing-title {
    font-family: var(--font-heading, 'Cormorant Garamond', serif);
    font-size: clamp(2rem, 3.6vw, 3rem);
    font-weight: 700;
    color: #FFFFFF;
    line-height: 1.2;
    margin-bottom: 12px;
}

.rs-doc-closing-sub {
    font-size: clamp(0.92rem, 1.2vw, 1.05rem);
    color: #CBD5E1;
    margin-bottom: 28px;
    letter-spacing: 0.02em;
}

.rs-doc-closing-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    flex-wrap: wrap;
}

.rs-doc-btn-gold {
    background: #b96f7d !important;
    border-color: #b96f7d !important;
    color: #FFFFFF !important;
    padding: 13px 32px !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
    border-radius: 9999px !important;
    box-shadow: 0 10px 28px rgba(185, 111, 125, 0.35) !important;
    transition: all 0.3s ease !important;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.rs-doc-btn-gold:hover {
    background: #9E5642 !important;
    transform: translateY(-2px);
    box-shadow: 0 14px 34px rgba(185, 111, 125, 0.45) !important;
}

.rs-doc-btn-outline-white {
    background: transparent !important;
    border: 1.5px solid rgba(255, 255, 255, 0.6) !important;
    color: #FFFFFF !important;
    padding: 13px 30px !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
    border-radius: 9999px !important;
    transition: all 0.3s ease !important;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.rs-doc-btn-outline-white:hover {
    background: rgba(255, 255, 255, 0.12) !important;
    border-color: #FFFFFF !important;
    color: #FFFFFF !important;
    transform: translateY(-2px);
}

/* --- Professional Memberships Section --- */
.rs-doc-memberships-section {
    padding: clamp(50px, 6vw, 80px) 0;
    background: #FBF8F5;
    border-top: 1px solid rgba(185, 111, 125, 0.12);
    border-bottom: 1px solid rgba(185, 111, 125, 0.12);
}

.rs-doc-membership-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 36px;
    margin-top: 40px;
    align-items: start;
}

.rs-doc-membership-item {
    display: flex;
    align-items: center;
    gap: 20px;
}

.rs-doc-membership-logo-wrap {
    flex-shrink: 0;
    width: 86px;
    height: 86px;
    min-width: 86px;
    border-radius: 50%;
    overflow: hidden;
    border: 3px solid #FFFFFF;
    box-shadow: 0 8px 24px rgba(42, 59, 83, 0.12);
    background: #FFFFFF;
    transition: box-shadow 0.3s ease, transform 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
}

.rs-doc-membership-item:hover .rs-doc-membership-logo-wrap {
    box-shadow: 0 12px 32px rgba(42, 59, 83, 0.20);
    transform: scale(1.05);
}

.rs-doc-membership-logo-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.rs-doc-membership-info {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.rs-doc-membership-abbr {
    font-size: 1.15rem;
    font-weight: 800;
    color: #2A3B53;
    letter-spacing: 0.04em;
    line-height: 1.2;
}

.rs-doc-membership-name {
    font-size: 0.86rem;
    font-weight: 600;
    color: #4A5568;
    line-height: 1.4;
}

.rs-doc-membership-status {
    display: inline-block;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #b96f7d;
    margin-top: 4px;
}

/* --- Certifications Gallery --- */
.rs-doctor-certificates-section {
    padding: clamp(36px, 4.5vw, 60px) 1.5rem;
    background: #FFFFFF;
}

.rs-doctor-certificates-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-top: 26px;
    max-width: 1140px;
    margin-left: auto;
    margin-right: auto;
}

.rs-doctor-certificate-card {
    border-radius: 16px;
    overflow: hidden;
    cursor: pointer;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    box-shadow: 0 4px 20px rgba(42, 59, 83, 0.08);
}

.rs-doctor-certificate-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 36px rgba(42, 59, 83, 0.15);
}

.rs-doctor-certificate-card img {
    width: 100%;
    height: 260px;
    object-fit: cover;
    display: block;
}


/* TheWebMax Character Wave for ALL Hero Text */
@keyframes webmaxCharWave {
    0% {
        opacity: 0;
        transform: translate3d(0, 36px, 0) scale(1.35);
    }

    100% {
        opacity: 1;
        transform: translate3d(0, 0, 0) scale(1);
    }
}

@keyframes webmaxElementFadeUp {
    0% {
        opacity: 0;
        transform: translate3d(0, 24px, 0);
    }

    100% {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

.photo-hero .brand-hero-title,
.photo-hero .brand-hero-text,
.photo-hero .brand-kicker,
.photo-hero .photo-hero-kicker,
.photo-hero .photo-hero-actions {
    filter: none !important;
}

.photo-hero .photo-hero-kicker-char,
.photo-hero .photo-hero-title-char,
.photo-hero .photo-hero-text-char {
    display: inline-block !important;
    will-change: transform, opacity !important;
    transform-origin: center bottom !important;
}

.photo-hero .photo-hero-text-word {
    display: inline-block !important;
    white-space: nowrap !important;
}

/* 1. Kicker Elegant Fade & Rise */
.photo-hero-slide.swiper-slide-active .photo-hero-kicker,
.photo-hero-slide.swiper-slide-active .brand-kicker,
.photo-hero-slide.swiper-slide-duplicate-active .photo-hero-kicker,
.photo-hero-slide.swiper-slide-duplicate-active .brand-kicker {
    opacity: 1 !important;
    animation: webmaxElementFadeUp 0.65s cubic-bezier(0.165, 0.84, 0.44, 1) 0.04s both !important;
}

/* 2. Heading Title Character Wave */
.photo-hero-slide.swiper-slide-active .photo-hero-title-char,
.photo-hero-slide.swiper-slide-duplicate-active .photo-hero-title-char {
    opacity: 0;
    animation: webmaxCharWave 0.72s cubic-bezier(0.165, 0.84, 0.44, 1) both !important;
    animation-delay: calc(0.12s + (var(--hero-char-index, 0) * 0.024s)) !important;
}

/* 3. Description Paragraph Character Wave */
.photo-hero-slide.swiper-slide-active .photo-hero-text-char,
.photo-hero-slide.swiper-slide-duplicate-active .photo-hero-text-char {
    opacity: 0;
    animation: webmaxCharWave 0.65s cubic-bezier(0.165, 0.84, 0.44, 1) both !important;
    animation-delay: calc(0.32s + (var(--hero-text-char-index, 0) * 0.008s)) !important;
}

/* 4. Action Buttons Rise */
.photo-hero-slide.swiper-slide-active .photo-hero-actions,
.photo-hero-slide.swiper-slide-duplicate-active .photo-hero-actions {
    opacity: 1 !important;
    animation: webmaxElementFadeUp 0.75s cubic-bezier(0.165, 0.84, 0.44, 1) 0.58s both !important;
}

.photo-hero .swiper-slide-active .brand-hero-content {
    opacity: 1 !important;
}


.photo-hero .brand-hero-title,
.photo-hero .photo-hero-title,
.photo-hero .photo-hero-title-line,
.photo-hero .photo-hero-title-word,
.photo-hero .photo-hero-title-char {
    overflow: visible !important;
}

.photo-hero .photo-hero-title-line {
    display: block !important;
    padding: 4px 8px 6px 0 !important;
}

.photo-hero .photo-hero-title-word {
    display: inline-block !important;
    white-space: nowrap !important;
    padding: 0 2px !important;
}

.photo-hero .photo-hero-title-char {
    display: inline-block !important;
    will-change: transform, opacity !important;
    transform-origin: center bottom !important;
    padding: 2px 2px 4px 1px !important;
}


/* ============================================================
   About Doctor Page V2 Sections (Exact Match to Design Mockup)
   ============================================================ */

/* 1. Philosophy Quote Section */
.rs-doc-v2-quote-section {
    position: relative;
    padding: 4.5rem 1.5rem 2.5rem;
    background: #FAF7F5;
    text-align: center;
    overflow: hidden;
}

.rs-doc-v2-quote-wrap {
    position: relative;
    z-index: 2;
    max-width: 820px;
    margin: 0 auto;
}

.rs-doc-quote-butterfly {
    position: absolute;
    right: 45px;
    bottom: 18px;
    width: 140px;
    height: auto;
    opacity: 0.35;
    pointer-events: none;
    z-index: 1;
    transition: transform 0.4s ease;
}

.rs-doc-v2-quote-text {
    font-family: var(--font-heading) !important;
    font-size: clamp(1.35rem, 2.5vw, 1.7rem) !important;
    font-style: italic !important;
    font-weight: 500 !important;
    line-height: 1.65 !important;
    color: #2A3B53 !important;
    margin: 0 0 1.25rem !important;
    padding: 0 !important;
    border: none !important;
}

.rs-doc-v2-quote-cite {
    display: block !important;
    font-family: var(--font-body, 'Plus Jakarta Sans', sans-serif) !important;
    font-size: 0.82rem !important;
    font-weight: 700 !important;
    font-style: normal !important;
    letter-spacing: 0.14em !important;
    color: #b96f7d !important;
    text-transform: uppercase !important;
}

/* 2. Common Section Headers & Badges */
.rs-doc-v2-section-header {
    text-align: center;
    max-width: 780px;
    margin: 0 auto 3rem;
}

.rs-doc-v2-section-header h2 {
    font-family: var(--font-heading, 'Cormorant Garamond', Georgia, serif) !important;
    font-size: clamp(2.2rem, 3.8vw, 2.85rem) !important;
    font-weight: 700 !important;
    color: #2A3B53 !important;
    line-height: 1.2 !important;
    margin: 0 0 0.65rem !important;
}

.rs-doc-v2-section-header p {
    font-family: var(--font-body, 'Plus Jakarta Sans', sans-serif) !important;
    font-size: 0.98rem !important;
    color: #64748B !important;
    line-height: 1.6 !important;
    margin: 0 !important;
}

.rs-doc-v2-accent-dots {
    color: #b96f7d !important;
    font-size: 0.85rem !important;
    letter-spacing: 0.35em !important;
    margin-top: 0.35rem !important;
}

.rs-doc-v2-icon-circle {
    width: 52px !important;
    height: 52px !important;
    border-radius: 50% !important;
    background: #FAF1EB !important;
    border: 1px solid rgba(185, 111, 125, 0.25) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #b96f7d !important;
    font-size: 1.25rem !important;
    flex-shrink: 0 !important;
}

.rs-doc-v2-icon-circle--large {
    width: 64px !important;
    height: 64px !important;
    font-size: 1.55rem !important;
}

/* 3. Why Patients Trust Dr. Ram Tainwala */
.rs-doc-v2-trust-section {
    padding: 3rem 1.5rem 4.5rem;
    background: #FFFFFF;
}

.rs-doc-v2-trust-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2.5rem;
    max-width: 1140px;
    margin: 0 auto;
    text-align: center;
}

.rs-doc-v2-trust-card {
    padding: 1.5rem 1.25rem;
    background: #FFFFFF;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.rs-doc-v2-trust-card .rs-doc-v2-icon-circle {
    margin-bottom: 1.25rem;
}

.rs-doc-v2-trust-card h3 {
    font-family: var(--font-heading, 'Cormorant Garamond', Georgia, serif) !important;
    font-size: 1.45rem !important;
    font-weight: 700 !important;
    color: #2A3B53 !important;
    margin: 0 0 0.65rem !important;
}

.rs-doc-v2-trust-card p {
    font-family: var(--font-body, 'Plus Jakarta Sans', sans-serif) !important;
    font-size: 0.92rem !important;
    color: #64748B !important;
    line-height: 1.65 !important;
    margin: 0 !important;
}


/* ============================================================
   Clinical Areas of Expertise (Clean Open 5-Column Layout - No Box)
   ============================================================ */
.rs-doc-exact-expertise-section {
    padding: 4.5rem 1.5rem 5rem;
    background-color: #FAF4F0;
    position: relative;
    overflow: hidden;
}

.rs-doc-exact-bg-img {
    position: absolute;
    inset: 0;
    background-position: left center;
    background-size: cover;
    background-repeat: no-repeat;
    opacity: 0.18;
    pointer-events: none;
    z-index: 1;
}

.rs-doc-5col-container {
    position: relative;
    z-index: 2;
    max-width: 1360px;
    margin: 0 auto;
}

.rs-doc-exact-header {
    text-align: center !important;
    max-width: 800px !important;
    margin: 0 auto 2.5rem !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
}

.rs-doc-exact-header h2 {
    font-family: var(--font-heading, 'Cormorant Garamond', Georgia, serif) !important;
    font-size: clamp(2.2rem, 3.8vw, 2.85rem) !important;
    font-weight: 700 !important;
    color: #2A3B53 !important;
    margin: 0 0 0.4rem !important;
}

.rs-doc-exact-header p {
    font-family: var(--font-body, 'Plus Jakarta Sans', sans-serif) !important;
    font-size: 0.95rem !important;
    color: #64748B !important;
    margin: 0 !important;
}

.rs-doc-exact-dots {
    color: #b96f7d;
    font-size: 0.82rem;
    letter-spacing: 0.4em;
    margin: 0.35rem auto 0;
}

.rs-doc-5cols-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 2rem;
    width: 100%;
}

.rs-doc-5col-card {
    display: flex;
    flex-direction: column;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    border-radius: 0 !important;
}

.rs-doc-5col-header {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 1rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px dashed rgba(185, 111, 125, 0.3);
}

.rs-doc-5col-icon {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: #FAF1EB;
    border: 1px solid rgba(185, 111, 125, 0.25);
    color: #b96f7d;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    flex-shrink: 0;
    transition: transform 0.25s ease;
}

.rs-doc-5col-card:hover .rs-doc-5col-icon {
    transform: scale(1.1) rotate(4deg);
    background: #F8E4EA;
}

.rs-doc-5col-header h3 {
    font-family: var(--font-heading, 'Cormorant Garamond', Georgia, serif) !important;
    font-size: 1.22rem !important;
    font-weight: 700 !important;
    color: #2A3B53 !important;
    margin: 0 !important;
    line-height: 1.25 !important;
}

.rs-doc-5col-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
}

.rs-doc-5col-list li {
    display: flex;
    align-items: flex-start;
    gap: 7px;
    font-family: var(--font-body, 'Plus Jakarta Sans', sans-serif) !important;
    font-size: 0.84rem !important;
    line-height: 1.4 !important;
    color: #475569 !important;
}

.rs-doc-5col-list li i {
    color: #b96f7d !important;
    font-size: 0.8rem !important;
    margin-top: 2px;
    flex-shrink: 0;
}









/* ============================================================
   5. Modern Open Editorial Dual Feature Section (No Box Design)
   ============================================================ */
.rs-doc-modern-dual-section {
    padding: 5rem 1.5rem 5.5rem;
    background: #FFFFFF;
    position: relative;
    overflow: hidden;
}

.rs-doc-modern-dual-grid {
    display: grid;
    grid-template-columns: 1fr 1px 1fr;
    gap: 3.5rem;
    max-width: 1200px;
    margin: 0 auto;
    align-items: stretch;
}

.rs-doc-modern-feature {
    display: flex;
    flex-direction: column;
    padding: 0.5rem 0;
}

.rs-doc-modern-header-row {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 1.25rem;
}

.rs-doc-modern-icon-badge {
    width: 52px;
    height: 52px;
    border-radius: 14px;
    background: #FAF1EB;
    border: 1px solid rgba(185, 111, 125, 0.25);
    color: #b96f7d;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.35rem;
    flex-shrink: 0;
    transition: transform 0.3s ease, background-color 0.3s ease;
}

.rs-doc-modern-feature:hover .rs-doc-modern-icon-badge {
    transform: scale(1.08) rotate(4deg);
    background: #F8E4EA;
}

.rs-doc-modern-kicker {
    font-family: var(--font-body, 'Plus Jakarta Sans', sans-serif);
    font-size: 0.78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: #b96f7d;
    display: block;
    margin-bottom: 0.25rem;
}

.rs-doc-modern-title {
    font-family: var(--font-heading, 'Cormorant Garamond', Georgia, serif) !important;
    font-size: clamp(1.6rem, 2.4vw, 1.95rem) !important;
    font-weight: 700 !important;
    color: #2A3B53 !important;
    line-height: 1.25 !important;
    margin: 0 !important;
}

.rs-doc-modern-lead {
    font-family: var(--font-body, 'Plus Jakarta Sans', sans-serif) !important;
    font-size: 0.95rem !important;
    font-weight: 600 !important;
    color: #b96f7d !important;
    line-height: 1.6 !important;
    margin: 0 0 0.85rem !important;
}

.rs-doc-modern-desc {
    font-family: var(--font-body, 'Plus Jakarta Sans', sans-serif) !important;
    font-size: 0.9rem !important;
    line-height: 1.65 !important;
    color: #64748B !important;
    margin: 0 0 1.5rem !important;
}

.rs-doc-modern-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    margin-top: auto;
}

.rs-doc-pill-tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #FAF5F2;
    border: 1px solid rgba(185, 111, 125, 0.2);
    padding: 0.4rem 0.85rem;
    border-radius: 9999px;
    font-family: var(--font-body, 'Plus Jakarta Sans', sans-serif);
    font-size: 0.82rem;
    font-weight: 600;
    color: #55687D;
    transition: background-color 0.25s ease, color 0.25s ease;
}

.rs-doc-pill-tag i {
    color: #b96f7d;
    font-size: 0.75rem;
}

.rs-doc-pill-tag:hover {
    background: #FAF1EB;
    color: #2A3B53;
}

.rs-doc-modern-divider {
    background: linear-gradient(180deg, rgba(185, 111, 125, 0.05) 0%, rgba(185, 111, 125, 0.25) 50%, rgba(185, 111, 125, 0.05) 100%);
    width: 1px;
    height: 100%;
}

.rs-doc-holistic-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem 0.85rem;
    margin-top: auto;
}

.rs-doc-holistic-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: var(--font-body, 'Plus Jakarta Sans', sans-serif);
    font-size: 0.85rem;
    font-weight: 500;
    color: #475569;
    background: #FAF7F5;
    padding: 0.55rem 0.85rem;
    border-radius: 10px;
    border: 1px solid rgba(232, 193, 178, 0.3);
    transition: transform 0.25s ease, background-color 0.25s ease;
}

.rs-doc-holistic-item:hover {
    transform: translateX(3px);
    background: #FAF1EB;
}

.rs-doc-holistic-item i {
    color: #b96f7d;
    font-size: 0.88rem;
    flex-shrink: 0;
}


/* 6. Dark Navy Full-Width Banner */
.rs-doc-v2-navy-banner {
    background: #1B2738 !important;
    padding: 4.5rem 1.5rem !important;
    color: #FFFFFF !important;
    display: block !important;
    position: relative !important;
    z-index: 1 !important;
}

.rs-doc-v2-navy-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3.5rem;
    max-width: 1140px;
    margin: 0 auto;
}

.rs-doc-v2-navy-col {
    display: flex;
    align-items: flex-start;
    gap: 1.5rem;
}

.rs-doc-v2-navy-icon {
    width: 58px !important;
    height: 58px !important;
    border-radius: 50% !important;
    background: rgba(185, 111, 125, 0.25) !important;
    border: 1px solid rgba(232, 193, 178, 0.4) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #F8D5C8 !important;
    font-size: 1.45rem !important;
    flex-shrink: 0 !important;
}

.rs-doc-v2-navy-text h2 {
    font-family: var(--font-heading, 'Cormorant Garamond', Georgia, serif) !important;
    font-size: 1.8rem !important;
    font-weight: 700 !important;
    color: #FFFFFF !important;
    margin: 0 0 0.65rem !important;
}

.rs-doc-v2-navy-text p {
    font-family: var(--font-body, 'Plus Jakarta Sans', sans-serif) !important;
    font-size: 0.95rem !important;
    line-height: 1.7 !important;
    color: rgba(255, 255, 255, 0.85) !important;
    margin: 0 !important;
}

/* 7. Qualifications & Experience (2 Cards) */
.rs-doc-v2-creds-section {
    padding: 4.5rem 1.5rem 5rem;
    background: #FFFFFF;
    display: block !important;
    position: relative !important;
    z-index: 1 !important;
}

.rs-doc-v2-creds-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
    max-width: 920px;
    margin: 0 auto;
    justify-content: center;
}

.rs-doc-v2-cred-card {
    background: #FFFFFF;
    border: 1px solid rgba(232, 193, 178, 0.45);
    border-radius: 18px;
    padding: 2.25rem 1.75rem;
    box-shadow: 0 6px 22px rgba(42, 59, 83, 0.04);
    display: flex;
    flex-direction: column;
}

.rs-doc-v2-cred-header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 1.5rem;
    padding-bottom: 1rem;
    border-bottom: 1px dashed rgba(185, 111, 125, 0.25);
}

.rs-doc-v2-cred-header h3 {
    font-family: var(--font-heading, 'Cormorant Garamond', Georgia, serif) !important;
    font-size: 1.4rem !important;
    font-weight: 700 !important;
    color: #2A3B53 !important;
    margin: 0 !important;
}

.rs-doc-v2-cred-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
}

.rs-doc-v2-cred-list li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-family: var(--font-body, 'Plus Jakarta Sans', sans-serif) !important;
    font-size: 0.88rem !important;
    line-height: 1.5 !important;
    color: #55687D !important;
}

.rs-doc-v2-cred-list li i {
    color: #b96f7d !important;
    font-size: 0.9rem !important;
    margin-top: 3px;
    flex-shrink: 0;
}


/* Trust List Grid (6 Items) */
.rs-doc-trust-list-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.75rem 2rem;
    max-width: 1140px;
    margin: 0 auto;
}

.rs-doc-trust-item {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    background: #f5f7ff;
    border: 1px solid #C9D3E5;
    padding: 1.35rem 1.25rem;
    border-radius: 14px;
    transition: transform 0.25s ease, background-color 0.25s ease;
}

.rs-doc-trust-item:hover {
    transform: translateY(-3px);
    background: #E6EBF7;
}

.rs-doc-trust-icon {
    font-size: 1.25rem;
    margin-top: 2px;
    flex-shrink: 0;
}

.rs-doc-trust-text h3 {
    font-family: var(--font-heading, 'Cormorant Garamond', Georgia, serif) !important;
    font-size: 1.25rem !important;
    font-weight: 700 !important;
    color: #2A3B53 !important;
    margin: 0 0 0.35rem !important;
    line-height: 1.3 !important;
}

.rs-doc-trust-text p {
    font-family: var(--font-body, 'Plus Jakarta Sans', sans-serif) !important;
    font-size: 0.86rem !important;
    color: #64748B !important;
    line-height: 1.5 !important;
    margin: 0 !important;
}



/* ============================================================
   About Clinic Mini Slider with Thumbnails (Website Color #b96f7d)
   ============================================================ */
.rs-clinic-mini-slider {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    width: 100%;
    max-width: 480px;
    margin: 0 auto;
}

.rs-clinic-slider-main {
    position: relative;
    width: 100%;
    height: 400px;
    border-radius: 20px;
    overflow: hidden;
    background: #FAF7F5;
    box-shadow: 0 12px 32px rgba(42, 59, 83, 0.08);
    border: 1px solid rgba(185, 111, 125, 0.18);
}

.rs-clinic-slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.6s ease, transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
    transform: scale(1.03);
    z-index: 1;
}

.rs-clinic-slide.active {
    opacity: 1;
    visibility: visible;
    transform: scale(1);
    z-index: 2;
}

.rs-clinic-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Nav & Thumbnails Row */
.rs-clinic-slider-nav-wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    width: 100%;
    padding: 0 4px;
}

.rs-clinic-nav-btn {
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background: #FFFFFF;
    border: 1.5px solid rgba(185, 111, 125, 0.35);
    color: #b96f7d;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.05rem;
    cursor: pointer;
    transition: transform 0.25s ease, background-color 0.25s ease, color 0.25s ease, box-shadow 0.25s ease;
    flex-shrink: 0;
    box-shadow: 0 4px 14px rgba(185, 111, 125, 0.12);
}

.rs-clinic-nav-btn:hover {
    transform: scale(1.08);
    background: #b96f7d;
    border-color: #b96f7d;
    color: #FFFFFF;
    box-shadow: 0 6px 18px rgba(185, 111, 125, 0.28);
}

.rs-clinic-thumbs-row {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    flex: 1;
}

.rs-clinic-thumb {
    width: 86px;
    height: 60px;
    border-radius: 12px;
    overflow: hidden;
    cursor: pointer;
    border: 2.5px solid transparent;
    opacity: 0.65;
    transition: opacity 0.3s ease, border-color 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease;
    flex-shrink: 0;
    background: #FAF7F5;
}

.rs-clinic-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.rs-clinic-thumb:hover {
    opacity: 0.95;
    transform: translateY(-2px);
}

.rs-clinic-thumb.active {
    opacity: 1;
    border-color: #b96f7d !important;
    box-shadow: 0 4px 14px rgba(185, 111, 125, 0.32);
    transform: translateY(-2px);
}