/* ==============================================================================
   Babes in Bangalore - Core Design System & Styling
   Theme: Luxury Dark + Radiant Pink & Light Gradient Accents
   Responsive across Mobile, Tablet, Laptop, and Large Displays
   ============================================================================== */

:root {
    /* Color Palette - Pink & Light Gradients */
    --pink-primary: #ff2d75;
    --pink-light: #ff758c;
    --pink-soft: #ffa0b8;
    --pink-pale: #ffeef2;
    --pink-glow: rgba(255, 45, 117, 0.35);
    --pink-glow-strong: rgba(255, 45, 117, 0.6);
    --pink-subtle-bg: rgba(255, 45, 117, 0.08);

    --gradient-pink: linear-gradient(135deg, #ff2d75 0%, #ff758c 50%, #ffa0b8 100%);
    --gradient-pink-btn: linear-gradient(135deg, #ff2d75 0%, #ff5287 100%);
    --gradient-light-pink: linear-gradient(135deg, #ffffff 0%, #ffd1dc 100%);
    
    --gold-accent: #f5b041;
    --gold-glow: rgba(245, 176, 65, 0.3);

    --whatsapp-green: #25d366;
    --whatsapp-green-hover: #1ebd5a;
    --whatsapp-glow: rgba(37, 211, 102, 0.35);

    /* Backgrounds & Surfaces */
    --bg-primary: #090a0f;
    --bg-surface: #10121a;
    --bg-card: #151824;
    --bg-card-hover: #1c2030;
    --bg-glass: rgba(16, 18, 26, 0.82);
    --bg-glass-card: rgba(18, 20, 30, 0.78);

    /* Borders */
    --border-subtle: rgba(255, 255, 255, 0.07);
    --border-pink: rgba(255, 117, 140, 0.25);
    --border-pink-glow: rgba(255, 45, 117, 0.45);

    /* Text Colors */
    --text-primary: #ffffff;
    --text-secondary: #a2aabf;
    --text-muted: #6b7388;

    /* Typography */
    --font-heading: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --font-body: 'Outfit', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;

    /* Spacing & Radii */
    --header-height: 66px;
    --container-max: 1260px;
    --radius-sm: 8px;
    --radius-md: 14px;
    --radius-lg: 20px;
    --radius-pill: 9999px;
    --transition-smooth: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

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

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

body {
    background-color: var(--bg-primary);
    color: var(--text-primary);
    font-family: var(--font-body);
    line-height: 1.6;
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
}

/* Global Headings: Clean, Proportional & Readable */
h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-heading);
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: -0.01em;
}

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

a {
    color: inherit;
    text-decoration: none;
    transition: var(--transition-smooth);
}

ul, ol {
    list-style: none;
}

.site-wrapper {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    position: relative;
}

.container {
    width: 100%;
    max-width: var(--container-max);
    margin: 0 auto;
    padding: 0 1.5rem;
}

/* ==============================================================================
   ANIMATIONS: Bounce Left & Right
   ============================================================================== */
@keyframes bounceSlideLeft {
    0% {
        opacity: 1;
        transform: translateX(-28px);
    }
    60% {
        opacity: 1;
        transform: translateX(10px);
    }
    85% {
        transform: translateX(-3px);
    }
    100% {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes bounceSlideRight {
    0% {
        opacity: 1;
        transform: translateX(28px);
    }
    60% {
        opacity: 1;
        transform: translateX(-10px);
    }
    85% {
        transform: translateX(3px);
    }
    100% {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes pulseGlow {
    0%, 100% {
        transform: scale(1);
        opacity: 1;
        box-shadow: 0 0 0 0 rgba(37, 211, 102, 0.7);
    }
    50% {
        transform: scale(1.1);
        opacity: 0.85;
        box-shadow: 0 0 0 8px rgba(37, 211, 102, 0);
    }
}

@keyframes pulsePinkGlow {
    0%, 100% {
        transform: scale(1);
        box-shadow: 0 0 0 0 rgba(255, 45, 117, 0.6);
    }
    50% {
        transform: scale(1.15);
        box-shadow: 0 0 0 8px rgba(255, 45, 117, 0);
    }
}

.animate-bounce-left {
    animation: bounceSlideLeft 0.85s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.animate-bounce-right {
    animation: bounceSlideRight 0.95s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

/* ==============================================================================
   HEADER & NAVBAR (Luxurious Dark Theme + Glowing Neon Pink & Gold Accents)
   ============================================================================== */
/* Top Micro Announcement Infinite Ticker Strip */
.header-top-ticker {
    background: #040508;
    border-bottom: 1px solid rgba(255, 45, 117, 0.2);
    height: 32px;
    overflow: hidden;
    position: relative;
    z-index: 1001;
    display: flex;
    align-items: center;
}

.ticker-wrapper {
    width: 100%;
    overflow: hidden;
    white-space: nowrap;
}

.ticker-content {
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
    animation: marqueeTicker 28s linear infinite;
    will-change: transform;
}

.ticker-wrapper:hover .ticker-content {
    animation-play-state: paused;
}

.ticker-item {
    font-size: 0.78rem;
    font-weight: 500;
    color: #cbd5e1;
    padding: 0 16px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.ticker-item strong {
    color: #ffffff;
}

.ticker-bullet {
    color: rgba(255, 45, 117, 0.5);
    font-size: 0.85rem;
}

.text-pink { color: #ff2d75 !important; }
.text-green { color: #25d366 !important; }
.text-gold { color: #f5b041 !important; }

@keyframes marqueeTicker {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

/* Site Header */
.site-header {
    position: sticky;
    top: 0;
    z-index: 1000;
    background: rgba(11, 13, 20, 0.94);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border-bottom: 1px solid rgba(255, 45, 117, 0.22);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.6), 0 1px 0 rgba(255, 255, 255, 0.05);
    height: 90px;
    display: flex;
    align-items: center;
    transition: var(--transition-smooth);
}

.header-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
}

/* Brand Logo Styling */
.brand-logo {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    padding: 2px 0;
    transition: transform 0.3s ease;
}

.brand-logo:hover {
    transform: scale(1.06);
}

.header-logo-img {
    height: 78px;
    width: auto;
    max-height: 78px;
    object-fit: contain;
    filter: drop-shadow(0 0 14px rgba(255, 45, 117, 0.6)) drop-shadow(0 0 24px rgba(245, 176, 65, 0.4));
    transition: var(--transition-smooth);
}

.brand-logo:hover .header-logo-img {
    filter: drop-shadow(0 0 26px rgba(255, 45, 117, 0.9)) drop-shadow(0 0 18px rgba(245, 176, 65, 0.7));
}

/* Nav Links */
.main-nav {
    display: flex;
    align-items: center;
}

.nav-list {
    display: flex;
    align-items: center;
    gap: 2rem;
}

.nav-item {
    position: relative;
}

.nav-link {
    font-family: var(--font-body);
    font-weight: 600;
    color: #d1d5db;
    font-size: 0.86rem;
    letter-spacing: 1px;
    text-transform: uppercase;
    position: relative;
    padding: 8px 12px;
    border-radius: var(--radius-pill);
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: var(--transition-smooth);
}

.nav-badge-hot {
    background: linear-gradient(135deg, #ff2d75, #e11d48);
    color: #ffffff;
    font-size: 0.58rem;
    font-weight: 800;
    padding: 2px 6px;
    border-radius: 6px;
    letter-spacing: 0.5px;
    box-shadow: 0 0 10px rgba(255, 45, 117, 0.5);
}

.nav-link:hover {
    color: #ffffff;
    background: rgba(255, 45, 117, 0.12);
}

.nav-link.active {
    color: #ffffff;
    background: linear-gradient(135deg, rgba(255, 45, 117, 0.25) 0%, rgba(245, 176, 65, 0.15) 100%);
    border: 1px solid rgba(255, 117, 140, 0.35);
    box-shadow: 0 0 16px rgba(255, 45, 117, 0.2);
}

.nav-link.active::after {
    content: '';
    position: absolute;
    bottom: -6px;
    left: 15%;
    width: 70%;
    height: 2px;
    background: linear-gradient(90deg, #ff2d75, #f5b041);
    border-radius: var(--radius-pill);
    box-shadow: 0 0 10px rgba(255, 45, 117, 0.6);
}

/* Header Action Buttons */
.header-actions {
    display: flex;
    align-items: center;
    gap: 1.25rem;
}

.header-phone-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #ffffff;
    text-decoration: none;
    transition: var(--transition-smooth);
}

.phone-icon-box {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: rgba(255, 45, 117, 0.15);
    border: 1px solid rgba(255, 45, 117, 0.35);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ff758c;
    font-size: 0.95rem;
    box-shadow: 0 0 12px rgba(255, 45, 117, 0.25);
    transition: var(--transition-smooth);
}

.header-phone-link:hover .phone-icon-box {
    background: #ff2d75;
    color: #ffffff;
    transform: scale(1.08);
    box-shadow: 0 0 18px rgba(255, 45, 117, 0.6);
}

.phone-text-group {
    display: flex;
    flex-direction: column;
    line-height: 1.15;
}

.phone-sub-label {
    font-size: 0.62rem;
    font-weight: 700;
    color: #f5b041;
    letter-spacing: 0.8px;
}

.phone-num-val {
    font-size: 0.88rem;
    font-weight: 700;
    color: #ffffff;
    letter-spacing: 0.3px;
}

.btn-header-vip {
    background: linear-gradient(135deg, #ff2d75 0%, #ff5287 50%, #f5b041 100%);
    background-size: 200% auto;
    color: #ffffff !important;
    font-weight: 800;
    font-size: 0.85rem;
    letter-spacing: 0.8px;
    padding: 0.6rem 1.35rem;
    border-radius: var(--radius-pill);
    box-shadow: 0 4px 20px rgba(255, 45, 117, 0.45);
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border: 1px solid rgba(255, 255, 255, 0.3);
    transition: var(--transition-smooth);
    animation: shimmerGlow 3s infinite linear;
}

@keyframes shimmerGlow {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

.btn-header-vip:hover {
    transform: translateY(-2px) scale(1.03);
    box-shadow: 0 6px 28px rgba(255, 45, 117, 0.7), 0 0 15px rgba(245, 176, 65, 0.5);
}

/* Mobile Toggle Bar Styling */
.mobile-toggle-btn {
    display: none;
    background: rgba(255, 45, 117, 0.12);
    border: 1px solid rgba(255, 117, 140, 0.3);
    border-radius: 8px;
    cursor: pointer;
    padding: 8px 10px;
    min-width: 44px;
    min-height: 40px;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 5px;
    transition: var(--transition-smooth);
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
    z-index: 1002;
    position: relative;
}

.mobile-toggle-btn:hover {
    background: rgba(255, 45, 117, 0.25);
    border-color: rgba(255, 45, 117, 0.6);
}

.hamburger-bar {
    display: block;
    width: 22px;
    height: 2px;
    background: linear-gradient(90deg, #ffffff, #ff758c);
    border-radius: 2px;
    transition: var(--transition-smooth);
    pointer-events: none;
}

/* Header Right Action - Small WhatsApp Chip */
.header-right-action {
    display: flex;
    align-items: center;
}

.header-wa-chip {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    background: linear-gradient(135deg, rgba(37, 211, 102, 0.16) 0%, rgba(18, 140, 126, 0.28) 100%);
    border: 1px solid rgba(37, 211, 102, 0.45);
    padding: 6px 14px;
    border-radius: var(--radius-pill);
    color: #ffffff;
    font-size: 0.82rem;
    font-weight: 700;
    text-decoration: none;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    box-shadow: 0 0 14px rgba(37, 211, 102, 0.25);
    white-space: nowrap;
}

.header-wa-chip .wa-chip-icon {
    font-size: 1.15rem;
    color: #25d366;
    filter: drop-shadow(0 0 6px rgba(37, 211, 102, 0.7));
    animation: pulseGlow 2.5s infinite;
}

.header-wa-chip .wa-chip-num {
    letter-spacing: 0.4px;
    color: #ffffff;
    font-size: 0.82rem;
}

.header-wa-chip:hover {
    background: linear-gradient(135deg, #25d366 0%, #128c7e 100%);
    border-color: #25d366;
    color: #ffffff;
    box-shadow: 0 0 22px rgba(37, 211, 102, 0.65);
    transform: translateY(-2px);
}

.header-wa-chip:hover .wa-chip-icon {
    color: #ffffff;
    filter: none;
}

html {
    scroll-behavior: smooth;
}

section[id] {
    scroll-margin-top: 95px;
}

/* Responsive Header Media Queries */
@media (max-width: 992px) {
    .main-nav {
        display: none;
    }
    .mobile-toggle-btn {
        display: flex;
    }
    .header-phone-link .phone-text-group {
        display: none;
    }
}

@media (max-width: 576px) {
    .header-wa-chip {
        padding: 5px 9px;
    }
    .header-wa-chip .wa-chip-num {
        font-size: 0.74rem;
    }
}

@media (max-width: 768px) {
    .header-top-ticker {
        height: 28px;
    }
    .ticker-item {
        font-size: 0.72rem;
        padding: 0 10px;
    }
    .site-header {
        height: 78px;
    }
    .header-logo-img {
        height: 64px;
        max-height: 64px;
    }
}

/* Mobile Drawer */
.mobile-drawer-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.8);
    backdrop-filter: blur(6px);
    z-index: 99998;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
}

.mobile-drawer-overlay.active {
    opacity: 1;
    pointer-events: auto;
}

.mobile-drawer {
    position: fixed;
    top: 0;
    right: -340px;
    width: 320px;
    max-width: 86vw;
    height: 100%;
    background: var(--bg-surface);
    border-left: 1px solid var(--border-pink);
    z-index: 99999;
    display: flex;
    flex-direction: column;
    transition: right 0.35s cubic-bezier(0.16, 1, 0.3, 1);
    box-shadow: -12px 0 40px rgba(0, 0, 0, 0.6);
}

.mobile-drawer.active {
    right: 0;
}

.drawer-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1.5rem;
    border-bottom: 1px solid var(--border-subtle);
}

.drawer-close-btn {
    background: transparent;
    border: none;
    color: #ffffff;
    font-size: 1.5rem;
    cursor: pointer;
}

.drawer-body {
    padding: 1.5rem;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.drawer-nav-list {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
}

.drawer-link {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 1.05rem;
    font-weight: 600;
    color: var(--text-secondary);
    padding: 10px 14px;
    border-radius: var(--radius-sm);
}

.drawer-link i {
    width: 22px;
    color: var(--pink-light);
}

.drawer-link:hover {
    background: var(--pink-subtle-bg);
    color: var(--pink-light);
}

.drawer-actions {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
    margin-top: auto;
}

/* ==============================================================================
   HERO SECTION - Warm Beige Luxury 2-Column Design
   Clean typography, organic beige penthouse backdrop, small stat cards & how it works
   ============================================================================== */
.hero-section {
    position: relative;
    padding: 3.5rem 0 3.5rem;
    overflow: hidden;
    min-height: calc(100vh - var(--header-height));
    display: flex;
    align-items: center;
    background: linear-gradient(135deg, #f5ede4 0%, #ebe0d1 50%, #e2d4c0 100%);
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

/* Background Photo with Stylized Warm Beige Ambience & Soft Pink Tone */
.hero-bg-wrapper {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    overflow: hidden;
}

.hero-photo-frame {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.hero-picture {
    display: block;
    width: 100%;
    height: 100%;
}

.hero-bg-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: right center;
    opacity: 1;
    filter: brightness(1.02) contrast(1.04);
}

.hero-photo-ambient-pink {
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 75% 35%, rgba(244, 63, 94, 0.04) 0%, transparent 60%);
    mix-blend-mode: multiply;
}

.hero-photo-overlay-beige {
    position: absolute;
    inset: 0;
    background: 
        linear-gradient(90deg, rgba(245, 237, 228, 0.65) 0%, rgba(245, 237, 228, 0.38) 32%, rgba(245, 237, 228, 0.10) 55%, transparent 75%),
        linear-gradient(180deg, rgba(245, 237, 228, 0.12) 0%, transparent 15%, transparent 85%, rgba(245, 237, 228, 0.20) 100%);
}

/* Hero Container - Balanced 2-Column Grid */
.hero-container {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 1.22fr 0.92fr;
    gap: 3.5rem;
    align-items: center;
}

/* Hero Left Content */
.hero-left-content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

/* Top Pill Badge */
.hero-top-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 5px 14px;
    border-radius: var(--radius-pill);
    background: rgba(225, 29, 72, 0.07);
    border: 1px solid rgba(225, 29, 72, 0.22);
    color: #be123c;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 1.4px;
    margin-bottom: 1.15rem;
    backdrop-filter: blur(8px);
}

.badge-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #e11d48;
    box-shadow: 0 0 6px #e11d48;
    animation: pulsePinkGlow 2s infinite;
}

/* Main Title (Clean, Confident, No Stretched Glyphs) */
.hero-main-title {
    font-family: var(--font-heading);
    font-size: clamp(2.8rem, 5.2vw, 4.4rem);
    font-weight: 800;
    line-height: 1.05;
    letter-spacing: -1px;
    margin-bottom: 1.15rem;
    display: flex;
    flex-direction: column;
}

.title-dark {
    color: #111827;
}

.title-white {
    color: #ffffff;
}

.title-pink-gradient,
.title-pink {
    color: #e11d48 !important;
    background: none !important;
    -webkit-background-clip: unset !important;
    background-clip: unset !important;
    -webkit-text-fill-color: #e11d48 !important;
    filter: none !important;
    text-shadow: none !important;
}

.highlight-pink {
    color: #e11d48 !important;
}

/* Subtitle */
.hero-subtitle {
    display: flex;
    align-items: baseline;
    gap: 8px;
    color: #000000;
    font-size: 0.98rem;
    font-weight: 600;
    line-height: 1.55;
    margin-bottom: 0.85rem;
    text-shadow: 0 1px 2px rgba(255, 255, 255, 0.95);
}

.subtitle-dash {
    color: #e11d48;
    font-weight: 800;
}

.subtitle-text strong {
    color: #000000;
    font-weight: 800;
}

/* Description Text - Solid Black & Crisp Visibility */
.hero-desc-text {
    color: #000000;
    font-size: 0.98rem;
    font-weight: 600;
    line-height: 1.68;
    margin-bottom: 1.25rem;
    max-width: 580px;
    text-shadow: 0 1px 2px rgba(255, 255, 255, 0.95), 0 0 10px rgba(255, 255, 255, 0.7);
}

/* Meta Badges: Update Date Pill */
.hero-meta-row {
    margin-bottom: 1.35rem;
}

.hero-update-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 5px 14px;
    border-radius: var(--radius-pill);
    background: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0.08);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03);
    font-size: 0.72rem;
    letter-spacing: 0.6px;
}

.update-pulse-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #10b981;
    box-shadow: 0 0 6px #10b981;
    animation: pulseGlow 2s infinite;
}

.update-label {
    color: #6b7280;
    font-weight: 700;
    font-size: 0.68rem;
}

.update-date {
    color: #111827;
    font-weight: 700;
}

/* Primary Action CTA */
.hero-cta-group {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1.6rem;
    width: 100%;
}

.btn-hero-whatsapp {
    background: linear-gradient(135deg, #25d366 0%, #1ea952 100%);
    color: #ffffff;
    font-family: var(--font-body);
    font-weight: 700;
    font-size: 0.98rem;
    padding: 0.85rem 2.2rem;
    border-radius: 12px;
    box-shadow: 0 6px 20px rgba(37, 211, 102, 0.35);
    display: inline-flex;
    align-items: center;
    gap: 10px;
    transition: var(--transition-smooth);
    border: 1px solid rgba(255, 255, 255, 0.3);
}

.btn-hero-whatsapp:hover {
    background: linear-gradient(135deg, #28e06d 0%, #20b857 100%);
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(37, 211, 102, 0.45);
    color: #ffffff;
}

.btn-hero-whatsapp i {
    font-size: 1.3rem;
}

/* 4 Trust Micro-Chips (Small & Clean like Reference) */
.hero-trust-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    max-width: 600px;
}

.trust-chip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 14px;
    border-radius: var(--radius-pill);
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid rgba(225, 29, 72, 0.16);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.02);
    color: #374151;
    font-size: 0.78rem;
    font-weight: 600;
    backdrop-filter: blur(8px);
    transition: var(--transition-smooth);
}

.trust-chip i {
    color: #e11d48;
    font-size: 0.78rem;
}

.trust-chip:hover {
    border-color: #e11d48;
    background: #ffffff;
    color: #be123c;
    box-shadow: 0 4px 12px rgba(225, 29, 72, 0.1);
}

/* ==============================================================================
   HERO RIGHT CONTENT (2x2 Small Stat Cards & How It Works Box - Warm Beige)
   ============================================================================== */
.hero-right-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.hero-side-card-wrap {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    max-width: 440px;
    margin-left: auto;
    width: 100%;
}

/* 2x2 Stats Grid (Small Minimalist Cards) */
.hero-stats-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.85rem;
}

.stat-card {
    background: rgba(255, 255, 255, 0.94);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border: 1px solid rgba(225, 29, 72, 0.14);
    border-radius: 14px;
    padding: 1.2rem 1rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    box-shadow: 0 3px 12px rgba(0, 0, 0, 0.03);
    transition: var(--transition-smooth);
}

.stat-card:hover {
    border-color: #e11d48;
    background: #ffffff;
    transform: translateY(-2px);
    box-shadow: 0 8px 22px rgba(225, 29, 72, 0.12);
}

.hero-stats-grid .stat-card .stat-number,
.stat-card .stat-number {
    font-family: var(--font-heading);
    font-size: 1.75rem;
    font-weight: 800;
    color: #111827 !important;
    line-height: 1.1;
    display: block;
}

.hero-stats-grid .stat-card.highlight-zero .stat-number,
.stat-card.highlight-zero .stat-number {
    color: #be123c !important;
}

.hero-stats-grid .stat-card .stat-label,
.stat-card .stat-label {
    font-size: 0.75rem;
    font-weight: 600;
    color: #6b7280 !important;
    margin-top: 5px;
    letter-spacing: 0.2px;
    text-transform: none;
    display: block;
}

/* How It Works Box */
.how-works-box {
    background: rgba(255, 255, 255, 0.96);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border: 1px solid rgba(225, 29, 72, 0.18);
    border-radius: 16px;
    padding: 1.4rem 1.5rem;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.03);
    transition: var(--transition-smooth);
}

.how-works-box:hover {
    border-color: #e11d48;
    box-shadow: 0 8px 24px rgba(225, 29, 72, 0.08);
}

.how-works-header {
    margin-bottom: 1.15rem;
}

.how-works-title {
    font-family: var(--font-heading);
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 1.6px;
    color: #be123c;
    text-transform: uppercase;
}

.how-steps-list {
    display: flex;
    flex-direction: column;
    gap: 0.95rem;
}

.how-step-item {
    display: flex;
    align-items: center;
    gap: 12px;
}

.step-num {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: rgba(225, 29, 72, 0.09);
    border: 1px solid rgba(225, 29, 72, 0.28);
    color: #be123c;
    font-family: var(--font-heading);
    font-size: 0.75rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.step-text {
    font-size: 0.85rem;
    color: #1f2937;
    font-weight: 600;
    line-height: 1.4;
}

/* ==============================================================================
   INDEPENDENT BANGALORE ESCORTS - Luxury Black & Gold Theme Section
   Rich Obsidian Black + Metallic Gold Gradients + Ambient Shimmer
   ============================================================================== */
/* ==============================================================================
   BRAND HEADING ICON (Scales cleanly to match heading font size)
   ============================================================================== */
.heading-icon {
    display: inline-block;
    height: 1.15em;
    width: auto;
    max-width: 1.4em;
    object-fit: contain;
    vertical-align: -0.16em;
    margin-right: 0.35rem;
    filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.25));
    transition: transform 0.28s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

h1:hover .heading-icon,
h2:hover .heading-icon,
.section-title:hover .heading-icon,
.elite-intro-title:hover .heading-icon,
.citywide-main-title:hover .heading-icon,
.agency-why-title:hover .heading-icon,
.zigzag-main-title:hover .heading-icon,
.spotlight-title:hover .heading-icon,
.booking-steps-title:hover .heading-icon,
.vip-requests-title:hover .heading-icon,
.gallery-main-title:hover .heading-icon,
.vibe-main-title:hover .heading-icon,
.bespoke-main-title:hover .heading-icon,
.trusted-agency-title:hover .heading-icon,
.not-avg-title:hover .heading-icon,
.matters-title:hover .heading-icon,
.travel-events-title:hover .heading-icon,
.vibe-lanes-title:hover .heading-icon,
.zigzag-filter-title:hover .heading-icon,
.privacy-title:hover .heading-icon,
.elite-standards-title:hover .heading-icon,
.reviews-title:hover .heading-icon,
.booking-desk-title:hover .heading-icon {
    transform: scale(1.15) rotate(4deg);
}

/* ==============================================================================
   INDEPENDENT BANGALORE ESCORTS - Luxury Black & Gold Theme Section (Compact)
   Rich Obsidian Black + Metallic Gold Gradients + Ambient Shimmer
   ============================================================================== */
.elite-intro-section {
    position: relative;
    background: #08090d;
    padding: 2.25rem 0 2.5rem;
    overflow: hidden;
    border-top: 1px solid rgba(212, 175, 55, 0.22);
    border-bottom: 1px solid rgba(212, 175, 55, 0.22);
}

.elite-gold-glow-left {
    position: absolute;
    top: -80px;
    left: -80px;
    width: 320px;
    height: 320px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(212, 175, 55, 0.12) 0%, rgba(245, 176, 65, 0.03) 50%, transparent 70%);
    pointer-events: none;
    z-index: 0;
}

.elite-gold-glow-right {
    position: absolute;
    bottom: -80px;
    right: -80px;
    width: 320px;
    height: 320px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(245, 176, 65, 0.1) 0%, rgba(212, 175, 55, 0.02) 50%, transparent 70%);
    pointer-events: none;
    z-index: 0;
}

.elite-intro-card {
    position: relative;
    z-index: 1;
    background: linear-gradient(145deg, rgba(17, 20, 30, 0.95) 0%, rgba(10, 11, 17, 0.98) 100%);
    border: 1px solid rgba(212, 175, 55, 0.28);
    border-radius: 18px;
    padding: 1.85rem 2.25rem;
    text-align: center;
    box-shadow: 0 16px 45px rgba(0, 0, 0, 0.55), 0 0 30px rgba(212, 175, 55, 0.08);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}

/* Decorative Gold Corners */
.gold-corner {
    position: absolute;
    width: 16px;
    height: 16px;
    pointer-events: none;
}

.gold-corner.top-left {
    top: 10px;
    left: 10px;
    border-top: 2px solid #d4af37;
    border-left: 2px solid #d4af37;
    border-top-left-radius: 5px;
}

.gold-corner.top-right {
    top: 10px;
    right: 10px;
    border-top: 2px solid #d4af37;
    border-right: 2px solid #d4af37;
    border-top-right-radius: 5px;
}

.gold-corner.bottom-left {
    bottom: 10px;
    left: 10px;
    border-bottom: 2px solid #d4af37;
    border-left: 2px solid #d4af37;
    border-bottom-left-radius: 5px;
}

.gold-corner.bottom-right {
    bottom: 10px;
    right: 10px;
    border-bottom: 2px solid #d4af37;
    border-right: 2px solid #d4af37;
    border-bottom-right-radius: 5px;
}

/* Top Pill Badge */
.elite-intro-badge {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 4px 14px;
    border-radius: var(--radius-pill);
    background: rgba(212, 175, 55, 0.1);
    border: 1px solid rgba(212, 175, 55, 0.35);
    color: #f5b041;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 1.4px;
    margin-bottom: 0.85rem;
    box-shadow: 0 0 12px rgba(212, 175, 55, 0.1);
}

.elite-intro-badge i {
    font-size: 0.75rem;
    color: #f5b041;
}

/* H2 Heading with Gold Shine */
.elite-intro-title {
    font-family: var(--font-heading);
    font-size: clamp(1.25rem, 2.4vw, 1.65rem);
    font-weight: 700;
    line-height: 1.35;
    margin-bottom: 0.75rem;
    letter-spacing: normal;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 4px;
}

.gold-text-gradient {
    background: linear-gradient(135deg, #fff2b2 0%, #f5b041 45%, #d4af37 80%, #b45309 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    filter: drop-shadow(0 2px 10px rgba(245, 176, 65, 0.25));
}

.elite-intro-title .title-hyphen {
    color: #d4af37;
    margin: 0 8px;
    font-weight: 400;
}

.elite-intro-title .white-text {
    color: #ffffff;
}

/* Gold Separator */
.elite-gold-separator {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin: 0 auto 1rem;
    max-width: 220px;
}

.elite-gold-separator .sep-line {
    flex: 1;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(212, 175, 55, 0.5), transparent);
}

.elite-gold-separator i {
    color: #f5b041;
    font-size: 0.75rem;
    filter: drop-shadow(0 0 5px rgba(245, 176, 65, 0.4));
}

/* Paragraph Text */
.elite-intro-text {
    font-size: 0.92rem;
    line-height: 1.65;
    color: #cbd5e1;
    max-width: 920px;
    margin: 0 auto 1.35rem;
    font-weight: 400;
    letter-spacing: 0.15px;
}

/* Value Highlight Chips */
.elite-chips-row {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0.55rem;
    margin-bottom: 1.35rem;
}

.elite-chip {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 5px 13px;
    border-radius: var(--radius-pill);
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(212, 175, 55, 0.22);
    color: #e5e7eb;
    font-size: 0.76rem;
    font-weight: 600;
    transition: var(--transition-smooth);
}

.elite-chip i {
    color: #f5b041;
    font-size: 0.78rem;
}

.elite-chip:hover {
    background: rgba(212, 175, 55, 0.1);
    border-color: #d4af37;
    transform: translateY(-2px);
    box-shadow: 0 4px 14px rgba(212, 175, 55, 0.15);
}

/* WhatsApp CTA Button */
.elite-cta-wrap {
    display: flex;
    justify-content: center;
}

.btn-gold-whatsapp {
    background: linear-gradient(135deg, #25d366 0%, #1ea952 100%);
    color: #ffffff;
    font-family: var(--font-body);
    font-weight: 700;
    font-size: 0.9rem;
    padding: 0.72rem 1.8rem;
    border-radius: var(--radius-pill);
    border: 1.5px solid rgba(255, 255, 255, 0.35);
    box-shadow: 0 6px 20px rgba(37, 211, 102, 0.38), 0 0 16px rgba(212, 175, 55, 0.22);
    display: inline-flex;
    align-items: center;
    gap: 9px;
    transition: var(--transition-smooth);
}

.btn-gold-whatsapp i {
    font-size: 1.15rem;
}

.btn-gold-whatsapp:hover {
    background: linear-gradient(135deg, #28e06d 0%, #20b857 100%);
    transform: translateY(-2px) scale(1.02);
    box-shadow: 0 10px 28px rgba(37, 211, 102, 0.5), 0 0 22px rgba(212, 175, 55, 0.3);
    color: #ffffff;
}

@media (max-width: 768px) {
    .elite-intro-section {
        padding: 2rem 0;
    }

    .elite-intro-card {
        padding: 1.5rem 1.15rem;
        border-radius: 15px;
    }

    .elite-intro-title {
        font-size: 1.25rem;
    }

    .elite-intro-title .title-hyphen {
        display: none;
    }

    .elite-intro-title span {
        display: block;
        margin-bottom: 2px;
    }

    .elite-intro-text {
        font-size: 0.85rem;
        line-height: 1.55;
        margin-bottom: 1rem;
    }

    .elite-chips-row {
        gap: 0.4rem;
        margin-bottom: 1rem;
    }

    .elite-chip {
        font-size: 0.72rem;
        padding: 4px 10px;
    }

    .btn-gold-whatsapp {
        width: 100%;
        justify-content: center;
        text-align: center;
        padding: 0.7rem 1.3rem;
        font-size: 0.86rem;
    }
}

/* ==============================================================================
   AGENCY WHY PREFER SECTION - Content & Real Image Showcase (3rd Section)
   ============================================================================== */
.agency-why-section {
    background: radial-gradient(ellipse at 85% 25%, rgba(255, 45, 117, 0.08) 0%, transparent 60%),
                radial-gradient(ellipse at 15% 80%, rgba(212, 175, 55, 0.07) 0%, transparent 55%),
                #0b0d14;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    padding: 5rem 0;
    position: relative;
    overflow: hidden;
}

.agency-why-grid {
    display: grid;
    grid-template-columns: 1.15fr 0.85fr;
    gap: 3.5rem;
    align-items: center;
}

.agency-why-content-col {
    position: relative;
    z-index: 2;
}

.agency-why-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 14px;
    border-radius: var(--radius-pill);
    background: rgba(255, 45, 117, 0.1);
    border: 1px solid rgba(255, 45, 117, 0.32);
    color: #ff5b93;
    font-size: 0.78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: 1.1rem;
}

.agency-why-badge i {
    font-size: 0.8rem;
    color: #ff3377;
}

.agency-why-title {
    font-family: var(--font-heading);
    font-size: 2.1rem;
    font-weight: 700;
    line-height: 1.25;
    color: #ffffff;
    margin-bottom: 1.15rem;
    letter-spacing: -0.01em;
}

.agency-why-lead {
    font-family: var(--font-body);
    font-size: 0.95rem;
    line-height: 1.72;
    color: #cbd5e1;
    margin-bottom: 2rem;
}

/* 4 Feature Items Grid (2x2) */
.agency-features-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.15rem;
    margin-bottom: 2.2rem;
}

.agency-feature-card {
    background: linear-gradient(145deg, rgba(20, 24, 37, 0.78) 0%, rgba(13, 16, 25, 0.92) 100%);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 14px;
    padding: 1.25rem 1.15rem;
    transition: var(--transition-smooth);
    position: relative;
}

.agency-feature-card:hover {
    border-color: rgba(255, 45, 117, 0.38);
    background: linear-gradient(145deg, rgba(26, 31, 48, 0.88) 0%, rgba(17, 21, 33, 0.96) 100%);
    transform: translateY(-3px);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.45), 0 0 16px rgba(255, 45, 117, 0.1);
}

.agency-feature-card .feat-card-header {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 0.6rem;
}

.agency-feature-card .feat-icon {
    width: 38px;
    height: 38px;
    min-width: 38px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, rgba(255, 45, 117, 0.16) 0%, rgba(212, 175, 55, 0.14) 100%);
    border: 1px solid rgba(255, 45, 117, 0.28);
    color: #ff4b8b;
    font-size: 0.95rem;
}

.agency-feature-card h4.feat-title {
    font-family: var(--font-heading);
    font-size: 0.98rem;
    font-weight: 700;
    color: #f8fafc;
    line-height: 1.35;
    margin: 0;
    padding-top: 2px;
}

.agency-feature-card p.feat-desc {
    font-family: var(--font-body);
    font-size: 0.82rem;
    line-height: 1.6;
    color: #94a3b8;
    margin: 0;
}

/* WhatsApp CTA under Features */
.agency-why-cta {
    display: flex;
    align-items: center;
    gap: 1.25rem;
    flex-wrap: wrap;
}

.btn-agency-whatsapp {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 0.78rem 1.8rem;
    border-radius: var(--radius-pill);
    background: linear-gradient(135deg, #25d366 0%, #1ea952 100%);
    color: #ffffff;
    font-family: var(--font-body);
    font-weight: 700;
    font-size: 0.92rem;
    border: 1.5px solid rgba(255, 255, 255, 0.32);
    box-shadow: 0 6px 22px rgba(37, 211, 102, 0.38);
    transition: var(--transition-smooth);
    text-decoration: none;
}

.btn-agency-whatsapp:hover {
    background: linear-gradient(135deg, #28e06d 0%, #20b857 100%);
    transform: translateY(-2px);
    box-shadow: 0 10px 28px rgba(37, 211, 102, 0.52);
    color: #ffffff;
}

.agency-cta-note {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #a0aec0;
    font-size: 0.82rem;
    font-weight: 500;
}

.agency-cta-note i {
    color: #f5b041;
}

/* ==============================================================================
   MEDIA VISUAL SHOWCASE - Real Photo Composition from assets/images/picss/
   ============================================================================== */
.agency-why-media-col {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.agency-media-wrap {
    position: relative;
    width: 100%;
    max-width: 440px;
    height: 520px;
}

/* Glow Backdrop */
.agency-media-glow {
    position: absolute;
    width: 320px;
    height: 320px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: radial-gradient(circle, rgba(255, 45, 117, 0.18) 0%, rgba(212, 175, 55, 0.12) 40%, transparent 70%);
    filter: blur(40px);
    pointer-events: none;
    z-index: 0;
}

/* Primary Featured Photo Card */
.agency-main-photo-card {
    position: absolute;
    top: 0;
    left: 0;
    width: 78%;
    height: 84%;
    border-radius: 20px;
    overflow: hidden;
    border: 2px solid rgba(255, 255, 255, 0.14);
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.7);
    background: #111420;
    z-index: 1;
}

.agency-main-photo-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.agency-main-photo-card:hover img {
    transform: scale(1.04);
}

/* Secondary Overlapping Photo Card */
.agency-sec-photo-card {
    position: absolute;
    bottom: 12px;
    right: 0;
    width: 58%;
    height: 60%;
    border-radius: 18px;
    overflow: hidden;
    border: 2px solid rgba(212, 175, 55, 0.45);
    box-shadow: 0 22px 55px rgba(0, 0, 0, 0.8), 0 0 25px rgba(212, 175, 55, 0.2);
    background: #111420;
    z-index: 2;
}

.agency-sec-photo-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.agency-sec-photo-card:hover img {
    transform: scale(1.04);
}

/* Floating Badges on Photo Cards */
.media-verified-badge {
    position: absolute;
    top: 14px;
    left: 14px;
    background: rgba(10, 12, 18, 0.9);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1px solid rgba(37, 211, 102, 0.45);
    color: #25d366;
    font-size: 0.75rem;
    font-weight: 700;
    padding: 5px 12px;
    border-radius: var(--radius-pill);
    display: inline-flex;
    align-items: center;
    gap: 6px;
    z-index: 3;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.4);
}

.media-live-badge {
    position: absolute;
    top: 12px;
    right: 12px;
    background: rgba(10, 12, 18, 0.9);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1px solid rgba(255, 45, 117, 0.45);
    color: #ff4b8b;
    font-size: 0.72rem;
    font-weight: 700;
    padding: 4px 10px;
    border-radius: var(--radius-pill);
    display: inline-flex;
    align-items: center;
    gap: 6px;
    z-index: 3;
}

.media-live-badge .pulse-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #ff4b8b;
    box-shadow: 0 0 8px #ff4b8b;
    animation: livePulse 1.8s infinite;
}

@keyframes livePulse {
    0%, 100% { transform: scale(1); opacity: 1; }
    50% { transform: scale(1.35); opacity: 0.6; }
}

/* Floating Trust Guarantee Card */
.agency-floating-trust {
    position: absolute;
    bottom: -12px;
    left: -15px;
    background: linear-gradient(135deg, rgba(17, 20, 32, 0.96), rgba(10, 12, 20, 0.98));
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(212, 175, 55, 0.38);
    border-radius: 14px;
    padding: 10px 16px;
    display: flex;
    align-items: center;
    gap: 12px;
    box-shadow: 0 14px 35px rgba(0, 0, 0, 0.7), 0 0 20px rgba(212, 175, 55, 0.12);
    z-index: 4;
}

.agency-floating-trust i {
    font-size: 1.45rem;
    color: #f5b041;
}

.agency-floating-trust .trust-title {
    display: block;
    font-family: var(--font-heading);
    font-size: 0.85rem;
    font-weight: 700;
    color: #ffffff;
    line-height: 1.25;
}

.agency-floating-trust .trust-sub {
    display: block;
    font-size: 0.73rem;
    color: #cbd5e1;
}

/* Mini Roster Preview Strip below composition */
.agency-roster-preview {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 1.5rem;
    padding: 9px 16px;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.35);
    z-index: 2;
}

.roster-avatars {
    display: flex;
    align-items: center;
}

.roster-avatars img {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid #0b0d14;
    margin-left: -9px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.4);
}

.roster-avatars img:first-child {
    margin-left: 0;
}

.roster-text {
    font-size: 0.78rem;
    color: #94a3b8;
    line-height: 1.35;
}

.roster-text strong {
    color: #f8fafc;
    font-weight: 600;
}

/* Responsive Media Queries for agency-why-section */
@media (max-width: 992px) {
    .agency-why-grid {
        grid-template-columns: 1fr;
        gap: 3rem;
    }

    .agency-why-media-col {
        order: -1;
    }

    .agency-media-wrap {
        max-width: 380px;
        height: 440px;
    }

    .agency-floating-trust {
        left: 0;
        bottom: -10px;
    }
}

@media (max-width: 640px) {
    .agency-why-section {
        padding: 3.5rem 0;
    }

    .agency-why-title {
        font-size: 1.45rem;
    }

    .agency-why-lead {
        font-size: 0.88rem;
        margin-bottom: 1.5rem;
    }

    .agency-features-grid {
        grid-template-columns: 1fr;
        gap: 0.85rem;
        margin-bottom: 1.75rem;
    }

    .agency-feature-card {
        padding: 1.1rem 1rem;
    }

    .agency-media-wrap {
        max-width: 310px;
        height: 360px;
    }

    .agency-floating-trust {
        padding: 8px 12px;
        gap: 9px;
    }

    .agency-floating-trust i {
        font-size: 1.2rem;
    }

    .agency-floating-trust .trust-title {
        font-size: 0.78rem;
    }

    .agency-floating-trust .trust-sub {
        font-size: 0.68rem;
    }

    .btn-agency-whatsapp {
        width: 100%;
        justify-content: center;
        font-size: 0.88rem;
    }

    .agency-roster-preview {
        width: 100%;
        justify-content: center;
    }
}

/* ==============================================================================
   CITYWIDE ESCORTS SECTION - H2 & Dual H3 Feature Cards (Expert UI/UX Layout)
   ============================================================================== */
.citywide-escorts-section {
    background: linear-gradient(180deg, #090b12 0%, #0d101a 50%, #090b12 100%);
    position: relative;
    padding: 5.5rem 0;
    overflow: hidden;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.citywide-escorts-section::before {
    content: '';
    position: absolute;
    top: -20%;
    left: 10%;
    width: 450px;
    height: 450px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255, 45, 117, 0.06) 0%, transparent 70%);
    filter: blur(50px);
    pointer-events: none;
    z-index: 0;
}

.citywide-escorts-section::after {
    content: '';
    position: absolute;
    bottom: -15%;
    right: 8%;
    width: 500px;
    height: 500px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(212, 175, 55, 0.05) 0%, transparent 70%);
    filter: blur(50px);
    pointer-events: none;
    z-index: 0;
}

.citywide-header-block {
    text-align: center;
    max-width: 900px;
    margin: 0 auto 3.5rem;
    position: relative;
    z-index: 1;
}

.citywide-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 15px;
    border-radius: var(--radius-pill);
    background: rgba(212, 175, 55, 0.09);
    border: 1px solid rgba(212, 175, 55, 0.3);
    color: #f5b041;
    font-size: 0.78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: 1.25rem;
}

.citywide-eyebrow .eyebrow-pulse {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #f5b041;
    box-shadow: 0 0 8px #f5b041;
    animation: livePulse 2s infinite;
}

.citywide-main-title {
    font-family: var(--font-heading);
    font-size: 2.2rem;
    font-weight: 700;
    line-height: 1.25;
    color: #ffffff;
    margin-bottom: 1.2rem;
    letter-spacing: -0.015em;
}

.citywide-main-lead {
    font-family: var(--font-body);
    font-size: 0.98rem;
    line-height: 1.76;
    color: #cbd5e1;
    margin-bottom: 2rem;
}

/* Quick Highlights Ribbon */
.citywide-highlights-ribbon {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.75rem;
}

.citywide-ribbon-item {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 7px 16px;
    border-radius: var(--radius-pill);
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    color: #e2e8f0;
    font-size: 0.82rem;
    font-weight: 600;
    backdrop-filter: blur(8px);
    transition: var(--transition-smooth);
}

.citywide-ribbon-item:hover {
    background: rgba(255, 255, 255, 0.07);
    border-color: rgba(255, 255, 255, 0.15);
    transform: translateY(-2px);
}

.citywide-ribbon-item i {
    color: #f5b041;
    font-size: 0.85rem;
}

/* Dual Master Cards (2 Subsections with Rich UI) */
.citywide-cards-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2.25rem;
    position: relative;
    z-index: 1;
}

.citywide-card {
    background: linear-gradient(145deg, rgba(20, 24, 38, 0.85) 0%, rgba(12, 15, 24, 0.95) 100%);
    border: 1px solid rgba(255, 255, 255, 0.09);
    border-radius: 20px;
    padding: 2.25rem 2rem;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.35s ease, border-color 0.35s ease;
    overflow: hidden;
}

.citywide-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
}

.citywide-card.card-pink::before {
    background: linear-gradient(90deg, #ff2d75, #ff5b93, transparent);
}

.citywide-card.card-gold::before {
    background: linear-gradient(90deg, #f5b041, #d4af37, transparent);
}

.citywide-card:hover {
    transform: translateY(-5px);
}

.citywide-card.card-pink:hover {
    border-color: rgba(255, 45, 117, 0.45);
    box-shadow: 0 20px 45px rgba(0, 0, 0, 0.6), 0 0 30px rgba(255, 45, 117, 0.14);
}

.citywide-card.card-gold:hover {
    border-color: rgba(212, 175, 55, 0.45);
    box-shadow: 0 20px 45px rgba(0, 0, 0, 0.6), 0 0 30px rgba(212, 175, 55, 0.14);
}

/* Card Top Navigation / Badges */
.citywide-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1.5rem;
}

.card-icon-pill {
    width: 48px;
    height: 48px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
}

.card-icon-pill.pink {
    background: linear-gradient(135deg, rgba(255, 45, 117, 0.18), rgba(255, 45, 117, 0.08));
    border: 1px solid rgba(255, 45, 117, 0.35);
    color: #ff4b8b;
}

.card-icon-pill.gold {
    background: linear-gradient(135deg, rgba(212, 175, 55, 0.18), rgba(212, 175, 55, 0.08));
    border: 1px solid rgba(212, 175, 55, 0.35);
    color: #f5b041;
}

.card-badge-status {
    padding: 5px 12px;
    border-radius: var(--radius-pill);
    font-size: 0.74rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.card-badge-status.pink {
    background: rgba(255, 45, 117, 0.1);
    border: 1px solid rgba(255, 45, 117, 0.28);
    color: #ff5b93;
}

.card-badge-status.gold {
    background: rgba(212, 175, 55, 0.1);
    border: 1px solid rgba(212, 175, 55, 0.28);
    color: #f5b041;
}

/* Headings and Descriptions inside cards */
.citywide-card-title {
    font-family: var(--font-heading);
    font-size: 1.45rem;
    font-weight: 700;
    color: #ffffff;
    line-height: 1.3;
    margin-bottom: 1rem;
}

.citywide-card-desc {
    font-family: var(--font-body);
    font-size: 0.92rem;
    line-height: 1.7;
    color: #94a3b8;
    margin-bottom: 1.6rem;
}

/* Micro Features Checklist inside cards */
.card-micro-features {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.65rem;
    margin-bottom: 1.4rem;
    padding-top: 1.2rem;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.micro-feature-item {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 0.84rem;
    color: #cbd5e1;
}

.card-pink .micro-feature-item i {
    color: #ff4b8b;
    font-size: 0.88rem;
}

.card-gold .micro-feature-item i {
    color: #f5b041;
    font-size: 0.88rem;
}

.micro-feature-item strong {
    color: #f1f5f9;
}

/* Tags Strip */
.card-tags-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 1.6rem;
}

.card-tag {
    font-size: 0.74rem;
    padding: 4px 11px;
    border-radius: 6px;
    background: rgba(255, 255, 255, 0.04);
    color: #94a3b8;
    border: 1px solid rgba(255, 255, 255, 0.06);
    font-weight: 500;
}

/* Card Action Button */
.btn-card-action {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.82rem 1.4rem;
    border-radius: 12px;
    font-family: var(--font-body);
    font-weight: 700;
    font-size: 0.88rem;
    text-decoration: none;
    transition: var(--transition-smooth);
    margin-top: auto;
}

.btn-card-action.pink {
    background: linear-gradient(135deg, rgba(255, 45, 117, 0.16) 0%, rgba(255, 45, 117, 0.06) 100%);
    border: 1px solid rgba(255, 45, 117, 0.35);
    color: #ffffff;
}

.btn-card-action.pink:hover {
    background: linear-gradient(135deg, #ff2d75 0%, #e01b60 100%);
    border-color: #ff2d75;
    box-shadow: 0 8px 24px rgba(255, 45, 117, 0.4);
    color: #ffffff;
}

.btn-card-action.gold {
    background: linear-gradient(135deg, rgba(212, 175, 55, 0.16) 0%, rgba(212, 175, 55, 0.06) 100%);
    border: 1px solid rgba(212, 175, 55, 0.35);
    color: #ffffff;
}

.btn-card-action.gold:hover {
    background: linear-gradient(135deg, #d4af37 0%, #b89326 100%);
    border-color: #d4af37;
    box-shadow: 0 8px 24px rgba(212, 175, 55, 0.4);
    color: #ffffff;
}

/* Responsive Media Queries for Citywide Section */
@media (max-width: 992px) {
    .citywide-cards-grid {
        grid-template-columns: 1fr;
        gap: 1.75rem;
    }

    .citywide-card {
        padding: 1.85rem 1.6rem;
    }
}

@media (max-width: 640px) {
    .citywide-escorts-section {
        padding: 3.5rem 0;
    }

    .citywide-main-title {
        font-size: 1.45rem;
    }

    .citywide-main-lead {
        font-size: 0.88rem;
    }

    .citywide-header-block {
        margin-bottom: 2.25rem;
    }

    .citywide-highlights-ribbon {
        gap: 0.5rem;
    }

    .citywide-ribbon-item {
        font-size: 0.74rem;
        padding: 5px 12px;
    }

    .citywide-card {
        padding: 1.5rem 1.25rem;
        border-radius: 16px;
    }

    .citywide-card-title {
        font-size: 1.25rem;
    }

    .citywide-card-desc {
        font-size: 0.85rem;
    }
}

/* ==============================================================================
   AGENCY VETTED PROFILES - Zigzag Image & Content Showcase (Expert UI/UX)
   ============================================================================== */
.agency-vetted-zigzag-section {
    background: radial-gradient(circle at 10% 20%, rgba(255, 45, 117, 0.05) 0%, transparent 50%),
                radial-gradient(circle at 90% 80%, rgba(212, 175, 55, 0.05) 0%, transparent 50%),
                #0b0d15;
    padding: 5.5rem 0;
    position: relative;
    overflow: hidden;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.zigzag-header-block {
    text-align: center;
    max-width: 880px;
    margin: 0 auto 4rem;
    position: relative;
    z-index: 1;
}

.zigzag-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 14px;
    border-radius: var(--radius-pill);
    background: rgba(255, 45, 117, 0.1);
    border: 1px solid rgba(255, 45, 117, 0.3);
    color: #ff5b93;
    font-size: 0.78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: 1.1rem;
}

.zigzag-main-title {
    font-family: var(--font-heading);
    font-size: 2.15rem;
    font-weight: 700;
    color: #ffffff;
    line-height: 1.25;
    margin-bottom: 1rem;
    letter-spacing: -0.015em;
}

/* Rows Container */
.zigzag-rows-list {
    display: flex;
    flex-direction: column;
    gap: 3.5rem;
    position: relative;
    z-index: 1;
}

.zigzag-row {
    display: grid;
    grid-template-columns: 360px 1fr;
    gap: 3.5rem;
    align-items: center;
}

.zigzag-row.row-reversed {
    grid-template-columns: 1fr 360px;
}

.zigzag-row.row-reversed .zigzag-image-col {
    order: 2;
}

.zigzag-row.row-reversed .zigzag-content-col {
    order: 1;
}

/* Small Image Card (content height, stylish frame) */
.zigzag-image-card {
    position: relative;
    width: 100%;
    max-width: 360px;
    height: 310px;
    border-radius: 20px;
    overflow: hidden;
    border: 1.5px solid rgba(255, 255, 255, 0.12);
    box-shadow: 0 18px 45px rgba(0, 0, 0, 0.6);
    background: #111420;
}

.zigzag-image-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.zigzag-image-card:hover img {
    transform: scale(1.05);
}

/* Float Badges on Image */
.zigzag-img-badge-top {
    position: absolute;
    top: 14px;
    left: 14px;
    background: rgba(11, 13, 21, 0.88);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1px solid rgba(255, 255, 255, 0.18);
    color: #ffffff;
    font-size: 0.74rem;
    font-weight: 700;
    padding: 5px 12px;
    border-radius: var(--radius-pill);
    display: inline-flex;
    align-items: center;
    gap: 6px;
    z-index: 2;
}

.zigzag-img-badge-top.pink {
    border-color: rgba(255, 45, 117, 0.4);
    color: #ff5b93;
}

.zigzag-img-badge-top.gold {
    border-color: rgba(212, 175, 55, 0.4);
    color: #f5b041;
}

.zigzag-img-badge-top.green {
    border-color: rgba(37, 211, 102, 0.4);
    color: #25d366;
}

.zigzag-img-badge-bottom {
    position: absolute;
    bottom: 12px;
    left: 12px;
    right: 12px;
    background: linear-gradient(180deg, rgba(14, 17, 26, 0.85), rgba(10, 12, 20, 0.95));
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 12px;
    padding: 7px 12px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 0.75rem;
    font-weight: 600;
    color: #cbd5e1;
    z-index: 2;
}

.zigzag-img-badge-bottom i {
    color: #f5b041;
}

/* Content Side Card */
.zigzag-content-card {
    background: linear-gradient(145deg, rgba(19, 23, 36, 0.72) 0%, rgba(12, 15, 25, 0.88) 100%);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 20px;
    padding: 2.1rem 2.25rem;
    position: relative;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    transition: var(--transition-smooth);
}

.zigzag-content-card:hover {
    border-color: rgba(255, 255, 255, 0.16);
    background: linear-gradient(145deg, rgba(23, 28, 44, 0.82) 0%, rgba(15, 19, 31, 0.94) 100%);
    box-shadow: 0 12px 35px rgba(0, 0, 0, 0.4);
}

.zigzag-content-tag {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 0.74rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    padding: 4px 11px;
    border-radius: var(--radius-pill);
    margin-bottom: 0.85rem;
}

.zigzag-content-tag.pink {
    background: rgba(255, 45, 117, 0.1);
    color: #ff5b93;
    border: 1px solid rgba(255, 45, 117, 0.25);
}

.zigzag-content-tag.gold {
    background: rgba(212, 175, 55, 0.1);
    color: #f5b041;
    border: 1px solid rgba(212, 175, 55, 0.25);
}

.zigzag-content-tag.cyan {
    background: rgba(56, 189, 248, 0.1);
    color: #38bdf8;
    border: 1px solid rgba(56, 189, 248, 0.25);
}

.zigzag-h3-title {
    font-family: var(--font-heading);
    font-size: 1.45rem;
    font-weight: 700;
    color: #ffffff;
    line-height: 1.32;
    margin-bottom: 1rem;
}

.zigzag-desc-text {
    font-family: var(--font-body);
    font-size: 0.92rem;
    line-height: 1.72;
    color: #cbd5e1;
    margin-bottom: 0.85rem;
}

.zigzag-desc-text:last-of-type {
    margin-bottom: 1.15rem;
}

/* Micro Chips Row */
.zigzag-chips-wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 1rem;
}

.zigzag-chip-pill {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: var(--radius-pill);
    padding: 5px 13px;
    font-size: 0.78rem;
    font-weight: 600;
    color: #e2e8f0;
}

.zigzag-chip-pill i {
    font-size: 0.8rem;
}

.zigzag-content-card.card-pink .zigzag-chip-pill i {
    color: #ff4b8b;
}

.zigzag-content-card.card-gold .zigzag-chip-pill i {
    color: #f5b041;
}

.zigzag-content-card.card-cyan .zigzag-chip-pill i {
    color: #38bdf8;
}

/* Responsive Media Queries */
@media (max-width: 992px) {
    .zigzag-row,
    .zigzag-row.row-reversed {
        grid-template-columns: 1fr;
        gap: 1.75rem;
    }

    .zigzag-row.row-reversed .zigzag-image-col {
        order: 1;
    }

    .zigzag-row.row-reversed .zigzag-content-col {
        order: 2;
    }

    .zigzag-image-card {
        max-width: 100%;
        height: 280px;
        margin: 0 auto;
    }

    .zigzag-content-card {
        padding: 1.75rem 1.5rem;
    }
}

@media (max-width: 640px) {
    .agency-vetted-zigzag-section {
        padding: 3.5rem 0;
    }

    .zigzag-main-title {
        font-size: 1.45rem;
    }

    .zigzag-header-block {
        margin-bottom: 2.5rem;
    }

    .zigzag-rows-list {
        gap: 2.25rem;
    }

    .zigzag-image-card {
        height: 240px;
        border-radius: 16px;
    }

    .zigzag-content-card {
        padding: 1.4rem 1.15rem;
        border-radius: 16px;
    }

    .zigzag-h3-title {
        font-size: 1.25rem;
    }

    .zigzag-desc-text {
        font-size: 0.86rem;
    }

}

/* ==============================================================================
   BEST ESCORTS SPOTLIGHT SECTION - Seamless Website Background
   ============================================================================== */
.best-escorts-spotlight-section {
    position: relative;
    padding: 4.5rem 0 5rem;
    overflow: hidden;
}

.spotlight-inner-grid {
    display: grid;
    grid-template-columns: 1.15fr 0.85fr;
    gap: 3.5rem;
    align-items: center;
}

.spotlight-content-col {
    position: relative;
    z-index: 2;
}

.spotlight-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 14px;
    border-radius: var(--radius-pill);
    background: rgba(212, 175, 55, 0.1);
    border: 1px solid rgba(212, 175, 55, 0.3);
    color: #f5b041;
    font-size: 0.78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: 1.25rem;
}

.spotlight-title {
    font-family: var(--font-heading);
    font-size: 2.15rem;
    font-weight: 700;
    color: #ffffff;
    line-height: 1.25;
    margin-bottom: 1.25rem;
    letter-spacing: -0.015em;
}

.spotlight-desc {
    font-family: var(--font-body);
    font-size: 0.96rem;
    line-height: 1.76;
    color: #cbd5e1;
    margin-bottom: 2rem;
}

/* 3 Mini Value Pillars */
.spotlight-metrics-row {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
    margin-bottom: 0;
}

.spotlight-metric-card {
    background: rgba(255, 255, 255, 0.035);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 14px;
    padding: 1rem 0.95rem;
    transition: var(--transition-smooth);
    position: relative;
}

.spotlight-metric-card:hover {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(212, 175, 55, 0.35);
    transform: translateY(-2px);
}

.spotlight-metric-icon {
    font-size: 1.25rem;
    color: #f5b041;
    margin-bottom: 0.5rem;
}

.spotlight-metric-val {
    display: block;
    font-family: var(--font-heading);
    font-size: 1.05rem;
    font-weight: 700;
    color: #ffffff;
    line-height: 1.2;
    margin-bottom: 0.2rem;
}

.spotlight-metric-lbl {
    display: block;
    font-size: 0.74rem;
    color: #94a3b8;
    line-height: 1.35;
}

/* ==============================================================================
   DIFFERENT STYLE IMAGE CARD: Clean Luxury Frame (No Badges)
   ============================================================================== */
.spotlight-media-frame {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* Ambient Backlight Glow */
.spotlight-media-frame::before {
    content: '';
    position: absolute;
    width: 85%;
    height: 85%;
    background: radial-gradient(circle, rgba(212, 175, 55, 0.15) 0%, rgba(255, 45, 117, 0.08) 60%, transparent 80%);
    filter: blur(45px);
    z-index: 0;
    pointer-events: none;
}

.spotlight-portrait-card {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 400px;
    height: 510px;
    border-radius: 22px;
    padding: 8px;
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.08) 0%, rgba(212, 175, 55, 0.18) 50%, rgba(255, 255, 255, 0.02) 100%);
    border: 1px solid rgba(212, 175, 55, 0.28);
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.7), 0 0 30px rgba(212, 175, 55, 0.08);
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.4s ease;
}

.spotlight-portrait-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 30px 70px rgba(0, 0, 0, 0.8), 0 0 45px rgba(212, 175, 55, 0.16);
    border-color: rgba(212, 175, 55, 0.45);
}

/* Inner Image Container */
.spotlight-img-inner {
    width: 100%;
    height: 100%;
    border-radius: 16px;
    overflow: hidden;
    position: relative;
}

.spotlight-img-inner img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.spotlight-portrait-card:hover .spotlight-img-inner img {
    transform: scale(1.05);
}

/* Responsive Media Queries */
@media (max-width: 992px) {
    .spotlight-inner-grid {
        grid-template-columns: 1fr;
        gap: 2.5rem;
    }

    .spotlight-portrait-card {
        max-width: 360px;
        height: 460px;
        margin: 0 auto;
    }
}

@media (max-width: 640px) {
    .best-escorts-spotlight-section {
        padding: 3rem 0;
    }

    .spotlight-title {
        font-size: 1.45rem;
    }

    .spotlight-desc {
        font-size: 0.88rem;
    }

    .spotlight-metrics-row {
        grid-template-columns: 1fr;
        gap: 0.75rem;
    }

    .spotlight-portrait-card {
        max-width: 300px;
        height: 380px;
    }
}

/* ==============================================================================
   BOOKING STEPS SECTION - Luxury Warm Beige Theme (Horizontal Flow)
   ============================================================================== */
.booking-steps-beige-section {
    position: relative;
    padding: 5rem 0 5.5rem;
    background: radial-gradient(circle at 10% 15%, rgba(225, 29, 72, 0.05) 0%, transparent 45%),
                radial-gradient(circle at 90% 85%, rgba(212, 175, 55, 0.08) 0%, transparent 45%),
                linear-gradient(135deg, #fdfbf7 0%, #f7f3ec 50%, #f4eee5 100%);
    border-top: 1px solid rgba(0, 0, 0, 0.07);
    border-bottom: 1px solid rgba(0, 0, 0, 0.07);
    overflow: hidden;
}

.booking-steps-header {
    text-align: center;
    max-width: 780px;
    margin: 0 auto 3.5rem;
}

.booking-steps-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 16px;
    border-radius: var(--radius-pill);
    background: rgba(225, 29, 72, 0.08);
    border: 1px solid rgba(225, 29, 72, 0.22);
    color: #be123c;
    font-size: 0.74rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: 1.15rem;
}

.booking-steps-badge .badge-dot-pink {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #e11d48;
    box-shadow: 0 0 6px #e11d48;
}

.booking-steps-title {
    font-family: var(--font-heading);
    font-size: clamp(2rem, 3.4vw, 2.7rem);
    font-weight: 800;
    color: #111827;
    line-height: 1.2;
    margin-bottom: 1rem;
    letter-spacing: -0.015em;
}

.booking-steps-subtitle {
    font-family: var(--font-body);
    font-size: 1.02rem;
    line-height: 1.65;
    color: #4b5563;
    margin: 0 auto;
}

/* Horizontal Steps Process Grid */
.booking-steps-horizontal-track {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
    position: relative;
}

.booking-steps-horizontal-track::before {
    content: '';
    position: absolute;
    top: 52px;
    left: 8%;
    right: 8%;
    height: 2px;
    background: linear-gradient(90deg, rgba(225, 29, 72, 0.35) 0%, rgba(217, 119, 6, 0.35) 35%, rgba(37, 99, 235, 0.35) 70%, rgba(5, 150, 105, 0.35) 100%);
    border-radius: 2px;
    z-index: 0;
}

.booking-steps-beige-section .booking-step-card {
    background: #ffffff !important;
    border: 1px solid rgba(0, 0, 0, 0.08) !important;
    border-radius: 20px;
    padding: 2rem 1.45rem 1.6rem;
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.04), 0 2px 6px rgba(0, 0, 0, 0.02) !important;
    transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

.booking-steps-beige-section .booking-step-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08), 0 4px 12px rgba(225, 29, 72, 0.08) !important;
    border-color: rgba(225, 29, 72, 0.3) !important;
}

.booking-steps-beige-section .step-card-title {
    color: #111827 !important;
}

.booking-steps-beige-section .step-card-desc {
    color: #4b5563 !important;
}

/* Step Card Top Header: Step Number & Icon */
.step-card-top-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1.25rem;
}

.step-card-num {
    font-family: var(--font-heading);
    font-size: 0.75rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    padding: 4px 12px;
    border-radius: var(--radius-pill);
    background: #f3f4f6;
    color: #4b5563;
    border: 1px solid rgba(0, 0, 0, 0.06);
}

.booking-step-card.step-pink .step-card-num {
    background: rgba(225, 29, 72, 0.08);
    color: #be123c;
    border-color: rgba(225, 29, 72, 0.2);
}

.booking-step-card.step-amber .step-card-num {
    background: rgba(217, 119, 6, 0.08);
    color: #b45309;
    border-color: rgba(217, 119, 6, 0.2);
}

.booking-step-card.step-blue .step-card-num {
    background: rgba(37, 99, 235, 0.08);
    color: #1d4ed8;
    border-color: rgba(37, 99, 235, 0.2);
}

.booking-step-card.step-green .step-card-num {
    background: rgba(5, 150, 105, 0.08);
    color: #047857;
    border-color: rgba(5, 150, 105, 0.2);
}

.step-card-icon-wrap {
    width: 48px;
    height: 48px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.28rem;
    transition: transform 0.35s ease;
}

.booking-step-card:hover .step-card-icon-wrap {
    transform: scale(1.12);
}

.booking-step-card.step-pink .step-card-icon-wrap {
    background: linear-gradient(135deg, rgba(225, 29, 72, 0.12) 0%, rgba(255, 45, 117, 0.18) 100%);
    color: #e11d48;
}

.booking-step-card.step-amber .step-card-icon-wrap {
    background: linear-gradient(135deg, rgba(245, 158, 11, 0.12) 0%, rgba(217, 119, 6, 0.18) 100%);
    color: #d97706;
}

.booking-step-card.step-blue .step-card-icon-wrap {
    background: linear-gradient(135deg, rgba(37, 99, 235, 0.12) 0%, rgba(59, 130, 246, 0.18) 100%);
    color: #2563eb;
}

.booking-step-card.step-green .step-card-icon-wrap {
    background: linear-gradient(135deg, rgba(16, 185, 129, 0.12) 0%, rgba(5, 150, 105, 0.18) 100%);
    color: #059669;
}

.step-card-title {
    font-family: var(--font-heading);
    font-size: 1.15rem;
    font-weight: 700;
    color: #111827;
    line-height: 1.35;
    margin-bottom: 0.75rem;
}

.step-card-desc {
    font-family: var(--font-body);
    font-size: 0.88rem;
    line-height: 1.68;
    color: #4b5563;
    margin-bottom: 1.35rem;
    flex-grow: 1;
}

.step-card-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.76rem;
    font-weight: 600;
    color: #374151;
    background: #f9fafb;
    border: 1px solid #e5e7eb;
    padding: 4px 10px;
    border-radius: var(--radius-pill);
    width: fit-content;
    margin-top: auto;
}

.step-card-chip i {
    font-size: 0.8rem;
}

.booking-step-card.step-pink .step-card-chip i { color: #e11d48; }
.booking-step-card.step-amber .step-card-chip i { color: #d97706; }
.booking-step-card.step-blue .step-card-chip i { color: #2563eb; }
.booking-step-card.step-green .step-card-chip i { color: #059669; }

/* Responsive Media Queries */
@media (max-width: 1024px) {
    .booking-steps-horizontal-track {
        grid-template-columns: repeat(2, 1fr);
        gap: 1.35rem;
    }

    .booking-steps-horizontal-track::before {
        display: none;
    }
}

@media (max-width: 640px) {
    .booking-steps-beige-section {
        padding: 3.5rem 0 4rem;
    }

    .booking-steps-header {
        margin-bottom: 2.5rem;
    }

    .booking-steps-horizontal-track {
        grid-template-columns: 1fr;
        gap: 1.15rem;
    }

    .booking-step-card {
        padding: 1.6rem 1.25rem;
    }

    .booking-steps-title {
        font-size: 1.55rem;
    }

    .booking-steps-subtitle {
        font-size: 0.92rem;
    }
}

/* ==============================================================================
   VIP ESCORT REQUESTS SECTION - Pure Content Luxury Editorial Showcase
   ============================================================================== */
.vip-requests-content-section {
    position: relative;
    padding: 4.5rem 0 5rem;
    background: radial-gradient(circle at 15% 30%, rgba(212, 175, 55, 0.06) 0%, transparent 55%),
                radial-gradient(circle at 85% 70%, rgba(225, 29, 72, 0.05) 0%, transparent 50%),
                #080a11;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    overflow: hidden;
}

.vip-requests-content-wrapper {
    max-width: 960px;
    margin: 0 auto;
}

.vip-requests-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 14px;
    border-radius: var(--radius-pill);
    background: rgba(212, 175, 55, 0.1);
    border: 1px solid rgba(212, 175, 55, 0.28);
    color: #f5b041;
    font-size: 0.76rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: 1.25rem;
}

.vip-requests-title {
    font-family: var(--font-heading);
    font-size: clamp(1.85rem, 3.2vw, 2.5rem);
    font-weight: 800;
    color: #ffffff;
    line-height: 1.25;
    margin-bottom: 1.5rem;
    letter-spacing: -0.015em;
}

.vip-requests-main-desc {
    font-family: var(--font-body);
    font-size: 1.02rem;
    line-height: 1.82;
    color: #cbd5e1;
    margin-bottom: 2rem;
}

/* Micro Chips Row */
.vip-requests-chips-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-bottom: 2.75rem;
}

.vip-request-chip {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 7px 14px;
    border-radius: var(--radius-pill);
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: #e2e8f0;
    font-size: 0.82rem;
    font-weight: 600;
    transition: all 0.25s ease;
}

.vip-request-chip i {
    color: #f5b041;
    font-size: 0.85rem;
}

.vip-request-chip:hover {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(212, 175, 55, 0.35);
    transform: translateY(-2px);
}

/* Decorative Divider */
.vip-requests-divider {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.25rem;
    margin-bottom: 2.75rem;
}

.vip-requests-divider .divider-line {
    flex: 1;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(212, 175, 55, 0.25), transparent);
}

.vip-requests-divider .divider-gem {
    color: #f5b041;
    font-size: 0.9rem;
    opacity: 0.8;
}

/* Subcard for H3 section */
.vip-requests-subcard {
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.03) 0%, rgba(212, 175, 55, 0.04) 50%, rgba(255, 255, 255, 0.015) 100%);
    border: 1px solid rgba(212, 175, 55, 0.22);
    border-left: 4px solid #f5b041;
    border-radius: 18px;
    padding: 2.25rem 2.25rem;
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.4);
    transition: border-color 0.3s ease, transform 0.3s ease;
}

.vip-requests-subcard:hover {
    border-color: rgba(212, 175, 55, 0.4);
    border-left-color: #ffd700;
    transform: translateY(-3px);
}

.subcard-header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 1rem;
}

.subcard-icon-pill {
    width: 40px;
    height: 40px;
    border-radius: 12px;
    background: rgba(212, 175, 55, 0.12);
    color: #f5b041;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.15rem;
    flex-shrink: 0;
}

.vip-requests-h3 {
    font-family: var(--font-heading);
    font-size: 1.35rem;
    font-weight: 700;
    color: #ffffff;
    margin: 0;
    line-height: 1.3;
}

.vip-requests-sub-desc {
    font-family: var(--font-body);
    font-size: 0.96rem;
    line-height: 1.78;
    color: #cbd5e1;
    margin-bottom: 1.5rem;
}

.subcard-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
}

.trip-tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 12px;
    border-radius: var(--radius-pill);
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.08);
    color: #94a3b8;
    font-size: 0.76rem;
    font-weight: 600;
}

.trip-tag i {
    color: #f5b041;
    font-size: 0.78rem;
}

@media (max-width: 768px) {
    .vip-requests-content-section {
        padding: 3.5rem 0;
    }

    .vip-requests-title {
        font-size: 1.45rem;
    }

    .vip-requests-main-desc {
        font-size: 0.92rem;
    }

    .vip-requests-subcard {
        padding: 1.5rem 1.25rem;
    }

    .vip-requests-h3 {
        font-size: 1.18rem;
    }

    .vip-requests-sub-desc {
        font-size: 0.88rem;
    }
}

/* ==============================================================================
   LIVE ROTATING GALLERY SECTION - Reference-Style Horizontal Cards & Live Shuffle
   ============================================================================== */
.gallery-rotating-section {
    position: relative;
    padding: 5rem 0 5.5rem;
    background: radial-gradient(circle at 10% 20%, rgba(255, 45, 117, 0.05) 0%, transparent 45%),
                radial-gradient(circle at 90% 80%, rgba(0, 210, 255, 0.05) 0%, transparent 45%),
                #090b13;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    overflow: hidden;
}

.gallery-rotating-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 2rem;
    margin-bottom: 2.75rem;
    flex-wrap: wrap;
}

.gallery-header-left {
    max-width: 760px;
}

.gallery-live-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 5px 14px;
    border-radius: var(--radius-pill);
    background: rgba(37, 211, 102, 0.1);
    border: 1px solid rgba(37, 211, 102, 0.3);
    color: #25d366;
    font-size: 0.74rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: 1rem;
}

.live-dot-green {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #25d366;
    box-shadow: 0 0 8px #25d366;
    animation: pulseDot 2s infinite;
}

.gallery-main-title {
    font-family: var(--font-heading);
    font-size: clamp(2rem, 3.4vw, 2.7rem);
    font-weight: 800;
    color: #ffffff;
    line-height: 1.2;
    margin-bottom: 0.85rem;
    letter-spacing: -0.015em;
}

.gallery-main-desc {
    font-family: var(--font-body);
    font-size: 0.96rem;
    line-height: 1.7;
    color: #94a3b8;
    margin: 0;
}

.gallery-header-right {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 8px;
}

.btn-refresh-gallery {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 10px 20px;
    border-radius: var(--radius-pill);
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.12) 0%, rgba(255, 255, 255, 0.05) 100%);
    border: 1px solid rgba(255, 255, 255, 0.25);
    color: #ffffff;
    font-family: var(--font-body);
    font-weight: 700;
    font-size: 0.88rem;
    cursor: pointer;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.4);
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

.btn-refresh-gallery:hover {
    background: linear-gradient(135deg, rgba(255, 45, 117, 0.25) 0%, rgba(255, 255, 255, 0.15) 100%);
    border-color: rgba(255, 45, 117, 0.45);
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(255, 45, 117, 0.25);
}

.btn-refresh-gallery i {
    font-size: 0.95rem;
    color: #f5b041;
}

.refresh-status-hint {
    font-size: 0.74rem;
    color: #64748b;
    font-weight: 500;
    transition: color 0.3s ease;
}

/* 2-Column Horizontal Cards Grid */
.gallery-rotating-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.25rem;
    transition: opacity 0.22s ease, transform 0.22s ease;
}

/* Horizontal Card Structure */
.gallery-card-horizontal {
    background: linear-gradient(145deg, rgba(20, 24, 38, 0.92) 0%, rgba(12, 15, 25, 0.98) 100%);
    border-radius: 18px;
    padding: 12px 14px;
    display: grid;
    grid-template-columns: 145px 1fr;
    gap: 1.15rem;
    align-items: center;
    position: relative;
    transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.55);
}

.gallery-card-horizontal:hover {
    transform: translateY(-4px);
}

/* Colorful Theme Border Variations (Like Reference) */
.gallery-card-horizontal.border-pink {
    border: 1px solid rgba(255, 45, 117, 0.32);
}
.gallery-card-horizontal.border-pink:hover {
    border-color: rgba(255, 45, 117, 0.7);
    box-shadow: 0 14px 34px rgba(0, 0, 0, 0.65), 0 0 20px rgba(255, 45, 117, 0.18);
}

.gallery-card-horizontal.border-cyan {
    border: 1px solid rgba(0, 210, 255, 0.32);
}
.gallery-card-horizontal.border-cyan:hover {
    border-color: rgba(0, 210, 255, 0.7);
    box-shadow: 0 14px 34px rgba(0, 0, 0, 0.65), 0 0 20px rgba(0, 210, 255, 0.18);
}

.gallery-card-horizontal.border-amber {
    border: 1px solid rgba(245, 176, 65, 0.32);
}
.gallery-card-horizontal.border-amber:hover {
    border-color: rgba(245, 176, 65, 0.7);
    box-shadow: 0 14px 34px rgba(0, 0, 0, 0.65), 0 0 20px rgba(245, 176, 65, 0.18);
}

.gallery-card-horizontal.border-green {
    border: 1px solid rgba(37, 211, 102, 0.32);
}
.gallery-card-horizontal.border-green:hover {
    border-color: rgba(37, 211, 102, 0.7);
    box-shadow: 0 14px 34px rgba(0, 0, 0, 0.65), 0 0 20px rgba(37, 211, 102, 0.18);
}

/* Card Left: Photo Box */
.card-photo-box {
    position: relative;
    width: 100%;
    aspect-ratio: 1/1;
    border-radius: 13px;
    overflow: hidden;
    background: #090c14;
}

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

.gallery-card-horizontal:hover .card-photo-box img {
    transform: scale(1.06);
}

.photo-active-indicator {
    position: absolute;
    top: 7px;
    left: 7px;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.6);
    backdrop-filter: blur(4px);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
}

.photo-active-indicator .indicator-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #25d366;
    box-shadow: 0 0 8px #25d366;
    animation: pulseDot 2s infinite;
}

.photo-watermark-pill {
    position: absolute;
    bottom: 7px;
    right: 7px;
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(4px);
    color: #be123c;
    font-size: 0.62rem;
    font-weight: 800;
    padding: 2px 7px;
    border-radius: 4px;
    z-index: 2;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.4);
    letter-spacing: 0.02em;
}

/* Card Right: Info Box */
.card-info-box {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.card-info-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 2px;
}

.card-model-name {
    font-family: var(--font-heading);
    font-size: 1.12rem;
    font-weight: 700;
    color: #ffffff;
    margin: 0;
    line-height: 1.25;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.card-rating-pill {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 2px 7px;
    border-radius: var(--radius-pill);
    background: rgba(245, 176, 65, 0.15);
    border: 1px solid rgba(245, 176, 65, 0.35);
    color: #f5b041;
    font-size: 0.72rem;
    font-weight: 800;
    flex-shrink: 0;
}

.card-rating-pill i {
    font-size: 0.68rem;
}

.card-tagline-text {
    font-size: 0.76rem;
    font-weight: 600;
    color: #ff2d75;
    margin-bottom: 6px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.card-meta-line {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 5px;
    font-size: 0.73rem;
    color: #94a3b8;
    margin-bottom: 11px;
}

.card-meta-line .meta-dot {
    color: #475569;
    font-size: 0.65rem;
}

.card-meta-line .meta-loc {
    color: #cbd5e1;
    font-weight: 600;
}

.card-meta-line i {
    font-size: 0.75rem;
    margin-right: 2px;
}

/* Dual Action Buttons (Call Now & WhatsApp) */
.card-dual-actions {
    display: grid;
    grid-template-columns: 1fr 1.15fr;
    gap: 8px;
}

.btn-action-call {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 6.5px 8px;
    border-radius: 8px;
    background: linear-gradient(135deg, #e11d48 0%, #be123c 100%);
    color: #ffffff;
    font-size: 0.78rem;
    font-weight: 700;
    text-decoration: none;
    transition: all 0.25s ease;
    box-shadow: 0 4px 12px rgba(225, 29, 72, 0.28);
}

.btn-action-call:hover {
    background: linear-gradient(135deg, #f43f5e 0%, #e11d48 100%);
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(225, 29, 72, 0.4);
    color: #ffffff;
}

.btn-action-whatsapp {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 6.5px 8px;
    border-radius: 8px;
    background: linear-gradient(135deg, #25d366 0%, #1ea952 100%);
    color: #ffffff;
    font-size: 0.78rem;
    font-weight: 700;
    text-decoration: none;
    transition: all 0.25s ease;
    box-shadow: 0 4px 12px rgba(37, 211, 102, 0.28);
}

.btn-action-whatsapp:hover {
    background: linear-gradient(135deg, #28e06d 0%, #20b857 100%);
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(37, 211, 102, 0.4);
    color: #ffffff;
}

.gallery-card-horizontal.is-linked {
    cursor: pointer;
    transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}

.gallery-card-horizontal.is-linked:hover {
    transform: translateY(-3px);
    box-shadow: 0 14px 35px rgba(0, 0, 0, 0.6);
}

.gallery-card-horizontal.is-linked.border-pink:hover {
    border-color: rgba(255, 45, 117, 0.6);
}

.card-photo-anchor {
    display: block;
    width: 100%;
    height: 100%;
    overflow: hidden;
    border-radius: inherit;
}

.card-photo-anchor img {
    transition: transform 0.4s ease;
}

.gallery-card-horizontal.is-linked:hover .card-photo-anchor img {
    transform: scale(1.08);
}

.model-name-link {
    color: #ffffff;
    text-decoration: none;
    transition: color 0.25s ease;
    display: inline-flex;
    align-items: center;
}

.model-name-link:hover {
    color: var(--pink-light);
}

.card-dual-actions.has-view {
    grid-template-columns: 1fr 1fr 36px;
    gap: 6px;
}

.btn-action-view {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: rgba(255, 45, 117, 0.15);
    border: 1px solid rgba(255, 117, 140, 0.35);
    color: var(--pink-soft);
    font-size: 0.85rem;
    font-weight: 700;
    text-decoration: none;
    transition: all 0.25s ease;
}

.btn-action-view:hover {
    background: var(--pink-primary);
    color: #ffffff;
    border-color: var(--pink-primary);
    transform: translateY(-2px);
}

/* Responsive Media Queries */
@media (max-width: 900px) {
    .gallery-rotating-grid {
        grid-template-columns: 1fr;
        gap: 1rem;
    }
}

@media (max-width: 600px) {
    .gallery-rotating-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 1.25rem;
    }

    .gallery-header-right {
        align-items: flex-start;
        width: 100%;
    }

    .btn-refresh-gallery {
        width: 100%;
        justify-content: center;
    }

    .gallery-card-horizontal {
        grid-template-columns: 110px 1fr;
        gap: 0.85rem;
        padding: 10px;
    }

    .card-model-name {
        font-size: 1.02rem;
    }

    .card-tagline-text {
        font-size: 0.72rem;
    }

    .card-meta-line {
        font-size: 0.69rem;
    }

    .btn-action-call,
    .btn-action-whatsapp {
        font-size: 0.72rem;
        padding: 6px 6px;
    }
}

/* ==============================================================================
   INCALL & OUTCALL EXPERIENCE SECTION (Reference-Style Dual Tabs & Session Pricing)
   ============================================================================== */
.incall-outcall-section {
    position: relative;
    padding: 5.5rem 0 6rem;
    background: radial-gradient(circle at 15% 25%, rgba(245, 158, 11, 0.05) 0%, transparent 45%),
                radial-gradient(circle at 85% 75%, rgba(255, 45, 117, 0.05) 0%, transparent 45%),
                #07080d;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    overflow: hidden;
}

/* Header Area */
.vibe-section-header {
    text-align: center;
    max-width: 820px;
    margin: 0 auto 3rem;
}

.vibe-header-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 5px 16px;
    border-radius: var(--radius-pill);
    background: rgba(245, 158, 11, 0.12);
    border: 1px solid rgba(245, 158, 11, 0.35);
    color: #f59e0b;
    font-size: 0.74rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin-bottom: 1.1rem;
}

.vibe-badge-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #f59e0b;
    box-shadow: 0 0 8px #f59e0b;
    animation: pulseDot 2s infinite;
}

.vibe-main-title {
    font-family: var(--font-heading);
    font-size: clamp(2rem, 3.4vw, 2.75rem);
    font-weight: 800;
    color: #ffffff;
    line-height: 1.2;
    margin-bottom: 1.1rem;
    letter-spacing: -0.015em;
}

.vibe-header-desc {
    font-family: var(--font-body);
    font-size: 1rem;
    line-height: 1.7;
    color: #94a3b8;
    margin: 0;
}

/* Interactive Tabs Switcher (Like Reference) */
.vibe-tabs-container {
    display: flex;
    justify-content: center;
    gap: 1.25rem;
    margin: 0 auto 3.25rem;
    max-width: 650px;
}

.vibe-tab-btn {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 13px 24px;
    border-radius: 999px;
    background: rgba(22, 27, 42, 0.85);
    border: 1px solid rgba(255, 255, 255, 0.12);
    color: #94a3b8;
    cursor: pointer;
    transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

.vibe-tab-btn:hover {
    border-color: rgba(255, 255, 255, 0.28);
    transform: translateY(-2px);
    color: #ffffff;
}

.tab-btn-icon {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.12);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.05rem;
    color: #cbd5e1;
    transition: all 0.3s ease;
    flex-shrink: 0;
}

.tab-btn-content {
    display: flex;
    flex-direction: column;
    text-align: left;
    min-width: 0;
}

.tab-btn-title {
    font-family: var(--font-heading);
    font-size: 1.08rem;
    font-weight: 700;
    line-height: 1.25;
    color: inherit;
    margin-bottom: 2px;
}

.tab-btn-sub {
    font-size: 0.76rem;
    color: #64748b;
    font-weight: 500;
    line-height: 1.2;
    transition: color 0.3s ease;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Tab 1 Active State (Incall - Gold/Amber Glow like Reference) */
.vibe-tab-btn[data-tab="incall"].active {
    background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
    border-color: #fbbf24;
    color: #000000;
    box-shadow: 0 10px 30px rgba(245, 158, 11, 0.42), 0 0 20px rgba(245, 158, 11, 0.25);
    transform: translateY(-2px);
}

.vibe-tab-btn[data-tab="incall"].active .tab-btn-icon {
    background: rgba(0, 0, 0, 0.2);
    border-color: rgba(0, 0, 0, 0.25);
    color: #000000;
}

.vibe-tab-btn[data-tab="incall"].active .tab-btn-title {
    color: #000000;
}

.vibe-tab-btn[data-tab="incall"].active .tab-btn-sub {
    color: rgba(0, 0, 0, 0.82);
    font-weight: 600;
}

/* Tab 2 Active State (Outcall - Pink/Coral Glow) */
.vibe-tab-btn[data-tab="outcall"].active {
    background: linear-gradient(135deg, #ff2d75 0%, #e11d48 100%);
    border-color: #ff6b9d;
    color: #ffffff;
    box-shadow: 0 10px 30px rgba(255, 45, 117, 0.42), 0 0 20px rgba(255, 45, 117, 0.25);
    transform: translateY(-2px);
}

.vibe-tab-btn[data-tab="outcall"].active .tab-btn-icon {
    background: rgba(255, 255, 255, 0.22);
    border-color: rgba(255, 255, 255, 0.35);
    color: #ffffff;
}

.vibe-tab-btn[data-tab="outcall"].active .tab-btn-title {
    color: #ffffff;
}

.vibe-tab-btn[data-tab="outcall"].active .tab-btn-sub {
    color: rgba(255, 255, 255, 0.9);
    font-weight: 600;
}

/* 2-Column Content Grid */
.vibe-content-grid {
    display: grid;
    grid-template-columns: 1.18fr 0.82fr;
    gap: 1.75rem;
    align-items: stretch;
}

/* Left Column: Experience Card */
.vibe-experience-card {
    background: linear-gradient(145deg, rgba(20, 24, 38, 0.94) 0%, rgba(11, 14, 23, 0.98) 100%);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 22px;
    padding: 2.5rem 2.25rem;
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.55);
    position: relative;
    overflow: hidden;
}

/* Tab Panels Animation */
.vibe-panel {
    display: none;
    opacity: 0;
    transform: translateY(10px);
    transition: opacity 0.3s ease, transform 0.3s ease;
}

.vibe-panel.active {
    display: block;
    opacity: 1;
    transform: translateY(0);
}

/* Experience Header */
.vibe-card-header {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 1.1rem;
}

.vibe-icon-badge {
    width: 46px;
    height: 46px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
    flex-shrink: 0;
}

.vibe-icon-badge.amber-glow {
    background: rgba(245, 158, 11, 0.15);
    border: 1px solid rgba(245, 158, 11, 0.35);
    color: #f59e0b;
    box-shadow: 0 4px 16px rgba(245, 158, 11, 0.2);
}

.vibe-icon-badge.pink-glow {
    background: rgba(255, 45, 117, 0.15);
    border: 1px solid rgba(255, 45, 117, 0.35);
    color: #ff2d75;
    box-shadow: 0 4px 16px rgba(255, 45, 117, 0.2);
}

.vibe-experience-heading {
    font-family: var(--font-heading);
    font-size: 1.55rem;
    font-weight: 700;
    color: #ffffff;
    margin: 0;
    line-height: 1.25;
}

.vibe-experience-intro {
    font-family: var(--font-body);
    font-size: 0.95rem;
    line-height: 1.7;
    color: #94a3b8;
    margin-bottom: 1.5rem;
}

/* Highlight Badges (Like Reference) */
.vibe-highlight-badges {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 1.85rem;
}

.vibe-pill-badge {
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    padding: 6px 14px;
    border-radius: 999px;
    text-transform: uppercase;
    display: inline-flex;
    align-items: center;
    line-height: 1.2;
}

.vibe-pill-badge.amber-pill {
    background: rgba(245, 158, 11, 0.15);
    border: 1px solid rgba(245, 158, 11, 0.4);
    color: #f59e0b;
}

.vibe-pill-badge.amber-pill-outline {
    background: transparent;
    border: 1px solid rgba(245, 158, 11, 0.45);
    color: #fcd34d;
}

.vibe-pill-badge.pink-pill {
    background: rgba(255, 45, 117, 0.15);
    border: 1px solid rgba(255, 45, 117, 0.4);
    color: #ff2d75;
}

.vibe-pill-badge.pink-pill-outline {
    background: transparent;
    border: 1px solid rgba(255, 45, 117, 0.45);
    color: #fda4af;
}

/* Checklist Items */
.vibe-checklist {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 1.05rem;
}

.vibe-check-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.vibe-check-item .check-icon {
    font-size: 1.05rem;
    line-height: 1;
    margin-top: 3px;
    flex-shrink: 0;
}

.vibe-panel#panelIncall .vibe-check-item .check-icon {
    color: #f59e0b;
}

.vibe-panel#panelOutcall .vibe-check-item .check-icon {
    color: #ff2d75;
}

.vibe-check-item .check-text {
    font-size: 0.91rem;
    line-height: 1.6;
    color: #cbd5e1;
}

.vibe-check-item .check-text strong {
    color: #ffffff;
    font-weight: 700;
}

/* Right Column: Session Pricing Card (Exact Reference Match) */
.vibe-pricing-card {
    background: linear-gradient(145deg, rgba(16, 20, 32, 0.96) 0%, rgba(9, 11, 18, 0.98) 100%);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 22px;
    padding: 2.5rem 2.25rem;
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.55);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.vibe-pricing-title {
    font-family: var(--font-heading);
    font-size: 1.55rem;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 1.65rem;
    line-height: 1.25;
}

.vibe-pricing-list {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
    margin-bottom: 1.5rem;
}

/* Horizontal Tier Cards */
.vibe-pricing-tier {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 13px 18px;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.08);
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.vibe-pricing-tier:hover {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(245, 158, 11, 0.35);
    transform: translateX(4px);
}

.tier-icon-box {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: rgba(245, 158, 11, 0.12);
    border: 1px solid rgba(245, 158, 11, 0.3);
    color: #f59e0b;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.88rem;
    font-weight: 700;
    flex-shrink: 0;
}

.tier-title-box {
    flex: 1;
    margin-left: 14px;
}

.tier-label {
    font-family: var(--font-heading);
    font-size: 1rem;
    font-weight: 700;
    color: #ffffff;
}

.tier-amount-box {
    text-align: right;
}

.tier-price {
    font-family: var(--font-heading);
    font-size: 1.08rem;
    font-weight: 800;
    color: #f59e0b;
    letter-spacing: 0.02em;
}

/* Highlight Tier for Full Night */
.vibe-pricing-tier.highlight-tier {
    background: linear-gradient(135deg, rgba(255, 45, 117, 0.08) 0%, rgba(245, 158, 11, 0.06) 100%);
    border-color: rgba(255, 45, 117, 0.32);
}

.vibe-pricing-tier.highlight-tier .tier-icon-box {
    background: rgba(255, 45, 117, 0.15);
    border-color: rgba(255, 45, 117, 0.4);
    color: #ff2d75;
}

.vibe-pricing-tier.highlight-tier .tier-price {
    color: #ff5e91;
}

.vibe-pricing-note {
    font-family: var(--font-body);
    font-size: 0.82rem;
    line-height: 1.6;
    color: #94a3b8;
    text-align: center;
    margin: 0 0 1.65rem;
    padding: 0 6px;
}

.vibe-pricing-cta-wrap {
    margin-top: auto;
}

.btn-lock-pricing {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    width: 100%;
    padding: 13px 20px;
    border-radius: 12px;
    background: linear-gradient(135deg, #25d366 0%, #1ea952 100%);
    color: #ffffff;
    font-family: var(--font-body);
    font-size: 0.94rem;
    font-weight: 700;
    text-decoration: none;
    box-shadow: 0 8px 24px rgba(37, 211, 102, 0.32);
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.btn-lock-pricing:hover {
    background: linear-gradient(135deg, #28e06d 0%, #20b857 100%);
    transform: translateY(-2px);
    box-shadow: 0 12px 28px rgba(37, 211, 102, 0.45);
    color: #ffffff;
}

.btn-lock-pricing i {
    font-size: 1.15rem;
}

/* Responsive Breakpoints */
@media (max-width: 992px) {
    .vibe-content-grid {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
}

@media (max-width: 600px) {
    .incall-outcall-section {
        padding: 4rem 0 4.5rem;
    }

    .vibe-tabs-container {
        flex-direction: column;
        gap: 0.75rem;
        margin-bottom: 2.25rem;
    }

    .vibe-tab-btn {
        width: 100%;
        padding: 10px 18px;
    }

    .vibe-experience-card,
    .vibe-pricing-card {
        padding: 1.75rem 1.25rem;
        border-radius: 18px;
    }

    .vibe-experience-heading,
    .vibe-pricing-title {
        font-size: 1.32rem;
    }

    .vibe-pricing-tier {
        padding: 11px 13px;
    }

    .tier-label {
        font-size: 0.92rem;
    }

    .tier-price {
        font-size: 0.98rem;
    }

    .vibe-check-item .check-text {
        font-size: 0.86rem;
    }
}

/* ==============================================================================
   BESPOKE OUTCALL BOOKINGS & POOLSIDE HOTEL RENDEZVOUS SECTION
   ============================================================================== */
.bespoke-rendezvous-section {
    position: relative;
    padding: 5.5rem 0 6rem;
    background: radial-gradient(circle at 85% 20%, rgba(245, 158, 11, 0.06) 0%, transparent 45%),
                radial-gradient(circle at 15% 80%, rgba(255, 45, 117, 0.06) 0%, transparent 45%),
                #080a11;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    overflow: hidden;
}

.bespoke-grid {
    display: grid;
    grid-template-columns: 1.18fr 0.82fr;
    gap: 3.5rem;
    align-items: center;
}

/* Left Content Column */
.bespoke-content-col {
    position: relative;
    z-index: 2;
}

.bespoke-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 5px 16px;
    border-radius: var(--radius-pill);
    background: rgba(245, 158, 11, 0.12);
    border: 1px solid rgba(245, 158, 11, 0.35);
    color: #f59e0b;
    font-size: 0.74rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin-bottom: 1.15rem;
}

.badge-dot-amber {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #f59e0b;
    box-shadow: 0 0 8px #f59e0b;
    animation: pulseDot 2s infinite;
}

.bespoke-main-title {
    font-family: var(--font-heading);
    font-size: clamp(2rem, 3.2vw, 2.75rem);
    font-weight: 800;
    color: #ffffff;
    line-height: 1.22;
    margin-bottom: 1.15rem;
    letter-spacing: -0.015em;
}

.bespoke-main-title .title-highlight {
    color: #f59e0b;
    display: inline;
}

.bespoke-lead-desc {
    font-family: var(--font-body);
    font-size: 0.96rem;
    line-height: 1.68;
    color: #94a3b8;
    margin-bottom: 1.35rem;
}

/* 3 Feature Blocks (Compact & Sleek) */
.bespoke-features-list {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    margin-bottom: 0;
}

.bespoke-feature-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 10px 14px;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.025);
    border: 1px solid rgba(255, 255, 255, 0.07);
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.bespoke-feature-item:hover {
    background: rgba(255, 255, 255, 0.05);
    border-color: rgba(245, 158, 11, 0.3);
    transform: translateX(4px);
}

.bespoke-feat-icon {
    width: 34px;
    height: 34px;
    border-radius: 9px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.95rem;
    flex-shrink: 0;
    margin-top: 2px;
}

.bespoke-feat-icon.icon-amber {
    background: rgba(245, 158, 11, 0.15);
    border: 1px solid rgba(245, 158, 11, 0.35);
    color: #f59e0b;
    box-shadow: 0 4px 12px rgba(245, 158, 11, 0.18);
}

.bespoke-feat-icon.icon-pink {
    background: rgba(255, 45, 117, 0.15);
    border: 1px solid rgba(255, 45, 117, 0.35);
    color: #ff2d75;
    box-shadow: 0 4px 12px rgba(255, 45, 117, 0.18);
}

.bespoke-feat-icon.icon-cyan {
    background: rgba(0, 210, 255, 0.15);
    border: 1px solid rgba(0, 210, 255, 0.35);
    color: #00d2ff;
    box-shadow: 0 4px 12px rgba(0, 210, 255, 0.18);
}

.bespoke-feat-content {
    flex: 1;
    min-width: 0;
}

.bespoke-h3 {
    font-family: var(--font-heading);
    font-size: 1.02rem;
    font-weight: 700;
    color: #ffffff;
    margin: 0 0 3px;
    line-height: 1.25;
}

.bespoke-feat-desc {
    font-family: var(--font-body);
    font-size: 0.84rem;
    line-height: 1.52;
    color: #94a3b8;
    margin: 0;
}

/* CTA Row */
.bespoke-cta-row {
    display: flex;
    align-items: center;
    gap: 18px;
    flex-wrap: wrap;
}

.btn-bespoke-whatsapp {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 13px 26px;
    border-radius: var(--radius-pill);
    background: linear-gradient(135deg, #25d366 0%, #1ea952 100%);
    color: #ffffff;
    font-family: var(--font-body);
    font-size: 0.95rem;
    font-weight: 700;
    text-decoration: none;
    box-shadow: 0 8px 24px rgba(37, 211, 102, 0.32);
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.btn-bespoke-whatsapp:hover {
    background: linear-gradient(135deg, #28e06d 0%, #20b857 100%);
    transform: translateY(-2px);
    box-shadow: 0 12px 28px rgba(37, 211, 102, 0.45);
    color: #ffffff;
}

.btn-bespoke-whatsapp i {
    font-size: 1.2rem;
}

.bespoke-guarantee-chip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 0.8rem;
    font-weight: 600;
    color: #cbd5e1;
}

.bespoke-guarantee-chip i {
    color: #25d366;
    font-size: 0.95rem;
}

/* Right Media Column */
.bespoke-media-col {
    position: relative;
    display: flex;
    justify-content: center;
}

.bespoke-media-glow {
    position: absolute;
    width: 95%;
    height: 95%;
    background: radial-gradient(circle, rgba(245, 158, 11, 0.16) 0%, rgba(255, 45, 117, 0.12) 60%, transparent 100%);
    filter: blur(45px);
    z-index: 1;
    pointer-events: none;
}

.bespoke-portrait-card {
    position: relative;
    z-index: 2;
    border-radius: 26px;
    padding: 10px;
    background: linear-gradient(145deg, rgba(245, 158, 11, 0.32) 0%, rgba(255, 45, 117, 0.22) 50%, rgba(255, 255, 255, 0.08) 100%);
    box-shadow: 0 24px 65px rgba(0, 0, 0, 0.65);
    max-width: 440px;
    width: 100%;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.bespoke-portrait-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 30px 75px rgba(0, 0, 0, 0.75), 0 0 30px rgba(245, 158, 11, 0.22);
}

.bespoke-img-inner {
    position: relative;
    border-radius: 19px;
    overflow: hidden;
    aspect-ratio: 3/4.2;
    background: #090c14;
}

.bespoke-img-inner img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.bespoke-portrait-card:hover .bespoke-img-inner img {
    transform: scale(1.05);
}

.bespoke-badge-live {
    position: absolute;
    top: 14px;
    left: 14px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 6px 14px;
    border-radius: var(--radius-pill);
    background: rgba(9, 12, 20, 0.78);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1px solid rgba(37, 211, 102, 0.4);
    color: #25d366;
    font-size: 0.73rem;
    font-weight: 700;
    z-index: 3;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.5);
}

.bespoke-badge-venue {
    position: absolute;
    bottom: 14px;
    right: 14px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 6px 14px;
    border-radius: var(--radius-pill);
    background: rgba(9, 12, 20, 0.78);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1px solid rgba(245, 158, 11, 0.4);
    color: #f5b041;
    font-size: 0.73rem;
    font-weight: 700;
    z-index: 3;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.5);
}

/* Responsive Media Queries */
@media (max-width: 992px) {
    .bespoke-grid {
        grid-template-columns: 1fr;
        gap: 2.75rem;
    }

    .bespoke-media-col {
        order: -1;
    }

    .bespoke-portrait-card {
        max-width: 380px;
        margin: 0 auto;
    }
}

@media (max-width: 600px) {
    .bespoke-rendezvous-section {
        padding: 4rem 0 4.5rem;
    }

    .bespoke-feature-item {
        padding: 13px 14px;
        gap: 12px;
    }

    .bespoke-feat-icon {
        width: 38px;
        height: 38px;
        font-size: 1rem;
    }

    .bespoke-h3 {
        font-size: 1.05rem;
    }

    .bespoke-feat-desc {
        font-size: 0.86rem;
    }

    .bespoke-cta-row {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }

    .btn-bespoke-whatsapp {
        width: 100%;
        justify-content: center;
    }
}

/* ==============================================================================
   MOST TRUSTED BANGALORE ESCORT AGENCY - HERE'S WHY! SECTION
   ============================================================================== */
.trusted-agency-section {
    position: relative;
    padding: 5.5rem 0 6rem;
    background: radial-gradient(circle at 10% 25%, rgba(255, 45, 117, 0.05) 0%, transparent 45%),
                radial-gradient(circle at 90% 75%, rgba(0, 210, 255, 0.05) 0%, transparent 45%),
                #07090f;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    overflow: hidden;
}

.trusted-agency-header {
    text-align: center;
    max-width: 840px;
    margin: 0 auto 3.25rem;
}

.trusted-agency-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 5px 16px;
    border-radius: var(--radius-pill);
    background: rgba(255, 45, 117, 0.12);
    border: 1px solid rgba(255, 45, 117, 0.35);
    color: #ff2d75;
    font-size: 0.74rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin-bottom: 1.15rem;
}

.trusted-agency-title {
    font-family: var(--font-heading);
    font-size: clamp(2rem, 3.4vw, 2.75rem);
    font-weight: 800;
    color: #ffffff;
    line-height: 1.22;
    margin-bottom: 1.1rem;
    letter-spacing: -0.015em;
}

.trusted-agency-subtitle {
    font-family: var(--font-body);
    font-size: 1rem;
    line-height: 1.7;
    color: #94a3b8;
    margin: 0;
}

/* Outer Split Card Wrapper */
.trusted-agency-card {
    background: linear-gradient(145deg, rgba(18, 22, 35, 0.94) 0%, rgba(10, 13, 22, 0.98) 100%);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 24px;
    padding: 2rem;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.55);
    position: relative;
    overflow: hidden;
}

/* 2-Column Grid */
.trusted-agency-grid {
    display: grid;
    grid-template-columns: 1.18fr 0.82fr;
    gap: 2.25rem;
    align-items: stretch;
}

/* Left Content Column */
.trusted-agency-content {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 1.15rem;
}

.trusted-lead-box {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
    margin-bottom: 0;
}

/* Small Golden Book Now CTA */
.trusted-cta-wrap {
    display: flex;
    align-items: center;
    margin: 0.1rem 0;
}

.btn-book-now-gold {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 20px;
    border-radius: var(--radius-pill);
    background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
    border: 1px solid #fbbf24;
    color: #000000;
    font-family: var(--font-heading);
    font-size: 0.82rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    text-decoration: none;
    box-shadow: 0 4px 16px rgba(245, 158, 11, 0.35);
    transition: all 0.28s cubic-bezier(0.16, 1, 0.3, 1);
}

.btn-book-now-gold:hover {
    background: linear-gradient(135deg, #fbbf24 0%, #f59e0b 100%);
    transform: translateY(-2px);
    box-shadow: 0 8px 22px rgba(245, 158, 11, 0.5);
    color: #000000;
}

.btn-book-now-gold i {
    font-size: 0.8rem;
}

.trusted-lead-text {
    font-family: var(--font-body);
    font-size: 0.95rem;
    line-height: 1.7;
    color: #cbd5e1;
    margin: 0;
}

.trusted-lead-text strong {
    color: #ffffff;
    font-weight: 700;
}

/* Nested Highlighted Summary Card */
.trusted-summary-card {
    background: rgba(255, 255, 255, 0.025);
    border: 1px solid rgba(245, 176, 65, 0.28);
    border-radius: 16px;
    padding: 1.35rem 1.5rem;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
    position: relative;
}

.summary-card-header {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 1.15rem;
}

.summary-icon {
    font-size: 1.3rem;
    line-height: 1;
}

.summary-card-title {
    font-family: var(--font-heading);
    font-size: 1.08rem;
    font-weight: 700;
    color: #f5b041;
    margin: 0;
    line-height: 1.3;
}

.trusted-summary-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
}

.summary-list-item {
    display: flex;
    align-items: flex-start;
    gap: 11px;
}

.summary-list-item .item-bullet {
    color: #f5b041;
    font-size: 0.88rem;
    margin-top: 3px;
    flex-shrink: 0;
}

.summary-list-item .item-text {
    font-family: var(--font-body);
    font-size: 0.88rem;
    line-height: 1.6;
    color: #94a3b8;
}

.summary-list-item .item-text strong {
    color: #ffffff;
    font-weight: 700;
}

/* Right Media Column */
.trusted-agency-media {
    position: relative;
    border-radius: 18px;
    overflow: hidden;
    min-height: 480px;
    background: #0c0f18;
}

.trusted-agency-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    display: block;
    transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.trusted-agency-card:hover .trusted-agency-media img {
    transform: scale(1.04);
}

/* Responsive Media Queries */
@media (max-width: 992px) {
    .trusted-agency-grid {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .trusted-agency-media {
        min-height: 380px;
        order: -1;
    }
}

@media (max-width: 600px) {
    .trusted-agency-section {
        padding: 4rem 0 4.5rem;
    }

    .trusted-agency-card {
        padding: 1.25rem;
        border-radius: 18px;
    }

    .trusted-summary-card {
        padding: 1.1rem 1rem;
    }

    .summary-card-title {
        font-size: 1rem;
    }

    .summary-list-item .item-text {
        font-size: 0.84rem;
    }

    .trusted-agency-media {
        min-height: 320px;
    }
}

/* ==============================================================================
   NOT YOUR AVG COPY-PASTE ESCORT WEBSITE IN BANGALORE SECTION
   ============================================================================== */
.not-avg-section {
    position: relative;
    padding: 3.5rem 0 3.75rem;
    background: radial-gradient(circle at 80% 25%, rgba(245, 158, 11, 0.05) 0%, transparent 45%),
                radial-gradient(circle at 20% 75%, rgba(255, 45, 117, 0.05) 0%, transparent 45%),
                #080a11;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    overflow: hidden;
}

.not-avg-header {
    text-align: center;
    max-width: 800px;
    margin: 0 auto 1.85rem;
}

.not-avg-badge {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 4px 14px;
    border-radius: var(--radius-pill);
    background: rgba(245, 158, 11, 0.12);
    border: 1px solid rgba(245, 158, 11, 0.35);
    color: #f59e0b;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    margin-bottom: 0.75rem;
}

.not-avg-title {
    font-family: var(--font-heading);
    font-size: clamp(1.65rem, 2.6vw, 2.15rem);
    font-weight: 800;
    color: #ffffff;
    line-height: 1.22;
    margin-bottom: 0.75rem;
    letter-spacing: -0.015em;
}

.not-avg-desc {
    font-family: var(--font-body);
    font-size: 0.91rem;
    line-height: 1.62;
    color: #94a3b8;
    margin: 0 auto;
    max-width: 740px;
}

/* Outer Card Wrapper (Compact Reference Style) */
.not-avg-card {
    background: linear-gradient(145deg, rgba(18, 22, 35, 0.94) 0%, rgba(10, 13, 22, 0.98) 100%);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 20px;
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.55);
    overflow: hidden;
    max-width: 920px;
    margin: 0 auto;
}

/* 2-Column Grid */
.not-avg-grid {
    display: grid;
    grid-template-columns: 1.25fr 0.75fr;
    align-items: stretch;
}

/* Left Content Column (Compact Spacing & Tight Gaps) */
.not-avg-content {
    padding: 1.75rem 2rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 1.15rem;
}

.not-avg-block {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.not-avg-block-header {
    display: flex;
    align-items: center;
    gap: 9px;
}

.not-avg-block .block-icon {
    font-size: 1.15rem;
    line-height: 1;
    flex-shrink: 0;
}

.not-avg-h3 {
    font-family: var(--font-heading);
    font-size: 1.05rem;
    font-weight: 700;
    color: #f5a623;
    margin: 0;
    line-height: 1.35;
}

.not-avg-block-text {
    font-family: var(--font-body);
    font-size: 0.86rem;
    line-height: 1.56;
    color: #cbd5e1;
    margin: 0;
}

/* Right Media Column */
.not-avg-media {
    position: relative;
    overflow: hidden;
    min-height: 330px;
    background: #0c0f18;
}

.not-avg-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 10%;
    display: block;
    transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.not-avg-card:hover .not-avg-media img {
    transform: scale(1.04);
}

/* Responsive Media Queries */
@media (max-width: 992px) {
    .not-avg-grid {
        grid-template-columns: 1fr;
    }

    .not-avg-content {
        padding: 1.6rem 1.4rem;
        gap: 1.15rem;
    }

    .not-avg-media {
        min-height: 280px;
        order: -1;
    }
}

@media (max-width: 600px) {
    .not-avg-section {
        padding: 2.75rem 0 3.25rem;
    }

    .not-avg-header {
        margin-bottom: 1.4rem;
    }

    .not-avg-title {
        font-size: 1.45rem;
    }

    .not-avg-card {
        border-radius: 16px;
    }

    .not-avg-content {
        padding: 1.35rem 1.1rem;
        gap: 1rem;
    }

    .not-avg-h3 {
        font-size: 0.98rem;
    }

    .not-avg-block-text {
        font-size: 0.83rem;
        line-height: 1.5;
    }

    .not-avg-media {
        min-height: 240px;
    }
}

/* ==============================================================================
   HIRING ESCORTS IN BANGALORE — THINGS THAT ACTUALLY MATTER SECTION
   Luxury Warm Beige Theme & Equal-Height Media Showcase
   ============================================================================== */
.hiring-matters-section {
    position: relative;
    padding: 4.5rem 0 5rem;
    background: radial-gradient(circle at 10% 15%, rgba(225, 29, 72, 0.04) 0%, transparent 45%),
                radial-gradient(circle at 90% 85%, rgba(212, 175, 55, 0.08) 0%, transparent 45%),
                linear-gradient(135deg, #fdfbf7 0%, #f7f3ec 50%, #f4eee5 100%);
    border-top: 1px solid rgba(0, 0, 0, 0.07);
    border-bottom: 1px solid rgba(0, 0, 0, 0.07);
    overflow: hidden;
}

.matters-container {
    max-width: 1080px;
    margin: 0 auto;
}

.matters-grid {
    display: grid;
    grid-template-columns: 0.88fr 1.12fr;
    gap: 3.5rem;
    align-items: stretch;
}

/* Left Column: Media (Stretches to exactly match content height) */
.matters-media {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    background: #eae4d8;
    border: 1px solid rgba(0, 0, 0, 0.08);
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.08), 0 2px 6px rgba(0, 0, 0, 0.04);
    height: 100%;
    min-height: 100%;
    display: flex;
}

.matters-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 15%;
    display: block;
    transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.matters-media:hover img {
    transform: scale(1.04);
}

/* Right Column: Editorial Content */
.matters-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.matters-badge {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 5px 14px;
    border-radius: var(--radius-pill);
    background: rgba(180, 83, 9, 0.08);
    border: 1px solid rgba(180, 83, 9, 0.22);
    color: #b45309;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    margin-bottom: 1rem;
    align-self: flex-start;
}

.matters-badge .badge-dot-amber {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #d97706;
    box-shadow: 0 0 6px #d97706;
}

.matters-title {
    font-family: var(--font-heading);
    font-size: clamp(1.85rem, 2.8vw, 2.4rem);
    font-weight: 800;
    color: #111827;
    line-height: 1.24;
    margin-bottom: 1.25rem;
    letter-spacing: -0.015em;
}

.matters-text-group {
    display: flex;
    flex-direction: column;
    gap: 1.05rem;
    margin-bottom: 0;
}

.matters-text {
    font-family: var(--font-body);
    font-size: 0.94rem;
    line-height: 1.72;
    color: #4b5563;
    margin: 0;
}

.matters-text strong {
    color: #111827;
    font-weight: 700;
}

/* Responsive Media Queries */
@media (max-width: 992px) {
    .matters-grid {
        grid-template-columns: 1fr;
        gap: 2.25rem;
    }

    .matters-media {
        height: 380px;
        min-height: 380px;
        max-width: 440px;
        margin: 0 auto;
        width: 100%;
    }
}

@media (max-width: 600px) {
    .hiring-matters-section {
        padding: 3.25rem 0 3.75rem;
    }

    .matters-title {
        font-size: 1.55rem;
        margin-bottom: 1rem;
    }

    .matters-text {
        font-size: 0.88rem;
        line-height: 1.62;
    }

    .matters-media {
        height: 320px;
        min-height: 320px;
        border-radius: 16px;
    }
}

/* ==============================================================================
   ESCORTS AVAILABLE FOR SHORT TRIPS & BUSINESS EVENTS SECTION
   (Left Content, Right Media - Equal Height Showcase)
   ============================================================================== */
.travel-events-section {
    position: relative;
    padding: 4.5rem 0 5rem;
    background: radial-gradient(circle at 85% 30%, rgba(245, 166, 35, 0.05) 0%, transparent 45%),
                radial-gradient(circle at 15% 70%, rgba(255, 45, 117, 0.05) 0%, transparent 45%),
                #080a11;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    overflow: hidden;
}

.travel-events-container {
    max-width: 1080px;
    margin: 0 auto;
}

.travel-events-grid {
    display: grid;
    grid-template-columns: 1.14fr 0.86fr;
    gap: 3.5rem;
    align-items: stretch;
}

/* Left Column: Editorial Content */
.travel-events-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.travel-events-badge {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 5px 14px;
    border-radius: var(--radius-pill);
    background: rgba(245, 158, 11, 0.12);
    border: 1px solid rgba(245, 158, 11, 0.35);
    color: #f59e0b;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    margin-bottom: 1rem;
    align-self: flex-start;
}

.travel-events-title {
    font-family: var(--font-heading);
    font-size: clamp(1.85rem, 2.8vw, 2.35rem);
    font-weight: 800;
    color: #ffffff;
    line-height: 1.25;
    margin-bottom: 1.25rem;
    letter-spacing: -0.015em;
}

.travel-events-text-group {
    display: flex;
    flex-direction: column;
    gap: 1.05rem;
}

.travel-events-text {
    font-family: var(--font-body);
    font-size: 0.94rem;
    line-height: 1.72;
    color: #cbd5e1;
    margin: 0;
}

.travel-events-text strong {
    color: #ffffff;
    font-weight: 700;
}

/* Right Column: Media (Equal Height with Content) */
.travel-events-media {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    background: #0d101b;
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.65);
    height: 100%;
    min-height: 100%;
    display: flex;
}

.travel-events-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 10%;
    display: block;
    transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.travel-events-media:hover img {
    transform: scale(1.04);
}

/* Responsive Media Queries */
@media (max-width: 992px) {
    .travel-events-grid {
        grid-template-columns: 1fr;
        gap: 2.25rem;
    }

    .travel-events-media {
        height: 380px;
        min-height: 380px;
        max-width: 440px;
        margin: 0 auto;
        width: 100%;
    }
}

@media (max-width: 600px) {
    .travel-events-section {
        padding: 3.25rem 0 3.75rem;
    }

    .travel-events-title {
        font-size: 1.5rem;
        margin-bottom: 1rem;
    }

    .travel-events-text {
        font-size: 0.88rem;
        line-height: 1.62;
    }

    .travel-events-media {
        height: 320px;
        min-height: 320px;
        border-radius: 16px;
    }
}

/* ==============================================================================
   CHOOSE THAT VIBE WITH YOU — LANES / CATEGORIES GRID SECTION (Reference Style)
   ============================================================================== */
.vibe-lanes-section {
    position: relative;
    padding: 5.5rem 0 6rem;
    background: radial-gradient(circle at 10% 20%, rgba(245, 158, 11, 0.05) 0%, transparent 45%),
                radial-gradient(circle at 90% 80%, rgba(255, 45, 117, 0.05) 0%, transparent 45%),
                #090b12;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    overflow: hidden;
}

.vibe-lanes-header {
    text-align: center;
    max-width: 840px;
    margin: 0 auto 3.5rem;
}

.vibe-lanes-badge {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 5px 16px;
    border-radius: var(--radius-pill);
    background: rgba(245, 158, 11, 0.12);
    border: 1px solid rgba(245, 158, 11, 0.35);
    color: #f59e0b;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin-bottom: 1.15rem;
}

.vibe-lanes-title {
    font-family: var(--font-heading);
    font-size: clamp(2rem, 3.5vw, 2.75rem);
    font-weight: 800;
    color: #ffffff;
    line-height: 1.22;
    margin-bottom: 1.15rem;
    letter-spacing: -0.015em;
}

.vibe-lanes-subtitle {
    font-family: var(--font-body);
    font-size: 0.98rem;
    line-height: 1.7;
    color: #94a3b8;
    margin: 0 auto;
    max-width: 720px;
}

/* 6-Card Grid (3 Columns on Desktop) */
.vibe-lanes-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.85rem;
}

/* Individual Vibe Card */
.vibe-lane-card {
    background: linear-gradient(180deg, #131724 0%, #0c0f18 100%);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 18px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.45);
    transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

.vibe-lane-card:hover {
    transform: translateY(-7px);
    border-color: rgba(245, 158, 11, 0.45);
    box-shadow: 0 20px 48px rgba(0, 0, 0, 0.65), 0 0 25px rgba(245, 158, 11, 0.15);
}

/* Card Media */
.vibe-lane-media {
    position: relative;
    aspect-ratio: 16/11;
    overflow: hidden;
    background: #090c14;
}

.vibe-lane-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    display: block;
    transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.vibe-lane-card:hover .vibe-lane-media img {
    transform: scale(1.06);
}

/* Card Body */
.vibe-lane-body {
    padding: 1.35rem 1.45rem 1.5rem;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.vibe-lane-card-title {
    font-family: var(--font-heading);
    font-size: 1.25rem;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 0.4rem;
    line-height: 1.25;
}

.vibe-lane-desc {
    font-family: var(--font-body);
    font-size: 0.88rem;
    line-height: 1.55;
    color: #94a3b8;
    margin-bottom: 1.25rem;
    flex-grow: 1;
}

.vibe-lane-link {
    font-family: var(--font-heading);
    font-size: 0.86rem;
    font-weight: 700;
    color: #f5a623;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-top: auto;
    transition: all 0.25s ease;
}

.vibe-lane-link i {
    font-size: 0.82rem;
    transition: transform 0.25s ease;
}

.vibe-lane-card:hover .vibe-lane-link {
    color: #fbbf24;
}

.vibe-lane-card:hover .vibe-lane-link i {
    transform: translateX(5px);
}

/* Responsive Breakpoints */
@media (max-width: 992px) {
    .vibe-lanes-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 1.4rem;
    }

    .vibe-lanes-header {
        margin-bottom: 2.5rem;
    }
}

@media (max-width: 600px) {
    .vibe-lanes-section {
        padding: 4rem 0 4.5rem;
    }

    .vibe-lanes-grid {
        grid-template-columns: 1fr;
        gap: 1.25rem;
    }

    .vibe-lane-media {
        aspect-ratio: 16/10;
    }

    .vibe-lane-body {
        padding: 1.2rem 1.25rem 1.35rem;
    }

    .vibe-lane-card-title {
        font-size: 1.15rem;
    }

    .vibe-lane-desc {
        font-size: 0.85rem;
    }
}

/* ==============================================================================
   REAL PHOTOS - PROPER FILTRATION - NO FAKE PROFILES (ZIG ZAG SECTION)
   ============================================================================== */
.zigzag-filter-section {
    position: relative;
    padding: 5.5rem 0 6rem;
    background: radial-gradient(circle at 10% 25%, rgba(245, 158, 11, 0.05) 0%, transparent 45%),
                radial-gradient(circle at 90% 75%, rgba(255, 45, 117, 0.05) 0%, transparent 45%),
                #07090f;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    overflow: hidden;
}

.zigzag-filter-header {
    text-align: center;
    max-width: 860px;
    margin: 0 auto 4rem;
}

.zigzag-filter-badge {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 5px 16px;
    border-radius: var(--radius-pill);
    background: rgba(245, 158, 11, 0.12);
    border: 1px solid rgba(245, 158, 11, 0.35);
    color: #f59e0b;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin-bottom: 1.15rem;
}

.zigzag-filter-title {
    font-family: var(--font-heading);
    font-size: clamp(2rem, 3.4vw, 2.75rem);
    font-weight: 800;
    color: #ffffff;
    line-height: 1.22;
    margin-bottom: 1.15rem;
    letter-spacing: -0.015em;
}

.zigzag-filter-desc {
    font-family: var(--font-body);
    font-size: 0.98rem;
    line-height: 1.74;
    color: #94a3b8;
    margin: 0 auto;
}

/* Rows Container */
.zigzag-rows {
    display: flex;
    flex-direction: column;
    gap: 3.5rem;
}

/* Individual Zig-Zag Row */
.zigzag-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3.5rem;
    align-items: center;
}

/* Editorial Card Box (Dark floating card matching reference) */
.zigzag-card {
    background: linear-gradient(145deg, rgba(18, 22, 35, 0.94) 0%, rgba(10, 13, 22, 0.98) 100%);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 20px;
    padding: 2.25rem 2.25rem;
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.55);
    transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

.zigzag-card:hover {
    border-color: rgba(245, 158, 11, 0.35);
    transform: translateY(-4px);
    box-shadow: 0 20px 48px rgba(0, 0, 0, 0.65);
}

.zigzag-h3 {
    font-family: var(--font-heading);
    font-size: 1.45rem;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 1rem;
    line-height: 1.25;
}

.zigzag-text {
    font-family: var(--font-body);
    font-size: 0.94rem;
    line-height: 1.72;
    color: #cbd5e1;
    margin: 0;
}

/* Media Column */
.zigzag-media {
    position: relative;
    border-radius: 22px;
    overflow: hidden;
    background: #0d101b;
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.65);
    max-height: 480px;
    aspect-ratio: 3/4;
    margin: 0 auto;
    width: 100%;
    max-width: 440px;
}

.zigzag-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    display: block;
    transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.zigzag-media:hover img {
    transform: scale(1.05);
}

/* Responsive Media Queries */
@media (max-width: 992px) {
    .zigzag-row {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .zigzag-row:nth-child(2) .zigzag-media {
        order: -1;
    }

    .zigzag-media {
        max-height: 380px;
        order: -1;
    }

    .zigzag-rows {
        gap: 2.75rem;
    }
}

@media (max-width: 600px) {
    .zigzag-filter-section {
        padding: 4rem 0 4.5rem;
    }

    .zigzag-filter-header {
        margin-bottom: 2.5rem;
    }

    .zigzag-filter-title {
        font-size: 1.6rem;
    }

    .zigzag-card {
        padding: 1.5rem 1.25rem;
        border-radius: 16px;
    }

    .zigzag-h3 {
        font-size: 1.22rem;
    }

    .zigzag-text {
        font-size: 0.88rem;
    }

    .zigzag-media {
        max-height: 320px;
        border-radius: 16px;
    }
}

/* ==============================================================================
   PRIVACY CONTROLLED BOOKINGS IN BANGALORE — 24X7 (Reference Style Adapted)
   ============================================================================== */
.privacy-protocol-section {
    position: relative;
    padding: 5.5rem 0 6rem;
    background: radial-gradient(circle at 85% 30%, rgba(16, 185, 129, 0.07) 0%, transparent 45%),
                radial-gradient(circle at 15% 75%, rgba(245, 158, 11, 0.04) 0%, transparent 45%),
                #07090f;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    overflow: hidden;
}

.privacy-protocol-container {
    max-width: 1200px;
}

.privacy-header {
    text-align: center;
    max-width: 860px;
    margin: 0 auto 3.75rem;
}

.privacy-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 5px 16px;
    border-radius: var(--radius-pill);
    background: rgba(16, 185, 129, 0.12);
    border: 1px solid rgba(16, 185, 129, 0.35);
    color: #10b981;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin-bottom: 1.15rem;
}

.badge-dot-emerald {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #10b981;
    box-shadow: 0 0 10px #10b981;
    display: inline-block;
    animation: pulseDotEmerald 2s infinite ease-in-out;
}

@keyframes pulseDotEmerald {
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: 0.35; transform: scale(0.85); }
}

.privacy-title {
    font-family: var(--font-heading);
    font-size: clamp(2rem, 3.4vw, 2.75rem);
    font-weight: 800;
    color: #ffffff;
    line-height: 1.22;
    margin-bottom: 1.15rem;
    letter-spacing: -0.015em;
}

.privacy-desc {
    font-family: var(--font-body);
    font-size: 0.98rem;
    line-height: 1.74;
    color: #94a3b8;
    margin: 0 auto;
}

/* Top 2-Column Grid: Left Card & Right Framed Photo */
.privacy-top-grid {
    display: grid;
    grid-template-columns: 1.15fr 0.85fr;
    gap: 3rem;
    align-items: center;
    margin-bottom: 2.5rem;
}

/* Left Content Card */
.privacy-card {
    background: linear-gradient(145deg, rgba(16, 21, 33, 0.94) 0%, rgba(9, 12, 20, 0.98) 100%);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 20px;
    padding: 2.35rem 2.45rem;
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.55);
    transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

.privacy-card:hover {
    border-color: rgba(16, 185, 129, 0.35);
    transform: translateY(-3px);
    box-shadow: 0 20px 48px rgba(0, 0, 0, 0.65), 0 0 30px rgba(16, 185, 129, 0.06);
}

.privacy-card-title {
    font-family: var(--font-heading);
    font-size: 1.45rem;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 1rem;
    line-height: 1.25;
}

.privacy-card-text {
    font-family: var(--font-body);
    font-size: 0.93rem;
    line-height: 1.72;
    color: #cbd5e1;
    margin-bottom: 1.5rem;
}

.privacy-feature-list {
    display: flex;
    flex-direction: column;
    gap: 1.15rem;
}

.privacy-feature-item {
    display: flex;
    gap: 0.95rem;
    align-items: flex-start;
}

.privacy-feature-icon {
    width: 36px;
    height: 36px;
    flex-shrink: 0;
    border-radius: 10px;
    background: rgba(16, 185, 129, 0.12);
    border: 1px solid rgba(16, 185, 129, 0.32);
    color: #10b981;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.92rem;
    margin-top: 2px;
}

.privacy-feature-content strong {
    display: block;
    font-family: var(--font-heading);
    font-size: 0.92rem;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 0.2rem;
}

.privacy-feature-content p {
    font-family: var(--font-body);
    font-size: 0.85rem;
    line-height: 1.55;
    color: #94a3b8;
    margin: 0;
}

/* Right Media Frame with Emerald Aura */
.privacy-media-frame {
    position: relative;
    border-radius: 22px;
    overflow: hidden;
    background: radial-gradient(circle at 60% 40%, rgba(16, 185, 129, 0.35) 0%, rgba(6, 78, 59, 0.2) 40%, #060910 90%);
    border: 1px solid rgba(16, 185, 129, 0.25);
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.65), 0 0 45px rgba(16, 185, 129, 0.12);
    max-height: 480px;
    aspect-ratio: 3/4;
    margin: 0 auto;
    width: 100%;
    max-width: 440px;
}

.privacy-media-frame img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    display: block;
    transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.privacy-media-frame:hover img {
    transform: scale(1.05);
}

/* Bottom Full-Width Horizontal Card (Matching Reference Layout) */
.privacy-bottom-card {
    background: linear-gradient(145deg, rgba(16, 21, 33, 0.92) 0%, rgba(9, 12, 20, 0.97) 100%);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 20px;
    padding: 2.25rem 2.6rem;
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.55);
    transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

.privacy-bottom-card:hover {
    border-color: rgba(16, 185, 129, 0.35);
    box-shadow: 0 20px 48px rgba(0, 0, 0, 0.65), 0 0 30px rgba(16, 185, 129, 0.05);
}

.privacy-bottom-title {
    font-family: var(--font-heading);
    font-size: 1.35rem;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 1.35rem;
    text-align: center;
}

.privacy-bottom-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2.5rem;
}

.privacy-bottom-col p {
    font-family: var(--font-body);
    font-size: 0.92rem;
    line-height: 1.72;
    color: #cbd5e1;
    margin: 0;
}

/* Responsive Breakpoints */
@media (max-width: 992px) {
    .privacy-top-grid {
        grid-template-columns: 1fr;
        gap: 2.25rem;
    }

    .privacy-media-frame {
        order: -1;
        max-height: 380px;
    }

    .privacy-bottom-grid {
        grid-template-columns: 1fr;
        gap: 1.25rem;
    }

    .privacy-bottom-title {
        text-align: left;
    }
}

@media (max-width: 600px) {
    .privacy-protocol-section {
        padding: 4rem 0 4.5rem;
    }

    .privacy-header {
        margin-bottom: 2.5rem;
    }

    .privacy-title {
        font-size: 1.6rem;
    }

    .privacy-card,
    .privacy-bottom-card {
        padding: 1.5rem 1.25rem;
        border-radius: 16px;
    }

    .privacy-card-title,
    .privacy-bottom-title {
        font-size: 1.2rem;
    }

    .privacy-card-text,
    .privacy-bottom-col p {
        font-size: 0.88rem;
    }

    .privacy-media-frame {
        max-height: 320px;
        border-radius: 16px;
    }
}

/* ==============================================================================
   HIGH STANDARD, IMPECCABLE ENJOYMENT SECTION (Luxury Warm Beige Theme)
   ============================================================================== */
.elite-standards-section {
    position: relative;
    padding: 5.5rem 0 6rem;
    background: radial-gradient(circle at 10% 20%, rgba(212, 175, 55, 0.09) 0%, transparent 45%),
                radial-gradient(circle at 90% 80%, rgba(225, 29, 72, 0.05) 0%, transparent 45%),
                linear-gradient(135deg, #fdfbf7 0%, #f7f3ec 50%, #f3eee5 100%);
    border-top: 1px solid rgba(0, 0, 0, 0.07);
    border-bottom: 1px solid rgba(0, 0, 0, 0.07);
    overflow: hidden;
}

.elite-standards-container {
    max-width: 1200px;
}

.elite-standards-header {
    text-align: center;
    max-width: 860px;
    margin: 0 auto 3.75rem;
}

.elite-standards-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 5px 16px;
    border-radius: var(--radius-pill);
    background: rgba(180, 83, 9, 0.09);
    border: 1px solid rgba(180, 83, 9, 0.25);
    color: #b45309;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin-bottom: 1.15rem;
}

.elite-standards-badge .badge-dot-amber {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #d97706;
    box-shadow: 0 0 8px #d97706;
    display: inline-block;
    animation: pulseDotAmber 2s infinite ease-in-out;
}

@keyframes pulseDotAmber {
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: 0.35; transform: scale(0.85); }
}

.elite-standards-title {
    font-family: var(--font-heading);
    font-size: clamp(2rem, 3.4vw, 2.75rem);
    font-weight: 800;
    color: #111827;
    line-height: 1.22;
    margin-bottom: 1.15rem;
    letter-spacing: -0.015em;
}

.elite-standards-desc {
    font-family: var(--font-body);
    font-size: 1rem;
    line-height: 1.74;
    color: #4b5563;
    margin: 0 auto;
}

/* 3-Card Grid */
.elite-standards-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
}

.elite-standard-card {
    background: #ffffff;
    border: 1px solid rgba(180, 140, 100, 0.22);
    border-radius: 20px;
    padding: 2.5rem 2rem 2.25rem;
    box-shadow: 0 12px 32px rgba(80, 50, 20, 0.06), 0 2px 6px rgba(0, 0, 0, 0.03);
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
    position: relative;
    overflow: hidden;
}

.elite-standard-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, transparent, rgba(212, 175, 55, 0.6), transparent);
    opacity: 0;
    transition: opacity 0.35s ease;
}

.elite-standard-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 48px rgba(80, 50, 20, 0.12), 0 0 25px rgba(212, 175, 55, 0.15);
    border-color: rgba(212, 175, 55, 0.55);
}

.elite-standard-card:hover::before {
    opacity: 1;
}

/* Card Icons */
.standard-card-icon {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.35rem;
    margin-bottom: 1.5rem;
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.elite-standard-card:hover .standard-card-icon {
    transform: scale(1.1) rotate(5deg);
}

.standard-card-icon.icon-pink {
    background: linear-gradient(135deg, #ff4071 0%, #e11d48 100%);
    color: #ffffff;
    box-shadow: 0 10px 24px rgba(225, 29, 72, 0.32);
}

.standard-card-icon.icon-blue {
    background: linear-gradient(135deg, #4f46e5 0%, #3b82f6 100%);
    color: #ffffff;
    box-shadow: 0 10px 24px rgba(59, 130, 246, 0.32);
}

.standard-card-icon.icon-green {
    background: linear-gradient(135deg, #10b981 0%, #059669 100%);
    color: #ffffff;
    box-shadow: 0 10px 24px rgba(16, 185, 129, 0.32);
}

.standard-card-title {
    font-family: var(--font-heading);
    font-size: 1.35rem;
    font-weight: 700;
    color: #111827;
    margin-bottom: 0.95rem;
    line-height: 1.25;
}

.standard-card-desc {
    font-family: var(--font-body);
    font-size: 0.93rem;
    line-height: 1.7;
    color: #4b5563;
    margin: 0;
}

/* Responsive Media Queries */
@media (max-width: 992px) {
    .elite-standards-grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
        max-width: 640px;
        margin: 0 auto;
    }

    .elite-standard-card {
        padding: 2rem 1.75rem;
    }
}

@media (max-width: 600px) {
    .elite-standards-section {
        padding: 4rem 0 4.5rem;
    }

    .elite-standards-header {
        margin-bottom: 2.5rem;
    }

    .elite-standards-title {
        font-size: 1.6rem;
    }

    .elite-standards-desc {
        font-size: 0.92rem;
    }

    .elite-standard-card {
        padding: 1.85rem 1.25rem;
        border-radius: 16px;
    }

    .standard-card-title {
        font-size: 1.2rem;
    }

    .standard-card-desc {
        font-size: 0.88rem;
    }
}

/* ==============================================================================
   HOMEPAGE BEIGE THEME SECTIONS - TEXT VISIBILITY & CONTRAST PROTECTION
   ============================================================================== */
/* 1. Hero Section (Beige) */
.hero-section .title-dark {
    color: #111827 !important;
}

.hero-section .hero-subtitle .subtitle-text {
    color: #000000 !important;
    font-weight: 600 !important;
    text-shadow: 0 1px 2px rgba(255, 255, 255, 0.95);
}

.hero-section .hero-desc-text {
    color: #000000 !important;
    font-weight: 600 !important;
    text-shadow: 0 1px 2px rgba(255, 255, 255, 0.95), 0 0 10px rgba(255, 255, 255, 0.7) !important;
}

.hero-section .stat-card,
.hero-stats-grid .stat-card {
    background: rgba(255, 255, 255, 0.96) !important;
    border: 1px solid rgba(225, 29, 72, 0.14) !important;
    box-shadow: 0 3px 12px rgba(0, 0, 0, 0.03) !important;
}

.hero-section .stat-card .stat-number,
.hero-stats-grid .stat-card .stat-number {
    font-family: var(--font-heading);
    font-size: 1.75rem;
    font-weight: 800;
    color: #111827 !important;
    line-height: 1.1;
    display: block;
}

.hero-section .stat-card.highlight-zero .stat-number,
.hero-stats-grid .stat-card.highlight-zero .stat-number {
    color: #be123c !important;
}

.hero-section .stat-card .stat-label,
.hero-stats-grid .stat-card .stat-label {
    font-size: 0.75rem;
    font-weight: 600;
    color: #6b7280 !important;
    margin-top: 5px;
    letter-spacing: 0.2px;
    text-transform: none !important;
    display: block;
}

.hero-section .how-works-box {
    background: rgba(255, 255, 255, 0.96) !important;
    border: 1px solid rgba(225, 29, 72, 0.18) !important;
}

.hero-section .how-works-title {
    color: #be123c !important;
}

.hero-section .step-num {
    color: #be123c !important;
    background: rgba(225, 29, 72, 0.09) !important;
}

.hero-section .step-text {
    color: #1f2937 !important;
    font-weight: 600;
}

/* 2. Booking Steps (Beige Section) */
.booking-steps-beige-section .booking-steps-title {
    color: #111827 !important;
}

.booking-steps-beige-section .booking-steps-subtitle {
    color: #4b5563 !important;
}

.booking-steps-beige-section .booking-step-card {
    background: #ffffff !important;
    border: 1px solid rgba(0, 0, 0, 0.08) !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.04), 0 2px 6px rgba(0, 0, 0, 0.02) !important;
}

.booking-steps-beige-section .step-card-title {
    color: #111827 !important;
    font-weight: 700;
}

.booking-steps-beige-section .step-card-desc {
    color: #4b5563 !important;
    font-size: 0.88rem;
    line-height: 1.68;
}

.booking-steps-beige-section .step-card-chip {
    background: #f9fafb !important;
    color: #374151 !important;
}

/* 3. Elite Standards (Beige Section) */
.elite-standards-section .elite-standards-title {
    color: #111827 !important;
}

.elite-standards-section .elite-standards-desc {
    color: #4b5563 !important;
}

.elite-standards-section .elite-standard-card {
    background: #ffffff !important;
    border: 1px solid rgba(180, 140, 100, 0.22) !important;
    box-shadow: 0 12px 32px rgba(80, 50, 20, 0.06), 0 2px 6px rgba(0, 0, 0, 0.03) !important;
}

.elite-standards-section .standard-card-title {
    color: #111827 !important;
    font-weight: 700;
}

.elite-standards-section .standard-card-desc {
    color: #4b5563 !important;
    line-height: 1.7;
}

/* ==============================================================================
   REVIEWS — REAL FEEDBACKS FROM GENUINE CUSTOMERS (Luxury Editorial Style)
   ============================================================================== */
.client-reviews-section {
    position: relative;
    padding: 5.5rem 0 6rem;
    background: radial-gradient(circle at 10% 25%, rgba(245, 158, 11, 0.06) 0%, transparent 45%),
                radial-gradient(circle at 90% 75%, rgba(255, 45, 117, 0.05) 0%, transparent 45%),
                #070912;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    overflow: hidden;
}

.client-reviews-container {
    max-width: 1200px;
}

.reviews-header {
    text-align: center;
    max-width: 860px;
    margin: 0 auto 3.75rem;
}

.reviews-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 5px 16px;
    border-radius: var(--radius-pill);
    background: rgba(245, 158, 11, 0.12);
    border: 1px solid rgba(245, 158, 11, 0.35);
    color: #f59e0b;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin-bottom: 1.15rem;
}

.reviews-title {
    font-family: var(--font-heading);
    font-size: clamp(2rem, 3.4vw, 2.75rem);
    font-weight: 800;
    color: #ffffff;
    line-height: 1.22;
    margin-bottom: 1.15rem;
    letter-spacing: -0.015em;
}

.reviews-desc {
    font-family: var(--font-body);
    font-size: 1rem;
    line-height: 1.74;
    color: #94a3b8;
    margin: 0 auto 1.5rem;
}

/* Rating Trust Pill */
.reviews-trust-pill {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    padding: 6px 18px;
    border-radius: var(--radius-pill);
    font-family: var(--font-heading);
    font-size: 0.82rem;
    color: #cbd5e1;
}

.trust-pill-stars {
    color: #f59e0b;
    font-size: 0.85rem;
    display: flex;
    gap: 3px;
}

.trust-pill-score {
    font-weight: 800;
    color: #ffffff;
}

.trust-pill-divider {
    color: #64748b;
}

.trust-pill-label {
    color: #94a3b8;
    font-weight: 500;
}

/* 3-Card Grid */
.client-reviews-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
    align-items: stretch;
}

/* Individual Review Card */
.review-card {
    background: linear-gradient(145deg, rgba(16, 21, 33, 0.94) 0%, rgba(9, 12, 20, 0.98) 100%);
    border: 1px solid rgba(255, 255, 255, 0.09);
    border-radius: 20px;
    padding: 2.25rem 2rem 2rem;
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.55);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    position: relative;
    overflow: hidden;
    transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

.review-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, transparent, rgba(245, 158, 11, 0.6), transparent);
    opacity: 0;
    transition: opacity 0.35s ease;
}

.review-card:hover {
    border-color: rgba(245, 158, 11, 0.35);
    transform: translateY(-6px);
    box-shadow: 0 20px 48px rgba(0, 0, 0, 0.65), 0 0 25px rgba(245, 158, 11, 0.06);
}

.review-card:hover::before {
    opacity: 1;
}

/* Watermark Background Quote */
.review-quote-bg {
    position: absolute;
    right: 18px;
    bottom: 18px;
    font-size: 4.5rem;
    color: rgba(255, 255, 255, 0.025);
    pointer-events: none;
    transition: all 0.4s ease;
}

.review-card:hover .review-quote-bg {
    color: rgba(245, 158, 11, 0.05);
    transform: scale(1.08) rotate(-4deg);
}

/* Top Meta Row in Card */
.review-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1.25rem;
}

.review-stars {
    display: flex;
    gap: 4px;
    color: #f59e0b;
    font-size: 0.95rem;
    filter: drop-shadow(0 2px 6px rgba(245, 158, 11, 0.35));
}

.review-verified-tag {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 3px 9px;
    border-radius: var(--radius-pill);
    background: rgba(16, 185, 129, 0.12);
    border: 1px solid rgba(16, 185, 129, 0.3);
    color: #10b981;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.review-verified-tag i {
    font-size: 0.72rem;
}

/* Card Body Text */
.review-card-body {
    flex-grow: 1;
    margin-bottom: 1.65rem;
}

.review-quote-text {
    font-family: var(--font-body);
    font-size: 0.94rem;
    line-height: 1.74;
    color: #cbd5e1;
    font-style: italic;
    margin: 0;
    position: relative;
    z-index: 1;
}

/* Reviewer Client Footer */
.review-client-footer {
    display: flex;
    align-items: center;
    gap: 12px;
    padding-top: 1.25rem;
    border-top: 1px solid rgba(255, 255, 255, 0.07);
    position: relative;
    z-index: 1;
}

.reviewer-avatar {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-heading);
    font-size: 1.1rem;
    font-weight: 800;
    color: #ffffff;
    flex-shrink: 0;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.4);
    transition: transform 0.3s ease;
}

.review-card:hover .reviewer-avatar {
    transform: scale(1.08);
}

.avatar-amber {
    background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
}

.avatar-emerald {
    background: linear-gradient(135deg, #10b981 0%, #059669 100%);
}

.avatar-indigo {
    background: linear-gradient(135deg, #6366f1 0%, #4f46e5 100%);
}

.reviewer-details {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.reviewer-name {
    font-family: var(--font-heading);
    font-size: 1rem;
    font-weight: 700;
    color: #ffffff;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.reviewer-location {
    font-family: var(--font-body);
    font-size: 0.82rem;
    color: #94a3b8;
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.reviewer-location i {
    font-size: 0.74rem;
    color: #f59e0b;
}

/* Responsive Media Queries */
@media (max-width: 992px) {
    .client-reviews-grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
        max-width: 600px;
        margin: 0 auto;
    }
}

@media (max-width: 600px) {
    .client-reviews-section {
        padding: 4rem 0 4.5rem;
    }

    .reviews-header {
        margin-bottom: 2.5rem;
    }

    .reviews-title {
        font-size: 1.6rem;
    }

    .reviews-desc {
        font-size: 0.92rem;
    }

    .review-card {
        padding: 1.65rem 1.35rem 1.45rem;
        border-radius: 16px;
    }

    .review-quote-text {
        font-size: 0.9rem;
    }
}

/* ==============================================================================
   BANGALORE ESCORT SERVICE — STRUCTURED LIKE A REAL BOOKING DESK (Bento Desk)
   ============================================================================== */
.booking-desk-section {
    position: relative;
    padding: 5.5rem 0 6rem;
    background: radial-gradient(circle at 85% 25%, rgba(245, 158, 11, 0.06) 0%, transparent 45%),
                radial-gradient(circle at 15% 80%, rgba(14, 165, 233, 0.05) 0%, transparent 45%),
                #080a12;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    overflow: hidden;
}

.booking-desk-container {
    max-width: 1200px;
}

.booking-desk-header {
    text-align: center;
    max-width: 860px;
    margin: 0 auto 3.75rem;
}

.desk-kicker {
    display: inline-block;
    color: #f59e0b;
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    margin-bottom: 0.95rem;
}

.booking-desk-title {
    font-family: var(--font-heading);
    font-size: clamp(2rem, 3.4vw, 2.75rem);
    font-weight: 800;
    color: #ffffff;
    line-height: 1.22;
    margin-bottom: 1.15rem;
    letter-spacing: -0.015em;
}

.booking-desk-desc {
    font-family: var(--font-body);
    font-size: 1rem;
    line-height: 1.74;
    color: #94a3b8;
    margin: 0 auto;
}

/* Bento Rows */
.desk-bento-grid {
    display: flex;
    flex-direction: column;
    gap: 1.75rem;
}

.desk-row-top {
    display: grid;
    grid-template-columns: 1.35fr 1fr;
    gap: 1.75rem;
    align-items: stretch;
}

/* Hero Image Card (Top Left) */
.desk-card-hero {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    background: #06080e;
    border: 1px solid rgba(255, 255, 255, 0.09);
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.55);
    min-height: 380px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 2.25rem 2.4rem;
    transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

.desk-card-hero img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 30%;
    opacity: 0.72;
    transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.4s ease;
    z-index: 0;
}

.desk-card-hero:hover img {
    transform: scale(1.05);
    opacity: 0.85;
}

.desk-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(8, 10, 16, 0.15) 0%, rgba(8, 10, 16, 0.6) 45%, rgba(6, 8, 14, 0.96) 100%);
    z-index: 1;
    pointer-events: none;
}

.desk-hero-content {
    position: relative;
    z-index: 2;
}

.desk-badge-pill {
    display: inline-block;
    color: #f59e0b;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin-bottom: 0.65rem;
}

.desk-hero-title {
    font-family: var(--font-heading);
    font-size: clamp(1.25rem, 1.8vw, 1.55rem);
    font-weight: 700;
    color: #ffffff;
    line-height: 1.35;
    margin: 0;
}

/* Top Right Column with Stacked Cards */
.desk-col-stacked {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    justify-content: space-between;
}

/* Standard Desk Card */
.desk-card {
    background: linear-gradient(145deg, rgba(16, 21, 33, 0.94) 0%, rgba(9, 12, 20, 0.98) 100%);
    border: 1px solid rgba(255, 255, 255, 0.09);
    border-radius: 20px;
    padding: 1.85rem 2rem;
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.55);
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
    overflow: hidden;
    transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
    flex: 1;
}

.desk-card:hover {
    border-color: rgba(245, 158, 11, 0.35);
    transform: translateY(-4px);
    box-shadow: 0 20px 48px rgba(0, 0, 0, 0.65), 0 0 25px rgba(245, 158, 11, 0.06);
}

.desk-card.card-whatsapp {
    border-color: rgba(245, 158, 11, 0.28);
}

.desk-card.card-whatsapp:hover {
    border-color: rgba(245, 158, 11, 0.55);
}

/* Desk Card Icons */
.desk-card-icon {
    font-size: 1.35rem;
    margin-bottom: 0.85rem;
    display: inline-block;
}

.desk-card-icon.icon-amber {
    color: #f59e0b;
}

.desk-card-icon.icon-cyan {
    color: #38bdf8;
}

.desk-watermark-clock {
    position: absolute;
    right: 22px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 2.75rem;
    color: rgba(255, 255, 255, 0.05);
    pointer-events: none;
    transition: all 0.35s ease;
}

.desk-card:hover .desk-watermark-clock {
    color: rgba(56, 189, 248, 0.12);
    transform: translateY(-50%) rotate(15deg);
}

.desk-card-title {
    font-family: var(--font-heading);
    font-size: 1.25rem;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 0.65rem;
    line-height: 1.25;
}

.desk-card-text {
    font-family: var(--font-body);
    font-size: 0.88rem;
    line-height: 1.62;
    color: #cbd5e1;
    margin: 0;
}

.desk-card-text strong {
    color: #ffffff;
    font-weight: 600;
}

/* Bottom Row Bento */
.desk-row-bottom {
    display: grid;
    grid-template-columns: 0.85fr 1.5fr;
    gap: 1.75rem;
    align-items: stretch;
}

/* No Advance Mantra Card */
.desk-card-advance {
    background: linear-gradient(145deg, rgba(16, 21, 33, 0.94) 0%, rgba(9, 12, 20, 0.98) 100%);
    border: 1px solid rgba(255, 255, 255, 0.09);
    border-radius: 20px;
    padding: 2.25rem 2.2rem;
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.55);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

.desk-card-advance:hover {
    border-color: rgba(245, 158, 11, 0.35);
    transform: translateY(-4px);
    box-shadow: 0 20px 48px rgba(0, 0, 0, 0.65);
}

.desk-advance-link {
    font-family: var(--font-heading);
    font-size: 0.88rem;
    font-weight: 700;
    color: #f59e0b;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 1.5rem;
    transition: all 0.25s ease;
}

.desk-advance-link:hover {
    color: #fbbf24;
    transform: translateX(4px);
}

/* Bottom Right Split Card: Image + Content */
.desk-card-split {
    background: linear-gradient(145deg, rgba(16, 21, 33, 0.94) 0%, rgba(9, 12, 20, 0.98) 100%);
    border: 1px solid rgba(255, 255, 255, 0.09);
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.55);
    display: grid;
    grid-template-columns: 0.9fr 1.1fr;
    align-items: stretch;
    transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

.desk-card-split:hover {
    border-color: rgba(245, 158, 11, 0.35);
    transform: translateY(-4px);
    box-shadow: 0 20px 48px rgba(0, 0, 0, 0.65);
}

.desk-split-media {
    position: relative;
    overflow: hidden;
    background: #090c14;
    min-height: 240px;
}

.desk-split-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    display: block;
    transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.desk-card-split:hover .desk-split-media img {
    transform: scale(1.06);
}

.desk-split-content {
    padding: 2.25rem 2.2rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/* Responsive Queries */
@media (max-width: 992px) {
    .desk-row-top {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }

    .desk-card-hero {
        min-height: 320px;
    }

    .desk-row-bottom {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }

    .desk-card-split {
        grid-template-columns: 1fr;
    }

    .desk-split-media {
        height: 280px;
    }
}

@media (max-width: 600px) {
    .booking-desk-section {
        padding: 4rem 0 4.5rem;
    }

    .booking-desk-header {
        margin-bottom: 2.5rem;
    }

    .booking-desk-title {
        font-size: 1.6rem;
    }

    .booking-desk-desc {
        font-size: 0.92rem;
    }

    .desk-card-hero {
        padding: 1.65rem 1.4rem;
        min-height: 280px;
    }

    .desk-hero-title {
        font-size: 1.2rem;
    }

    .desk-card,
    .desk-card-advance,
    .desk-split-content {
        padding: 1.5rem 1.25rem;
        border-radius: 16px;
    }

    .desk-card-title {
        font-size: 1.15rem;
    }

    .desk-card-text {
        font-size: 0.85rem;
    }
}

.section-header {
    text-align: center;
    max-width: 720px;
    margin: 0 auto 3.5rem;
}

.section-subtitle {
    color: var(--pink-light);
    font-weight: 700;
    font-size: 0.82rem;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-bottom: 0.5rem;
    display: block;
}

.section-title {
    font-family: var(--font-heading);
    font-size: clamp(2rem, 4vw, 2.8rem);
    font-weight: 700;
    color: #ffffff;
    line-height: 1.25;
    margin-bottom: 0.85rem;
    letter-spacing: -0.2px;
}

.section-desc {
    color: var(--text-secondary);
    font-size: 1.05rem;
}

/* Creative Gallery Grid */
.gallery-creative-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(285px, 1fr));
    gap: 2rem;
}

/* Model Card */
.model-card {
    background: var(--bg-card);
    border: 1px solid var(--border-pink);
    border-radius: var(--radius-md);
    overflow: hidden;
    transition: var(--transition-smooth);
    display: flex;
    flex-direction: column;
    position: relative;
}

.model-card:hover {
    transform: translateY(-8px);
    border-color: var(--pink-light);
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.6), 0 0 25px var(--pink-glow);
}

.model-img-wrapper {
    position: relative;
    aspect-ratio: 3/4;
    overflow: hidden;
    background: #191c28;
}

.model-img-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.model-card:hover .model-img-wrapper img {
    transform: scale(1.08);
}

.model-tag {
    position: absolute;
    top: 14px;
    left: 14px;
    z-index: 2;
}

.model-location-badge {
    position: absolute;
    bottom: 14px;
    left: 14px;
    background: rgba(10, 11, 15, 0.85);
    backdrop-filter: blur(8px);
    padding: 5px 12px;
    border-radius: var(--radius-pill);
    font-size: 0.75rem;
    color: #ffffff;
    display: flex;
    align-items: center;
    gap: 6px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    z-index: 2;
}

.model-card-body {
    padding: 1.35rem;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.model-name {
    font-family: var(--font-heading);
    font-size: 1.3rem;
    font-weight: 700;
    margin-bottom: 4px;
    color: #ffffff;
}

.model-category {
    color: var(--pink-light);
    font-size: 0.85rem;
    font-weight: 600;
    margin-bottom: 0.85rem;
}

.model-specs {
    display: flex;
    justify-content: space-between;
    font-size: 0.82rem;
    color: var(--text-secondary);
    border-top: 1px solid var(--border-subtle);
    border-bottom: 1px solid var(--border-subtle);
    padding: 8px 0;
    margin-bottom: 1.25rem;
}

.model-card-actions {
    display: flex;
    gap: 8px;
    margin-top: auto;
}

/* Badges */
.badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 12px;
    border-radius: var(--radius-pill);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.5px;
}

.badge-pink {
    background: rgba(255, 45, 117, 0.15);
    color: var(--pink-light);
    border: 1px solid var(--border-pink);
}

.badge-gold {
    background: rgba(245, 176, 65, 0.15);
    color: var(--gold-accent);
    border: 1px solid rgba(245, 176, 65, 0.3);
}

/* Category & Location Cards */
.grid-cards {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 1.85rem;
}

.category-card, .location-card {
    background: var(--bg-card);
    border: 1px solid var(--border-pink);
    border-radius: var(--radius-md);
    padding: 2.25rem 1.85rem;
    transition: var(--transition-smooth);
    display: flex;
    flex-direction: column;
}

.category-card:hover, .location-card:hover {
    transform: translateY(-6px);
    border-color: var(--pink-light);
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.45), 0 0 20px var(--pink-glow);
}

.category-title, .location-title {
    font-family: var(--font-heading);
    font-size: 1.35rem;
    font-weight: 700;
    margin: 1.15rem 0 0.65rem;
    color: #ffffff;
}

.category-desc, .location-desc {
    color: var(--text-secondary);
    font-size: 0.92rem;
    line-height: 1.6;
    margin-bottom: 1.75rem;
    flex-grow: 1;
}

.btn-outline-pink {
    background: transparent;
    border: 1px solid var(--border-pink);
    color: var(--pink-light);
    padding: 0.65rem 1.25rem;
    border-radius: var(--radius-pill);
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    transition: var(--transition-smooth);
}

.btn-outline-pink:hover {
    background: var(--gradient-pink-btn);
    color: #ffffff;
    border-color: transparent;
    box-shadow: 0 4px 20px var(--pink-glow);
}

.btn-pink-glow {
    background: var(--gradient-pink-btn);
    color: #ffffff;
    font-weight: 700;
    padding: 0.85rem 2rem;
    border-radius: var(--radius-pill);
    box-shadow: 0 6px 24px var(--pink-glow);
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.btn-pink-glow:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 30px var(--pink-glow-strong);
    color: #ffffff;
}

/* Location Chips Grid */
.locations-chips-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 1rem;
}

.location-chip {
    background: var(--bg-card);
    border: 1px solid var(--border-pink);
    border-radius: var(--radius-md);
    padding: 1rem 1.25rem;
    display: flex;
    align-items: center;
    gap: 14px;
    transition: var(--transition-smooth);
}

.location-chip:hover {
    background: var(--bg-card-hover);
    border-color: var(--pink-light);
    transform: translateY(-3px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.3);
}

.chip-icon {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: var(--pink-subtle-bg);
    color: var(--pink-light);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
    flex-shrink: 0;
    border: 1px solid var(--border-pink);
}

.chip-content {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

.chip-content strong {
    font-size: 1rem;
    color: #ffffff;
}

.chip-badge {
    font-size: 0.75rem;
    color: var(--pink-light);
}

.chip-arrow {
    color: var(--text-muted);
    font-size: 0.9rem;
    transition: transform 0.2s ease;
}

.location-chip:hover .chip-arrow {
    transform: translateX(4px);
    color: var(--pink-light);
}

/* Features Grid */
.features-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 2rem;
}

.feature-item {
    background: var(--bg-card);
    border: 1px solid var(--border-pink);
    border-radius: var(--radius-md);
    padding: 2.25rem 1.85rem;
    text-align: center;
    transition: var(--transition-smooth);
}

.feature-item:hover {
    border-color: var(--pink-light);
    transform: translateY(-5px);
    box-shadow: 0 14px 32px rgba(0, 0, 0, 0.45), 0 0 20px var(--pink-glow);
}

.feature-icon {
    width: 65px;
    height: 65px;
    border-radius: 50%;
    background: var(--pink-subtle-bg);
    color: var(--pink-light);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.75rem;
    margin: 0 auto 1.35rem;
    border: 1px solid var(--border-pink);
}

.feature-item h3 {
    font-family: var(--font-heading);
    font-size: 1.25rem;
    margin-bottom: 0.75rem;
    color: #ffffff;
}

.feature-item p {
    color: var(--text-secondary);
    font-size: 0.92rem;
}

/* FAQ Accordion */
.faq-container {
    max-width: 820px;
}

.faq-list {
    display: flex;
    flex-direction: column;
    gap: 1.15rem;
}

.faq-item {
    background: var(--bg-card);
    border: 1px solid var(--border-pink);
    border-radius: var(--radius-md);
    overflow: hidden;
    transition: var(--transition-smooth);
}

.faq-item[open] {
    border-color: var(--pink-light);
    box-shadow: 0 8px 24px var(--pink-glow);
}

.faq-question {
    padding: 1.35rem 1.75rem;
    font-family: var(--font-heading);
    font-weight: 700;
    font-size: 1.05rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    list-style: none;
    user-select: none;
    color: #ffffff;
}

.faq-question::-webkit-details-marker {
    display: none;
}

.faq-question i {
    color: var(--pink-light);
    transition: transform 0.3s ease;
}

.faq-item[open] .faq-question i {
    transform: rotate(180deg);
}

.faq-answer {
    padding: 0 1.75rem 1.35rem;
    color: var(--text-secondary);
    font-size: 0.95rem;
    line-height: 1.65;
}

/* ==============================================================================
   CALL TO ACTION BANNER - Luxury VIP Concierge Card
   ============================================================================== */
.cta-banner-section {
    position: relative;
    padding: 6rem 1rem;
    background: #090a10;
    overflow: hidden;
}

.cta-bg-glow {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 680px;
    height: 480px;
    background: radial-gradient(circle, rgba(255, 45, 117, 0.18) 0%, rgba(245, 176, 65, 0.08) 45%, transparent 70%);
    filter: blur(60px);
    pointer-events: none;
    z-index: 1;
}

.cta-container {
    max-width: 1040px;
    margin: 0 auto;
    position: relative;
    z-index: 2;
}

.cta-card {
    position: relative;
    overflow: hidden;
    background: linear-gradient(145deg, rgba(24, 20, 32, 0.94) 0%, rgba(14, 16, 24, 0.97) 55%, rgba(22, 17, 28, 0.94) 100%);
    border: 1px solid rgba(255, 117, 140, 0.28);
    border-radius: 28px;
    padding: 4.25rem 3.5rem;
    text-align: center;
    box-shadow: 0 30px 80px rgba(0, 0, 0, 0.7), 0 0 50px rgba(255, 45, 117, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.12);
    backdrop-filter: blur(20px);
}

.cta-card-shimmer {
    position: absolute;
    top: 0;
    left: 8%;
    right: 8%;
    height: 2px;
    background: linear-gradient(90deg, transparent, rgba(255, 117, 140, 0.8), rgba(245, 176, 65, 0.8), transparent);
    pointer-events: none;
}

.cta-card-glow-circle {
    position: absolute;
    top: -120px;
    right: -100px;
    width: 340px;
    height: 340px;
    background: radial-gradient(circle, rgba(255, 45, 117, 0.15) 0%, transparent 70%);
    pointer-events: none;
}

.cta-top-badge {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: rgba(255, 45, 117, 0.12);
    border: 1px solid rgba(255, 117, 140, 0.35);
    padding: 7px 20px;
    border-radius: 9999px;
    margin-bottom: 1.5rem;
}

.cta-pulse-dot {
    width: 8px;
    height: 8px;
    background: #25d366;
    border-radius: 50%;
    box-shadow: 0 0 10px #25d366;
    animation: ctaPulse 2s infinite;
}

.cta-badge-text {
    font-family: var(--font-heading);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 1.5px;
    color: #ff8da1;
    text-transform: uppercase;
}

.cta-badge-text i {
    color: #f5b041;
    margin-right: 4px;
}

.cta-card-title {
    font-family: var(--font-heading);
    font-size: clamp(2.1rem, 4.4vw, 3.2rem);
    font-weight: 800;
    color: #ffffff;
    line-height: 1.22;
    margin-bottom: 1.25rem;
    letter-spacing: -0.5px;
}

.cta-gradient-text {
    background: linear-gradient(135deg, #ffffff 0%, #ff8da1 45%, #f5b041 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    text-shadow: 0 0 35px rgba(255, 45, 117, 0.25);
    display: inline-block;
}

.cta-card-desc {
    font-size: 1.12rem;
    color: #b6bfd4;
    max-width: 720px;
    margin: 0 auto 2rem;
    line-height: 1.7;
}

.cta-card-desc strong {
    color: #ffffff;
    font-weight: 600;
}

/* Live Active Escorts Bar */
.cta-live-bar {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;
    gap: 14px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    padding: 8px 22px;
    border-radius: 9999px;
    margin-bottom: 2.25rem;
}

.cta-avatar-stack {
    display: flex;
    align-items: center;
}

.cta-avatar-img {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid #161824;
    margin-left: -10px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.4);
}

.cta-avatar-img:first-child {
    margin-left: 0;
}

.cta-avatar-count {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: linear-gradient(135deg, #ff2d75, #b81b50);
    color: #ffffff;
    font-size: 0.72rem;
    font-weight: 700;
    border: 2px solid #161824;
    margin-left: -10px;
}

.cta-live-info {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.88rem;
    color: #d0d7e5;
}

.cta-online-indicator {
    position: relative;
    width: 10px;
    height: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.cta-ping {
    position: absolute;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background: #25d366;
    opacity: 0.75;
    animation: ctaPing 1.5s cubic-bezier(0, 0, 0.2, 1) infinite;
}

.cta-dot {
    position: relative;
    display: block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #25d366;
}

/* 3-Column Trust Perks */
.cta-perks-row {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.25rem;
    max-width: 840px;
    margin: 0 auto 2.5rem;
}

.cta-perk-item {
    display: flex;
    align-items: center;
    gap: 12px;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.07);
    padding: 14px 18px;
    border-radius: 14px;
    text-align: left;
    transition: all 0.3s ease;
}

.cta-perk-item:hover {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 117, 140, 0.35);
    transform: translateY(-2px);
}

.cta-perk-icon {
    width: 42px;
    height: 42px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.15rem;
    flex-shrink: 0;
}

.cta-perk-icon.icon-emerald {
    background: rgba(37, 211, 102, 0.15);
    color: #25d366;
    border: 1px solid rgba(37, 211, 102, 0.3);
}

.cta-perk-icon.icon-pink {
    background: rgba(255, 45, 117, 0.15);
    color: #ff5287;
    border: 1px solid rgba(255, 45, 117, 0.3);
}

.cta-perk-icon.icon-amber {
    background: rgba(245, 176, 65, 0.15);
    color: #f5b041;
    border: 1px solid rgba(245, 176, 65, 0.3);
}

.cta-perk-text strong {
    display: block;
    font-size: 0.95rem;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 2px;
}

.cta-perk-text span {
    font-size: 0.78rem;
    color: #8e98af;
    line-height: 1.3;
    display: block;
}

/* Action Group */
.cta-action-group {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1.5rem;
    margin-bottom: 2.25rem;
}

.cta-btn {
    display: inline-flex;
    align-items: center;
    gap: 16px;
    padding: 16px 30px;
    border-radius: 16px;
    text-decoration: none;
    position: relative;
    overflow: hidden;
    transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

.cta-btn-whatsapp {
    background: linear-gradient(135deg, #25d366 0%, #1da851 100%);
    color: #ffffff;
    box-shadow: 0 10px 30px rgba(37, 211, 102, 0.38), 0 0 20px rgba(37, 211, 102, 0.2);
    border: 1px solid rgba(255, 255, 255, 0.25);
}

.cta-btn-whatsapp:hover {
    transform: translateY(-3px) scale(1.02);
    box-shadow: 0 16px 40px rgba(37, 211, 102, 0.5), 0 0 30px rgba(37, 211, 102, 0.3);
    color: #ffffff;
}

.cta-btn-call {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.08) 0%, rgba(255, 255, 255, 0.03) 100%);
    color: #ffffff;
    border: 1px solid rgba(255, 255, 255, 0.18);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.35);
    backdrop-filter: blur(10px);
}

.cta-btn-call:hover {
    background: linear-gradient(135deg, rgba(255, 45, 117, 0.2) 0%, rgba(255, 45, 117, 0.1) 100%);
    border-color: rgba(255, 117, 140, 0.5);
    transform: translateY(-3px) scale(1.02);
    color: #ffffff;
    box-shadow: 0 16px 35px rgba(255, 45, 117, 0.25);
}

.cta-btn-icon-wrapper {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.35rem;
    background: rgba(0, 0, 0, 0.2);
    flex-shrink: 0;
}

.cta-btn-labels {
    display: flex;
    flex-direction: column;
    text-align: left;
}

.cta-btn-primary-text {
    font-family: var(--font-heading);
    font-size: 1.05rem;
    font-weight: 700;
    line-height: 1.2;
}

.cta-btn-sub-text {
    font-size: 0.74rem;
    opacity: 0.85;
    line-height: 1.2;
    margin-top: 3px;
}

.cta-btn-arrow {
    font-size: 0.95rem;
    margin-left: 6px;
    transition: transform 0.3s ease;
}

.cta-btn:hover .cta-btn-arrow {
    transform: translateX(4px);
}

/* Footer Badges */
.cta-footer-badges {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px 22px;
    padding-top: 1.75rem;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.cta-badge-pill {
    font-size: 0.82rem;
    color: #9da7be;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.cta-badge-pill i {
    color: #ff5287;
    font-size: 0.8rem;
}

/* Animations */
@keyframes ctaPulse {
    0% { box-shadow: 0 0 0 0 rgba(37, 211, 102, 0.6); }
    70% { box-shadow: 0 0 0 8px rgba(37, 211, 102, 0); }
    100% { box-shadow: 0 0 0 0 rgba(37, 211, 102, 0); }
}

@keyframes ctaPing {
    75%, 100% { transform: scale(2); opacity: 0; }
}

/* Responsive */
@media (max-width: 991px) {
    .cta-card {
        padding: 3.25rem 2rem;
    }
    .cta-perks-row {
        gap: 10px;
    }
}

@media (max-width: 768px) {
    .cta-banner-section {
        padding: 4rem 1rem;
    }
    .cta-card {
        padding: 2.5rem 1.25rem;
        border-radius: 20px;
    }
    .cta-perks-row {
        grid-template-columns: 1fr;
        gap: 10px;
        max-width: 360px;
    }
    .cta-live-bar {
        flex-direction: column;
        border-radius: 20px;
        padding: 12px 16px;
    }
    .cta-action-group {
        flex-direction: column;
        align-items: stretch;
        max-width: 380px;
        margin-left: auto;
        margin-right: auto;
    }
    .cta-btn {
        width: 100%;
        justify-content: space-between;
    }
    .cta-footer-badges {
        flex-direction: column;
        align-items: center;
        gap: 8px;
    }
}

/* ==============================================================================
   FOOTER STYLES
   ============================================================================== */
.site-footer {
    background: var(--bg-surface);
    border-top: 1px solid var(--border-subtle);
    margin-top: auto;
}

.footer-logo,
.site-footer .brand-logo {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-family: var(--font-heading);
    font-weight: 800;
    font-size: 1.45rem;
    letter-spacing: 0.6px;
    text-decoration: none;
    color: #ffffff;
    margin-bottom: 0.35rem;
}

.site-footer .logo-title,
.footer-logo .logo-title {
    color: #ffffff !important;
    font-weight: 800;
    font-size: 1.45rem;
    letter-spacing: 0.6px;
    display: inline-block;
    transition: color 0.3s ease;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.5);
}

.site-footer .brand-logo:hover .logo-title,
.footer-logo:hover .logo-title {
    color: #ff5287 !important;
}

.site-footer .logo-dot,
.footer-logo .logo-dot {
    color: #ff2d75 !important;
    font-size: 1.85rem;
    line-height: 1;
    filter: drop-shadow(0 0 10px rgba(255, 45, 117, 0.7));
}

/* ==============================================================================
   PREMIUM LUXURY FOOTER SYSTEM
   ============================================================================== */
.site-footer {
    background: radial-gradient(circle at 10% 20%, rgba(225, 29, 72, 0.08) 0%, transparent 45%),
                radial-gradient(circle at 90% 80%, rgba(212, 175, 55, 0.06) 0%, transparent 45%),
                #080a11;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    position: relative;
    overflow: hidden;
}

.site-footer::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(225, 29, 72, 0.6), rgba(245, 176, 65, 0.6), transparent);
    z-index: 2;
}

/* Guarantee / Trust Highlights Ribbon */
.footer-guarantee-ribbon {
    background: rgba(255, 255, 255, 0.02);
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    padding: 1.5rem 0;
}

.footer-ribbon-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.25rem;
}

.footer-ribbon-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 0.85rem 1.15rem;
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 14px;
    transition: all 0.3s ease;
}

.footer-ribbon-item:hover {
    background: rgba(255, 255, 255, 0.05);
    border-color: rgba(245, 176, 65, 0.3);
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.3);
}

.ribbon-icon {
    width: 42px;
    height: 42px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
    flex-shrink: 0;
}

.ribbon-icon.icon-gold {
    background: rgba(245, 176, 65, 0.12);
    color: #f5b041;
    border: 1px solid rgba(245, 176, 65, 0.28);
}

.ribbon-icon.icon-pink {
    background: rgba(225, 29, 72, 0.12);
    color: #ff5287;
    border: 1px solid rgba(225, 29, 72, 0.28);
}

.ribbon-icon.icon-cyan {
    background: rgba(6, 182, 212, 0.12);
    color: #06b6d4;
    border: 1px solid rgba(6, 182, 212, 0.28);
}

.ribbon-icon.icon-green {
    background: rgba(37, 211, 102, 0.12);
    color: #25d366;
    border: 1px solid rgba(37, 211, 102, 0.28);
}

.ribbon-text strong {
    display: block;
    font-size: 0.88rem;
    font-weight: 700;
    color: #ffffff;
    line-height: 1.3;
}

.ribbon-text span {
    font-size: 0.76rem;
    color: #94a3b8;
    line-height: 1.35;
}

/* Footer Top & Grid */
.footer-top {
    padding: 4rem 0 3.5rem;
}

.footer-grid {
    display: grid;
    grid-template-columns: 1.35fr 1fr 1.1fr 1.35fr;
    gap: 2.75rem;
}

.footer-bio {
    color: #94a3b8;
    font-size: 0.9rem;
    line-height: 1.7;
    margin: 1.15rem 0 1.25rem;
}

/* Live Status Pulse */
.footer-live-status {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 14px;
    background: rgba(37, 211, 102, 0.08);
    border: 1px solid rgba(37, 211, 102, 0.25);
    border-radius: 30px;
    font-size: 0.78rem;
    font-weight: 700;
    color: #25d366;
    margin-bottom: 1.35rem;
}

.live-pulse-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #25d366;
    box-shadow: 0 0 10px #25d366;
    animation: statusPulse 1.8s infinite;
}

@keyframes statusPulse {
    0% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(37, 211, 102, 0.7); }
    70% { transform: scale(1.1); box-shadow: 0 0 0 8px rgba(37, 211, 102, 0); }
    100% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(37, 211, 102, 0); }
}

/* Trust Pills */
.footer-trust-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.footer-trust-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.035);
    border: 1px solid rgba(255, 255, 255, 0.08);
    font-size: 0.76rem;
    font-weight: 600;
    color: #cbd5e1;
    transition: all 0.25s ease;
}

.footer-trust-pill:hover {
    border-color: rgba(255, 45, 117, 0.4);
    color: #ffffff;
    background: rgba(255, 255, 255, 0.07);
    transform: translateY(-1px);
}

.footer-trust-pill i {
    color: #f5b041;
    font-size: 0.82rem;
}

/* Heading */
.footer-heading {
    font-family: var(--font-heading);
    font-size: 1.12rem;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 1.4rem;
    position: relative;
    padding-bottom: 10px;
    letter-spacing: 0.3px;
}

.footer-heading::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 36px;
    height: 2.5px;
    background: linear-gradient(90deg, #ff2d75, #f5b041);
    border-radius: 2px;
}

/* Links */
.footer-links {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.footer-links li a {
    color: #94a3b8;
    font-size: 0.88rem;
    display: flex;
    align-items: center;
    gap: 9px;
    text-decoration: none;
    transition: all 0.25s ease;
}

.footer-links li a i {
    font-size: 0.75rem;
    color: #ff5287;
    transition: transform 0.25s ease;
}

.footer-links li a:hover {
    color: #ffffff;
    transform: translateX(4px);
}

.footer-links li a:hover i {
    color: #f5b041;
    transform: scale(1.2);
}

/* Tags in footer links */
.footer-pill-tag {
    font-size: 0.65rem;
    font-weight: 800;
    padding: 2px 7px;
    border-radius: 6px;
    margin-left: 6px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.footer-pill-tag.tag-hot {
    background: linear-gradient(135deg, #e11d48, #ff2d75);
    color: #ffffff;
    box-shadow: 0 2px 6px rgba(225, 29, 72, 0.4);
}

.footer-pill-tag.tag-vip {
    background: linear-gradient(135deg, #d97706, #f59e0b);
    color: #000000;
    box-shadow: 0 2px 6px rgba(245, 158, 11, 0.4);
}

/* Location ETA chips */
.footer-loc-links li a {
    justify-content: flex-start;
}

.footer-loc-eta {
    margin-left: auto;
    font-size: 0.72rem;
    color: #f5b041;
    background: rgba(245, 176, 65, 0.1);
    padding: 2px 7px;
    border-radius: 6px;
    border: 1px solid rgba(245, 176, 65, 0.22);
    font-weight: 600;
}

.footer-view-all-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 1.15rem;
    font-size: 0.82rem;
    font-weight: 700;
    color: #ff5287;
    text-decoration: none;
    transition: all 0.25s ease;
}

.footer-view-all-link:hover {
    color: #ffffff;
    transform: translateX(4px);
}

/* Direct VIP Concierge Card */
.footer-concierge-card {
    background: linear-gradient(145deg, rgba(20, 23, 36, 0.95) 0%, rgba(12, 14, 22, 0.98) 100%);
    border: 1px solid rgba(245, 176, 65, 0.25);
    border-radius: 20px;
    padding: 1.6rem 1.5rem;
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.45);
    position: relative;
    overflow: hidden;
}

.footer-concierge-card::before {
    content: '';
    position: absolute;
    top: -40px;
    right: -40px;
    width: 120px;
    height: 120px;
    background: radial-gradient(circle, rgba(245, 176, 65, 0.15) 0%, transparent 70%);
    pointer-events: none;
}

.concierge-card-head {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 1.25rem;
}

.concierge-head-icon {
    width: 42px;
    height: 42px;
    border-radius: 12px;
    background: rgba(245, 176, 65, 0.15);
    border: 1px solid rgba(245, 176, 65, 0.35);
    color: #f5b041;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.15rem;
    flex-shrink: 0;
}

.concierge-card-title {
    font-family: var(--font-heading);
    font-size: 1.1rem;
    font-weight: 800;
    color: #ffffff;
    margin: 0;
    line-height: 1.2;
}

.concierge-card-subtitle {
    font-size: 0.78rem;
    color: #94a3b8;
    margin: 3px 0 0;
}

.concierge-buttons {
    display: flex;
    flex-direction: column;
    gap: 9px;
    margin-bottom: 1.25rem;
}

.footer-contact-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 0.75rem 1rem;
    border-radius: 12px;
    font-size: 0.88rem;
    font-weight: 700;
    text-decoration: none;
    transition: var(--transition-smooth);
    width: 100%;
}

.btn-footer-wa {
    background: linear-gradient(135deg, #25d366 0%, #1ebd5a 100%);
    color: #ffffff;
    box-shadow: 0 4px 15px rgba(37, 211, 102, 0.3);
}

.btn-footer-wa:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(37, 211, 102, 0.5);
    color: #ffffff;
}

.btn-footer-call {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.08) 0%, rgba(255, 255, 255, 0.03) 100%);
    border: 1px solid rgba(255, 255, 255, 0.16);
    color: #ffffff;
}

.btn-footer-call:hover {
    background: rgba(255, 255, 255, 0.14);
    border-color: rgba(245, 176, 65, 0.45);
    transform: translateY(-2px);
    color: #f5b041;
}

.concierge-highlights {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    padding-top: 1rem;
}

.concierge-highlights li {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    font-size: 0.79rem;
    color: #94a3b8;
    line-height: 1.45;
}

.concierge-highlights li i {
    color: #f5b041;
    font-size: 0.84rem;
    margin-top: 2px;
    flex-shrink: 0;
}

.concierge-highlights li strong {
    color: #cbd5e1;
}

/* 18+ Disclaimer Banner */
.footer-disclaimer {
    background: #06070b;
    padding: 2.25rem 0;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.disclaimer-card {
    background: rgba(255, 255, 255, 0.015);
    border: 1px solid rgba(245, 176, 65, 0.2);
    border-radius: 16px;
    padding: 1.4rem 1.75rem;
    text-align: center;
    max-width: 980px;
    margin: 0 auto;
}

.disclaimer-badge {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 5px 14px;
    background: rgba(245, 176, 65, 0.1);
    border: 1px solid rgba(245, 176, 65, 0.28);
    border-radius: 20px;
    font-size: 0.74rem;
    font-weight: 800;
    color: #f5b041;
    letter-spacing: 0.8px;
    text-transform: uppercase;
    margin-bottom: 0.75rem;
}

.disclaimer-text {
    font-size: 0.82rem;
    color: #8892b0;
    line-height: 1.7;
    margin: 0;
}

/* Footer Bottom / Copyright */
.footer-bottom {
    background: #040508;
    padding: 1.5rem 0;
    font-size: 0.85rem;
    color: #64748b;
}

.footer-bottom-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 1.25rem;
}

.footer-copyright {
    margin: 0;
    color: #94a3b8;
    font-size: 0.86rem;
}

.footer-bottom-links {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.footer-bottom-links a {
    color: #94a3b8;
    font-size: 0.82rem;
    text-decoration: none;
    transition: color 0.25s ease;
}

.footer-bottom-links a:hover {
    color: #ff5287;
}

.footer-bottom-links .sep {
    color: rgba(255, 255, 255, 0.15);
}

/* Mobile Sticky Bottom CTA Bar */
.mobile-sticky-bar {
    display: none;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    height: 60px;
    background: rgba(14, 16, 24, 0.95);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border-top: 1px solid var(--border-pink);
    z-index: 999;
    padding: 6px 12px;
    align-items: center;
    gap: 10px;
}

.sticky-btn {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    height: 100%;
    border-radius: var(--radius-pill);
    font-weight: 700;
    font-size: 0.95rem;
    color: #ffffff;
}

.sticky-call {
    background: var(--gradient-pink-btn);
}

.sticky-whatsapp {
    background: linear-gradient(135deg, var(--whatsapp-green), #1fad53);
}

/* Back to top */
.back-to-top {
    position: fixed;
    bottom: 80px;
    right: 20px;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: var(--bg-card);
    border: 1px solid var(--border-pink);
    color: var(--pink-light);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 900;
    opacity: 0;
    pointer-events: none;
    transition: var(--transition-smooth);
}

.back-to-top.show {
    opacity: 1;
    pointer-events: auto;
}

.back-to-top:hover {
    background: var(--gradient-pink-btn);
    color: #ffffff;
    transform: translateY(-3px);
}

/* Floating WhatsApp CTA (Same size & right side near arrow) */
.floating-whatsapp {
    position: fixed;
    bottom: 135px;
    right: 20px;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: linear-gradient(135deg, #25d366 0%, #1ea952 100%);
    border: 1.5px solid rgba(255, 255, 255, 0.4);
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    cursor: pointer;
    z-index: 910;
    box-shadow: 0 4px 18px rgba(37, 211, 102, 0.5), 0 0 12px rgba(37, 211, 102, 0.3);
    transition: var(--transition-smooth);
}

.floating-whatsapp i {
    font-size: 1.45rem;
    color: #ffffff;
    line-height: 1;
}

.floating-whatsapp:hover {
    background: linear-gradient(135deg, #28e06d 0%, #20b857 100%);
    transform: translateY(-3px) scale(1.08);
    box-shadow: 0 8px 25px rgba(37, 211, 102, 0.65), 0 0 18px rgba(37, 211, 102, 0.4);
    color: #ffffff;
}

/* Pulsing radar effect */
.floating-whatsapp::after {
    content: '';
    position: absolute;
    top: -3px;
    left: -3px;
    right: -3px;
    bottom: -3px;
    border-radius: 50%;
    border: 2px solid #25d366;
    animation: waPulseRing 2s infinite cubic-bezier(0.25, 0.1, 0.25, 1);
    opacity: 0;
    pointer-events: none;
}

@keyframes waPulseRing {
    0% {
        transform: scale(0.95);
        opacity: 0.85;
    }
    60% {
        transform: scale(1.35);
        opacity: 0;
    }
    100% {
        transform: scale(1.4);
        opacity: 0;
    }
}

/* ==============================================================================
   RESPONSIVE BREAKPOINTS (Mobile-First & Fluid)
   ============================================================================== */
@media (max-width: 1140px) {
    .hero-container {
        grid-template-columns: 1fr;
        gap: 2.75rem;
    }

    .hero-photo-frame {
        width: 85%;
        opacity: 0.75;
    }

    .hero-side-card-wrap {
        max-width: 580px;
        margin-left: 0;
    }
}

@media (max-width: 1024px) {
    .footer-ribbon-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 1rem;
    }

    .footer-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 2rem;
    }
}

@media (max-width: 768px) {
    .footer-ribbon-grid {
        grid-template-columns: 1fr;
        gap: 0.85rem;
    }

    .footer-bottom-links {
        justify-content: center;
    }

    .main-nav {
        display: none;
    }

    .mobile-toggle-btn {
        display: flex;
    }

    .header-phone-link span {
        display: none;
    }

    .header-phone-link {
        display: inline-flex;
        width: 36px;
        height: 36px;
        border-radius: 50%;
        background: rgba(225, 29, 72, 0.12);
        border: 1px solid var(--border-pink);
        align-items: center;
        justify-content: center;
    }

    .hero-section {
        padding: 2.5rem 0 3rem;
    }

    .hero-photo-frame {
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
        right: 0;
        border-radius: 0;
        opacity: 1;
    }

    .hero-photo-frame .hero-bg-img {
        object-position: center 10%;
        opacity: 1;
        filter: brightness(1.02) contrast(1.05);
    }

    .hero-photo-overlay-beige {
        background: linear-gradient(180deg, 
            rgba(245, 237, 228, 0.40) 0%, 
            rgba(245, 237, 228, 0.18) 25%, 
            rgba(245, 237, 228, 0.04) 50%, 
            rgba(245, 237, 228, 0.25) 82%, 
            rgba(245, 237, 228, 0.55) 100%
        );
    }

    .hero-main-title {
        font-size: clamp(2.4rem, 9.5vw, 3.4rem);
        text-shadow: 0 1px 4px rgba(255, 255, 255, 0.85);
    }

    .hero-main-title .title-pink-gradient,
    .hero-main-title .title-pink {
        color: #e11d48 !important;
        -webkit-text-fill-color: #e11d48 !important;
        background: none !important;
        text-shadow: none !important;
        filter: none !important;
    }

    .hero-subtitle {
        text-shadow: 0 1px 3px rgba(255, 255, 255, 0.85);
    }

    .hero-desc-text {
        color: #000000 !important;
        font-weight: 600;
        text-shadow: 0 1px 2px rgba(255, 255, 255, 0.95), 0 0 10px rgba(255, 255, 255, 0.7);
    }

    .hero-cta-group {
        width: 100%;
    }

    .btn-hero-whatsapp {
        width: 100%;
        justify-content: center;
        text-align: center;
    }

    .hero-trust-chips {
        gap: 0.5rem;
    }

    .trust-chip {
        font-size: 0.74rem;
        padding: 5px 12px;
    }

    .hero-stats-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .footer-grid {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .footer-bottom-container {
        flex-direction: column;
        gap: 10px;
        text-align: center;
    }

    .mobile-sticky-bar {
        display: flex;
    }

    body {
        padding-bottom: 60px;
    }

    .back-to-top {
        bottom: 74px;
    }

    .floating-whatsapp {
        bottom: 126px;
    }
}

/* ==============================================================================
   ABOUT PAGE - HERO SECTION (Luxury Editorial Split)
   ============================================================================== */
.about-hero-section {
    position: relative;
    overflow: hidden;
    padding: 5rem 0 5.5rem;
    background: linear-gradient(135deg, #0e0d16 0%, #150f21 50%, #0c0b14 100%);
    min-height: calc(88vh - var(--header-height));
    display: flex;
    align-items: center;
}

.about-hero-glow {
    position: absolute;
    top: 15%;
    right: 12%;
    width: 550px;
    height: 550px;
    background: radial-gradient(circle, rgba(255, 45, 117, 0.22) 0%, rgba(138, 43, 226, 0.15) 45%, transparent 70%);
    filter: blur(75px);
    pointer-events: none;
    z-index: 1;
}

.about-hero-stripes {
    position: absolute;
    inset: 0;
    background: repeating-linear-gradient(45deg, transparent, transparent 15px, rgba(255, 255, 255, 0.015) 15px, rgba(255, 255, 255, 0.015) 30px);
    pointer-events: none;
    z-index: 1;
}

.about-hero-container {
    display: grid;
    grid-template-columns: 1.15fr 0.85fr;
    gap: 4.5rem;
    align-items: center;
    position: relative;
    z-index: 2;
}

.about-hero-content {
    display: flex;
    flex-direction: column;
}

.about-hero-meta {
    display: flex;
    align-items: center;
    gap: 1.25rem;
    flex-wrap: wrap;
    margin-bottom: 1.5rem;
}

.about-breadcrumbs {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 0.85rem;
    color: #8e98af;
}

.about-breadcrumbs a {
    color: #ff8da1;
    text-decoration: none;
    font-weight: 500;
    transition: color 0.2s;
}

.about-breadcrumbs a:hover {
    color: #ffffff;
}

.about-breadcrumbs i {
    font-size: 0.7rem;
    color: #5a6275;
}

.about-breadcrumbs span {
    color: #dbe2f0;
}

.about-vip-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(255, 45, 117, 0.12);
    border: 1px solid rgba(255, 117, 140, 0.35);
    padding: 5px 14px;
    border-radius: 9999px;
    font-family: var(--font-heading);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 1.5px;
    color: #ff8da1;
    text-transform: uppercase;
}

.about-badge-dot {
    width: 7px;
    height: 7px;
    background: #25d366;
    border-radius: 50%;
    box-shadow: 0 0 8px #25d366;
}

.about-hero-title {
    font-family: var(--font-heading);
    font-size: clamp(2.4rem, 4.2vw, 3.8rem);
    font-weight: 800;
    line-height: 1.15;
    margin-bottom: 1.5rem;
    letter-spacing: -0.5px;
    display: flex;
    flex-direction: column;
}

.title-word-about {
    font-size: 0.85em;
    background: linear-gradient(135deg, #ff758c 0%, #ff2d75 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin-bottom: 2px;
}

.title-brand-gradient {
    color: #ffffff;
    background: linear-gradient(135deg, #ffffff 0%, #ffd1dc 65%, #f5b041 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    text-shadow: 0 4px 30px rgba(255, 45, 117, 0.2);
}

.title-sub-location {
    font-size: 0.48em;
    font-weight: 600;
    background: linear-gradient(135deg, #00e5a3 0%, #00b4d8 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    text-transform: uppercase;
    letter-spacing: 2.5px;
    margin-top: 6px;
}

.about-hero-lead {
    font-size: 1.08rem;
    color: #c4ccdf;
    line-height: 1.8;
    margin-bottom: 2.25rem;
    max-width: 620px;
    font-weight: 400;
}

.about-hero-buttons {
    display: flex;
    align-items: center;
    gap: 1.25rem;
    flex-wrap: wrap;
    margin-bottom: 2.5rem;
}

.btn-about-primary {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    background: linear-gradient(135deg, #ff2d75 0%, #9b1fe8 100%);
    color: #ffffff;
    padding: 15px 32px;
    border-radius: 9999px;
    font-family: var(--font-heading);
    font-size: 0.95rem;
    font-weight: 700;
    text-decoration: none;
    box-shadow: 0 10px 30px rgba(255, 45, 117, 0.35), 0 0 20px rgba(155, 31, 232, 0.25);
    border: 1px solid rgba(255, 255, 255, 0.25);
    transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

.btn-about-primary:hover {
    transform: translateY(-3px) scale(1.02);
    box-shadow: 0 16px 40px rgba(255, 45, 117, 0.5), 0 0 30px rgba(155, 31, 232, 0.4);
    color: #ffffff;
}

.btn-about-primary .btn-arrow {
    transition: transform 0.3s ease;
}

.btn-about-primary:hover .btn-arrow {
    transform: translateX(4px);
}

.btn-about-secondary {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: rgba(255, 255, 255, 0.05);
    color: #ffffff;
    padding: 15px 30px;
    border-radius: 9999px;
    font-family: var(--font-heading);
    font-size: 0.95rem;
    font-weight: 600;
    text-decoration: none;
    border: 1px solid rgba(255, 255, 255, 0.18);
    backdrop-filter: blur(10px);
    transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

.btn-about-secondary:hover {
    background: rgba(255, 45, 117, 0.18);
    border-color: rgba(255, 117, 140, 0.45);
    transform: translateY(-3px);
    color: #ffffff;
}

.about-micro-trust {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    flex-wrap: wrap;
    padding-top: 1.5rem;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.trust-mini-item {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 0.82rem;
    color: #9aa4bc;
}

.trust-mini-item i {
    color: #ff5287;
    font-size: 0.85rem;
}

/* Right Media Card */
.about-hero-media {
    position: relative;
    width: 100%;
}

.about-media-card {
    position: relative;
    border-radius: 28px;
    overflow: hidden;
    background: #12101a;
    border: 1px solid rgba(255, 117, 140, 0.28);
    box-shadow: 0 25px 60px rgba(0, 0, 0, 0.65), 0 0 40px rgba(255, 45, 117, 0.15);
}

.media-float-badge {
    position: absolute;
    top: 18px;
    left: 18px;
    z-index: 3;
    background: rgba(14, 13, 22, 0.82);
    backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 117, 140, 0.35);
    padding: 7px 18px;
    border-radius: 9999px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: var(--font-heading);
    font-size: 0.74rem;
    font-weight: 700;
    color: #ff8da1;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.media-float-badge i {
    color: #f5b041;
}

.about-image-wrapper {
    position: relative;
    width: 100%;
    height: 480px;
    overflow: hidden;
}

.about-main-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 20%;
    transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.about-media-card:hover .about-main-img {
    transform: scale(1.03);
}

.about-img-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(14, 13, 22, 0.15) 0%, rgba(14, 13, 22, 0.1) 40%, rgba(14, 13, 22, 0.88) 100%);
    pointer-events: none;
}

/* Floating Stats Bar */
.about-stats-bar {
    position: absolute;
    bottom: 18px;
    left: 18px;
    right: 18px;
    z-index: 3;
    background: rgba(18, 14, 26, 0.88);
    backdrop-filter: blur(18px);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 18px;
    padding: 16px 20px;
    display: flex;
    align-items: center;
    justify-content: space-around;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.55);
}

.about-stats-bar .stat-col {
    text-align: center;
}

.about-stats-bar .stat-number {
    display: block;
    font-family: var(--font-heading);
    font-size: 1.55rem;
    font-weight: 800;
    color: #ffffff;
    line-height: 1.1;
    margin-bottom: 3px;
}

.about-stats-bar .stat-label {
    font-size: 0.72rem;
    color: #9da7be;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: 500;
    display: block;
}

.about-stats-bar .stat-divider {
    width: 1px;
    height: 32px;
    background: rgba(255, 255, 255, 0.14);
}

/* Responsive Media Queries */
@media (max-width: 991px) {
    .about-hero-section {
        padding: 4rem 0 4.5rem;
    }
    .about-hero-container {
        grid-template-columns: 1fr;
        gap: 3rem;
        text-align: center;
    }
    .about-hero-meta {
        justify-content: center;
    }
    .about-hero-lead {
        margin-left: auto;
        margin-right: auto;
    }
    .about-hero-buttons {
        justify-content: center;
    }
    .about-micro-trust {
        justify-content: center;
    }
    .about-hero-media {
        max-width: 520px;
        margin: 0 auto;
    }
    .about-image-wrapper {
        height: 420px;
    }
}

@media (max-width: 576px) {
    .about-hero-section {
        padding: 3rem 0 3.5rem;
    }
    .about-hero-buttons {
        flex-direction: column;
        width: 100%;
        max-width: 320px;
        margin-left: auto;
        margin-right: auto;
    }
    .btn-about-primary,
    .btn-about-secondary {
        width: 100%;
        justify-content: center;
    }
    .about-image-wrapper {
        height: 360px;
    }
    .about-stats-bar {
        padding: 12px 10px;
        bottom: 12px;
        left: 12px;
        right: 12px;
    }
    .about-stats-bar .stat-number {
        font-size: 1.3rem;
    }
    .about-stats-bar .stat-label {
        font-size: 0.65rem;
    }
}

/* ==============================================================================
   ABOUT PAGE - AGENCY STORY SECTION (Compact Editorial Narrative Card)
   ============================================================================== */
.agency-story-section {
    position: relative;
    overflow: hidden;
    padding: 3.5rem 1rem 4rem;
    background: #08090e;
}

.story-ambient-glow {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 550px;
    height: 380px;
    background: radial-gradient(circle, rgba(255, 45, 117, 0.12) 0%, rgba(245, 176, 65, 0.05) 50%, transparent 70%);
    filter: blur(75px);
    pointer-events: none;
    z-index: 1;
}

.story-container {
    max-width: 860px;
    margin: 0 auto;
    position: relative;
    z-index: 2;
}

.story-card {
    position: relative;
    overflow: hidden;
    background: linear-gradient(155deg, rgba(22, 18, 30, 0.95) 0%, rgba(13, 15, 23, 0.98) 55%, rgba(20, 16, 26, 0.95) 100%);
    border: 1px solid rgba(255, 117, 140, 0.22);
    border-radius: 22px;
    padding: 2.75rem 2.5rem 2.25rem;
    text-align: center;
    box-shadow: 0 25px 60px rgba(0, 0, 0, 0.6), 0 0 40px rgba(255, 45, 117, 0.06), inset 0 1px 0 rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(18px);
}

.story-watermark {
    position: absolute;
    top: 6%;
    left: 50%;
    transform: translateX(-50%);
    font-family: var(--font-heading);
    font-size: clamp(4rem, 10vw, 7.5rem);
    font-weight: 900;
    color: rgba(255, 255, 255, 0.018);
    letter-spacing: 8px;
    pointer-events: none;
    line-height: 1;
    z-index: 0;
    user-select: none;
}

.story-header-badge {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    background: rgba(255, 45, 117, 0.1);
    border: 1px solid rgba(255, 117, 140, 0.28);
    padding: 4px 14px;
    border-radius: 9999px;
    margin-bottom: 1.15rem;
    position: relative;
    z-index: 1;
}

.story-badge-icon {
    color: #ff8da1;
    font-size: 0.75rem;
}

.story-badge-text {
    font-family: var(--font-heading);
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 1.2px;
    color: #ff8da1;
    text-transform: uppercase;
}

.story-main-title {
    font-family: var(--font-heading);
    font-size: clamp(1.65rem, 2.8vw, 2.2rem);
    font-weight: 800;
    color: #ffffff;
    margin-bottom: 0.45rem;
    letter-spacing: -0.3px;
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.story-main-title .heading-icon {
    width: 24px;
    height: 24px;
    object-fit: contain;
}

.story-subheading {
    font-family: var(--font-heading);
    font-size: clamp(0.95rem, 1.4vw, 1.12rem);
    font-weight: 600;
    background: linear-gradient(135deg, #ffd1dc 0%, #ff8da1 50%, #f5b041 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    margin-bottom: 1.25rem;
    position: relative;
    z-index: 1;
}

.story-divider-line {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 180px;
    margin: 0 auto 1.5rem;
    position: relative;
    z-index: 1;
}

.story-divider-line::before,
.story-divider-line::after {
    content: '';
    flex: 1;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 117, 140, 0.45));
}

.story-divider-line::after {
    background: linear-gradient(90deg, rgba(255, 117, 140, 0.45), transparent);
}

.story-divider-line .line-sparkle {
    padding: 0 10px;
    color: #f5b041;
    font-size: 0.78rem;
}

.story-body-wrap {
    max-width: 720px;
    margin: 0 auto 2rem;
    position: relative;
    z-index: 1;
}

.story-quote-lead {
    font-size: clamp(0.92rem, 1.2vw, 1.02rem);
    color: #cdd5e8;
    line-height: 1.7;
    font-weight: 400;
    text-align: center;
}

.story-quote-lead strong {
    color: #ffffff;
    font-weight: 600;
    text-shadow: 0 0 12px rgba(255, 45, 117, 0.25);
}

/* 3 Smaller Pillars */
.story-pillars-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
    margin-bottom: 1.75rem;
    position: relative;
    z-index: 1;
}

.story-pillar-item {
    background: rgba(255, 255, 255, 0.025);
    border: 1px solid rgba(255, 255, 255, 0.06);
    padding: 1.15rem 1.15rem;
    border-radius: 14px;
    text-align: left;
    transition: all 0.3s ease;
}

.story-pillar-item:hover {
    background: rgba(255, 255, 255, 0.05);
    border-color: rgba(255, 117, 140, 0.3);
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.3);
}

.pillar-icon {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    margin-bottom: 0.75rem;
}

.pillar-icon.icon-rose {
    background: rgba(255, 45, 117, 0.12);
    color: #ff5287;
    border: 1px solid rgba(255, 45, 117, 0.25);
}

.pillar-icon.icon-gold {
    background: rgba(245, 176, 65, 0.12);
    color: #f5b041;
    border: 1px solid rgba(245, 176, 65, 0.25);
}

.pillar-icon.icon-teal {
    background: rgba(0, 229, 163, 0.12);
    color: #00e5a3;
    border: 1px solid rgba(0, 229, 163, 0.25);
}

.pillar-text h4 {
    font-family: var(--font-heading);
    font-size: 0.92rem;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 0.25rem;
}

.pillar-text p {
    font-size: 0.78rem;
    color: #8e98af;
    line-height: 1.45;
    margin: 0;
}

/* Story Footer Signature */
.story-card-footer {
    position: relative;
    z-index: 1;
    padding-top: 1.25rem;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.signature-tag {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 0.8rem;
    color: #98a4bc;
    font-style: italic;
}

.signature-tag i {
    color: #ff5287;
    font-size: 0.68rem;
}

/* Media Queries for Agency Story */
@media (max-width: 991px) {
    .story-card {
        padding: 2.25rem 1.5rem;
    }
    .story-pillars-grid {
        grid-template-columns: 1fr;
        max-width: 420px;
        margin-left: auto;
        margin-right: auto;
    }
}

@media (max-width: 576px) {
    .agency-story-section {
        padding: 2.75rem 1rem;
    }
    .story-card {
        padding: 1.75rem 1.15rem;
        border-radius: 16px;
    }
}

/* =============================================================================
   ABOUT PAGE - THE PATH WE TOOK SECTION (Milestones & Right Image)
   ============================================================================= */
.about-path-section {
    position: relative;
    padding: 4rem 1.5rem;
    background: #090a0f;
    overflow: hidden;
    border-top: 1px solid rgba(255, 255, 255, 0.04);
}

.path-ambient-glow {
    position: absolute;
    top: 30%;
    left: 10%;
    width: 500px;
    height: 500px;
    background: radial-gradient(circle, rgba(255, 45, 117, 0.06) 0%, rgba(245, 176, 65, 0.03) 40%, transparent 70%);
    pointer-events: none;
    z-index: 0;
    filter: blur(60px);
}

.about-path-container {
    max-width: 1140px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
}

.about-path-grid {
    display: grid;
    grid-template-columns: 1.15fr 0.85fr;
    gap: 3.5rem;
    align-items: center;
}

/* Left Content Column */
.about-path-content {
    display: flex;
    flex-direction: column;
}

.about-path-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    align-self: flex-start;
    padding: 0.3rem 0.85rem;
    border-radius: 999px;
    background: rgba(255, 45, 117, 0.08);
    border: 1px solid rgba(255, 45, 117, 0.22);
    margin-bottom: 0.85rem;
}

.path-badge-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #ff5287;
    box-shadow: 0 0 8px #ff5287;
}

.path-badge-text {
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    color: #ff85a1;
    text-transform: uppercase;
}

.about-path-title {
    font-family: var(--font-heading);
    font-size: clamp(1.4rem, 2.3vw, 1.85rem);
    font-weight: 700;
    color: #ffffff;
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 1.75rem;
    line-height: 1.25;
}

.about-path-title .heading-icon {
    width: 24px;
    height: 24px;
    object-fit: contain;
}

/* Milestones List */
.path-milestones-list {
    display: flex;
    flex-direction: column;
    gap: 1.15rem;
}

.path-milestone-item {
    display: flex;
    gap: 1.15rem;
    position: relative;
}

/* Number & Connector Line */
.milestone-indicator {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex-shrink: 0;
    width: 36px;
}

.milestone-number {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.08);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-heading);
    font-size: 0.8rem;
    font-weight: 700;
    color: #ff758c;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
    transition: all 0.3s ease;
}

.path-milestone-item:hover .milestone-number {
    background: rgba(255, 45, 117, 0.12);
    border-color: rgba(255, 45, 117, 0.35);
    color: #ffffff;
    transform: scale(1.05);
}

.milestone-line {
    flex: 1;
    width: 1px;
    background: linear-gradient(180deg, rgba(255, 117, 140, 0.3), rgba(255, 255, 255, 0.04));
    margin-top: 0.5rem;
    margin-bottom: -0.25rem;
}

/* Milestone Card Content */
.milestone-card {
    flex: 1;
    background: rgba(18, 20, 29, 0.6);
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: 14px;
    padding: 1.1rem 1.25rem;
    transition: all 0.3s ease;
    backdrop-filter: blur(10px);
}

.path-milestone-item:hover .milestone-card {
    background: rgba(24, 27, 40, 0.75);
    border-color: rgba(255, 117, 140, 0.22);
    transform: translateX(4px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
}

.milestone-header {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 0.45rem;
}

.milestone-icon-wrap {
    width: 26px;
    height: 26px;
    border-radius: 7px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.78rem;
    flex-shrink: 0;
}

.milestone-icon-wrap.icon-rose {
    background: rgba(255, 45, 117, 0.12);
    color: #ff5287;
    border: 1px solid rgba(255, 45, 117, 0.25);
}

.milestone-icon-wrap.icon-gold {
    background: rgba(245, 176, 65, 0.12);
    color: #f5b041;
    border: 1px solid rgba(245, 176, 65, 0.25);
}

.milestone-icon-wrap.icon-teal {
    background: rgba(0, 229, 163, 0.12);
    color: #00e5a3;
    border: 1px solid rgba(0, 229, 163, 0.25);
}

.milestone-title {
    font-family: var(--font-heading);
    font-size: 0.95rem;
    font-weight: 700;
    color: #ffffff;
    margin: 0;
    letter-spacing: -0.01em;
}

.milestone-text {
    font-size: 0.82rem;
    color: #9aa5be;
    line-height: 1.55;
    margin: 0;
}

/* Right Media Column */
.about-path-media {
    display: flex;
    justify-content: center;
}

.path-media-card {
    position: relative;
    max-width: 400px;
    width: 100%;
    border-radius: 20px;
    padding: 7px;
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.08) 0%, rgba(255, 45, 117, 0.12) 50%, rgba(245, 176, 65, 0.06) 100%);
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.55), 0 0 35px rgba(255, 45, 117, 0.1);
    transition: transform 0.4s ease, box-shadow 0.4s ease;
}

.path-media-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.65), 0 0 45px rgba(255, 45, 117, 0.2);
}

.path-media-badge {
    position: absolute;
    top: 18px;
    right: 18px;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 0.38rem 0.8rem;
    border-radius: 999px;
    background: rgba(13, 15, 23, 0.88);
    border: 1px solid rgba(255, 117, 140, 0.35);
    backdrop-filter: blur(8px);
    color: #ffffff;
    font-size: 0.72rem;
    font-weight: 600;
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.3);
}

.path-media-badge i {
    color: #ff5287;
    font-size: 0.75rem;
}

.path-image-wrapper {
    position: relative;
    border-radius: 15px;
    overflow: hidden;
    aspect-ratio: 4 / 5.2;
    background: #11131c;
}

.path-main-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    display: block;
    transition: transform 0.6s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.path-media-card:hover .path-main-img {
    transform: scale(1.03);
}

.path-img-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(9, 10, 15, 0.08) 0%, rgba(9, 10, 15, 0.2) 60%, rgba(9, 10, 15, 0.75) 100%);
    pointer-events: none;
}

.path-media-bottom-pill {
    position: absolute;
    bottom: 20px;
    left: 18px;
    right: 18px;
    z-index: 3;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 0.55rem 0.95rem;
    border-radius: 12px;
    background: rgba(13, 15, 23, 0.88);
    border: 1px solid rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(10px);
    color: #dbe2ef;
    font-size: 0.74rem;
    font-weight: 500;
}

.path-media-bottom-pill .pill-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #00e5a3;
    box-shadow: 0 0 8px #00e5a3;
    flex-shrink: 0;
}

/* Responsive adjustments */
@media (max-width: 991px) {
    .about-path-grid {
        grid-template-columns: 1fr;
        gap: 2.5rem;
    }

    .about-path-media {
        order: 2;
    }

    .path-media-card {
        max-width: 360px;
        margin: 0 auto;
    }
}

@media (max-width: 576px) {
    .about-path-section {
        padding: 2.75rem 1rem;
    }

    .path-milestone-item {
        gap: 0.75rem;
    }

    .milestone-indicator {
        width: 32px;
    }

    .milestone-number {
        width: 32px;
        height: 32px;
        font-size: 0.75rem;
    }

    .milestone-card {
        padding: 0.95rem 1rem;
    }

    .milestone-title {
        font-size: 0.9rem;
    }

    .milestone-text {
        font-size: 0.78rem;
    }

    .path-media-bottom-pill {
        font-size: 0.68rem;
        padding: 0.45rem 0.7rem;
        bottom: 14px;
        left: 12px;
        right: 12px;
    }
}

/* =============================================================================
   ABOUT PAGE - OUR CORE VALUES SECTION (Bespoke Luxury Beige Edition)
   ============================================================================= */
.about-values-section.luxury-beige-edition,
.about-values-section.theme-beige-white,
.about-values-section.theme-beige {
    position: relative;
    padding: 5rem 1.5rem;
    background: linear-gradient(180deg, #faf7f2 0%, #f4ede2 45%, #eee4d4 100%);
    overflow: hidden;
    border-top: 1px solid #e7ded2;
    border-bottom: 1px solid #dfd3c3;
}

.about-values-section .values-ambient-glow {
    position: absolute;
    top: 5%;
    left: 50%;
    transform: translateX(-50%);
    width: 700px;
    height: 420px;
    background: radial-gradient(circle, rgba(230, 205, 170, 0.4) 0%, rgba(245, 230, 210, 0.15) 50%, transparent 75%);
    pointer-events: none;
    z-index: 0;
    filter: blur(50px);
}

.about-values-section .values-container {
    max-width: 1240px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
}

/* Header */
.about-values-section .values-header {
    text-align: center;
    max-width: 780px;
    margin: 0 auto 3.25rem;
}

.values-luxury-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 0.35rem 1rem;
    border-radius: 999px;
    background: #ede3d4;
    border: 1px solid #dacab7;
    margin-bottom: 0.95rem;
    box-shadow: 0 2px 8px rgba(130, 100, 70, 0.06);
}

.values-luxury-badge .badge-sparkle {
    color: #c48b4e;
    font-size: 0.72rem;
}

.values-luxury-badge .badge-text {
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    color: #7a542b;
    text-transform: uppercase;
}

.about-values-section .values-main-title {
    font-family: var(--font-heading);
    font-size: clamp(2rem, 3.2vw, 2.7rem);
    font-weight: 800;
    color: #171412;
    margin: 0 0 1rem;
    line-height: 1.2;
    letter-spacing: -0.025em;
}

.title-rose-gold {
    background: linear-gradient(135deg, #ff2d75 0%, #e0246a 50%, #c48b4e 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.about-values-section .values-lead-text {
    font-size: clamp(0.9rem, 1.1vw, 1rem);
    color: #554d45;
    line-height: 1.7;
    margin: 0 auto;
    font-weight: 400;
}

/* 4 Distinct Luxury Cards in 1 Row */
.about-values-section .values-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.35rem;
}

/* Card Shell */
.luxury-value-card {
    position: relative;
    background: #ffffff;
    border: 1px solid #e7ded2;
    border-radius: 20px;
    padding: 2rem 1.45rem 1.75rem;
    box-shadow: 0 10px 28px rgba(130, 105, 80, 0.05), 0 2px 6px rgba(0, 0, 0, 0.02);
    transition: transform 0.35s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.35s cubic-bezier(0.2, 0.8, 0.2, 1), border-color 0.35s ease;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.luxury-value-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 42px rgba(130, 105, 80, 0.12), 0 4px 12px rgba(0, 0, 0, 0.04);
    border-color: #d6beaa;
}

/* Top Subtle Shimmer Highlight Line */
.card-shimmer-line {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    opacity: 0.85;
    transition: opacity 0.3s ease, height 0.3s ease;
}

.card-shimmer-line.line-rose {
    background: linear-gradient(90deg, #ff2d75, #ff85a1);
}

.card-shimmer-line.line-gold {
    background: linear-gradient(90deg, #f59e0b, #fbbf24);
}

.card-shimmer-line.line-champagne {
    background: linear-gradient(90deg, #c48b4e, #e8c39e);
}

.card-shimmer-line.line-teal {
    background: linear-gradient(90deg, #059669, #34d399);
}

.luxury-value-card:hover .card-shimmer-line {
    height: 4px;
    opacity: 1;
}

/* Head Row: Emblem + Watermark Number */
.card-head-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1.15rem;
}

/* Luxury Multi-Layer Emblem */
.luxury-emblem {
    width: 46px;
    height: 46px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.15rem;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    border: 1px solid transparent;
}

.luxury-value-card:hover .luxury-emblem {
    transform: scale(1.08);
}

.luxury-emblem.emblem-rose {
    background: linear-gradient(135deg, #fff0f4 0%, #ffd6e0 100%);
    border-color: #ffb8c9;
    color: #e11d48;
    box-shadow: 0 4px 14px rgba(225, 29, 72, 0.15);
}

.luxury-emblem.emblem-gold {
    background: linear-gradient(135deg, #fef8ee 0%, #fee4bf 100%);
    border-color: #fcd396;
    color: #d97706;
    box-shadow: 0 4px 14px rgba(217, 119, 6, 0.15);
}

.luxury-emblem.emblem-champagne {
    background: linear-gradient(135deg, #fbf6f0 0%, #f4e5d4 100%);
    border-color: #e5cbaf;
    color: #9c6833;
    box-shadow: 0 4px 14px rgba(156, 104, 51, 0.15);
}

.luxury-emblem.emblem-teal {
    background: linear-gradient(135deg, #f0fdf9 0%, #ccfbee 100%);
    border-color: #99f6e0;
    color: #0d9488;
    box-shadow: 0 4px 14px rgba(13, 148, 136, 0.15);
}

/* Watermark Number */
.card-watermark-num {
    font-family: var(--font-heading);
    font-size: 1.35rem;
    font-weight: 800;
    color: #ded1c1;
    letter-spacing: -0.02em;
    transition: color 0.3s ease;
}

.luxury-value-card:hover .card-watermark-num {
    color: #a8947f;
}

/* Micro Meta Pill */
.card-meta-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    align-self: flex-start;
    padding: 0.24rem 0.65rem;
    border-radius: 999px;
    background: #f7f3ec;
    border: 1px solid #e7ded2;
    color: #7a6a57;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    margin-bottom: 0.85rem;
}

.card-meta-pill i {
    font-size: 0.68rem;
    color: #a88457;
}

/* Card Title */
.luxury-value-card .value-title {
    font-family: var(--font-heading);
    font-size: 1.08rem;
    font-weight: 700;
    color: #171412;
    margin: 0 0 0.7rem;
    line-height: 1.32;
    letter-spacing: -0.015em;
}

/* Card Body Text */
.luxury-value-card .value-desc {
    font-size: 0.86rem;
    color: #5c5349;
    line-height: 1.62;
    margin: 0;
}

/* Responsive Breakpoints */
@media (max-width: 1080px) {
    .about-values-section .values-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 1.25rem;
        max-width: 780px;
        margin: 0 auto;
    }
}

@media (max-width: 600px) {
    .about-values-section.luxury-beige-edition,
    .about-values-section.theme-beige-white,
    .about-values-section.theme-beige {
        padding: 3.5rem 1rem;
    }

    .about-values-section .values-header {
        margin-bottom: 2.25rem;
    }

    .about-values-section .values-grid {
        grid-template-columns: 1fr;
        max-width: 420px;
    }

    .luxury-value-card {
        padding: 1.65rem 1.25rem;
    }
}

/* =============================================================================
   ABOUT PAGE - THE FOUNDING FACES / TEAM SECTION (3-Column Editorial Grid)
   ============================================================================= */
.about-team-section {
    position: relative;
    padding: 4.5rem 1.5rem;
    background: #090a0f;
    overflow: hidden;
    border-top: 1px solid rgba(255, 255, 255, 0.05);
}

.team-ambient-glow {
    position: absolute;
    top: 20%;
    left: 50%;
    transform: translateX(-50%);
    width: 650px;
    height: 450px;
    background: radial-gradient(circle, rgba(255, 45, 117, 0.06) 0%, rgba(245, 176, 65, 0.03) 45%, transparent 70%);
    pointer-events: none;
    z-index: 0;
    filter: blur(60px);
}

.team-container {
    max-width: 1180px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
}

/* Header */
.team-header {
    text-align: center;
    max-width: 820px;
    margin: 0 auto 3rem;
}

.team-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 0.35rem 0.95rem;
    border-radius: 999px;
    background: rgba(255, 45, 117, 0.08);
    border: 1px solid rgba(255, 45, 117, 0.25);
    margin-bottom: 0.95rem;
}

.team-badge-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #ff5287;
    box-shadow: 0 0 8px #ff5287;
}

.team-badge-text {
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    color: #ff85a1;
    text-transform: uppercase;
}

.team-main-title {
    font-family: var(--font-heading);
    font-size: clamp(1.55rem, 2.5vw, 2.1rem);
    font-weight: 700;
    color: #ffffff;
    margin: 0 0 0.95rem;
    line-height: 1.25;
}

.team-lead-text {
    font-size: clamp(0.86rem, 1.1vw, 0.94rem);
    color: #9aa5be;
    line-height: 1.65;
    margin: 0 auto;
}

/* 3-Column Team Grid */
.team-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
}

.team-card {
    background: rgba(18, 20, 29, 0.7);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 18px;
    overflow: hidden;
    backdrop-filter: blur(12px);
    transition: all 0.35s cubic-bezier(0.2, 0.8, 0.2, 1);
    display: flex;
    flex-direction: column;
}

.team-card:hover {
    transform: translateY(-5px);
    border-color: rgba(255, 117, 140, 0.35);
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.45), 0 0 25px rgba(255, 45, 117, 0.12);
}

/* Image Frame */
.team-image-frame {
    position: relative;
    width: 100%;
    aspect-ratio: 4 / 4.4;
    overflow: hidden;
    background: #11131c;
}

.team-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    display: block;
    transition: transform 0.6s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.team-card:hover .team-img {
    transform: scale(1.04);
}

.team-img-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(9, 10, 15, 0.05) 0%, rgba(9, 10, 15, 0.25) 55%, rgba(18, 20, 29, 0.95) 100%);
    pointer-events: none;
}

.team-role-tag {
    position: absolute;
    bottom: 14px;
    left: 14px;
    z-index: 2;
    background: rgba(13, 15, 23, 0.88);
    border: 1px solid rgba(255, 117, 140, 0.35);
    border-radius: 999px;
    padding: 0.32rem 0.8rem;
    color: #ff85a1;
    font-size: 0.7rem;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    backdrop-filter: blur(8px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.35);
}

.team-role-tag.tag-whatsapp {
    border-color: rgba(0, 229, 163, 0.4);
    color: #00e5a3;
}

.team-role-tag i {
    font-size: 0.72rem;
}

/* Content */
.team-content {
    padding: 1.35rem 1.4rem 1.6rem;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.team-name {
    font-family: var(--font-heading);
    font-size: 1.15rem;
    font-weight: 700;
    color: #ffffff;
    margin: 0 0 0.25rem;
}

.team-designation {
    font-size: 0.78rem;
    font-weight: 600;
    color: #f5b041;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    margin: 0 0 0.75rem;
}

.team-divider {
    width: 32px;
    height: 2px;
    background: linear-gradient(90deg, #ff5287, transparent);
    margin-bottom: 0.85rem;
}

.team-bio {
    font-size: 0.82rem;
    color: #9aa5be;
    line-height: 1.58;
    margin: 0;
}

/* Responsive adjustments */
@media (max-width: 991px) {
    .team-grid {
        grid-template-columns: 1fr;
        max-width: 480px;
        margin: 0 auto;
    }
}

@media (max-width: 576px) {
    .about-team-section {
        padding: 3rem 1rem;
    }

    .team-header {
        margin-bottom: 2.25rem;
    }

    .team-content {
        padding: 1.15rem 1.15rem 1.35rem;
    }
}

/* ==========================================================================
   ABOUT PAGE: SERVICES SECTION (LUXURY BEIGE CANVAS WITH PINK GRADIENT CARDS)
   ========================================================================== */
.about-services-section.theme-beige-pink {
    background: linear-gradient(180deg, #faf6f0 0%, #f4ede3 50%, #eee4d5 100%);
    position: relative;
    padding: clamp(4.5rem, 6.5vw, 6.5rem) 0;
    overflow: hidden;
    border-top: 1px solid rgba(222, 208, 192, 0.85);
    border-bottom: 1px solid rgba(222, 208, 192, 0.85);
}

.about-services-section.theme-beige-pink::before {
    content: '';
    position: absolute;
    top: -15%;
    left: 50%;
    transform: translateX(-50%);
    width: 900px;
    height: 500px;
    background: radial-gradient(ellipse at center, rgba(255, 45, 117, 0.08) 0%, rgba(255, 117, 140, 0.03) 50%, transparent 75%);
    pointer-events: none;
    z-index: 0;
}

.about-services-section.theme-beige-pink::after {
    content: '';
    position: absolute;
    bottom: -10%;
    right: 5%;
    width: 600px;
    height: 400px;
    background: radial-gradient(circle at center, rgba(255, 117, 140, 0.06) 0%, transparent 70%);
    pointer-events: none;
    z-index: 0;
}

.about-services-section .container {
    position: relative;
    z-index: 1;
}

/* Services Header */
.services-header {
    max-width: 860px;
    margin: 0 auto 3.25rem;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.services-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: linear-gradient(135deg, #ff2d75 0%, #e01e69 100%);
    color: #ffffff;
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    padding: 0.45rem 1.25rem;
    border-radius: 999px;
    box-shadow: 0 4px 16px rgba(255, 45, 117, 0.32);
    margin-bottom: 1.15rem;
    align-self: center;
}

.services-badge i {
    font-size: 0.74rem;
}

.services-title {
    font-family: var(--font-heading);
    font-size: clamp(2rem, 3.6vw, 2.65rem);
    font-weight: 800;
    color: #1a1418;
    line-height: 1.24;
    letter-spacing: -0.02em;
    margin: 0 auto 1.15rem;
    text-align: center;
    width: 100%;
}

.services-gradient-text {
    background: linear-gradient(135deg, #ff2d75 10%, #d81459 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    display: inline-block;
}

.services-lead {
    font-size: clamp(0.96rem, 1.25vw, 1.05rem);
    color: #55484e;
    line-height: 1.72;
    margin: 0 auto;
    max-width: 780px;
    text-align: center;
    width: 100%;
}

/* 6 Services Grid */
.services-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.75rem;
    margin-bottom: 3.25rem;
}

/* Luxury Card with Pink Gradient */
.service-luxury-card {
    background: linear-gradient(155deg, #ffffff 0%, #fff5f8 48%, #ffe8f2 100%);
    border: 1px solid rgba(255, 45, 117, 0.22);
    border-radius: 22px;
    padding: 2.2rem 2rem 2rem;
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    box-shadow: 0 10px 28px -8px rgba(255, 45, 117, 0.1), 0 4px 14px rgba(185, 140, 125, 0.08);
    transition: all 0.4s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.service-card-shimmer {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3.5px;
    background: linear-gradient(90deg, #ff2d75 0%, #ff758c 50%, #f5b041 100%);
}

.service-card-watermark {
    position: absolute;
    right: 16px;
    bottom: 8px;
    font-family: var(--font-heading);
    font-size: 4.8rem;
    font-weight: 900;
    line-height: 1;
    color: rgba(255, 45, 117, 0.045);
    pointer-events: none;
    user-select: none;
    z-index: 1;
    transition: transform 0.4s ease, color 0.4s ease;
}

.service-luxury-card:hover {
    transform: translateY(-7px);
    border-color: rgba(255, 45, 117, 0.48);
    box-shadow: 0 20px 45px -10px rgba(255, 45, 117, 0.22), 0 8px 24px rgba(185, 140, 125, 0.12);
}

.service-luxury-card:hover .service-card-watermark {
    color: rgba(255, 45, 117, 0.085);
    transform: translateY(-3px);
}

/* Card Header */
.service-card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.35rem;
    position: relative;
    z-index: 2;
}

.service-icon-box {
    width: 52px;
    height: 52px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    font-size: 1.25rem;
    box-shadow: 0 8px 18px -4px rgba(255, 45, 117, 0.4), inset 0 1px 1px rgba(255, 255, 255, 0.5);
    transition: transform 0.35s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.35s ease;
}

.service-luxury-card:hover .service-icon-box {
    transform: scale(1.08) rotate(3deg);
    box-shadow: 0 12px 24px -4px rgba(255, 45, 117, 0.55), inset 0 1px 1px rgba(255, 255, 255, 0.6);
}

/* Distinct gradients for icons */
.service-icon-box.icon-heart {
    background: linear-gradient(135deg, #ff2d75 0%, #ff5287 100%);
}

.service-icon-box.icon-globe {
    background: linear-gradient(135deg, #e0245e 0%, #9333ea 100%);
}

.service-icon-box.icon-star {
    background: linear-gradient(135deg, #ff2d75 0%, #f59e0b 100%);
}

.service-icon-box.icon-crown {
    background: linear-gradient(135deg, #7c3aed 0%, #ff2d75 100%);
}

.service-icon-box.icon-users {
    background: linear-gradient(135deg, #ff416c 0%, #ff4b2b 100%);
}

.service-icon-box.icon-sparkle {
    background: linear-gradient(135deg, #ec4899 0%, #8b5cf6 100%);
}

.service-micro-tag {
    background: rgba(255, 45, 117, 0.08);
    border: 1px solid rgba(255, 45, 117, 0.18);
    color: #d81459;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 0.32rem 0.8rem;
    border-radius: 999px;
}

/* Card Body */
.service-card-title {
    font-family: var(--font-heading);
    font-size: 1.26rem;
    font-weight: 700;
    color: #1e151b;
    margin: 0 0 0.75rem;
    line-height: 1.3;
    position: relative;
    z-index: 2;
    transition: color 0.3s ease;
}

.service-luxury-card:hover .service-card-title {
    color: #ff2d75;
}

.service-card-desc {
    font-size: 0.92rem;
    color: #584b52;
    line-height: 1.68;
    margin: 0 0 1.6rem;
    flex-grow: 1;
    position: relative;
    z-index: 2;
}

/* Card Learn More Link */
.service-learn-more {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 0.92rem;
    font-weight: 700;
    color: #ff2d75;
    text-decoration: none;
    margin-top: auto;
    position: relative;
    z-index: 2;
    transition: color 0.3s ease;
    width: fit-content;
}

.service-learn-more i {
    font-size: 0.85rem;
    transition: transform 0.3s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.service-learn-more:hover {
    color: #b80f48;
}

.service-luxury-card:hover .service-learn-more i {
    transform: translateX(6px);
}

/* Bottom Concierge Banner */
.services-concierge-banner {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.95) 0%, rgba(255, 240, 246, 0.95) 100%);
    border: 1px solid rgba(255, 45, 117, 0.22);
    border-radius: 20px;
    padding: 1.85rem 2.5rem;
    box-shadow: 0 10px 30px rgba(185, 140, 125, 0.1);
    position: relative;
    overflow: hidden;
}

.services-banner-glow {
    position: absolute;
    top: -50%;
    right: -10%;
    width: 300px;
    height: 300px;
    background: radial-gradient(circle, rgba(255, 45, 117, 0.12) 0%, transparent 70%);
    pointer-events: none;
}

.services-banner-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    position: relative;
    z-index: 2;
}

.services-banner-heading {
    font-family: var(--font-heading);
    font-size: 1.22rem;
    font-weight: 700;
    color: #1e151b;
    margin: 0 0 0.35rem;
}

.services-banner-desc {
    font-size: 0.92rem;
    color: #584b52;
    margin: 0;
    line-height: 1.55;
}

.services-wa-btn {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    background: linear-gradient(135deg, #00d387 0%, #00b06f 100%);
    color: #ffffff;
    text-decoration: none;
    font-weight: 700;
    font-size: 0.92rem;
    padding: 0.82rem 1.6rem;
    border-radius: 999px;
    box-shadow: 0 8px 20px rgba(0, 211, 135, 0.28);
    transition: all 0.3s ease;
    white-space: nowrap;
}

.services-wa-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 25px rgba(0, 211, 135, 0.38);
    color: #ffffff;
}

.services-wa-btn i {
    font-size: 1.1rem;
}

/* Responsive Breakpoints */
@media (max-width: 991px) {
    .services-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 1.5rem;
    }

    .services-banner-content {
        flex-direction: column;
        text-align: center;
        gap: 1.25rem;
    }

    .services-banner-actions {
        width: 100%;
        display: flex;
        justify-content: center;
    }
}

@media (max-width: 640px) {
    .about-services-section.theme-beige-pink {
        padding: 3.5rem 0;
    }

    .services-grid {
        grid-template-columns: 1fr;
        gap: 1.25rem;
    }

    .services-header {
        margin-bottom: 2.25rem;
    }

    .service-luxury-card {
        padding: 1.75rem 1.5rem 1.6rem;
    }

    .services-concierge-banner {
        padding: 1.5rem 1.25rem;
    }
}

/* ==========================================================================
   ABOUT PAGE: CLIENT TESTIMONIALS SECTION (DARK OBSIDIAN & VELVET GLOW)
   ========================================================================== */
.about-testimonials-section {
    background: linear-gradient(180deg, #0b0d15 0%, #111422 50%, #080a10 100%);
    position: relative;
    padding: clamp(4.5rem, 6.5vw, 6.5rem) 0;
    overflow: hidden;
    border-top: 1px solid rgba(255, 255, 255, 0.07);
}

.about-testimonials-section .testimonials-ambient-glow {
    position: absolute;
    top: -20%;
    left: 50%;
    transform: translateX(-50%);
    width: 1000px;
    height: 550px;
    background: radial-gradient(ellipse at center, rgba(255, 45, 117, 0.1) 0%, rgba(245, 176, 65, 0.04) 40%, transparent 75%);
    pointer-events: none;
    z-index: 0;
}

.about-testimonials-section .container {
    position: relative;
    z-index: 1;
}

/* Header (Centered) */
.testimonials-header {
    max-width: 860px;
    margin: 0 auto 3.25rem;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.testimonials-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: rgba(255, 45, 117, 0.12);
    border: 1px solid rgba(255, 45, 117, 0.35);
    color: #ff758c;
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    padding: 0.45rem 1.25rem;
    border-radius: 999px;
    margin-bottom: 1.15rem;
    align-self: center;
    box-shadow: 0 4px 16px rgba(255, 45, 117, 0.15);
}

.testimonials-badge i {
    font-size: 0.74rem;
    color: #f5b041;
}

.testimonials-title {
    font-family: var(--font-heading);
    font-size: clamp(2rem, 3.6vw, 2.65rem);
    font-weight: 800;
    color: #ffffff;
    line-height: 1.24;
    letter-spacing: -0.02em;
    margin: 0 auto 1.15rem;
    text-align: center;
    width: 100%;
}

.testimonials-gradient-text {
    background: linear-gradient(135deg, #ff758c 0%, #ff2d75 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    display: inline-block;
}

.testimonials-lead {
    font-size: clamp(0.96rem, 1.25vw, 1.05rem);
    color: #9aa5be;
    line-height: 1.72;
    margin: 0 auto;
    max-width: 780px;
    text-align: center;
    width: 100%;
}

/* 3 Testimonials Grid */
.testimonials-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.75rem;
    margin-bottom: 3.25rem;
}

/* Card */
.testimonial-card {
    background: rgba(18, 21, 35, 0.72);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 20px;
    padding: 2.2rem 2rem 2rem;
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.35);
    transition: all 0.4s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.testimonial-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, #ff2d75 0%, #ff758c 50%, #f5b041 100%);
}

.testimonial-card:hover {
    transform: translateY(-7px);
    border-color: rgba(255, 117, 140, 0.4);
    box-shadow: 0 20px 45px rgba(0, 0, 0, 0.5), 0 0 25px rgba(255, 45, 117, 0.15);
}

/* Card Top Row */
.testi-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 1.35rem;
}

.testi-rating {
    color: #f5b041;
    font-size: 0.88rem;
    display: flex;
    align-items: center;
    gap: 4px;
}

.testi-rating .rating-val {
    color: #ffffff;
    font-weight: 700;
    font-size: 0.84rem;
    margin-left: 6px;
}

.testi-verified-pill {
    background: rgba(0, 229, 163, 0.1);
    border: 1px solid rgba(0, 229, 163, 0.3);
    color: #00e5a3;
    font-size: 0.68rem;
    font-weight: 700;
    padding: 0.25rem 0.65rem;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    letter-spacing: 0.02em;
}

.testi-quote-icon {
    position: absolute;
    right: 1.5rem;
    top: 3.5rem;
    font-size: 2.2rem;
    color: rgba(255, 255, 255, 0.05);
    pointer-events: none;
    transition: color 0.3s ease;
}

.testimonial-card:hover .testi-quote-icon {
    color: rgba(255, 45, 117, 0.15);
}

.testi-text {
    font-size: 0.93rem;
    color: #cbd5e1;
    line-height: 1.7;
    margin: 0 0 1.75rem;
    flex-grow: 1;
    font-style: italic;
}

/* Author Row */
.testi-author-row {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-top: auto;
    padding-top: 1.25rem;
    border-top: 1px solid rgba(255, 255, 255, 0.07);
}

.testi-avatar {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: linear-gradient(135deg, #ff2d75 0%, #ff758c 100%);
    color: #ffffff;
    font-weight: 800;
    font-size: 0.92rem;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 14px rgba(255, 45, 117, 0.35);
    flex-shrink: 0;
    border: 2px solid rgba(255, 255, 255, 0.15);
}

.testi-avatar.avatar-purple {
    background: linear-gradient(135deg, #7c3aed 0%, #ec4899 100%);
    box-shadow: 0 4px 14px rgba(124, 58, 237, 0.35);
}

.testi-avatar.avatar-rose {
    background: linear-gradient(135deg, #ff416c 0%, #ff4b2b 100%);
    box-shadow: 0 4px 14px rgba(255, 65, 108, 0.35);
}

.testi-author-info {
    flex-grow: 1;
}

.testi-name {
    font-family: var(--font-heading);
    color: #ffffff;
    font-weight: 700;
    font-size: 1.05rem;
    margin: 0 0 2px;
}

.testi-location {
    color: #8892b0;
    font-size: 0.78rem;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 5px;
}

.testi-location i {
    font-size: 0.72rem;
    color: #ff758c;
}

.testi-location span {
    color: #f5b041;
    font-weight: 600;
}

/* Trust Bar */
.testimonials-trust-bar {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 3rem;
    flex-wrap: wrap;
    background: rgba(18, 21, 35, 0.6);
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: 16px;
    padding: 1.25rem 2rem;
    max-width: 820px;
    margin: 0 auto;
    backdrop-filter: blur(10px);
}

.trust-bar-item {
    display: flex;
    align-items: center;
    gap: 12px;
}

.trust-bar-item i {
    color: #ff758c;
    font-size: 1.35rem;
}

.trust-bar-item strong {
    display: block;
    color: #ffffff;
    font-size: 0.95rem;
    font-weight: 700;
}

.trust-bar-item span {
    color: #8892b0;
    font-size: 0.76rem;
}

/* Responsive Breakpoints */
@media (max-width: 991px) {
    .testimonials-grid {
        grid-template-columns: 1fr;
        max-width: 580px;
        margin-left: auto;
        margin-right: auto;
        gap: 1.5rem;
    }

    .testimonials-trust-bar {
        gap: 1.5rem;
        justify-content: space-between;
    }
}

@media (max-width: 640px) {
    .about-testimonials-section {
        padding: 3.5rem 0;
    }

    .testimonials-header {
        margin-bottom: 2.25rem;
    }

    .testimonial-card {
        padding: 1.75rem 1.5rem 1.6rem;
    }

    .testimonials-trust-bar {
        flex-direction: column;
        align-items: flex-start;
        gap: 1.15rem;
        padding: 1.25rem 1.5rem;
    }
}

/* ==========================================================================
   ABOUT PAGE: BANGALORE LOCATIONS SECTION (WARM BEIGE & ROSE/GOLD ACCENTS)
   ========================================================================== */
.about-locations-section.theme-beige-locations {
    background: linear-gradient(180deg, #faf7f2 0%, #f4ede4 50%, #ede3d5 100%);
    position: relative;
    padding: clamp(4.5rem, 6.5vw, 6.5rem) 0;
    overflow: hidden;
    border-top: 1px solid rgba(222, 208, 192, 0.85);
}

.about-locations-section .container {
    position: relative;
    z-index: 1;
}

/* Locations Header (Centered) */
.locations-header {
    max-width: 860px;
    margin: 0 auto 3.25rem;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.locations-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: linear-gradient(135deg, #ff2d75 0%, #e01e69 100%);
    color: #ffffff;
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    padding: 0.45rem 1.25rem;
    border-radius: 999px;
    margin-bottom: 1.15rem;
    align-self: center;
    box-shadow: 0 4px 16px rgba(255, 45, 117, 0.3);
}

.locations-badge i {
    font-size: 0.78rem;
}

.locations-title {
    font-family: var(--font-heading);
    font-size: clamp(2rem, 3.6vw, 2.65rem);
    font-weight: 800;
    color: #1a1418;
    line-height: 1.24;
    letter-spacing: -0.02em;
    margin: 0 auto 1.15rem;
    text-align: center;
    width: 100%;
}

.locations-gradient-text {
    background: linear-gradient(135deg, #ff2d75 10%, #d81459 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    display: inline-block;
}

.locations-lead {
    font-size: clamp(0.96rem, 1.25vw, 1.05rem);
    color: #55484e;
    line-height: 1.72;
    margin: 0 auto;
    max-width: 780px;
    text-align: center;
    width: 100%;
}

/* 8 Locations Grid (4 Cols x 2 Rows) */
.locations-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
    margin-bottom: 3.25rem;
}

/* Location Card */
.location-luxury-card {
    background: linear-gradient(155deg, #ffffff 0%, #fff8fb 55%, #ffeef5 100%);
    border: 1px solid rgba(255, 45, 117, 0.2);
    border-radius: 18px;
    padding: 1.75rem 1.5rem 1.6rem;
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    box-shadow: 0 8px 24px -6px rgba(255, 45, 117, 0.08), 0 4px 12px rgba(185, 140, 125, 0.08);
    transition: all 0.35s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.loc-card-shimmer {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, #ff2d75 0%, #ff758c 50%, #f5b041 100%);
}

.location-luxury-card:hover {
    transform: translateY(-6px);
    border-color: rgba(255, 45, 117, 0.45);
    box-shadow: 0 16px 36px -8px rgba(255, 45, 117, 0.2), 0 8px 20px rgba(185, 140, 125, 0.12);
}

/* Head */
.loc-card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 1.15rem;
}

.loc-pin-box {
    width: 44px;
    height: 44px;
    border-radius: 14px;
    background: linear-gradient(135deg, #ff2d75 0%, #ff5c8a 100%);
    color: #ffffff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.15rem;
    box-shadow: 0 6px 16px -2px rgba(255, 45, 117, 0.35);
    transition: transform 0.3s ease;
}

.location-luxury-card:hover .loc-pin-box {
    transform: scale(1.1) rotate(-5deg);
}

.loc-eta-pill {
    background: rgba(0, 194, 136, 0.12);
    border: 1px solid rgba(0, 194, 136, 0.3);
    color: #009e6f;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    padding: 0.26rem 0.65rem;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    white-space: nowrap;
}

.loc-eta-pill.highlight-gold {
    background: rgba(245, 176, 65, 0.14);
    border-color: rgba(245, 176, 65, 0.4);
    color: #b87a00;
}

/* Typography */
.loc-card-title {
    font-family: var(--font-heading);
    font-size: 1.25rem;
    font-weight: 700;
    color: #1e151b;
    margin: 0 0 0.45rem;
    line-height: 1.3;
    transition: color 0.3s ease;
}

.location-luxury-card:hover .loc-card-title {
    color: #ff2d75;
}

.loc-card-area {
    font-size: 0.82rem;
    color: #685b62;
    line-height: 1.55;
    margin: 0 0 1.25rem;
    flex-grow: 1;
}

/* Link */
.loc-card-link {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 0.88rem;
    font-weight: 700;
    color: #ff2d75;
    text-decoration: none;
    margin-top: auto;
    transition: color 0.3s ease;
    width: fit-content;
}

.loc-card-link i {
    font-size: 0.8rem;
    transition: transform 0.3s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.loc-card-link:hover {
    color: #b80f48;
}

.location-luxury-card:hover .loc-card-link i {
    transform: translateX(5px);
}

/* Bottom Dispatch Strip */
.locations-dispatch-strip {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.95) 0%, rgba(255, 240, 246, 0.95) 100%);
    border: 1px solid rgba(255, 45, 117, 0.22);
    border-radius: 20px;
    padding: 1.75rem 2.25rem;
    box-shadow: 0 10px 30px rgba(185, 140, 125, 0.1);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
}

.dispatch-info {
    display: flex;
    align-items: center;
    gap: 1.25rem;
}

.dispatch-icon {
    width: 52px;
    height: 52px;
    border-radius: 16px;
    background: linear-gradient(135deg, #ff2d75 0%, #ff758c 100%);
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.35rem;
    box-shadow: 0 8px 18px -4px rgba(255, 45, 117, 0.35);
    flex-shrink: 0;
}

.dispatch-text h4 {
    font-family: var(--font-heading);
    font-size: 1.18rem;
    font-weight: 700;
    color: #1e151b;
    margin: 0 0 0.3rem;
}

.dispatch-text p {
    font-size: 0.9rem;
    color: #5a4d54;
    margin: 0;
    line-height: 1.55;
}

.dispatch-wa-btn {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    background: linear-gradient(135deg, #00d387 0%, #00b06f 100%);
    color: #ffffff;
    text-decoration: none;
    font-weight: 700;
    font-size: 0.92rem;
    padding: 0.85rem 1.6rem;
    border-radius: 999px;
    box-shadow: 0 8px 20px rgba(0, 211, 135, 0.28);
    transition: all 0.3s ease;
    white-space: nowrap;
    flex-shrink: 0;
}

.dispatch-wa-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 25px rgba(0, 211, 135, 0.38);
    color: #ffffff;
}

.dispatch-wa-btn i {
    font-size: 1.1rem;
}

/* Responsive Breakpoints */
@media (max-width: 1199px) {
    .locations-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 991px) {
    .locations-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 1.25rem;
    }

    .locations-dispatch-strip {
        flex-direction: column;
        text-align: center;
        gap: 1.25rem;
        padding: 1.5rem;
    }

    .dispatch-info {
        flex-direction: column;
        gap: 0.75rem;
    }
}

@media (max-width: 600px) {
    .about-locations-section.theme-beige-locations {
        padding: 3.5rem 0;
    }

    .locations-grid {
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    .locations-header {
        margin-bottom: 2.25rem;
    }

    .location-luxury-card {
        padding: 1.5rem 1.25rem 1.35rem;
    }
}

/* ==========================================================================
   ABOUT PAGE: 4-STEP BOOKING FLOW SECTION (DARK VELVET & CONNECTED FLOW)
   ========================================================================== */
.about-booking-flow-section {
    background: linear-gradient(180deg, #0a0d16 0%, #111526 50%, #07090f 100%);
    position: relative;
    padding: clamp(4.5rem, 6.5vw, 6.5rem) 0;
    overflow: hidden;
    border-top: 1px solid rgba(255, 255, 255, 0.07);
}

.about-booking-flow-section .booking-ambient-glow {
    position: absolute;
    top: -20%;
    left: 50%;
    transform: translateX(-50%);
    width: 1000px;
    height: 550px;
    background: radial-gradient(ellipse at center, rgba(255, 45, 117, 0.1) 0%, rgba(0, 211, 135, 0.03) 45%, transparent 75%);
    pointer-events: none;
    z-index: 0;
}

.about-booking-flow-section .container {
    position: relative;
    z-index: 1;
}

/* Header (Centered) */
.booking-header {
    max-width: 860px;
    margin: 0 auto 3.25rem;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.booking-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: rgba(255, 45, 117, 0.12);
    border: 1px solid rgba(255, 45, 117, 0.35);
    color: #ff758c;
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    padding: 0.45rem 1.25rem;
    border-radius: 999px;
    margin-bottom: 1.15rem;
    align-self: center;
    box-shadow: 0 4px 16px rgba(255, 45, 117, 0.15);
}

.booking-badge i {
    font-size: 0.75rem;
    color: #f5b041;
}

.booking-title {
    font-family: var(--font-heading);
    font-size: clamp(2rem, 3.6vw, 2.65rem);
    font-weight: 800;
    color: #ffffff;
    line-height: 1.24;
    letter-spacing: -0.02em;
    margin: 0 auto 1.15rem;
    text-align: center;
    width: 100%;
}

.booking-gradient-text {
    background: linear-gradient(135deg, #ff758c 0%, #ff2d75 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    display: inline-block;
}

.booking-lead {
    font-size: clamp(0.96rem, 1.25vw, 1.05rem);
    color: #9aa5be;
    line-height: 1.72;
    margin: 0 auto;
    max-width: 780px;
    text-align: center;
    width: 100%;
}

/* 4-Step Grid */
.booking-steps-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
    margin-bottom: 3.25rem;
    position: relative;
}

/* Step Card (About Page) */
.about-booking-flow-section .booking-step-card {
    background: rgba(18, 22, 36, 0.72);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 20px;
    padding: 2rem 1.6rem 1.8rem;
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.35);
    transition: all 0.35s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.about-booking-flow-section .step-card-shimmer {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, #ff2d75 0%, #ff758c 50%, #00d387 100%);
}

.about-booking-flow-section .booking-step-card:hover {
    transform: translateY(-7px);
    border-color: rgba(255, 117, 140, 0.4);
    box-shadow: 0 20px 45px rgba(0, 0, 0, 0.5), 0 0 25px rgba(255, 45, 117, 0.15);
}

/* Step Head */
.about-booking-flow-section .step-card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 1.35rem;
}

.about-booking-flow-section .step-icon-box {
    width: 48px;
    height: 48px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    font-size: 1.25rem;
    box-shadow: 0 6px 16px -2px rgba(255, 45, 117, 0.35);
    transition: transform 0.3s ease;
}

.about-booking-flow-section .booking-step-card:hover .step-icon-box {
    transform: scale(1.1) rotate(4deg);
}

.about-booking-flow-section .step-icon-box.icon-wa {
    background: linear-gradient(135deg, #00d387 0%, #00b06f 100%);
    box-shadow: 0 6px 16px -2px rgba(0, 211, 135, 0.35);
}

.about-booking-flow-section .step-icon-box.icon-gallery {
    background: linear-gradient(135deg, #ff2d75 0%, #ff6b8b 100%);
}

.about-booking-flow-section .step-icon-box.icon-location {
    background: linear-gradient(135deg, #7c3aed 0%, #ff2d75 100%);
    box-shadow: 0 6px 16px -2px rgba(124, 58, 237, 0.35);
}

.about-booking-flow-section .step-icon-box.icon-pay {
    background: linear-gradient(135deg, #f59e0b 0%, #ff416c 100%);
    box-shadow: 0 6px 16px -2px rgba(245, 158, 11, 0.35);
}

.about-booking-flow-section .step-number-tag {
    font-family: var(--font-heading);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    color: #f5b041;
    background: rgba(245, 176, 65, 0.12);
    border: 1px solid rgba(245, 176, 65, 0.3);
    padding: 0.28rem 0.7rem;
    border-radius: 999px;
}

/* Step Typography */
.about-booking-flow-section .step-title {
    font-family: var(--font-heading);
    font-size: 1.22rem;
    font-weight: 700;
    color: #ffffff;
    margin: 0 0 0.75rem;
    line-height: 1.3;
    transition: color 0.3s ease;
}

.about-booking-flow-section .booking-step-card:hover .step-title {
    color: #ff758c;
}

.about-booking-flow-section .step-desc {
    font-size: 0.88rem;
    color: #9aa5be;
    line-height: 1.68;
    margin: 0 0 1.4rem;
    flex-grow: 1;
}

.about-booking-flow-section .step-chip {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 0.72rem;
    font-weight: 700;
    color: #00e5a3;
    background: rgba(0, 229, 163, 0.08);
    border: 1px solid rgba(0, 229, 163, 0.25);
    padding: 0.35rem 0.75rem;
    border-radius: 999px;
    margin-top: auto;
    width: fit-content;
}

.about-booking-flow-section .step-chip i {
    font-size: 0.74rem;
}

/* Bottom CTA Banner */
.about-booking-flow-section .booking-cta-banner {
    background: linear-gradient(135deg, rgba(20, 24, 40, 0.85) 0%, rgba(28, 18, 30, 0.85) 100%);
    border: 1px solid rgba(255, 45, 117, 0.3);
    border-radius: 20px;
    padding: 1.85rem 2.5rem;
    box-shadow: 0 12px 35px rgba(0, 0, 0, 0.4);
    backdrop-filter: blur(12px);
}

.about-booking-flow-section .booking-cta-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
}

.about-booking-flow-section .booking-cta-text h4 {
    font-family: var(--font-heading);
    font-size: 1.25rem;
    font-weight: 700;
    color: #ffffff;
    margin: 0 0 0.35rem;
}

.about-booking-flow-section .booking-cta-text p {
    font-size: 0.92rem;
    color: #9aa5be;
    margin: 0;
    line-height: 1.55;
}

.about-booking-flow-section .booking-wa-btn {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    background: linear-gradient(135deg, #00d387 0%, #00b06f 100%);
    color: #ffffff;
    text-decoration: none;
    font-weight: 700;
    font-size: 0.94rem;
    padding: 0.85rem 1.75rem;
    border-radius: 999px;
    box-shadow: 0 8px 22px rgba(0, 211, 135, 0.32);
    transition: all 0.3s ease;
    white-space: nowrap;
    flex-shrink: 0;
}

.about-booking-flow-section .booking-wa-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 28px rgba(0, 211, 135, 0.45);
    color: #ffffff;
}

.about-booking-flow-section .booking-wa-btn i {
    font-size: 1.15rem;
}

/* Responsive Breakpoints */
@media (max-width: 1199px) {
    .about-booking-flow-section .booking-steps-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 1.5rem;
    }
}

@media (max-width: 991px) {
    .about-booking-flow-section .booking-cta-content {
        flex-direction: column;
        text-align: center;
        gap: 1.25rem;
    }
}

@media (max-width: 600px) {
    .about-booking-flow-section {
        padding: 3.5rem 0;
    }

    .about-booking-flow-section .booking-steps-grid {
        grid-template-columns: 1fr;
        gap: 1.25rem;
    }

    .about-booking-flow-section .booking-header {
        margin-bottom: 2.25rem;
    }

    .about-booking-flow-section .booking-step-card {
        padding: 1.75rem 1.4rem 1.6rem;
    }

    .about-booking-flow-section .booking-cta-banner {
        padding: 1.5rem 1.25rem;
    }
}

/* ==========================================================================
   GET IN TOUCH / CONTACT US SECTION
   ========================================================================== */
.about-contact-section {
    background: #fbfbfe;
    padding: 5.5rem 0;
    position: relative;
    border-top: 1px solid rgba(0, 0, 0, 0.04);
}

.about-contact-section .contact-header {
    text-align: center;
    max-width: 780px;
    margin: 0 auto 3.5rem;
}

.about-contact-section .contact-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #e11d48;
    color: #ffffff;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    padding: 0.5rem 1.25rem;
    border-radius: 999px;
    margin-bottom: 1.25rem;
    box-shadow: 0 4px 14px rgba(225, 29, 72, 0.28);
}

.about-contact-section .contact-badge i {
    font-size: 0.85rem;
}

.about-contact-section .contact-main-title {
    font-size: clamp(2rem, 3.8vw, 2.85rem);
    font-weight: 800;
    color: #111827;
    line-height: 1.2;
    margin-bottom: 1rem;
    letter-spacing: -0.5px;
}

.about-contact-section .contact-main-title .highlight-pink {
    color: #e11d48;
}

.about-contact-section .contact-main-title .highlight-purple {
    background: linear-gradient(135deg, #8b5cf6 0%, #6366f1 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.about-contact-section .contact-lead {
    font-size: 1.05rem;
    color: #4b5563;
    line-height: 1.65;
    max-width: 680px;
    margin: 0 auto;
}

/* Contact Cards Grid */
.about-contact-section .contact-cards-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
    margin-bottom: 3.5rem;
    align-items: stretch;
}

.about-contact-section .contact-method-card {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 22px;
    padding: 2.25rem 2rem 2rem;
    display: flex;
    flex-direction: column;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04);
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    position: relative;
    text-align: left;
}

.about-contact-section .contact-method-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.08);
    border-color: #cbd5e1;
}

/* Squircle Icons */
.about-contact-section .method-icon-squircle {
    width: 58px;
    height: 58px;
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.65rem;
    color: #ffffff;
    margin-bottom: 1.4rem;
}

.about-contact-section .method-icon-squircle.icon-whatsapp {
    background: linear-gradient(135deg, #25d366 0%, #128c7e 100%);
    box-shadow: 0 8px 20px rgba(37, 211, 102, 0.35);
}

.about-contact-section .method-icon-squircle.icon-phone {
    background: linear-gradient(135deg, #3b82f6 0%, #1d4ed8 100%);
    box-shadow: 0 8px 20px rgba(59, 130, 246, 0.35);
}

.about-contact-section .method-icon-squircle.icon-email {
    background: linear-gradient(135deg, #a855f7 0%, #7e22ce 100%);
    box-shadow: 0 8px 20px rgba(168, 85, 247, 0.35);
}

.about-contact-section .method-title {
    font-size: 1.35rem;
    font-weight: 700;
    color: #111827;
    margin-bottom: 0.65rem;
}

.about-contact-section .method-desc {
    font-size: 0.93rem;
    color: #64748b;
    line-height: 1.55;
    margin-bottom: 1.35rem;
    min-height: 54px;
}

.about-contact-section .method-contact-val {
    font-size: 1.05rem;
    font-weight: 700;
    margin-top: auto;
    margin-bottom: 1.5rem;
}

.about-contact-section .method-contact-val a {
    color: #111827;
    text-decoration: none;
    transition: color 0.2s ease;
}

.about-contact-section .method-contact-val a:hover {
    color: #e11d48;
}

/* Button styles */
.about-contact-section .method-btn {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    width: fit-content;
    padding: 0.72rem 1.6rem;
    border-radius: 999px;
    font-weight: 700;
    font-size: 0.92rem;
    color: #ffffff;
    text-decoration: none;
    transition: all 0.25s ease;
}

.about-contact-section .method-btn i {
    font-size: 0.85rem;
    transition: transform 0.25s ease;
}

.about-contact-section .method-btn:hover i {
    transform: translateX(4px);
}

.about-contact-section .method-btn.btn-green {
    background: linear-gradient(135deg, #22c55e 0%, #16a34a 100%);
    box-shadow: 0 6px 18px rgba(34, 197, 94, 0.3);
}

.about-contact-section .method-btn.btn-green:hover {
    box-shadow: 0 10px 24px rgba(34, 197, 94, 0.45);
    transform: translateY(-2px);
    color: #ffffff;
}

.about-contact-section .method-btn.btn-blue {
    background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%);
    box-shadow: 0 6px 18px rgba(37, 99, 235, 0.3);
}

.about-contact-section .method-btn.btn-blue:hover {
    box-shadow: 0 10px 24px rgba(37, 99, 235, 0.45);
    transform: translateY(-2px);
    color: #ffffff;
}

.about-contact-section .method-btn.btn-purple {
    background: linear-gradient(135deg, #9333ea 0%, #7e22ce 100%);
    box-shadow: 0 6px 18px rgba(147, 51, 234, 0.3);
}

.about-contact-section .method-btn.btn-purple:hover {
    box-shadow: 0 10px 24px rgba(147, 51, 234, 0.45);
    transform: translateY(-2px);
    color: #ffffff;
}

/* Why Choose Banner */
.about-contact-section .why-choose-banner {
    background: #fff5f8;
    border: 1.5px solid #fed7e2;
    border-radius: 22px;
    padding: 2.75rem 2.5rem 2.5rem;
}

.about-contact-section .why-choose-header {
    margin-bottom: 2rem;
}

.about-contact-section .why-choose-title {
    font-size: 1.45rem;
    font-weight: 800;
    color: #111827;
    margin-bottom: 0.6rem;
}

.about-contact-section .why-choose-lead {
    font-size: 0.95rem;
    color: #64748b;
    max-width: 660px;
    margin: 0 auto;
    line-height: 1.6;
}

.about-contact-section .why-features-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    flex-wrap: wrap;
}

.about-contact-section .why-feature-item {
    display: flex;
    align-items: center;
    gap: 12px;
    flex: 1 1 calc(25% - 1.5rem);
    min-width: 200px;
}

.about-contact-section .why-feature-icon {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: #e11d48;
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.95rem;
    flex-shrink: 0;
    box-shadow: 0 4px 10px rgba(225, 29, 72, 0.28);
}

.about-contact-section .why-feature-text {
    font-size: 0.95rem;
    font-weight: 700;
    color: #1e1e2f;
    line-height: 1.35;
}

/* Responsive Media Queries */
@media (max-width: 1024px) {
    .about-contact-section .contact-cards-grid {
        gap: 1.25rem;
    }

    .about-contact-section .why-feature-item {
        flex: 1 1 calc(50% - 1.25rem);
    }
}

@media (max-width: 900px) {
    .about-contact-section .contact-cards-grid {
        grid-template-columns: 1fr;
        max-width: 520px;
        margin: 0 auto 3rem;
    }

    .about-contact-section .why-features-row {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 1.25rem;
    }
}

@media (max-width: 600px) {
    .about-contact-section {
        padding: 3.5rem 0;
    }

    .about-contact-section .contact-header {
        margin-bottom: 2.25rem;
    }

    .about-contact-section .contact-method-card {
        padding: 1.75rem 1.4rem;
    }

    .about-contact-section .method-desc {
        min-height: auto;
    }

    .about-contact-section .why-choose-banner {
        padding: 1.75rem 1.25rem;
    }

    .about-contact-section .why-features-row {
        grid-template-columns: 1fr;
        gap: 1rem;
    }
}

/* ==============================================================================
   CATEGORY PAGES DESIGN SYSTEM (Reusable Across All Categories)
   Consistent symmetry, luxury dark aesthetics, glowing accents & micro-animations
   ============================================================================== */

.cat-page {
    background-color: var(--bg-primary);
    color: var(--text-primary);
    overflow-x: hidden;
}

/* 1. Category Hero Section */
.cat-hero-section {
    position: relative;
    padding: 3.5rem 0 4.5rem;
    background: radial-gradient(circle at 15% 20%, rgba(255, 45, 117, 0.16) 0%, transparent 45%),
                radial-gradient(circle at 85% 75%, rgba(245, 176, 65, 0.08) 0%, transparent 40%),
                #090a0f;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    overflow: hidden;
}

.cat-hero-glow {
    position: absolute;
    top: 10%;
    left: 40%;
    width: 650px;
    height: 450px;
    background: radial-gradient(circle, rgba(255, 45, 117, 0.12) 0%, transparent 70%);
    filter: blur(90px);
    pointer-events: none;
    z-index: 1;
}

.cat-hero-container {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 1.15fr 0.85fr;
    gap: 3.5rem;
    align-items: center;
}

.cat-hero-meta {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
    margin-bottom: 1.25rem;
}

.cat-breadcrumbs {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.84rem;
    color: #8f98af;
}

.cat-breadcrumbs a {
    color: #a2aabf;
    transition: var(--transition-smooth);
    text-decoration: none;
}

.cat-breadcrumbs a:hover {
    color: var(--pink-primary);
}

.cat-breadcrumbs i {
    font-size: 0.68rem;
    opacity: 0.6;
}

.cat-breadcrumbs span {
    color: #ffffff;
    font-weight: 600;
}

.cat-vip-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 5px 14px;
    background: rgba(255, 45, 117, 0.12);
    border: 1px solid rgba(255, 45, 117, 0.35);
    border-radius: var(--radius-pill);
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 1px;
    color: #ff758c;
    text-transform: uppercase;
}

.cat-badge-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #ff2d75;
    box-shadow: 0 0 10px #ff2d75;
    animation: pulseGlow 2s infinite;
}

@keyframes pulseGlow {
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: 0.5; transform: scale(0.85); }
}

.cat-hero-title {
    font-family: var(--font-heading);
    font-size: clamp(2.2rem, 4vw, 3.2rem);
    font-weight: 800;
    line-height: 1.15;
    color: #ffffff;
    margin-bottom: 0.75rem;
    letter-spacing: -0.5px;
}

.cat-hero-subtitle {
    display: inline-block;
    font-family: var(--font-heading);
    font-size: clamp(1rem, 2vw, 1.25rem);
    font-weight: 700;
    color: var(--gold-accent);
    letter-spacing: 0.5px;
    margin-bottom: 1.5rem;
    text-transform: uppercase;
    position: relative;
    padding-left: 14px;
}

.cat-hero-subtitle::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 5px;
    height: 18px;
    background: var(--pink-primary);
    border-radius: 4px;
}

.cat-hero-lead {
    font-size: 1.08rem;
    line-height: 1.7;
    color: #a2aabf;
    margin-bottom: 2rem;
    max-width: 620px;
}

.cat-hero-buttons {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
    margin-bottom: 2.25rem;
}

.btn-cat-primary {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: var(--gradient-pink-btn);
    color: #ffffff;
    padding: 0.88rem 1.65rem;
    border-radius: 12px;
    font-weight: 700;
    font-size: 0.96rem;
    text-decoration: none;
    box-shadow: 0 10px 25px rgba(255, 45, 117, 0.4);
    transition: var(--transition-smooth);
}

.btn-cat-primary:hover {
    transform: translateY(-3px);
    box-shadow: 0 14px 32px rgba(255, 45, 117, 0.55);
    color: #ffffff;
}

.btn-cat-whatsapp {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    background: linear-gradient(135deg, #25d366 0%, #1ebd5a 100%);
    color: #ffffff;
    padding: 0.88rem 1.55rem;
    border-radius: 12px;
    font-weight: 700;
    font-size: 0.96rem;
    text-decoration: none;
    box-shadow: 0 10px 25px rgba(37, 211, 102, 0.35);
    transition: var(--transition-smooth);
}

.btn-cat-whatsapp:hover {
    transform: translateY(-3px);
    box-shadow: 0 14px 32px rgba(37, 211, 102, 0.5);
    color: #ffffff;
}

.btn-cat-call {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(255, 255, 255, 0.07);
    border: 1px solid rgba(255, 255, 255, 0.16);
    color: #ffffff;
    padding: 0.88rem 1.45rem;
    border-radius: 12px;
    font-weight: 600;
    font-size: 0.94rem;
    text-decoration: none;
    transition: var(--transition-smooth);
}

.btn-cat-call:hover {
    background: rgba(255, 255, 255, 0.14);
    border-color: rgba(255, 255, 255, 0.3);
    color: #ffffff;
    transform: translateY(-2px);
}

.cat-micro-trust {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    flex-wrap: wrap;
    padding-top: 1.75rem;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.cat-trust-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.86rem;
    color: #d1d8e8;
    font-weight: 500;
}

.cat-trust-item i {
    color: var(--gold-accent);
    font-size: 0.95rem;
}

/* Hero Media Column */
.cat-hero-media {
    position: relative;
}

.cat-media-card {
    position: relative;
    border-radius: 24px;
    overflow: hidden;
    background: #141724;
    border: 1px solid rgba(255, 255, 255, 0.12);
    box-shadow: 0 25px 60px rgba(0, 0, 0, 0.55);
}

.cat-media-badge {
    position: absolute;
    top: 18px;
    left: 18px;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 7px 15px;
    background: rgba(12, 14, 22, 0.85);
    backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: var(--radius-pill);
    font-size: 0.78rem;
    font-weight: 700;
    color: #ffffff;
}

.cat-media-badge i {
    color: var(--gold-accent);
}

.cat-image-wrapper {
    position: relative;
    width: 100%;
    height: 480px;
    overflow: hidden;
}

.cat-main-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.cat-media-card:hover .cat-main-img {
    transform: scale(1.04);
}

.cat-img-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(9, 10, 15, 0.15) 0%, rgba(9, 10, 15, 0.75) 100%);
    pointer-events: none;
}

.cat-stats-bar {
    position: absolute;
    bottom: 18px;
    left: 18px;
    right: 18px;
    z-index: 3;
    background: rgba(18, 21, 32, 0.88);
    backdrop-filter: blur(16px);
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 16px;
    padding: 14px 18px;
    display: flex;
    align-items: center;
    justify-content: space-around;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4);
}

.cat-stat-col {
    text-align: center;
    flex: 1;
}

.cat-stat-col .stat-num {
    display: block;
    font-family: var(--font-heading);
    font-size: 1.4rem;
    font-weight: 800;
    color: #ffffff;
    line-height: 1.1;
    margin-bottom: 2px;
}

.cat-stat-col .stat-lbl {
    font-size: 0.72rem;
    color: #9da7be;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    font-weight: 600;
    display: block;
}

.cat-stat-divider {
    width: 1px;
    height: 30px;
    background: rgba(255, 255, 255, 0.14);
}

/* 2. Generic Symmetrical Section Headers */
.cat-section-header {
    text-align: center;
    max-width: 820px;
    margin: 0 auto 3rem;
}

.cat-section-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 5px 14px;
    background: rgba(255, 45, 117, 0.1);
    border: 1px solid rgba(255, 45, 117, 0.28);
    border-radius: var(--radius-pill);
    font-size: 0.76rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.2px;
    color: #ff758c;
    margin-bottom: 0.85rem;
}

.cat-section-title {
    font-family: var(--font-heading);
    font-size: clamp(1.85rem, 3.2vw, 2.45rem);
    font-weight: 800;
    color: #ffffff;
    line-height: 1.25;
    margin-bottom: 0.85rem;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    flex-wrap: wrap;
}

.cat-section-desc {
    font-size: 1.02rem;
    color: #9da7be;
    line-height: 1.65;
    margin: 0 auto;
}

/* 3. Category Intro & 4 Symmetrical Core Values */
.cat-intro-section {
    padding: 4.5rem 0;
    background: #0d0f17;
    position: relative;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.cat-intro-card {
    background: linear-gradient(135deg, rgba(22, 26, 40, 0.75) 0%, rgba(16, 18, 28, 0.85) 100%);
    border: 1px solid rgba(255, 255, 255, 0.09);
    border-radius: 24px;
    padding: 3rem 2.75rem 2.5rem;
    box-shadow: 0 20px 45px rgba(0, 0, 0, 0.3);
    margin-bottom: 3rem;
}

.cat-intro-text-lead {
    font-size: 1.15rem;
    line-height: 1.8;
    color: #e2e8f0;
    margin-bottom: 1.25rem;
}

.cat-intro-text-p {
    font-size: 1rem;
    line-height: 1.7;
    color: #9da7be;
}

.cat-values-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
}

.cat-value-card {
    background: #141724;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 18px;
    padding: 2rem 1.6rem;
    transition: var(--transition-smooth);
}

.cat-value-card:hover {
    transform: translateY(-4px);
    border-color: rgba(255, 45, 117, 0.4);
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.35);
}

.cat-value-icon {
    width: 52px;
    height: 52px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.35rem;
    margin-bottom: 1.25rem;
    color: #ffffff;
}

.icon-rose-gradient {
    background: linear-gradient(135deg, #ff2d75 0%, #ff758c 100%);
    box-shadow: 0 6px 18px rgba(255, 45, 117, 0.35);
}

.icon-gold-gradient {
    background: linear-gradient(135deg, #f5b041 0%, #d4af37 100%);
    box-shadow: 0 6px 18px rgba(245, 176, 65, 0.35);
}

.icon-teal-gradient {
    background: linear-gradient(135deg, #06b6d4 0%, #0891b2 100%);
    box-shadow: 0 6px 18px rgba(6, 182, 212, 0.35);
}

.icon-purple-gradient {
    background: linear-gradient(135deg, #9333ea 0%, #7e22ce 100%);
    box-shadow: 0 6px 18px rgba(147, 51, 234, 0.35);
}

.cat-value-title {
    font-size: 1.12rem;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 0.6rem;
}

.cat-value-desc {
    font-size: 0.92rem;
    color: #9da7be;
    line-height: 1.6;
    margin: 0;
}

/* 4. Curated Profiles Showcase Grid */
.cat-profiles-section {
    padding: 4.5rem 0;
    background: #090a0f;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.cat-profiles-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.75rem;
}

.cat-profile-card {
    background: #141724;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 20px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: var(--transition-smooth);
}

.cat-profile-card:hover {
    transform: translateY(-6px);
    border-color: rgba(255, 45, 117, 0.45);
    box-shadow: 0 20px 45px rgba(0, 0, 0, 0.45);
}

.cat-profile-media {
    position: relative;
    width: 100%;
    height: 350px;
    overflow: hidden;
}

.cat-profile-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.5s ease;
}

.cat-profile-card:hover .cat-profile-img {
    transform: scale(1.06);
}

.cat-profile-badge-top {
    position: absolute;
    top: 14px;
    left: 14px;
    padding: 5px 12px;
    background: rgba(15, 18, 28, 0.85);
    backdrop-filter: blur(8px);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: var(--radius-pill);
    font-size: 0.74rem;
    font-weight: 700;
    color: #ffffff;
    z-index: 2;
}

.cat-profile-loc-badge {
    position: absolute;
    bottom: 14px;
    left: 14px;
    padding: 4px 10px;
    background: rgba(9, 10, 15, 0.85);
    backdrop-filter: blur(6px);
    border-radius: 8px;
    font-size: 0.74rem;
    font-weight: 600;
    color: #f1f5f9;
    z-index: 2;
}

.cat-profile-loc-badge i {
    color: var(--pink-primary);
    margin-right: 4px;
}

.cat-profile-body {
    padding: 1.25rem 1.35rem 1.4rem;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.cat-profile-name-row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    margin-bottom: 0.35rem;
}

.cat-profile-name {
    font-family: var(--font-heading);
    font-size: 1.2rem;
    font-weight: 700;
    color: #ffffff;
    margin: 0;
}

.cat-profile-age {
    font-size: 0.82rem;
    color: #ff758c;
    font-weight: 600;
    background: rgba(255, 45, 117, 0.1);
    padding: 2px 8px;
    border-radius: 6px;
}

.cat-profile-tagline {
    font-size: 0.84rem;
    color: #9da7be;
    margin-bottom: 0.85rem;
}

.cat-profile-specs {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    font-size: 0.78rem;
    color: #a2aabf;
    margin-bottom: 1rem;
    padding-bottom: 0.85rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.07);
}

.cat-profile-specs span {
    background: rgba(255, 255, 255, 0.05);
    padding: 3px 8px;
    border-radius: 6px;
}

.cat-profile-rates {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1.15rem;
    font-size: 0.84rem;
}

.rate-item strong {
    color: var(--gold-accent);
    font-size: 0.98rem;
    display: block;
}

.rate-item span {
    font-size: 0.72rem;
    color: #8892b0;
    text-transform: uppercase;
}

.cat-profile-actions {
    display: flex;
    gap: 8px;
    margin-top: auto;
}

.btn-profile-call {
    flex: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 0.65rem 0.5rem;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 10px;
    color: #ffffff;
    font-size: 0.84rem;
    font-weight: 600;
    text-decoration: none;
    transition: var(--transition-smooth);
}

.btn-profile-call:hover {
    background: rgba(255, 255, 255, 0.16);
    color: #ffffff;
}

.btn-profile-chat {
    flex: 1.2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 0.65rem 0.5rem;
    background: linear-gradient(135deg, #25d366 0%, #1ebd5a 100%);
    border-radius: 10px;
    color: #ffffff;
    font-size: 0.84rem;
    font-weight: 700;
    text-decoration: none;
    box-shadow: 0 4px 12px rgba(37, 211, 102, 0.28);
    transition: var(--transition-smooth);
}

.btn-profile-chat:hover {
    box-shadow: 0 6px 16px rgba(37, 211, 102, 0.45);
    transform: translateY(-1px);
    color: #ffffff;
}

/* 5. Why Choose Symmetrical Grid */
.cat-why-section {
    padding: 4.5rem 0;
    background: #0d0f17;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.cat-why-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.75rem;
}

.cat-why-card {
    background: #141724;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 20px;
    padding: 2.25rem 2rem;
    display: flex;
    gap: 1.5rem;
    transition: var(--transition-smooth);
}

.cat-why-card:hover {
    border-color: rgba(255, 45, 117, 0.35);
    transform: translateY(-3px);
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.35);
}

.cat-why-icon-wrap {
    flex-shrink: 0;
    width: 54px;
    height: 54px;
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.4rem;
    color: #ffffff;
}

.cat-why-content h4 {
    font-size: 1.2rem;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 0.6rem;
}

.cat-why-content p {
    font-size: 0.95rem;
    color: #9da7be;
    line-height: 1.65;
    margin: 0;
}

/* 6. Curated Services & Experiences (Symmetrical 6-Card Grid) */
.cat-services-section {
    padding: 4.5rem 0;
    background: #090a0f;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.cat-services-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.75rem;
}

.cat-service-card {
    background: #141724;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 20px;
    padding: 2.25rem 1.85rem;
    transition: var(--transition-smooth);
    display: flex;
    flex-direction: column;
}

.cat-service-card:hover {
    transform: translateY(-4px);
    border-color: rgba(255, 45, 117, 0.4);
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.38);
}

.cat-service-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1.25rem;
}

.cat-service-icon {
    width: 50px;
    height: 50px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
    color: #ffffff;
}

.cat-service-pill {
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    color: #ff758c;
    background: rgba(255, 45, 117, 0.1);
    padding: 4px 10px;
    border-radius: var(--radius-pill);
}

.cat-service-title {
    font-size: 1.18rem;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 0.75rem;
}

.cat-service-desc {
    font-size: 0.94rem;
    color: #9da7be;
    line-height: 1.65;
    margin-bottom: 1.25rem;
    flex-grow: 1;
}

.cat-service-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--pink-light);
    font-size: 0.88rem;
    font-weight: 600;
    text-decoration: none;
    transition: var(--transition-smooth);
}

.cat-service-link:hover {
    color: var(--pink-primary);
    gap: 10px;
}

/* 7. 3-Step Simple Booking Flow */
.cat-steps-section {
    padding: 4.5rem 0;
    background: #0d0f17;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.cat-steps-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
    position: relative;
}

.cat-step-card {
    background: #141724;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 22px;
    padding: 2.5rem 2rem;
    position: relative;
    transition: var(--transition-smooth);
}

.cat-step-card:hover {
    transform: translateY(-4px);
    border-color: rgba(255, 45, 117, 0.35);
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.35);
}

.cat-step-num {
    position: absolute;
    top: 20px;
    right: 22px;
    font-family: var(--font-heading);
    font-size: 2.2rem;
    font-weight: 900;
    color: rgba(255, 255, 255, 0.06);
    line-height: 1;
}

.cat-step-icon {
    width: 54px;
    height: 54px;
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.35rem;
    color: #ffffff;
    margin-bottom: 1.5rem;
}

.cat-step-title {
    font-size: 1.2rem;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 0.75rem;
}

.cat-step-desc {
    font-size: 0.94rem;
    color: #9da7be;
    line-height: 1.65;
    margin: 0;
}

/* 8. Bangalore Localities Coverage */
.cat-locations-section {
    padding: 4.5rem 0;
    background: #090a0f;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.cat-locations-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.25rem;
}

.cat-location-card {
    background: #141724;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 16px;
    padding: 1.35rem 1.25rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    text-decoration: none;
    transition: var(--transition-smooth);
}

.cat-location-card:hover {
    background: #1a1e2f;
    border-color: rgba(255, 45, 117, 0.4);
    transform: translateY(-2px);
}

.cat-loc-info {
    display: flex;
    align-items: center;
    gap: 12px;
}

.cat-loc-icon {
    width: 38px;
    height: 38px;
    border-radius: 10px;
    background: rgba(255, 45, 117, 0.12);
    color: var(--pink-primary);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    flex-shrink: 0;
}

.cat-loc-name {
    font-weight: 700;
    font-size: 0.96rem;
    color: #ffffff;
    display: block;
    margin-bottom: 2px;
}

.cat-loc-time {
    font-size: 0.74rem;
    color: var(--gold-accent);
    font-weight: 600;
}

.cat-loc-arrow {
    color: #6b7388;
    font-size: 0.85rem;
    transition: var(--transition-smooth);
}

.cat-location-card:hover .cat-loc-arrow {
    color: var(--pink-primary);
    transform: translateX(4px);
}

/* 9. Client Testimonials Grid */
.cat-reviews-section {
    padding: 4.5rem 0;
    background: #0d0f17;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.cat-reviews-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.75rem;
}

.cat-review-card {
    background: #141724;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 20px;
    padding: 2.25rem 2rem;
    display: flex;
    flex-direction: column;
    transition: var(--transition-smooth);
}

.cat-review-card:hover {
    transform: translateY(-4px);
    border-color: rgba(255, 45, 117, 0.35);
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.35);
}

.cat-review-stars {
    display: flex;
    gap: 4px;
    color: var(--gold-accent);
    font-size: 0.95rem;
    margin-bottom: 1.25rem;
}

.cat-review-text {
    font-size: 0.96rem;
    line-height: 1.7;
    color: #cbd5e1;
    margin-bottom: 1.5rem;
    font-style: italic;
    flex-grow: 1;
}

.cat-review-author {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 1.15rem;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.author-info strong {
    color: #ffffff;
    font-size: 0.94rem;
    display: block;
}

.author-info span {
    color: #8892b0;
    font-size: 0.78rem;
}

.review-verified-tag {
    font-size: 0.74rem;
    font-weight: 600;
    color: #25d366;
    display: flex;
    align-items: center;
    gap: 5px;
    background: rgba(37, 211, 102, 0.1);
    padding: 4px 9px;
    border-radius: var(--radius-pill);
}

/* 10. Frequently Asked Questions Accordion */
.cat-faq-section {
    padding: 4.5rem 0;
    background: #090a0f;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.cat-faq-wrapper {
    max-width: 860px;
    margin: 0 auto;
}

.cat-faq-item {
    background: #141724;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 16px;
    margin-bottom: 1rem;
    overflow: hidden;
    transition: var(--transition-smooth);
}

.cat-faq-item.active {
    border-color: rgba(255, 45, 117, 0.38);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.3);
}

.cat-faq-question {
    padding: 1.25rem 1.6rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
    user-select: none;
    gap: 1rem;
}

.cat-faq-question h3 {
    font-size: 1.05rem;
    font-weight: 700;
    color: #ffffff;
    margin: 0;
    line-height: 1.4;
}

.cat-faq-icon {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.06);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ff758c;
    font-size: 0.85rem;
    flex-shrink: 0;
    transition: transform 0.3s ease;
}

.cat-faq-item.active .cat-faq-icon {
    transform: rotate(180deg);
    background: var(--pink-primary);
    color: #ffffff;
}

.cat-faq-answer {
    padding: 0 1.6rem 1.35rem;
    font-size: 0.95rem;
    line-height: 1.7;
    color: #9da7be;
    display: none;
}

.cat-faq-item.active .cat-faq-answer {
    display: block;
}

/* 11. High-Converting VIP CTA Banner */
.cat-cta-section {
    padding: 4.5rem 0 5.5rem;
    background: #090a0f;
}

.cat-cta-banner-card {
    background: linear-gradient(135deg, rgba(255, 45, 117, 0.18) 0%, rgba(20, 24, 38, 0.95) 45%, rgba(245, 176, 65, 0.12) 100%), #141724;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 28px;
    padding: 3.5rem 3rem;
    text-align: center;
    position: relative;
    overflow: hidden;
    box-shadow: 0 25px 60px rgba(0, 0, 0, 0.5);
}

.cat-cta-banner-glow {
    position: absolute;
    top: -50%;
    left: 50%;
    transform: translateX(-50%);
    width: 600px;
    height: 300px;
    background: radial-gradient(circle, rgba(255, 45, 117, 0.25) 0%, transparent 70%);
    filter: blur(80px);
    pointer-events: none;
}

.cat-cta-title {
    font-family: var(--font-heading);
    font-size: clamp(2rem, 3.5vw, 2.75rem);
    font-weight: 800;
    color: #ffffff;
    margin-bottom: 1rem;
    line-height: 1.2;
}

.cat-cta-desc {
    font-size: 1.05rem;
    color: #d1d8e8;
    max-width: 680px;
    margin: 0 auto 2.25rem;
    line-height: 1.65;
}

.cat-cta-buttons {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.25rem;
    flex-wrap: wrap;
    margin-bottom: 2rem;
}

.cat-cta-badges-row {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2rem;
    flex-wrap: wrap;
    padding-top: 1.5rem;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.cat-cta-badge-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.84rem;
    color: #e2e8f0;
    font-weight: 600;
}

.cat-cta-badge-item i {
    color: var(--gold-accent);
}

/* Responsive Styles for Category Design System */
@media (max-width: 1100px) {
    .cat-values-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .cat-profiles-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .cat-services-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .cat-locations-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 991px) {
    .cat-hero-container {
        grid-template-columns: 1fr;
        gap: 3rem;
        text-align: center;
    }

    .cat-hero-meta {
        justify-content: center;
    }

    .cat-hero-lead {
        margin-left: auto;
        margin-right: auto;
    }

    .cat-hero-buttons {
        justify-content: center;
    }

    .cat-micro-trust {
        justify-content: center;
    }

    .cat-hero-media {
        max-width: 520px;
        margin: 0 auto;
    }

    .cat-why-grid {
        grid-template-columns: 1fr;
    }

    .cat-steps-grid {
        grid-template-columns: 1fr;
    }

    .cat-reviews-grid {
        grid-template-columns: 1fr;
        max-width: 560px;
        margin: 0 auto;
    }
}

@media (max-width: 768px) {
    .cat-profiles-grid {
        grid-template-columns: 1fr;
        max-width: 440px;
        margin: 0 auto;
    }

    .cat-services-grid {
        grid-template-columns: 1fr;
    }

    .cat-locations-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .cat-intro-card {
        padding: 2rem 1.5rem;
    }

    .cat-cta-banner-card {
        padding: 2.5rem 1.5rem;
    }
}

@media (max-width: 576px) {
    .cat-hero-section {
        padding: 2.5rem 0 3.5rem;
    }

    .cat-hero-buttons {
        flex-direction: column;
        width: 100%;
    }

    .btn-cat-primary,
    .btn-cat-whatsapp,
    .btn-cat-call {
        width: 100%;
        justify-content: center;
    }

    .cat-values-grid {
        grid-template-columns: 1fr;
    }

    .cat-locations-grid {
        grid-template-columns: 1fr;
    }

    .cat-why-card {
        flex-direction: column;
        padding: 1.5rem;
    }

    .cat-cta-buttons {
        flex-direction: column;
        width: 100%;
    }

    .cat-image-wrapper {
        height: 380px;
    }

    .cat-stats-bar .stat-num {
        font-size: 1.2rem;
    }

    .cat-stats-bar .stat-lbl {
        font-size: 0.65rem;
    }
}

/* ==============================================================================
   CATEGORY PAGES - BEIGE THEME BOOKING & EDITORIAL SHOWCASE
   Luxury warm beige edition inspired by about-values-section
   ============================================================================== */

.cat-meaning-section {
    padding: 4.5rem 0 3.5rem;
    background: #0d0f17;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.cat-meaning-card {
    background: linear-gradient(135deg, rgba(22, 26, 40, 0.75) 0%, rgba(16, 18, 28, 0.85) 100%);
    border: 1px solid rgba(255, 255, 255, 0.09);
    border-radius: 24px;
    padding: 2.75rem 2.5rem;
    box-shadow: 0 20px 45px rgba(0, 0, 0, 0.3);
}

.cat-meaning-p {
    font-size: 1.08rem;
    line-height: 1.8;
    color: #cbd5e1;
    margin: 0;
}

/* Luxury Beige Booking Showcase */
.cat-beige-booking-section {
    position: relative;
    padding: 5rem 0;
    background: linear-gradient(180deg, #faf7f2 0%, #f4ede2 45%, #eee4d4 100%);
    border-top: 1px solid #e7ded2;
    border-bottom: 1px solid #dfd3c3;
    overflow: hidden;
}

.cat-beige-glow {
    position: absolute;
    top: 10%;
    left: 50%;
    transform: translateX(-50%);
    width: 650px;
    height: 380px;
    background: radial-gradient(circle, rgba(230, 205, 170, 0.45) 0%, rgba(245, 230, 210, 0.15) 55%, transparent 75%);
    pointer-events: none;
    filter: blur(50px);
}

.cat-beige-container {
    position: relative;
    z-index: 1;
    max-width: 1140px;
    margin: 0 auto;
}

.cat-beige-header {
    text-align: center;
    max-width: 860px;
    margin: 0 auto 3rem;
}

.cat-beige-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 0.35rem 1.1rem;
    border-radius: 999px;
    background: #ede3d4;
    border: 1px solid #dacab7;
    margin-bottom: 1rem;
    box-shadow: 0 2px 8px rgba(130, 100, 70, 0.08);
    font-size: 0.74rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    color: #7a542b;
    text-transform: uppercase;
}

.cat-beige-badge .badge-sparkle {
    color: #c48b4e;
    font-size: 0.74rem;
}

.cat-beige-title {
    font-family: var(--font-heading);
    font-size: clamp(1.85rem, 3.2vw, 2.5rem);
    font-weight: 800;
    color: #171412;
    margin: 0 0 1.25rem;
    line-height: 1.25;
    letter-spacing: -0.02em;
}

.cat-beige-title .title-rose-gold {
    background: linear-gradient(135deg, #ff2d75 0%, #e0246a 50%, #c48b4e 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.cat-beige-lead {
    font-size: 1.05rem;
    line-height: 1.75;
    color: #4b443c;
    margin: 0 auto;
    max-width: 920px;
}

.cat-beige-pillars {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.75rem;
    margin-bottom: 2.75rem;
}

.cat-beige-pillar-card {
    background: #ffffff;
    border: 1px solid #e7ded2;
    border-radius: 20px;
    padding: 2rem 1.75rem;
    box-shadow: 0 10px 25px rgba(120, 95, 70, 0.06);
    transition: var(--transition-smooth);
}

.cat-beige-pillar-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 35px rgba(120, 95, 70, 0.12);
    border-color: #dacab7;
}

.cat-beige-icon {
    width: 50px;
    height: 50px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.3rem;
    margin-bottom: 1.25rem;
    color: #ffffff;
}

.cat-beige-icon.icon-rose {
    background: linear-gradient(135deg, #ff2d75 0%, #ff5287 100%);
    box-shadow: 0 6px 16px rgba(255, 45, 117, 0.28);
}

.cat-beige-icon.icon-gold {
    background: linear-gradient(135deg, #c48b4e 0%, #dfa566 100%);
    box-shadow: 0 6px 16px rgba(196, 139, 78, 0.28);
}

.cat-beige-icon.icon-green {
    background: linear-gradient(135deg, #25d366 0%, #1ebd5a 100%);
    box-shadow: 0 6px 16px rgba(37, 211, 102, 0.28);
}

.cat-beige-pillar-title {
    font-size: 1.15rem;
    font-weight: 700;
    color: #171412;
    margin-bottom: 0.6rem;
}

.cat-beige-pillar-desc {
    font-size: 0.92rem;
    color: #5d544b;
    line-height: 1.6;
    margin: 0;
}

.cat-beige-cta-row {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.25rem;
    flex-wrap: wrap;
}

.btn-beige-whatsapp {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    background: linear-gradient(135deg, #25d366 0%, #1ebd5a 100%);
    color: #ffffff;
    padding: 0.9rem 1.85rem;
    border-radius: 12px;
    font-weight: 700;
    font-size: 0.98rem;
    text-decoration: none;
    box-shadow: 0 8px 20px rgba(37, 211, 102, 0.35);
    transition: var(--transition-smooth);
}

.btn-beige-whatsapp:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 28px rgba(37, 211, 102, 0.48);
    color: #ffffff;
}

.btn-beige-call {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #171412;
    color: #ffffff;
    padding: 0.9rem 1.75rem;
    border-radius: 12px;
    font-weight: 600;
    font-size: 0.96rem;
    text-decoration: none;
    transition: var(--transition-smooth);
    box-shadow: 0 6px 18px rgba(23, 20, 18, 0.2);
}

.btn-beige-call:hover {
    background: #2b2521;
    transform: translateY(-2px);
    color: #ffffff;
}

@media (max-width: 991px) {
    .cat-beige-pillars {
        grid-template-columns: 1fr;
    }
}

/* ==============================================================================
   CATEGORY PAGES - SCREENSHOT REFERENCE DESIGN SYSTEM
   Faithful replication of User Reference Screenshots (Gallery, Editorial, Flow, Timeline)
   ============================================================================== */

/* 1. Horizontal Gallery Profile Cards (Screenshot 1) */
.gallery-section-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1.5rem;
    margin-bottom: 2.5rem;
    flex-wrap: wrap;
}

.gallery-refresh-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.15);
    color: #ffffff;
    padding: 0.65rem 1.25rem;
    border-radius: var(--radius-pill);
    font-size: 0.86rem;
    font-weight: 600;
    cursor: pointer;
    transition: var(--transition-smooth);
}

.gallery-refresh-btn:hover {
    background: rgba(255, 255, 255, 0.14);
    border-color: rgba(255, 255, 255, 0.3);
    color: #ffffff;
}

.gallery-h-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.75rem;
}

.gallery-h-card {
    background: #141724;
    border-radius: 20px;
    display: flex;
    overflow: hidden;
    position: relative;
    transition: var(--transition-smooth);
    border: 1.5px solid rgba(255, 255, 255, 0.1);
}

.gallery-h-card.border-pink {
    border-color: rgba(255, 45, 117, 0.5);
    box-shadow: 0 10px 30px rgba(255, 45, 117, 0.12);
}
.gallery-h-card.border-cyan {
    border-color: rgba(6, 182, 212, 0.5);
    box-shadow: 0 10px 30px rgba(6, 182, 212, 0.12);
}
.gallery-h-card.border-amber {
    border-color: rgba(245, 176, 65, 0.5);
    box-shadow: 0 10px 30px rgba(245, 176, 65, 0.12);
}
.gallery-h-card.border-green {
    border-color: rgba(37, 211, 102, 0.5);
    box-shadow: 0 10px 30px rgba(37, 211, 102, 0.12);
}

.gallery-h-card:hover {
    transform: translateY(-4px);
}

.gallery-h-media {
    width: 200px;
    min-width: 200px;
    position: relative;
    overflow: hidden;
}

.gallery-h-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.5s ease;
}

.gallery-h-card:hover .gallery-h-img {
    transform: scale(1.06);
}

.gallery-shield-badge {
    position: absolute;
    top: 12px;
    left: 12px;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: rgba(37, 211, 102, 0.9);
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.8rem;
    z-index: 2;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
}

.gallery-brand-badge {
    position: absolute;
    bottom: 12px;
    right: 12px;
    background: rgba(255, 255, 255, 0.9);
    color: #e11d48;
    font-weight: 800;
    font-size: 0.72rem;
    padding: 3px 10px;
    border-radius: var(--radius-pill);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
    z-index: 2;
}

.gallery-h-body {
    padding: 1.35rem 1.45rem;
    flex: 1;
    display: flex;
    flex-direction: column;
}

.gallery-h-name-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 4px;
}

.gallery-h-name {
    font-family: var(--font-heading);
    font-size: 1.25rem;
    font-weight: 700;
    color: #ffffff;
    margin: 0;
}

.gallery-rating-pill {
    background: #f5b041;
    color: #090a0f;
    font-size: 0.76rem;
    font-weight: 800;
    padding: 2px 8px;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    gap: 3px;
}

.gallery-h-tagline {
    font-size: 0.84rem;
    color: #ff758c;
    margin-bottom: 0.75rem;
    font-weight: 500;
}

.gallery-h-meta {
    font-size: 0.8rem;
    color: #9da7be;
    margin-bottom: 0.5rem;
    display: flex;
    align-items: center;
    gap: 6px;
}

.gallery-h-loc {
    font-size: 0.8rem;
    color: #a2aabf;
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 1.25rem;
}

.gallery-h-loc i {
    color: var(--pink-primary);
}

.gallery-h-actions {
    display: flex;
    gap: 8px;
    margin-top: auto;
}

.btn-h-call {
    flex: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 0.65rem 0.6rem;
    background: linear-gradient(135deg, #e11d48 0%, #ff2d75 100%);
    border-radius: 10px;
    color: #ffffff;
    font-size: 0.84rem;
    font-weight: 700;
    text-decoration: none;
    box-shadow: 0 4px 12px rgba(225, 29, 72, 0.3);
    transition: var(--transition-smooth);
}

.btn-h-call:hover {
    box-shadow: 0 6px 16px rgba(225, 29, 72, 0.45);
    color: #ffffff;
}

.btn-h-whatsapp {
    flex: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 0.65rem 0.6rem;
    background: linear-gradient(135deg, #25d366 0%, #1ebd5a 100%);
    border-radius: 10px;
    color: #ffffff;
    font-size: 0.84rem;
    font-weight: 700;
    text-decoration: none;
    box-shadow: 0 4px 12px rgba(37, 211, 102, 0.3);
    transition: var(--transition-smooth);
}

.btn-h-whatsapp:hover {
    box-shadow: 0 6px 16px rgba(37, 211, 102, 0.45);
    color: #ffffff;
}

/* 2. Editorial Split Showcase Card (Screenshot 2) */
.ref-editorial-card {
    background: #0f121d;
    border: 1px solid rgba(245, 176, 65, 0.25);
    border-radius: 28px;
    overflow: hidden;
    display: grid;
    grid-template-columns: 0.95fr 1.05fr;
    box-shadow: 0 25px 60px rgba(0, 0, 0, 0.55);
}

.ref-editorial-media {
    position: relative;
    min-height: 480px;
    overflow: hidden;
}

.ref-editorial-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.ref-editorial-caption {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 2rem 1.85rem 1.5rem;
    background: linear-gradient(180deg, transparent 0%, rgba(9, 10, 15, 0.95) 100%);
}

.caption-label {
    font-size: 0.72rem;
    font-weight: 800;
    color: var(--gold-accent);
    letter-spacing: 1.2px;
    text-transform: uppercase;
    margin-bottom: 4px;
    display: block;
}

.caption-text {
    font-size: 0.84rem;
    color: #cbd5e1;
    line-height: 1.55;
    margin: 0;
}

.ref-editorial-content {
    padding: 3rem 2.75rem;
    display: flex;
    flex-direction: column;
}

.ref-editorial-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 5px 14px;
    border-radius: var(--radius-pill);
    background: rgba(245, 176, 65, 0.12);
    border: 1px solid rgba(245, 176, 65, 0.35);
    color: var(--gold-accent);
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    margin-bottom: 1.25rem;
    width: fit-content;
}

.ref-editorial-title {
    font-family: var(--font-heading);
    font-size: clamp(1.75rem, 3vw, 2.35rem);
    font-weight: 800;
    color: #ffffff;
    line-height: 1.25;
    margin-bottom: 1.25rem;
}

.ref-editorial-p {
    font-size: 1rem;
    line-height: 1.75;
    color: #a2aabf;
    margin-bottom: 1.75rem;
}

.ref-editorial-boxes {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.25rem;
    margin-top: auto;
}

.ref-sub-box {
    background: #141724;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 16px;
    padding: 1.25rem 1.35rem;
}

.ref-sub-box-title {
    font-size: 0.92rem;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 0.65rem;
}

.ref-sub-box ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.ref-sub-box li {
    font-size: 0.82rem;
    color: #9da7be;
    line-height: 1.5;
    margin-bottom: 0.45rem;
    position: relative;
    padding-left: 14px;
}

.ref-sub-box li::before {
    content: '•';
    position: absolute;
    left: 0;
    color: var(--gold-accent);
}

.ref-sub-box p {
    font-size: 0.82rem;
    color: #9da7be;
    line-height: 1.55;
    margin: 0;
}

/* 3. Flow & Logistics Card (Screenshot 3) */
.ref-flow-card {
    background: #0f121d;
    border: 1px solid rgba(255, 255, 255, 0.09);
    border-top: 3px solid #f5b041;
    border-radius: 28px;
    padding: 3rem 2.75rem;
    display: grid;
    grid-template-columns: 1.15fr 0.85fr;
    gap: 3rem;
    box-shadow: 0 25px 60px rgba(0, 0, 0, 0.55);
}

.ref-flow-left h3 {
    font-family: var(--font-heading);
    font-size: clamp(1.8rem, 3vw, 2.3rem);
    font-weight: 800;
    color: #ffffff;
    margin-bottom: 1rem;
    line-height: 1.25;
}

.ref-flow-lead {
    font-size: 0.98rem;
    color: #a2aabf;
    line-height: 1.7;
    margin-bottom: 2rem;
}

.ref-flow-milestones {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.ref-flow-step {
    display: flex;
    gap: 14px;
    align-items: flex-start;
}

.step-num-circle {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    border: 1.5px solid #f5b041;
    color: #f5b041;
    font-size: 0.82rem;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    margin-top: 2px;
}

.step-content h4 {
    font-size: 1.05rem;
    font-weight: 700;
    color: #f5b041;
    margin-bottom: 4px;
}

.step-content p {
    font-size: 0.9rem;
    color: #cbd5e1;
    line-height: 1.6;
    margin: 0;
}

.ref-flow-right-label {
    font-size: 0.74rem;
    font-weight: 800;
    color: var(--gold-accent);
    letter-spacing: 1.4px;
    text-transform: uppercase;
    margin-bottom: 1.25rem;
    display: block;
}

.ref-side-card {
    background: #141724;
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: 16px;
    padding: 1.35rem 1.45rem;
    margin-bottom: 1.15rem;
    transition: var(--transition-smooth);
}

.ref-side-card:hover {
    border-color: rgba(245, 176, 65, 0.4);
    transform: translateY(-2px);
}

.ref-side-card h4 {
    font-size: 1.05rem;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 0.45rem;
}

.ref-side-card p {
    font-size: 0.88rem;
    color: #9da7be;
    line-height: 1.6;
    margin: 0;
}

/* 4. VIP Bottom Banner (Screenshot 4) */
.ref-cta-card {
    background: #0f121d;
    border: 1px solid rgba(255, 255, 255, 0.09);
    border-radius: 28px;
    padding: 3rem 2.75rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2.5rem;
    flex-wrap: wrap;
    box-shadow: 0 25px 60px rgba(0, 0, 0, 0.55);
}

.ref-cta-left {
    flex: 1 1 500px;
}

.ref-cta-sub {
    font-size: 0.74rem;
    font-weight: 800;
    color: var(--gold-accent);
    letter-spacing: 1.2px;
    text-transform: uppercase;
    margin-bottom: 0.75rem;
    display: block;
}

.ref-cta-title {
    font-family: var(--font-heading);
    font-size: clamp(1.8rem, 3vw, 2.35rem);
    font-weight: 800;
    color: #ffffff;
    line-height: 1.25;
    margin-bottom: 1rem;
}

.ref-cta-desc {
    font-size: 0.98rem;
    color: #a2aabf;
    line-height: 1.7;
    margin-bottom: 1.25rem;
}

.ref-cta-note {
    font-size: 0.9rem;
    color: #cbd5e1;
    line-height: 1.6;
    margin: 0;
}

.ref-cta-right {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    min-width: 320px;
}

.ref-cta-pills-row {
    display: flex;
    gap: 10px;
}

.ref-mini-step-box {
    background: #141724;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 12px;
    padding: 10px 12px;
    font-size: 0.76rem;
    color: #cbd5e1;
    flex: 1;
    text-align: center;
    line-height: 1.4;
}

.ref-mini-num {
    color: #f5b041;
    font-weight: 800;
    display: block;
    margin-bottom: 2px;
}

.ref-gold-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background: #f5b041;
    color: #090a0f;
    font-weight: 800;
    font-size: 1rem;
    padding: 0.95rem 1.75rem;
    border-radius: 14px;
    text-decoration: none;
    box-shadow: 0 8px 25px rgba(245, 176, 65, 0.4);
    transition: var(--transition-smooth);
}

.ref-gold-btn:hover {
    background: #e5a031;
    transform: translateY(-2px);
    color: #090a0f;
}

.ref-dark-outline-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.18);
    color: #ffffff;
    font-weight: 700;
    font-size: 0.92rem;
    padding: 0.85rem 1.5rem;
    border-radius: 14px;
    text-decoration: none;
    transition: var(--transition-smooth);
}

.ref-dark-outline-btn:hover {
    background: rgba(255, 255, 255, 0.12);
    border-color: rgba(255, 255, 255, 0.35);
    color: #ffffff;
}

/* 5. Signals, Fit/Not Fit & Timeline (Screenshot 5) */
.ref-signals-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.25rem;
    margin-bottom: 3.5rem;
}

.ref-signal-card {
    background: #141724;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 16px;
    padding: 1.35rem 1.6rem;
    display: flex;
    align-items: flex-start;
    gap: 14px;
    transition: var(--transition-smooth);
}

.ref-signal-card:hover {
    border-color: rgba(245, 176, 65, 0.35);
    transform: translateY(-2px);
}

.ref-signal-card .num-amber {
    width: 26px;
    height: 26px;
    border-radius: 50%;
    border: 1.5px solid #f5b041;
    color: #f5b041;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.78rem;
    font-weight: 800;
    flex-shrink: 0;
    margin-top: 2px;
}

.ref-signal-card p {
    font-size: 0.94rem;
    color: #cbd5e1;
    line-height: 1.6;
    margin: 0;
}

.ref-fit-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.75rem;
    margin-bottom: 3.5rem;
}

.ref-fit-card {
    border-radius: 22px;
    padding: 2.5rem 2.25rem;
    display: flex;
    flex-direction: column;
}

.ref-fit-card.fit-good {
    background: linear-gradient(135deg, rgba(37, 211, 102, 0.08) 0%, #121622 100%);
    border: 1.5px solid rgba(37, 211, 102, 0.35);
}

.ref-fit-card.fit-bad {
    background: linear-gradient(135deg, rgba(225, 29, 72, 0.08) 0%, #121622 100%);
    border: 1.5px solid rgba(225, 29, 72, 0.35);
}

.ref-fit-card h3 {
    font-size: 1.25rem;
    font-weight: 800;
    margin-bottom: 1.15rem;
    line-height: 1.35;
}

.ref-fit-card.fit-good h3 {
    color: #25d366;
}

.ref-fit-card.fit-bad h3 {
    color: #ff5287;
}

.ref-fit-card p {
    font-size: 0.94rem;
    color: #cbd5e1;
    line-height: 1.65;
    margin-bottom: 1.25rem;
}

.ref-fit-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.ref-fit-list li {
    font-size: 0.95rem;
    line-height: 1.55;
    position: relative;
    padding-left: 20px;
}

.ref-fit-card.fit-good .ref-fit-list li {
    color: #e2e8f0;
}
.ref-fit-card.fit-good .ref-fit-list li::before {
    content: '●';
    position: absolute;
    left: 0;
    color: #25d366;
}

.ref-fit-card.fit-bad .ref-fit-list li {
    color: #e2e8f0;
}
.ref-fit-card.fit-bad .ref-fit-list li::before {
    content: '●';
    position: absolute;
    left: 0;
    color: #ff5287;
}

.ref-timeline-card {
    background: #0f121d;
    border: 1px solid rgba(255, 255, 255, 0.09);
    border-top: 3px solid #f5b041;
    border-radius: 24px;
    padding: 2.75rem 2.5rem;
}

.ref-timeline-title {
    font-family: var(--font-heading);
    font-size: 1.35rem;
    font-weight: 800;
    color: #ffffff;
    margin-bottom: 2rem;
}

.ref-timeline-steps {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 1.25rem;
}

.ref-timeline-step-col {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.ref-step-circle-num {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    border: 1.5px solid #f5b041;
    color: #f5b041;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.82rem;
    font-weight: 800;
}

.ref-timeline-step-col p {
    font-size: 0.86rem;
    color: #cbd5e1;
    line-height: 1.6;
    margin: 0;
}

/* 6. Pricing @15K and Category Breakdown Styles */
.cat-price-banner {
    background: linear-gradient(135deg, rgba(245, 176, 65, 0.15) 0%, #141724 50%, rgba(255, 45, 117, 0.12) 100%);
    border: 1.5px solid rgba(245, 176, 65, 0.35);
    border-radius: 24px;
    padding: 2.75rem 2.5rem;
    margin-bottom: 3.5rem;
    box-shadow: 0 20px 45px rgba(0, 0, 0, 0.35);
}

.cat-subcat-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.75rem;
    margin-top: 2.5rem;
}

.cat-subcat-card {
    background: #141724;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 22px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: var(--transition-smooth);
}

.cat-subcat-card:hover {
    transform: translateY(-4px);
    border-color: rgba(255, 45, 117, 0.4);
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.4);
}

.cat-subcat-media {
    position: relative;
    height: 240px;
    overflow: hidden;
}

.cat-subcat-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.5s ease;
}

.cat-subcat-card:hover .cat-subcat-img {
    transform: scale(1.06);
}

.cat-subcat-body {
    padding: 1.75rem 1.6rem;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.cat-subcat-title {
    font-size: 1.25rem;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 0.85rem;
}

.cat-subcat-p {
    font-size: 0.94rem;
    color: #9da7be;
    line-height: 1.65;
    margin-bottom: 1.5rem;
    flex-grow: 1;
}

@media (max-width: 991px) {
    .gallery-h-grid {
        grid-template-columns: 1fr;
    }
    .ref-editorial-card {
        grid-template-columns: 1fr;
    }
    .ref-editorial-media {
        min-height: 380px;
    }
    .ref-flow-card {
        grid-template-columns: 1fr;
    }
    .ref-signals-grid {
        grid-template-columns: 1fr;
    }
    .ref-fit-grid {
        grid-template-columns: 1fr;
    }
    .ref-timeline-steps {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
    .cat-subcat-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 600px) {
    .gallery-h-card {
        flex-direction: column;
    }
    .gallery-h-media {
        width: 100%;
        height: 260px;
    }
    .ref-editorial-boxes {
        grid-template-columns: 1fr;
    }
    .ref-cta-pills-row {
        flex-direction: column;
    }
}

/* ==============================================================================
   LOCATION EDITORIAL REFERENCE STYLES (Light Beige & Dark Split Cards)
   Replicating User Reference Screenshots 1 to 5
   ============================================================================== */

/* Light Beige Section Container */
.ref-beige-section {
    padding: 4.5rem 0;
    background-color: #faf6f0;
    color: #1a1a1a;
    border-bottom: 1px solid #e5ded2;
}

.ref-beige-header {
    margin-bottom: 2.5rem;
}

.ref-beige-tag {
    font-family: var(--font-heading);
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.25em;
    color: #555555;
    text-transform: uppercase;
    margin-bottom: 0.5rem;
    display: block;
}

.ref-beige-title {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: clamp(2rem, 3.5vw, 2.8rem);
    font-weight: 700;
    color: #111111;
    margin: 0 0 0.5rem;
    line-height: 1.2;
}

.ref-beige-subtitle {
    font-size: 1.05rem;
    color: #666666;
    margin: 0;
}

/* Reference Screenshot 1: Editorial 2-Column Split (Left Beige Box + Right Image) */
.ref-editorial-split-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
    align-items: center;
}

.ref-beige-border-box {
    background: #f7f3eb;
    border: 2px solid #1a1a1a;
    padding: 2.25rem 2rem;
    box-shadow: 6px 6px 0px rgba(0, 0, 0, 0.08);
}

.ref-beige-border-box p {
    font-family: 'Georgia', serif;
    font-size: 1.05rem;
    line-height: 1.8;
    color: #2b2b2b;
    margin: 0;
}

.ref-beige-border-box p strong {
    color: #000000;
    font-weight: 700;
}

.ref-border-image-card {
    position: relative;
    border: 3px solid #1a1a1a;
    overflow: hidden;
    background: #000;
    box-shadow: 6px 6px 0px rgba(0, 0, 0, 0.12);
}

.ref-border-image-card img {
    width: 100%;
    height: 380px;
    object-fit: cover;
    display: block;
}

.ref-image-caption-tag {
    position: absolute;
    bottom: 12px;
    left: 12px;
    font-family: var(--font-heading);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.2em;
    color: #ffffff;
    background: rgba(0, 0, 0, 0.75);
    padding: 4px 10px;
    text-transform: uppercase;
}

/* Reference Screenshot 2: Checked Card (Left Image + Right Box with Red Accent) */
.ref-checked-grid {
    display: grid;
    grid-template-columns: 0.95fr 1.05fr;
    gap: 2rem;
    align-items: center;
}

.ref-accent-box {
    background: #f8f4ed;
    border: 2px solid #1a1a1a;
    border-left: 5px solid #ff2d75;
    padding: 2.25rem 2rem;
    box-shadow: 6px 6px 0px rgba(0, 0, 0, 0.08);
}

.ref-accent-box p {
    font-family: 'Georgia', serif;
    font-size: 1.05rem;
    line-height: 1.8;
    color: #2b2b2b;
    margin: 0;
}

.ref-accent-box p strong {
    color: #000000;
    font-weight: 700;
}

/* Reference Screenshot 3: Night Out Card (Left Dark Box + Right Image) */
.ref-dark-box {
    background: #1f1418;
    border: 2px solid #111111;
    padding: 2.25rem 2rem;
    box-shadow: 6px 6px 0px rgba(0, 0, 0, 0.15);
}

.ref-dark-box p {
    font-family: 'Georgia', serif;
    font-size: 1.05rem;
    line-height: 1.8;
    color: #e2d7dc;
    margin: 0;
}

.ref-dark-box p strong {
    color: #ffffff;
    font-weight: 700;
}

/* Reference Screenshot 4: Full-Width Dark Split Row */
.ref-dark-section {
    padding: 4.5rem 0;
    background-color: #111115;
    color: #ffffff;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.ref-dark-split-grid {
    display: grid;
    grid-template-columns: 1fr 1.1fr;
    gap: 2.5rem;
    align-items: center;
}

.ref-dark-content p {
    font-family: 'Georgia', serif;
    font-size: 1.08rem;
    line-height: 1.85;
    color: #c9cdd8;
    margin: 0;
}

.ref-dark-content p strong {
    color: #ffffff;
    font-weight: 700;
}

/* Reference Screenshot 5: Burgundy Velvet Collection Section */
.ref-burgundy-section {
    padding: 5rem 0;
    background: linear-gradient(135deg, #181017 0%, #120b11 100%);
    color: #ffffff;
    border-bottom: 1px solid rgba(255, 45, 117, 0.15);
}

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

.ref-burgundy-title {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: clamp(2rem, 3.8vw, 3rem);
    font-weight: 700;
    color: #ffffff;
    margin: 0 0 1.5rem;
    line-height: 1.2;
}

.ref-burgundy-content p {
    font-size: 1.05rem;
    line-height: 1.8;
    color: #d1c8d2;
    margin-bottom: 1.25rem;
}

.ref-burgundy-content p strong {
    color: #ff5e97;
    font-weight: 700;
}

/* Responsive adjustments */
@media (max-width: 991px) {
    .ref-editorial-split-grid,
    .ref-checked-grid,
    .ref-dark-split-grid,
    .ref-burgundy-grid {
        grid-template-columns: 1fr;
        gap: 1.75rem;
    }
    .ref-border-image-card img {
        height: 300px;
    }
}

/* ==============================================================================
   AIR HOSTESS DEDICATED STYLES: BEIGE & BLACK MIX WITH STYLISH COMPACT CARDS
   ============================================================================== */

/* Beige & Black Mixed Atmosphere Section */
.air-beige-black-section {
    position: relative;
    padding: 5rem 0;
    background: radial-gradient(circle at 10% 20%, rgba(245, 237, 226, 0.07) 0%, transparent 45%),
                radial-gradient(circle at 90% 80%, rgba(212, 175, 55, 0.08) 0%, transparent 50%),
                #090a0f;
    border-bottom: 1px solid rgba(245, 237, 226, 0.1);
    overflow: hidden;
}

.air-beige-card-hero {
    background: linear-gradient(135deg, rgba(245, 237, 226, 0.06) 0%, #10131e 60%, rgba(212, 175, 55, 0.05) 100%);
    border: 1.5px solid rgba(212, 175, 55, 0.3);
    border-radius: 24px;
    padding: 2.75rem 2.5rem;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.5);
    margin-bottom: 3.5rem;
    position: relative;
}

.air-beige-card-hero::before {
    content: '';
    position: absolute;
    top: 0;
    left: 40px;
    right: 40px;
    height: 2px;
    background: linear-gradient(90deg, transparent, #f5ede2, #f5b041, transparent);
}

/* Small Div Stylish Cards Grid */
.air-sm-cards-grid-3 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.35rem;
    margin-top: 2rem;
}

.air-sm-cards-grid-2 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.35rem;
    margin-top: 2rem;
}

.air-sm-cards-grid-4 {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.15rem;
    margin-top: 2rem;
}

/* Compact Stylish Div Card */
.air-sm-card {
    background: #121522;
    border: 1px solid rgba(245, 237, 226, 0.12);
    border-radius: 18px;
    padding: 1.6rem 1.45rem;
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), 
                box-shadow 0.35s cubic-bezier(0.16, 1, 0.3, 1),
                border-color 0.35s ease;
}

.air-sm-card:hover {
    transform: translateY(-5px);
    border-color: rgba(245, 176, 65, 0.5);
    box-shadow: 0 14px 35px rgba(0, 0, 0, 0.45), 0 0 15px rgba(245, 176, 65, 0.1);
}

.air-sm-card-beige {
    background: linear-gradient(145deg, #161928 0%, #10121d 100%);
    border: 1px solid rgba(245, 237, 226, 0.18);
    border-left: 4px solid #f5ede2;
}

.air-sm-card-beige:hover {
    border-color: rgba(245, 237, 226, 0.45);
    border-left-color: #f5b041;
}

.air-sm-card-gold {
    background: linear-gradient(145deg, #161928 0%, #10121d 100%);
    border: 1px solid rgba(245, 176, 65, 0.2);
    border-left: 4px solid #f5b041;
}

.air-sm-card-gold:hover {
    border-color: rgba(245, 176, 65, 0.55);
    border-left-color: #ffd700;
}

.air-sm-card-pink {
    background: linear-gradient(145deg, #161928 0%, #10121d 100%);
    border: 1px solid rgba(255, 45, 117, 0.2);
    border-left: 4px solid #ff2d75;
}

.air-sm-card-pink:hover {
    border-color: rgba(255, 45, 117, 0.55);
    border-left-color: #ff5287;
}

/* Card Header with Icon & Index */
.air-sm-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 0.9rem;
}

.air-sm-icon-wrap {
    width: 38px;
    height: 38px;
    border-radius: 10px;
    background: rgba(245, 237, 226, 0.08);
    border: 1px solid rgba(245, 237, 226, 0.15);
    color: #f5ede2;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    transition: transform 0.3s ease;
}

.air-sm-card:hover .air-sm-icon-wrap {
    transform: scale(1.1);
    color: #f5b041;
    border-color: rgba(245, 176, 65, 0.4);
}

.air-sm-step-pill {
    font-size: 0.7rem;
    font-weight: 800;
    color: #f5b041;
    background: rgba(245, 176, 65, 0.12);
    padding: 3px 9px;
    border-radius: 12px;
    border: 1px solid rgba(245, 176, 65, 0.25);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.air-sm-card-title {
    font-family: var(--font-heading);
    font-size: 1.08rem;
    font-weight: 700;
    color: #ffffff;
    line-height: 1.35;
    margin: 0 0 0.6rem;
}

.air-sm-card-desc {
    font-size: 0.88rem;
    line-height: 1.62;
    color: #9da7be;
    margin: 0;
    flex-grow: 1;
}

.air-sm-card-desc strong {
    color: #e2e8f0;
}

/* Beige Theme Booking Card (Screenshot Symmetry) */
.air-beige-booking-card {
    background: linear-gradient(135deg, rgba(245, 237, 226, 0.09) 0%, rgba(20, 23, 36, 0.95) 100%);
    border: 1.5px solid rgba(245, 237, 226, 0.3);
    border-radius: 24px;
    padding: 2.75rem 2.5rem;
    margin-top: 2.5rem;
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.4);
    position: relative;
    overflow: hidden;
}

.air-beige-booking-card::before {
    content: '';
    position: absolute;
    top: -50px;
    right: -50px;
    width: 150px;
    height: 150px;
    background: radial-gradient(circle, rgba(245, 237, 226, 0.15) 0%, transparent 70%);
    pointer-events: none;
}

.air-beige-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 5px 14px;
    border-radius: var(--radius-pill);
    background: rgba(245, 237, 226, 0.1);
    border: 1px solid rgba(245, 237, 226, 0.28);
    color: #f5ede2;
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    margin-bottom: 1.15rem;
}

.air-beige-title {
    font-family: var(--font-heading);
    font-size: clamp(1.6rem, 2.7vw, 2.15rem);
    font-weight: 800;
    color: #ffffff;
    margin: 0 0 1rem;
    line-height: 1.25;
}

.air-beige-p {
    font-size: 0.98rem;
    line-height: 1.72;
    color: #cbd5e1;
    margin-bottom: 1.75rem;
}

/* Micro animation classes */
.air-anim-float {
    animation: airFloat 4s ease-in-out infinite;
}

@keyframes airFloat {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-6px); }
}

.air-anim-pulse {
    animation: airPulse 2.5s infinite ease-in-out;
}

@keyframes airPulse {
    0%, 100% { box-shadow: 0 0 0 0 rgba(245, 176, 65, 0.4); }
    50% { box-shadow: 0 0 0 12px rgba(245, 176, 65, 0); }
}

/* Responsive queries for small cards */
@media (max-width: 1024px) {
    .air-sm-cards-grid-3,
    .air-sm-cards-grid-4 {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 640px) {
    .air-sm-cards-grid-3,
    .air-sm-cards-grid-2,
    .air-sm-cards-grid-4 {
        grid-template-columns: 1fr;
    }
    .air-beige-card-hero,
    .air-beige-booking-card {
        padding: 1.85rem 1.4rem;
    }
}

/* ==============================================================================
   OTHER CATEGORIES SHOWCASE COMPONENT
   ============================================================================== */
.cat-other-categories-section {
    position: relative;
    padding: 5rem 0;
    background: radial-gradient(circle at 15% 30%, rgba(225, 29, 72, 0.05) 0%, transparent 45%),
                radial-gradient(circle at 85% 70%, rgba(212, 175, 55, 0.06) 0%, transparent 45%),
                #0b0d14;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.cat-other-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.85rem;
    margin-top: 2.75rem;
}

.cat-other-card {
    background: #131624;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 20px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1),
                box-shadow 0.35s cubic-bezier(0.16, 1, 0.3, 1),
                border-color 0.35s ease;
}

.cat-other-card:hover {
    transform: translateY(-6px);
    border-color: rgba(245, 176, 65, 0.45);
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.5), 0 0 15px rgba(245, 176, 65, 0.12);
}

.cat-other-media-link {
    position: relative;
    display: block;
    height: 230px;
    overflow: hidden;
}

.cat-other-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.6s ease;
}

.cat-other-card:hover .cat-other-img {
    transform: scale(1.08);
}

.cat-other-badge {
    position: absolute;
    top: 12px;
    left: 12px;
    background: rgba(10, 12, 18, 0.85);
    border: 1px solid rgba(245, 176, 65, 0.5);
    color: #f5b041;
    font-size: 0.72rem;
    font-weight: 800;
    padding: 3px 10px;
    border-radius: 12px;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    backdrop-filter: blur(8px);
    z-index: 2;
}

.cat-other-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 70px;
    background: linear-gradient(180deg, transparent 0%, rgba(19, 22, 36, 0.95) 100%);
    z-index: 1;
}

.cat-other-body {
    padding: 1.5rem 1.6rem;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.cat-other-title {
    font-family: var(--font-heading);
    font-size: 1.25rem;
    font-weight: 700;
    margin: 0 0 0.4rem;
}

.cat-other-title a {
    color: #ffffff;
    text-decoration: none;
    transition: color 0.25s ease;
}

.cat-other-card:hover .cat-other-title a {
    color: #ff5287;
}

.cat-other-tagline {
    font-size: 0.82rem;
    color: #f5b041;
    font-weight: 600;
    margin-bottom: 0.75rem;
}

.cat-other-desc {
    font-size: 0.88rem;
    line-height: 1.62;
    color: #9da7be;
    margin-bottom: 1.5rem;
    flex-grow: 1;
}

.cat-other-footer {
    margin-top: auto;
}

.btn-cat-other-explore {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 0.75rem 1.15rem;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.12);
    color: #ffffff;
    font-size: 0.86rem;
    font-weight: 700;
    text-decoration: none;
    transition: all 0.3s ease;
}

.btn-cat-other-explore i {
    font-size: 0.8rem;
    color: #f5b041;
    transition: transform 0.25s ease;
}

.btn-cat-other-explore:hover {
    background: linear-gradient(135deg, rgba(225, 29, 72, 0.2) 0%, rgba(255, 45, 117, 0.25) 100%);
    border-color: rgba(255, 45, 117, 0.5);
    color: #ffffff;
}

.btn-cat-other-explore:hover i {
    transform: translateX(4px);
    color: #ff2d75;
}

@media (max-width: 1024px) {
    .cat-other-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 1.5rem;
    }
}

@media (max-width: 640px) {
    .cat-other-grid {
        grid-template-columns: 1fr;
        gap: 1.25rem;
    }
}

/* ==============================================================================
   CATEGORY LANDING PAGES & HOUSEWIFE PAGE COMPREHENSIVE RESPONSIVE FIXES
   ============================================================================== */
@media (max-width: 992px) {
    .ref-editorial-card {
        grid-template-columns: 1fr !important;
    }
    .ref-editorial-media {
        min-height: 320px !important;
    }
    .ref-flow-card {
        grid-template-columns: 1fr !important;
        gap: 2rem !important;
        padding: 2rem 1.5rem !important;
    }
    .ref-timeline-steps {
        grid-template-columns: 1fr !important;
        gap: 1.25rem !important;
    }
}

@media (max-width: 768px) {
    .ref-editorial-content {
        padding: 1.75rem 1.25rem !important;
    }
    .ref-editorial-boxes {
        grid-template-columns: 1fr !important;
        gap: 1rem !important;
    }

    /* VIP Bottom Banner CTA Card (Fixed Overflow) */
    .ref-cta-card {
        padding: 1.75rem 1.25rem !important;
        border-radius: 20px !important;
        gap: 1.5rem !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
    }

    .ref-cta-left {
        flex: 1 1 100% !important;
        min-width: 0 !important;
        width: 100% !important;
    }

    .ref-cta-right {
        min-width: 0 !important;
        width: 100% !important;
        flex: 1 1 100% !important;
    }

    .ref-cta-pills-row {
        flex-direction: column !important;
        gap: 8px !important;
        width: 100% !important;
    }

    .ref-mini-step-box {
        width: 100% !important;
        box-sizing: border-box !important;
        text-align: left !important;
        padding: 10px 14px !important;
        display: flex !important;
        align-items: center !important;
        gap: 10px !important;
    }

    .ref-mini-num {
        display: inline-block !important;
        margin-bottom: 0 !important;
    }

    .ref-gold-btn, .ref-dark-outline-btn {
        width: 100% !important;
        box-sizing: border-box !important;
        font-size: 0.9rem !important;
        padding: 0.85rem 1rem !important;
        word-break: break-word !important;
    }

    /* Fit & Not Fit Grid */
    .ref-fit-grid {
        grid-template-columns: 1fr !important;
        gap: 1.25rem !important;
    }
    .ref-fit-card {
        padding: 1.5rem 1.25rem !important;
    }

    /* Signals Grid */
    .ref-signals-grid {
        grid-template-columns: 1fr !important;
        gap: 1rem !important;
    }

    /* Horizontal Profile Cards (Gallery Grid) */
    .gallery-h-card {
        flex-direction: column !important;
    }
    .gallery-h-media {
        width: 100% !important;
        min-width: 100% !important;
        height: 240px !important;
    }
    .gallery-h-body {
        padding: 1.15rem 1.25rem !important;
    }

    /* Timeline Box */
    .ref-timeline-card {
        padding: 1.75rem 1.25rem !important;
        border-radius: 20px !important;
    }
}

@media (max-width: 576px) {
    .ref-cta-title {
        font-size: 1.4rem !important;
    }
    .ref-flow-left h3, .ref-editorial-title {
        font-size: 1.4rem !important;
    }
    .ref-gold-btn {
        font-size: 0.85rem !important;
    }
}

/* ==============================================================================
   CUSTOMIZED EXPERIENCES SECTION (Whitefield & Category Pages)
   ============================================================================== */
.customized-experience-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
    margin-bottom: 3.5rem;
}

.custom-exp-card {
    background: #0f121d;
    border-radius: 24px;
    padding: 2.5rem 2.25rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    transition: var(--transition-smooth);
    box-shadow: 0 15px 45px rgba(0, 0, 0, 0.5);
    position: relative;
    overflow: hidden;
}

.custom-exp-card.border-gold {
    border: 1.5px solid rgba(245, 176, 65, 0.35);
}
.custom-exp-card.border-pink {
    border: 1.5px solid rgba(255, 45, 117, 0.35);
}

.custom-exp-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.7);
}

.custom-exp-card.border-gold:hover {
    border-color: rgba(245, 176, 65, 0.75);
}
.custom-exp-card.border-pink:hover {
    border-color: rgba(255, 45, 117, 0.75);
}

.custom-exp-header {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 1.25rem;
}

.custom-exp-icon {
    width: 48px;
    height: 48px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
    flex-shrink: 0;
}

.custom-exp-icon.icon-gold {
    background: rgba(245, 176, 65, 0.15);
    color: #f5b041;
    border: 1px solid rgba(245, 176, 65, 0.35);
    box-shadow: 0 0 15px rgba(245, 176, 65, 0.2);
}

.custom-exp-icon.icon-pink {
    background: rgba(255, 45, 117, 0.15);
    color: #ff758c;
    border: 1px solid rgba(255, 45, 117, 0.35);
    box-shadow: 0 0 15px rgba(255, 45, 117, 0.2);
}

.custom-exp-tag {
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 1px;
    text-transform: uppercase;
    display: block;
    margin-bottom: 2px;
}
.custom-exp-tag.tag-gold { color: #f5b041; }
.custom-exp-tag.tag-pink { color: #ff758c; }

.custom-exp-title {
    font-family: var(--font-heading);
    font-size: 1.35rem;
    font-weight: 800;
    line-height: 1.3;
    margin: 0;
    color: #ffffff;
}

.custom-exp-text {
    font-size: 0.95rem;
    line-height: 1.7;
    color: #a2aabf;
    margin-bottom: 2rem;
}

.btn-custom-exp {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    padding: 0.9rem 1.25rem;
    border-radius: 14px;
    font-weight: 800;
    font-size: 0.92rem;
    text-decoration: none;
    transition: var(--transition-smooth);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.3);
}

.btn-custom-exp.btn-gold {
    background: linear-gradient(135deg, #25d366 0%, #1ebd5a 100%);
    color: #ffffff;
    box-shadow: 0 6px 20px rgba(37, 211, 102, 0.3);
}
.btn-custom-exp.btn-gold:hover {
    box-shadow: 0 8px 25px rgba(37, 211, 102, 0.5);
    color: #ffffff;
}

.btn-custom-exp.btn-pink {
    background: linear-gradient(135deg, #ff2d75 0%, #e11d48 100%);
    color: #ffffff;
    box-shadow: 0 6px 20px rgba(255, 45, 117, 0.35);
}
.btn-custom-exp.btn-pink:hover {
    box-shadow: 0 8px 25px rgba(255, 45, 117, 0.55);
    color: #ffffff;
}

@media (max-width: 768px) {
    .customized-experience-grid {
        grid-template-columns: 1fr !important;
        gap: 1.5rem !important;
    }
    .custom-exp-card {
        padding: 1.75rem 1.35rem !important;
        border-radius: 20px !important;
    }
    .custom-exp-title {
        font-size: 1.2rem !important;
    }
    .custom-exp-text {
        font-size: 0.9rem !important;
        margin-bottom: 1.5rem !important;
    }
}

/* ==============================================================================
   FLOATING DUAL STACK PILL CTAs (Reference Design - Red & Golden Yellow Banners)
   ============================================================================== */
.floating-cta-stack {
    position: fixed;
    right: 20px;
    bottom: 30px;
    z-index: 9995;
    display: flex;
    flex-direction: column;
    gap: 12px;
    align-items: flex-end;
}

.floating-pill-btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    padding: 8px 48px 8px 20px;
    border-radius: 26px;
    text-decoration: none;
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.45);
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    cursor: pointer;
    white-space: nowrap;
}

.floating-pill-btn:hover {
    transform: translateY(-3px) scale(1.03);
    box-shadow: 0 12px 35px rgba(0, 0, 0, 0.65);
}

.floating-pill-btn .pill-content {
    display: flex;
    flex-direction: column;
    text-align: center;
}

/* Red Banner Pill */
.floating-pill-btn.pill-red {
    background: linear-gradient(135deg, #d90429 0%, #ef233c 100%);
    color: #ffffff;
    border: 1px solid rgba(255, 255, 255, 0.25);
}

.floating-pill-btn.pill-red .pill-title {
    font-size: 0.88rem;
    font-weight: 800;
    color: #ffffff;
    letter-spacing: -0.2px;
    line-height: 1.2;
}

.floating-pill-btn.pill-red .pill-sub {
    font-size: 0.8rem;
    font-weight: 700;
    color: #ffffff;
    line-height: 1.2;
}

/* Golden Yellow Banner Pill */
.floating-pill-btn.pill-gold {
    background: linear-gradient(135deg, #ffb703 0%, #f59e0b 100%);
    color: #0f172a;
    border: 1px solid rgba(255, 255, 255, 0.35);
}

.floating-pill-btn.pill-gold .pill-title {
    font-size: 0.88rem;
    font-weight: 800;
    color: #0f172a;
    letter-spacing: -0.2px;
    line-height: 1.2;
}

.floating-pill-btn.pill-gold .pill-sub {
    font-size: 0.8rem;
    font-weight: 700;
    color: #0f172a;
    line-height: 1.2;
}

/* Circular Right Overlapping Badge */
.floating-pill-btn .pill-circle-badge {
    position: absolute;
    right: -4px;
    top: 50%;
    transform: translateY(-50%);
    width: 48px;
    height: 48px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.35);
}

.floating-pill-btn .pill-circle-badge.badge-red {
    background: #ffffff;
    color: #d90429;
    border: 3px solid #ffffff;
    font-size: 1.25rem;
}

.floating-pill-btn .pill-circle-badge.badge-whatsapp {
    background: #25d366;
    color: #ffffff;
    border: 3px solid #ffffff;
    font-size: 1.45rem;
}

/* Responsive Floating CTAs for Mobile Screens */
@media (max-width: 768px) {
    .floating-cta-stack {
        bottom: 80px;
        right: 12px;
        gap: 10px;
    }
    
    .floating-pill-btn {
        padding: 7px 42px 7px 16px;
        border-radius: 22px;
    }

    .floating-pill-btn.pill-red .pill-title,
    .floating-pill-btn.pill-gold .pill-title {
        font-size: 0.78rem;
    }

    .floating-pill-btn.pill-red .pill-sub,
    .floating-pill-btn.pill-gold .pill-sub {
        font-size: 0.72rem;
    }

    .floating-pill-btn .pill-circle-badge {
        width: 42px;
        height: 42px;
        right: -3px;
    }

    .floating-pill-btn .pill-circle-badge.badge-red {
        font-size: 1.1rem;
    }

    .floating-pill-btn .pill-circle-badge.badge-whatsapp {
        font-size: 1.25rem;
    }
}

/* ==============================================================================
   MODEL ESCORTS DEDICATED STYLES: LUXURY HOTEL TABLE & DUAL FEATURE CARDS
   ============================================================================== */
.model-hotel-table-wrap {
    background: linear-gradient(145deg, rgba(22, 25, 40, 0.95) 0%, rgba(14, 16, 26, 0.98) 100%);
    border: 1.5px solid rgba(245, 237, 226, 0.22);
    border-radius: 20px;
    padding: 2rem;
    box-shadow: 0 20px 45px rgba(0, 0, 0, 0.5);
    margin: 2.5rem 0 3rem;
    overflow-x: auto;
    position: relative;
}

.model-hotel-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    min-width: 640px;
}

.model-hotel-table thead th {
    background: rgba(245, 237, 226, 0.07);
    color: #f5ede2;
    font-family: var(--font-heading);
    font-size: 0.92rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    padding: 1.1rem 1.4rem;
    border-bottom: 2px solid rgba(245, 176, 65, 0.4);
    text-align: left;
}

.model-hotel-table thead th:first-child {
    border-top-left-radius: 12px;
}

.model-hotel-table thead th:last-child {
    border-top-right-radius: 12px;
    text-align: right;
}

.model-hotel-table tbody td {
    padding: 1.2rem 1.4rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.07);
    color: #cbd5e1;
    font-size: 0.95rem;
    vertical-align: middle;
}

.model-hotel-table tbody tr {
    transition: background-color 0.25s ease;
}

.model-hotel-table tbody tr:hover {
    background: rgba(245, 176, 65, 0.05);
}

.model-hotel-table tbody tr:last-child td {
    border-bottom: none;
}

.hotel-name-cell {
    display: flex;
    align-items: center;
    gap: 0.85rem;
}

.hotel-icon-badge {
    width: 38px;
    height: 38px;
    border-radius: 10px;
    background: rgba(245, 176, 65, 0.12);
    border: 1px solid rgba(245, 176, 65, 0.3);
    color: #f5b041;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    flex-shrink: 0;
}

.hotel-name-title {
    font-weight: 700;
    color: #ffffff;
    font-size: 1.05rem;
    margin-bottom: 0.15rem;
}

.hotel-stars {
    color: #ffd700;
    font-size: 0.78rem;
    letter-spacing: 1px;
}

.hotel-price-pill {
    display: inline-block;
    background: rgba(245, 176, 65, 0.15);
    border: 1px solid rgba(245, 176, 65, 0.4);
    color: #f5b041;
    font-weight: 800;
    font-size: 0.95rem;
    padding: 0.35rem 0.85rem;
    border-radius: 20px;
}

.hotel-action-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    background: #25d366;
    color: #ffffff;
    font-size: 0.84rem;
    font-weight: 700;
    padding: 0.5rem 1rem;
    border-radius: 20px;
    text-decoration: none;
    transition: all 0.25s ease;
}

.hotel-action-btn:hover {
    background: #1eb956;
    transform: translateY(-2px);
    box-shadow: 0 4px 15px rgba(37, 211, 102, 0.35);
    color: #ffffff;
}

/* Dual Feature Grid for Model Kinks & Fit */
.model-dual-feature-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.75rem;
    margin-top: 2.5rem;
}

.model-feature-card {
    background: #111422;
    border-radius: 20px;
    padding: 2.2rem 2rem;
    position: relative;
    overflow: hidden;
    transition: transform 0.3s ease, border-color 0.3s ease;
}

.model-feature-card-gold {
    border: 1.5px solid rgba(245, 176, 65, 0.35);
    background: linear-gradient(145deg, #151829 0%, #10121d 100%);
}

.model-feature-card-gold:hover {
    transform: translateY(-4px);
    border-color: rgba(245, 176, 65, 0.65);
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.5), 0 0 20px rgba(245, 176, 65, 0.1);
}

.model-feature-card-pink {
    border: 1.5px solid rgba(255, 45, 117, 0.35);
    background: linear-gradient(145deg, #171526 0%, #10121d 100%);
}

.model-feature-card-pink:hover {
    transform: translateY(-4px);
    border-color: rgba(255, 45, 117, 0.65);
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.5), 0 0 20px rgba(255, 45, 117, 0.1);
}

.model-feature-header {
    display: flex;
    align-items: center;
    gap: 0.9rem;
    margin-bottom: 1.4rem;
}

.model-feature-icon {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
}

.model-feature-card-gold .model-feature-icon {
    background: rgba(245, 176, 65, 0.15);
    color: #f5b041;
    border: 1px solid rgba(245, 176, 65, 0.35);
}

.model-feature-card-pink .model-feature-icon {
    background: rgba(255, 45, 117, 0.15);
    color: #ff2d75;
    border: 1px solid rgba(255, 45, 117, 0.35);
}

.model-feature-title {
    font-family: var(--font-heading);
    font-size: 1.28rem;
    font-weight: 700;
    color: #ffffff;
    margin: 0;
    line-height: 1.35;
}

.model-feature-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 1.1rem;
}

.model-feature-item {
    display: flex;
    align-items: flex-start;
    gap: 0.85rem;
    color: #cbd5e1;
    font-size: 0.94rem;
    line-height: 1.6;
}

.model-feature-bullet {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    margin-top: 3px;
    font-size: 0.65rem;
}

.model-feature-card-gold .model-feature-bullet {
    background: rgba(245, 176, 65, 0.2);
    color: #f5b041;
    border: 1px solid rgba(245, 176, 65, 0.45);
}

.model-feature-card-pink .model-feature-bullet {
    background: rgba(255, 45, 117, 0.2);
    color: #ff2d75;
    border: 1px solid rgba(255, 45, 117, 0.45);
}

@media (max-width: 900px) {
    .model-dual-feature-grid {
        grid-template-columns: 1fr;
    }
}

/* ==============================================================================
   RUSSIAN ESCORTS ALTERNATING BLACK & LUXURY BEIGE THEME
   ============================================================================== */

/* Luxury Black Sections */
.russian-black-section {
    position: relative;
    background: radial-gradient(circle at 10% 20%, rgba(225, 29, 72, 0.05) 0%, transparent 45%),
                radial-gradient(circle at 90% 80%, rgba(212, 175, 55, 0.06) 0%, transparent 50%),
                #090a0f;
    border-bottom: 1px solid rgba(255, 255, 255, 0.07);
    color: #cbd5e1;
}

/* Luxury Warm Beige Sections */
.russian-beige-section {
    position: relative;
    background: radial-gradient(circle at 12% 18%, rgba(212, 175, 55, 0.09) 0%, transparent 40%),
                radial-gradient(circle at 88% 82%, rgba(225, 29, 72, 0.04) 0%, transparent 45%),
                #f8f3eb;
    border-top: 1px solid #ebd9c8;
    border-bottom: 1px solid #ebd9c8;
    color: #292524;
    padding: 5rem 0;
}

/* Beige Headings & Subtitles */
.russian-beige-section .cat-section-title,
.russian-beige-section h2,
.russian-beige-section h3 {
    color: #18181b;
}

.russian-beige-section .cat-section-desc,
.russian-beige-section .cat-meaning-p,
.russian-beige-section p {
    color: #374151;
    font-size: 1rem;
    line-height: 1.78;
}

/* Beige Badges */
.russian-beige-section .cat-section-badge {
    background: #eedfcb;
    border: 1px solid #d4c0a5;
    color: #78350f;
}

/* Beige Editorial Hero Card */
.russian-beige-card {
    background: #ffffff;
    border: 1.5px solid #ebdccb;
    border-radius: 24px;
    padding: 2.75rem 2.5rem;
    box-shadow: 0 16px 40px rgba(120, 85, 45, 0.07);
    position: relative;
}

.russian-beige-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 40px;
    right: 40px;
    height: 3px;
    background: linear-gradient(90deg, transparent, #b45309, #e11d48, transparent);
    border-radius: 3px;
}

/* Numbered Activities Grid for St Petersburg Section (Beige) */
.russian-activities-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.35rem;
    margin-top: 2.25rem;
}

.russian-act-card {
    background: #ffffff;
    border: 1.5px solid #ebd9c8;
    border-radius: 18px;
    padding: 1.75rem 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
    box-shadow: 0 10px 25px rgba(110, 85, 45, 0.05);
    transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1),
                box-shadow 0.35s cubic-bezier(0.16, 1, 0.3, 1),
                border-color 0.35s ease;
}

.russian-act-card:hover {
    transform: translateY(-5px);
    border-color: #d97706;
    box-shadow: 0 16px 35px rgba(217, 119, 6, 0.15);
}

.russian-act-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.russian-act-num {
    font-family: var(--font-heading);
    font-size: 1.25rem;
    font-weight: 800;
    color: #ffffff;
    background: linear-gradient(135deg, #b45309 0%, #d97706 100%);
    width: 42px;
    height: 42px;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 6px 16px rgba(180, 83, 9, 0.25);
}

.russian-act-icon {
    font-size: 1.25rem;
    color: #e11d48;
}

.russian-act-text {
    font-size: 0.98rem;
    line-height: 1.65;
    color: #1f2937;
    margin: 0;
    font-weight: 500;
}

/* Stylish Beige Feature Cards (3 cards for Varieties of Russian Call Girls) */
.russian-varieties-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.35rem;
    margin-top: 2rem;
}

.russian-variety-card {
    background: #ffffff;
    border: 1.5px solid #ebd9c8;
    border-radius: 18px;
    padding: 1.85rem 1.5rem;
    box-shadow: 0 10px 25px rgba(110, 85, 45, 0.05);
    display: flex;
    flex-direction: column;
    gap: 0.9rem;
    transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1),
                box-shadow 0.35s cubic-bezier(0.16, 1, 0.3, 1),
                border-color 0.35s ease;
}

.russian-variety-card:hover {
    transform: translateY(-5px);
    border-color: #e11d48;
    box-shadow: 0 16px 35px rgba(225, 29, 72, 0.12);
}

.russian-variety-icon {
    width: 48px;
    height: 48px;
    border-radius: 14px;
    background: rgba(225, 29, 72, 0.1);
    color: #e11d48;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.35rem;
}

.russian-variety-title {
    font-family: var(--font-heading);
    font-size: 1.12rem;
    font-weight: 700;
    color: #111827;
    margin: 0;
}

.russian-variety-desc {
    font-size: 0.94rem;
    line-height: 1.65;
    color: #374151;
    margin: 0;
}

/* Kinky & Bondage Spec Chips in Beige Section */
.russian-beige-chips-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin: 1.5rem 0;
}

.russian-beige-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    border-radius: 100px;
    background: #eee4d5;
    border: 1px solid #d9c8b2;
    color: #451a03;
    font-size: 0.85rem;
    font-weight: 600;
}

.russian-beige-chip i {
    color: #e11d48;
}

/* Reviews in Beige Section */
.russian-beige-section .cat-review-card {
    background: #ffffff;
    border: 1.5px solid #ebd9c8;
    box-shadow: 0 12px 30px rgba(110, 85, 45, 0.06);
}

.russian-beige-section .cat-review-text {
    color: #1f2937;
}

.russian-beige-section .author-info strong {
    color: #111827;
}

.russian-beige-section .author-info span {
    color: #6b7280;
}

.russian-beige-section .review-verified-tag {
    background: rgba(16, 185, 129, 0.1);
    border: 1px solid rgba(16, 185, 129, 0.25);
    color: #047857;
}

/* Other categories grid in Beige section */
.russian-beige-section .cat-other-card {
    background: #ffffff;
    border: 1.5px solid #ebd9c8;
    box-shadow: 0 10px 25px rgba(110, 85, 45, 0.05);
}

.russian-beige-section .cat-other-title a {
    color: #111827;
}

.russian-beige-section .cat-other-desc,
.russian-beige-section .cat-other-tagline {
    color: #4b5563;
}

.russian-beige-section .btn-cat-other-explore {
    background: #f4ece2;
    color: #111827;
    border: 1px solid #dccbb7;
}

.russian-beige-section .btn-cat-other-explore:hover {
    background: #e11d48;
    color: #ffffff;
    border-color: #e11d48;
}

/* Pricing Highlight Card in Black Section */
.russian-price-box {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
    margin: 2rem 0;
}

.russian-price-card {
    background: #111422;
    border: 1.5px solid rgba(212, 175, 55, 0.3);
    border-radius: 20px;
    padding: 2rem 1.75rem;
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
    position: relative;
    overflow: hidden;
}

.russian-price-card.popular {
    border-color: rgba(225, 29, 72, 0.5);
    background: linear-gradient(135deg, #131728 0%, #1a1528 100%);
}

.russian-price-badge {
    align-self: flex-start;
    padding: 4px 12px;
    border-radius: 50px;
    background: rgba(225, 29, 72, 0.15);
    border: 1px solid rgba(225, 29, 72, 0.35);
    color: #fb7185;
    font-size: 0.76rem;
    font-weight: 700;
    text-transform: uppercase;
}

.russian-price-amount {
    font-family: var(--font-heading);
    font-size: 2.25rem;
    font-weight: 800;
    color: #ffffff;
}

.russian-price-amount span {
    font-size: 1rem;
    color: #94a3b8;
    font-weight: 500;
}

.russian-price-desc {
    color: #cbd5e1;
    font-size: 0.92rem;
    line-height: 1.6;
    margin: 0;
}

/* Responsive queries */
@media (max-width: 1024px) {
    .russian-activities-grid,
    .russian-varieties-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 640px) {
    .russian-activities-grid,
    .russian-varieties-grid,
    .russian-price-box {
        grid-template-columns: 1fr;
    }
    .russian-beige-card {
        padding: 1.85rem 1.4rem;
    }
}

/* Redesigned High-Visibility WhatsApp Banner (100% Crisp Readability) */
.ref-whatsapp-banner {
    position: relative;
    background: #0f172a;
    border: 2px solid #25d366;
    border-radius: 20px;
    padding: 2.5rem 2.25rem;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.35), 0 0 25px rgba(37, 211, 102, 0.2);
    margin-top: 2.25rem;
    overflow: hidden;
}

.ref-whatsapp-banner-glow {
    position: absolute;
    top: -50px;
    right: -50px;
    width: 250px;
    height: 250px;
    background: radial-gradient(circle, rgba(37, 211, 102, 0.25) 0%, transparent 70%);
    pointer-events: none;
}

.ref-whatsapp-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 16px;
    border-radius: 999px;
    background: rgba(37, 211, 102, 0.18);
    border: 1px solid #25d366;
    color: #25d366;
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    margin-bottom: 1.1rem;
}

.ref-whatsapp-title {
    font-family: var(--font-heading);
    font-size: clamp(1.4rem, 2.5vw, 1.85rem);
    font-weight: 800;
    color: #ffffff !important;
    margin: 0 0 0.85rem;
    line-height: 1.25;
}

.ref-whatsapp-desc {
    font-size: 1.08rem;
    line-height: 1.75;
    color: #ffffff !important;
    margin: 0 0 1.75rem;
    font-weight: 400;
    opacity: 0.95;
}

.btn-ref-green-wa {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: linear-gradient(135deg, #25d366 0%, #1ebd5a 100%);
    color: #ffffff !important;
    padding: 0.95rem 2rem;
    border-radius: 12px;
    font-size: 1.02rem;
    font-weight: 700;
    text-decoration: none;
    box-shadow: 0 8px 25px rgba(37, 211, 102, 0.4);
    transition: var(--transition-smooth);
}

.btn-ref-green-wa:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 30px rgba(37, 211, 102, 0.55);
    color: #ffffff !important;
}

/* ==========================================================================
   BLOG PAGES STYLING (Ultra-Luxury Dark Theme)
   ========================================================================== */

/* Blog Hero Section */
.blog-hero-section {
    position: relative;
    padding: 5rem 0 3.5rem;
    background: radial-gradient(circle at top center, #1e1b2e 0%, #0d0d11 75%);
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    overflow: hidden;
}

.blog-hero-glow {
    position: absolute;
    top: -100px;
    left: 50%;
    transform: translateX(-50%);
    width: 600px;
    height: 350px;
    background: radial-gradient(circle, rgba(255, 42, 117, 0.15) 0%, rgba(212, 175, 55, 0.08) 50%, transparent 80%);
    pointer-events: none;
    filter: blur(50px);
}

.blog-hero-header {
    text-align: center !important;
    display: flex;
    flex-direction: column;
    align-items: center !important;
    justify-content: center;
    margin: 0 auto;
    width: 100%;
}

.blog-hero-meta {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 1.25rem;
}

.blog-breadcrumbs {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-size: 0.85rem;
    color: #94a3b8;
}

.blog-breadcrumbs a {
    color: #cbd5e1;
    text-decoration: none;
    transition: color 0.2s ease;
}

.blog-breadcrumbs a:hover {
    color: #ff2a75;
}

.blog-breadcrumbs i {
    font-size: 0.7rem;
    color: #64748b;
}

.blog-vip-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 4px 14px;
    border-radius: 999px;
    background: rgba(212, 175, 55, 0.12);
    border: 1px solid rgba(212, 175, 55, 0.35);
    color: #d4af37;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.blog-badge-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #d4af37;
    box-shadow: 0 0 8px #d4af37;
}

.blog-hero-title {
    font-family: var(--font-heading);
    font-size: clamp(2rem, 4vw, 3.2rem);
    font-weight: 800;
    color: #ffffff;
    margin-bottom: 1rem;
    line-height: 1.2;
    text-align: center !important;
    width: 100%;
}

.blog-hero-lead {
    font-size: 1.1rem;
    color: #94a3b8;
    max-width: 680px;
    margin: 0 auto !important;
    line-height: 1.7;
    text-align: center !important;
}

/* Blog Listing Section */
.blog-listing-section {
    padding: 4rem 0;
    background: #0d0d11;
}

/* Featured Blog Card */
.blog-featured-card {
    display: grid;
    grid-template-columns: 1.1fr 1fr;
    gap: 2.5rem;
    background: linear-gradient(145deg, #161622 0%, #11111a 100%);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 20px;
    padding: 1.75rem;
    margin-bottom: 4rem;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.5);
    transition: transform 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease;
}

.blog-featured-card:hover {
    border-color: rgba(255, 42, 117, 0.4);
    box-shadow: 0 25px 50px rgba(0, 0, 0, 0.6), 0 0 30px rgba(255, 42, 117, 0.15);
}

.featured-card-media {
    position: relative;
    border-radius: 14px;
    overflow: hidden;
    aspect-ratio: 16/10;
}

.featured-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.blog-featured-card:hover .featured-img {
    transform: scale(1.05);
}

.featured-badge-overlay {
    position: absolute;
    top: 14px;
    left: 14px;
    z-index: 2;
}

.badge-tag {
    background: rgba(13, 13, 17, 0.85);
    backdrop-filter: blur(8px);
    border: 1px solid rgba(212, 175, 55, 0.5);
    color: #ffffff;
    font-size: 0.75rem;
    font-weight: 700;
    padding: 5px 12px;
    border-radius: 6px;
    letter-spacing: 0.05em;
}

.featured-card-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.blog-card-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    font-size: 0.82rem;
    color: #94a3b8;
    margin-bottom: 0.85rem;
}

.blog-card-meta .meta-category {
    color: #ff2a75;
    font-weight: 600;
}

.blog-card-meta i {
    font-size: 0.78rem;
}

.featured-card-title {
    font-family: var(--font-heading);
    font-size: 1.75rem;
    font-weight: 700;
    line-height: 1.35;
    margin-bottom: 1rem;
}

.featured-card-title a {
    color: #ffffff;
    text-decoration: none;
    transition: color 0.2s ease;
}

.featured-card-title a:hover {
    color: #d4af37;
}

.featured-card-excerpt {
    font-size: 0.98rem;
    line-height: 1.7;
    color: #cbd5e1;
    margin-bottom: 1.5rem;
}

.featured-card-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding-top: 1.25rem;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.author-info {
    display: flex;
    align-items: center;
    gap: 10px;
}

.author-avatar {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: linear-gradient(135deg, #ff2a75 0%, #d4af37 100%);
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.95rem;
}

.author-name {
    display: block;
    font-size: 0.88rem;
    color: #ffffff;
}

.author-role {
    display: block;
    font-size: 0.75rem;
    color: #94a3b8;
}

.btn-read-article {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 0.65rem 1.35rem;
    border-radius: 10px;
    background: linear-gradient(135deg, #ff2a75 0%, #d9155c 100%);
    color: #ffffff;
    font-size: 0.88rem;
    font-weight: 700;
    text-decoration: none;
    transition: all 0.25s ease;
    box-shadow: 0 4px 15px rgba(255, 42, 117, 0.3);
}

.btn-read-article:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 22px rgba(255, 42, 117, 0.5);
    color: #ffffff;
}

/* Articles Grid */
.blog-section-header {
    margin-bottom: 2rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.blog-grid-heading {
    font-family: var(--font-heading);
    font-size: 1.5rem;
    font-weight: 700;
    color: #ffffff;
    margin: 0 0 0.35rem;
}

.blog-grid-sub {
    font-size: 0.92rem;
    color: #94a3b8;
    margin: 0;
}

.blog-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 2rem;
}

.blog-card {
    background: #14141e;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 16px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}

.blog-card:hover {
    transform: translateY(-5px);
    border-color: rgba(212, 175, 55, 0.4);
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.5), 0 0 20px rgba(212, 175, 55, 0.12);
}

.blog-card-thumb {
    position: relative;
    aspect-ratio: 16/10;
    overflow: hidden;
    background: #090c14;
}

.blog-card-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.blog-card:hover .blog-card-thumb img {
    transform: scale(1.06);
}

.blog-category-pill {
    position: absolute;
    bottom: 12px;
    left: 12px;
    background: rgba(13, 13, 17, 0.85);
    backdrop-filter: blur(6px);
    border: 1px solid rgba(255, 42, 117, 0.4);
    color: #ff2a75;
    font-size: 0.72rem;
    font-weight: 700;
    padding: 3px 10px;
    border-radius: 6px;
}

.blog-card-body {
    padding: 1.4rem;
    flex: 1;
    display: flex;
    flex-direction: column;
}

.blog-card-title {
    font-family: var(--font-heading);
    font-size: 1.18rem;
    font-weight: 700;
    line-height: 1.4;
    margin: 0 0 0.75rem;
}

.blog-card-title a {
    color: #ffffff;
    text-decoration: none;
    transition: color 0.2s ease;
}

.blog-card-title a:hover {
    color: #ff2a75;
}

.blog-card-desc {
    font-size: 0.9rem;
    color: #94a3b8;
    line-height: 1.6;
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.blog-card-foot {
    padding: 1rem 1.4rem;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: rgba(0, 0, 0, 0.2);
}

.blog-author-mini {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 0.8rem;
    color: #cbd5e1;
}

.blog-link-more {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 0.82rem;
    font-weight: 700;
    color: #d4af37;
    text-decoration: none;
    transition: color 0.2s ease;
}

.blog-link-more:hover {
    color: #ff2a75;
}

/* Blog CTA Section */
.blog-cta-section {
    padding: 3rem 0 5rem;
    background: #0d0d11;
}

.blog-cta-card {
    position: relative;
    background: linear-gradient(135deg, #1b162b 0%, #10101a 100%);
    border: 1px solid rgba(212, 175, 55, 0.35);
    border-radius: 20px;
    padding: 3rem 2.5rem;
    text-align: center;
    overflow: hidden;
    box-shadow: 0 20px 45px rgba(0, 0, 0, 0.6);
}

.blog-cta-glow {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 500px;
    height: 250px;
    background: radial-gradient(circle, rgba(212, 175, 55, 0.15) 0%, transparent 70%);
    pointer-events: none;
}

.blog-cta-content {
    position: relative;
    z-index: 2;
    max-width: 680px;
    margin: 0 auto;
}

.cta-mini-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 12px;
    border-radius: 999px;
    background: rgba(255, 42, 117, 0.15);
    border: 1px solid rgba(255, 42, 117, 0.35);
    color: #ff2a75;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    margin-bottom: 1rem;
}

.cta-title {
    font-family: var(--font-heading);
    font-size: clamp(1.5rem, 3vw, 2.2rem);
    font-weight: 800;
    color: #ffffff;
    margin-bottom: 0.85rem;
}

.cta-desc {
    font-size: 1.05rem;
    color: #cbd5e1;
    margin-bottom: 2rem;
    line-height: 1.65;
}

.cta-buttons {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 1rem;
}

/* ==========================================================================
   SINGLE ARTICLE DETAIL STYLING
   ========================================================================== */
.blog-detail-page {
    background: #0d0d11;
}

.article-hero-section {
    position: relative;
    padding: 4rem 0 2.5rem;
    background: radial-gradient(circle at top center, #1b1728 0%, #0d0d11 80%);
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.article-hero-glow {
    position: absolute;
    top: -80px;
    left: 50%;
    transform: translateX(-50%);
    width: 600px;
    height: 300px;
    background: radial-gradient(circle, rgba(212, 175, 55, 0.12) 0%, transparent 70%);
    pointer-events: none;
    filter: blur(40px);
}

.article-hero-container {
    max-width: 900px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center !important;
    text-align: center !important;
}

.article-header-meta {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px;
    font-size: 0.85rem;
    color: #94a3b8;
    margin-top: 1.25rem;
    margin-bottom: 1rem;
}

.article-cat-badge {
    background: rgba(255, 42, 117, 0.15);
    border: 1px solid rgba(255, 42, 117, 0.4);
    color: #ff2a75;
    padding: 3px 10px;
    border-radius: 6px;
    font-weight: 700;
    font-size: 0.78rem;
}

.article-main-title {
    font-family: var(--font-heading);
    font-size: clamp(1.8rem, 3.8vw, 2.8rem);
    font-weight: 800;
    color: #ffffff;
    line-height: 1.28;
    margin-bottom: 1.75rem;
    text-align: center !important;
}

.article-author-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 1rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

/* ==========================================================================
   BEIGE THEME ARTICLE EXTENSIONS
   ========================================================================== */

.article-lead-paragraph {
    font-size: 1.15rem;
    line-height: 1.85;
    color: #f3eae1;
    font-weight: 500;
    margin-bottom: 1.2rem;
}

.article-intro-sub {
    font-size: 1.05rem;
    line-height: 1.75;
    color: #d1c7bd;
    margin-bottom: 2.25rem;
}

/* TOC Card */
.article-toc-card.beige-toc {
    background: linear-gradient(145deg, #1d1826 0%, #15121e 100%);
    border: 1px solid rgba(212, 175, 55, 0.35);
    border-radius: 18px;
    padding: 1.75rem 2rem;
    margin-bottom: 3rem;
    box-shadow: 0 12px 35px rgba(0, 0, 0, 0.4), 0 0 20px rgba(212, 175, 55, 0.08);
}

.toc-header {
    margin-bottom: 1.25rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid rgba(212, 175, 55, 0.2);
}

.toc-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    color: #d4af37;
    margin-bottom: 0.35rem;
}

.toc-title {
    font-family: var(--font-heading);
    font-size: 1.3rem;
    font-weight: 700;
    color: #ffffff;
    margin: 0;
}

.toc-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: 0.85rem;
}

.toc-link {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 12px;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    color: #e2d9cf;
    font-size: 0.88rem;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.25s ease;
}

.toc-link:hover {
    background: rgba(212, 175, 55, 0.15);
    border-color: rgba(212, 175, 55, 0.4);
    color: #ffffff;
    transform: translateX(3px);
}

.toc-num {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: rgba(212, 175, 55, 0.2);
    color: #d4af37;
    font-size: 0.75rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

/* Article Section Blocks */
.article-section-block.beige-block {
    background: linear-gradient(145deg, #171420 0%, #110e19 100%);
    border: 1px solid rgba(212, 175, 55, 0.22);
    border-radius: 20px;
    padding: 2.25rem;
    margin-bottom: 2.5rem;
    box-shadow: 0 14px 40px rgba(0, 0, 0, 0.45);
    position: relative;
    scroll-margin-top: 100px;
    transition: border-color 0.3s ease;
}

.article-section-block.beige-block:hover {
    border-color: rgba(212, 175, 55, 0.45);
}

.section-block-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 0.85rem;
}

.block-num-tag {
    font-family: var(--font-heading);
    font-size: 0.78rem;
    font-weight: 800;
    padding: 3px 10px;
    border-radius: 6px;
    background: #d4af37;
    color: #0d0d11;
}

.block-label-tag {
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    color: #d4af37;
}

.article-h2-title {
    font-family: var(--font-heading);
    font-size: 1.6rem;
    font-weight: 700;
    color: #ffffff;
    margin: 0 0 1.15rem;
    line-height: 1.35;
}

.article-p-text {
    font-size: 1.02rem;
    line-height: 1.8;
    color: #d6ccbf;
    margin-bottom: 1.25rem;
}

.article-p-text strong {
    color: #ffffff;
}

.text-italic-highlight {
    font-style: italic;
    color: #d4af37;
    font-weight: 600;
}

/* Beige Highlight Bar */
.beige-highlight-bar {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 1.25rem;
    padding: 1rem 1.25rem;
    background: rgba(212, 175, 55, 0.08);
    border: 1px solid rgba(212, 175, 55, 0.25);
    border-radius: 12px;
    margin-top: 1.25rem;
}

.bar-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.88rem;
    font-weight: 600;
    color: #e5ded5;
}

.bar-item i {
    font-size: 0.95rem;
}

/* Categories Grid */
.article-categories-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 1.15rem;
    margin: 1.5rem 0;
}

.cat-preview-card {
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 14px;
    padding: 1.25rem;
    transition: all 0.3s ease;
}

.cat-preview-card:hover {
    background: rgba(212, 175, 55, 0.1);
    border-color: rgba(212, 175, 55, 0.35);
    transform: translateY(-3px);
}

.cat-card-icon {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
    margin-bottom: 0.85rem;
}

.icon-rose { background: rgba(255, 42, 117, 0.15); color: #ff2a75; }
.icon-gold { background: rgba(212, 175, 55, 0.15); color: #d4af37; }
.icon-cyan { background: rgba(0, 210, 255, 0.15); color: #00d2ff; }
.icon-amber { background: rgba(245, 176, 65, 0.15); color: #f5b041; }

.cat-preview-card h4 {
    font-family: var(--font-heading);
    font-size: 1rem;
    font-weight: 700;
    color: #ffffff;
    margin: 0 0 0.4rem;
}

.cat-preview-card p {
    font-size: 0.82rem;
    color: #a89f94;
    line-height: 1.5;
    margin: 0;
}

/* Location Chips */
.location-chips-wrapper {
    margin-top: 1.35rem;
    padding-top: 1.25rem;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.loc-label {
    display: block;
    font-size: 0.85rem;
    font-weight: 700;
    color: #d4af37;
    margin-bottom: 0.75rem;
}

.loc-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.loc-chip {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.12);
    color: #e2d9cf;
    font-size: 0.8rem;
    font-weight: 600;
    padding: 5px 13px;
    border-radius: 999px;
}

/* Booking Steps Beige Grid */
.booking-steps-beige-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 1.25rem;
    margin-top: 1.5rem;
}

.beige-step-card {
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(212, 175, 55, 0.25);
    border-radius: 14px;
    padding: 1.35rem;
}

.b-step-num {
    display: inline-block;
    font-size: 0.72rem;
    font-weight: 800;
    color: #d4af37;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin-bottom: 0.65rem;
}

.beige-step-card h4 {
    font-family: var(--font-heading);
    font-size: 1.05rem;
    font-weight: 700;
    color: #ffffff;
    margin: 0 0 0.5rem;
}

.beige-step-card p {
    font-size: 0.85rem;
    color: #a89f94;
    line-height: 1.55;
    margin: 0;
}

/* Quote Beige */
.article-quote.beige-quote {
    background: rgba(212, 175, 55, 0.06);
    border-left-color: #d4af37;
}

/* Satisfaction Callout */
.satisfaction-callout-card {
    display: flex;
    align-items: center;
    gap: 14px;
    background: rgba(212, 175, 55, 0.08);
    border: 1px solid rgba(212, 175, 55, 0.3);
    border-radius: 14px;
    padding: 1.25rem 1.5rem;
    margin-top: 1.5rem;
}

.sat-card-icon {
    font-size: 1.5rem;
    flex-shrink: 0;
}

.sat-card-text h4 {
    font-family: var(--font-heading);
    font-size: 1.05rem;
    font-weight: 700;
    color: #ffffff;
    margin: 0 0 0.35rem;
}

.sat-card-text p {
    font-size: 0.88rem;
    color: #d1c7bd;
    margin: 0;
}

/* Conclusion Box */
.conclusion-cta-beige-box {
    background: linear-gradient(135deg, rgba(212, 175, 55, 0.15) 0%, rgba(255, 42, 117, 0.1) 100%);
    border: 1px solid rgba(212, 175, 55, 0.4);
    border-radius: 16px;
    padding: 1.85rem;
    margin-top: 1.75rem;
    text-align: center;
}

.conclusion-cta-beige-box h4 {
    font-family: var(--font-heading);
    font-size: 1.3rem;
    font-weight: 800;
    color: #ffffff;
    margin: 0 0 0.65rem;
}

.conclusion-cta-beige-box p {
    font-size: 0.95rem;
    color: #e5ded5;
    margin-bottom: 1.35rem;
}

.conclusion-btn-group {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 1rem;
}

.btn-beige-wa {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 0.75rem 1.6rem;
    border-radius: 10px;
    background: linear-gradient(135deg, #25d366 0%, #1ea952 100%);
    color: #ffffff;
    font-size: 0.92rem;
    font-weight: 700;
    text-decoration: none;
    box-shadow: 0 6px 18px rgba(37, 211, 102, 0.35);
    transition: all 0.25s ease;
}

.btn-beige-wa:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(37, 211, 102, 0.5);
    color: #ffffff;
}

.btn-beige-call {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 0.75rem 1.6rem;
    border-radius: 10px;
    background: linear-gradient(135deg, #d4af37 0%, #b89326 100%);
    color: #ffffff;
    font-size: 0.92rem;
    font-weight: 700;
    text-decoration: none;
    box-shadow: 0 6px 18px rgba(212, 175, 55, 0.35);
    transition: all 0.25s ease;
}

.btn-beige-call:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(212, 175, 55, 0.5);
    color: #ffffff;
}

.author-badge-card {
    display: flex;
    align-items: center;
    gap: 12px;
}

.author-avatar-circle {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: linear-gradient(135deg, #d4af37 0%, #ff2a75 100%);
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
    box-shadow: 0 4px 12px rgba(212, 175, 55, 0.3);
}

.article-top-share {
    display: flex;
    align-items: center;
    gap: 10px;
}

.share-btn {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    font-size: 1rem;
    text-decoration: none;
    transition: transform 0.25s ease, opacity 0.25s ease;
}

.share-btn:hover {
    transform: translateY(-2px);
    opacity: 0.9;
}

.share-wa {
    background: #25d366;
    box-shadow: 0 4px 12px rgba(37, 211, 102, 0.3);
}

.share-tw {
    background: #1da1f2;
    box-shadow: 0 4px 12px rgba(29, 161, 242, 0.3);
}

/* Banner Image */
.article-banner-container {
    max-width: 1000px;
    margin: -1.5rem auto 3rem;
}

.article-featured-banner {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.12);
    box-shadow: 0 20px 45px rgba(0, 0, 0, 0.6);
    aspect-ratio: 16/8;
}

.article-banner-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Grid layout for Article & Sidebar */
.article-body-section {
    padding-bottom: 5rem;
}

.article-grid-container {
    display: grid;
    grid-template-columns: 1fr 320px;
    gap: 3rem;
}

.article-main-column {
    min-width: 0;
}

.article-summary-box {
    display: flex;
    gap: 14px;
    background: rgba(212, 175, 55, 0.08);
    border: 1px solid rgba(212, 175, 55, 0.3);
    border-left: 4px solid #d4af37;
    border-radius: 12px;
    padding: 1.25rem 1.5rem;
    margin-bottom: 2.25rem;
}

.summary-icon {
    font-size: 1.3rem;
    color: #d4af37;
    flex-shrink: 0;
    margin-top: 2px;
}

.summary-text {
    font-size: 1.02rem;
    line-height: 1.65;
    color: #e2e8f0;
}

/* Rich Article Body HTML */
.article-rich-body {
    font-size: 1.05rem;
    line-height: 1.85;
    color: #cbd5e1;
}

.article-rich-body p {
    margin-bottom: 1.5rem;
}

.article-rich-body p.lead-paragraph {
    font-size: 1.15rem;
    line-height: 1.8;
    color: #f1f5f9;
    font-weight: 500;
}

.article-rich-body h2 {
    font-family: var(--font-heading);
    font-size: 1.65rem;
    font-weight: 700;
    color: #ffffff;
    margin: 2.25rem 0 1rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.article-rich-body h3 {
    font-family: var(--font-heading);
    font-size: 1.3rem;
    font-weight: 700;
    color: #d4af37;
    margin: 1.75rem 0 0.85rem;
}

.article-rich-body ul, .article-rich-body ol {
    margin: 0 0 1.75rem 1.25rem;
    padding-left: 0.5rem;
}

.article-rich-body li {
    margin-bottom: 0.65rem;
    line-height: 1.7;
}

.article-callout-box {
    display: flex;
    gap: 16px;
    background: linear-gradient(135deg, rgba(255, 42, 117, 0.1) 0%, rgba(20, 20, 30, 0.8) 100%);
    border: 1px solid rgba(255, 42, 117, 0.35);
    border-radius: 14px;
    padding: 1.5rem;
    margin: 2rem 0;
}

.callout-icon {
    width: 44px;
    height: 44px;
    border-radius: 10px;
    background: rgba(255, 42, 117, 0.2);
    color: #ff2a75;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
    flex-shrink: 0;
}

.callout-content h4 {
    font-family: var(--font-heading);
    font-size: 1.12rem;
    font-weight: 700;
    color: #ffffff;
    margin: 0 0 0.4rem;
}

.callout-content p {
    margin: 0;
    font-size: 0.96rem;
    color: #cbd5e1;
}

.article-quote {
    position: relative;
    background: #141420;
    border-left: 4px solid #ff2a75;
    border-radius: 0 14px 14px 0;
    padding: 1.75rem 2rem;
    margin: 2.25rem 0;
}

.article-quote i {
    font-size: 1.75rem;
    color: rgba(255, 42, 117, 0.4);
    margin-bottom: 0.5rem;
    display: block;
}

.article-quote span {
    display: block;
    font-family: var(--font-heading);
    font-size: 1.15rem;
    font-style: italic;
    color: #ffffff;
    line-height: 1.6;
    margin-bottom: 0.75rem;
}

.article-quote cite {
    font-size: 0.85rem;
    color: #d4af37;
    font-weight: 700;
    font-style: normal;
}

/* FAQ List inside Article */
.article-faq-list {
    margin-top: 1.5rem;
}

.faq-item {
    background: #14141e;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 12px;
    padding: 1.25rem 1.4rem;
    margin-bottom: 1rem;
}

.faq-item h4 {
    font-family: var(--font-heading);
    font-size: 1.05rem;
    font-weight: 700;
    color: #ffffff;
    margin: 0 0 0.5rem;
    display: flex;
    align-items: center;
    gap: 8px;
}

.faq-item h4 i {
    color: #ff2a75;
}

.faq-item p {
    margin: 0;
    font-size: 0.95rem;
    color: #94a3b8;
}

/* Tags & Bottom Share */
.article-tags-wrap {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin: 3rem 0 1.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.tags-label {
    font-size: 0.88rem;
    font-weight: 700;
    color: #94a3b8;
}

.article-tag {
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.12);
    color: #cbd5e1;
    font-size: 0.8rem;
    padding: 4px 12px;
    border-radius: 6px;
}

.article-share-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 1rem;
    background: #14141e;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 14px;
    padding: 1.25rem 1.5rem;
    margin-bottom: 2.5rem;
}

.share-bar-title {
    font-size: 0.95rem;
    font-weight: 700;
    color: #ffffff;
}

.share-bar-buttons {
    display: flex;
    gap: 10px;
}

.btn-share-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 0.55rem 1.1rem;
    border-radius: 8px;
    color: #ffffff;
    font-size: 0.82rem;
    font-weight: 700;
    text-decoration: none;
    transition: transform 0.25s ease;
}

.btn-share-pill:hover {
    transform: translateY(-2px);
    color: #ffffff;
}

.pill-wa {
    background: #25d366;
}

.pill-tw {
    background: #000000;
    border: 1px solid rgba(255, 255, 255, 0.2);
}

/* Author Bio Card */
.article-author-bio-card {
    display: flex;
    gap: 16px;
    background: linear-gradient(135deg, #161622 0%, #11111a 100%);
    border: 1px solid rgba(212, 175, 55, 0.3);
    border-radius: 16px;
    padding: 1.5rem;
}

.bio-avatar {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: rgba(212, 175, 55, 0.15);
    border: 1px solid rgba(212, 175, 55, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.3rem;
    flex-shrink: 0;
}

.bio-name {
    font-family: var(--font-heading);
    font-size: 1.1rem;
    font-weight: 700;
    color: #ffffff;
    margin: 0 0 0.4rem;
}

.bio-text {
    font-size: 0.9rem;
    line-height: 1.6;
    color: #94a3b8;
    margin: 0;
}

/* Sidebar Widgets */
.article-sidebar {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.sidebar-widget {
    background: #14141e;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 16px;
    padding: 1.5rem;
}

.widget-title {
    font-family: var(--font-heading);
    font-size: 1.1rem;
    font-weight: 700;
    color: #ffffff;
    margin: 0 0 1.25rem;
    padding-bottom: 0.65rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.widget-concierge {
    background: linear-gradient(145deg, #181525 0%, #101018 100%);
    border-color: rgba(255, 42, 117, 0.35);
}

.concierge-widget-head {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 0.75rem;
}

.concierge-widget-head h4 {
    font-family: var(--font-heading);
    font-size: 1.15rem;
    font-weight: 700;
    color: #ffffff;
    margin: 0;
}

.concierge-widget-desc {
    font-size: 0.88rem;
    color: #cbd5e1;
    margin-bottom: 1.25rem;
    line-height: 1.55;
}

.concierge-widget-buttons {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 1.25rem;
}

.concierge-micro-trust {
    display: flex;
    flex-direction: column;
    gap: 6px;
    font-size: 0.78rem;
    color: #94a3b8;
    padding-top: 0.85rem;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.widget-recent-list {
    display: flex;
    flex-direction: column;
    gap: 1.1rem;
}

.recent-post-item {
    display: flex;
    gap: 12px;
    align-items: center;
}

.recent-thumb {
    width: 64px;
    height: 64px;
    border-radius: 8px;
    overflow: hidden;
    flex-shrink: 0;
    background: #090c14;
}

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

.recent-info h5 {
    font-size: 0.88rem;
    font-weight: 600;
    line-height: 1.35;
    margin: 0 0 4px;
}

.recent-info h5 a {
    color: #ffffff;
    text-decoration: none;
    transition: color 0.2s ease;
}

.recent-info h5 a:hover {
    color: #ff2a75;
}

.recent-date {
    font-size: 0.75rem;
    color: #94a3b8;
}

.widget-cat-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.widget-cat-list li {
    margin-bottom: 0.65rem;
}

.widget-cat-list a {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.88rem;
    color: #cbd5e1;
    text-decoration: none;
    padding: 6px 10px;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.03);
    transition: all 0.2s ease;
}

.widget-cat-list a:hover {
    background: rgba(212, 175, 55, 0.12);
    color: #d4af37;
}

/* Article Breakpoints */
@media (max-width: 992px) {
    .blog-featured-card {
        grid-template-columns: 1fr;
    }
    .article-grid-container {
        grid-template-columns: 1fr;
    }
    .article-banner-container {
        margin-top: 0;
    }
}

@media (max-width: 600px) {
    .featured-card-footer {
        flex-direction: column;
        align-items: flex-start;
    }
    .btn-read-article {
        width: 100%;
        justify-content: center;
    }
    .article-share-bar {
        flex-direction: column;
        align-items: flex-start;
    }
    .share-bar-buttons {
        width: 100%;
    }
    .btn-share-pill {
        flex: 1;
        justify-content: center;
    }
}
/* ==============================================================================
   CATEGORY & LOCATION FAQ ACCORDION SECTION (LUXURY BESPOKE DESIGN)
   ============================================================================== */
.cat-faq-section {
    position: relative;
    padding: 5.5rem 0 6rem;
    background: radial-gradient(circle at 50% 0%, rgba(255, 45, 117, 0.08) 0%, transparent 60%),
                radial-gradient(circle at 85% 90%, rgba(245, 176, 65, 0.06) 0%, transparent 50%),
                #090c15;
    border-top: 1px solid rgba(255, 255, 255, 0.07);
    border-bottom: 1px solid rgba(255, 255, 255, 0.07);
    overflow: hidden;
}

.faq-accordion,
.cat-faq-accordion {
    max-width: 920px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 1.15rem;
}

/* Individual FAQ Accordion Item Card */
.faq-item,
.cat-faq-item {
    background: linear-gradient(145deg, rgba(20, 24, 38, 0.88) 0%, rgba(11, 14, 23, 0.96) 100%);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 18px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.45);
    overflow: hidden;
    transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.faq-item:hover,
.cat-faq-item:hover {
    border-color: rgba(255, 45, 117, 0.35);
    transform: translateY(-2px);
    box-shadow: 0 14px 36px rgba(0, 0, 0, 0.55), 0 0 20px rgba(255, 45, 117, 0.12);
}

/* Active State for Expanded FAQ Item */
.faq-item.active,
.cat-faq-item.active {
    background: linear-gradient(145deg, rgba(26, 31, 48, 0.95) 0%, rgba(14, 18, 29, 0.98) 100%);
    border-color: rgba(255, 45, 117, 0.55);
    box-shadow: 0 16px 42px rgba(0, 0, 0, 0.65), 0 0 25px rgba(255, 45, 117, 0.2);
}

/* FAQ Question Header */
.faq-question,
.cat-faq-question {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.25rem;
    padding: 1.4rem 1.85rem;
    cursor: pointer;
    user-select: none;
    font-family: var(--font-heading);
    font-size: 1.12rem;
    font-weight: 700;
    color: #ffffff;
    line-height: 1.4;
    margin: 0;
    transition: color 0.3s ease;
}

.faq-question span,
.cat-faq-question span {
    flex: 1;
    display: block;
}

.faq-question:hover,
.cat-faq-question:hover {
    color: #ff5e97;
}

.faq-item.active .faq-question,
.cat-faq-item.active .cat-faq-question {
    color: #ff5e97;
}

/* Chevron/Toggle Icon Badge */
.faq-icon,
.cat-faq-icon {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.14);
    color: #ff5e97;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.92rem;
    flex-shrink: 0;
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), background 0.35s ease, border-color 0.35s ease, color 0.35s ease, box-shadow 0.35s ease;
}

.faq-item:hover .faq-icon,
.cat-faq-item:hover .cat-faq-icon {
    background: rgba(255, 45, 117, 0.15);
    border-color: rgba(255, 45, 117, 0.4);
    color: #ffffff;
}

/* Icon Animation on Active Toggle */
.faq-item.active .faq-icon,
.cat-faq-item.active .cat-faq-icon {
    transform: rotate(180deg);
    background: linear-gradient(135deg, #ff2d75 0%, #e11d48 100%);
    border-color: #ff6b9d;
    color: #ffffff;
    box-shadow: 0 4px 14px rgba(255, 45, 117, 0.45);
}

/* FAQ Answer Content Body */
.faq-answer,
.cat-faq-answer {
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    padding: 0 1.85rem;
    transition: max-height 0.4s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.35s ease, padding 0.35s ease;
}

.faq-item.active .faq-answer,
.cat-faq-item.active .cat-faq-answer {
    max-height: 500px;
    opacity: 1;
    padding: 0 1.85rem 1.65rem 1.85rem;
}

.faq-answer p,
.cat-faq-answer p {
    font-family: var(--font-body);
    font-size: 0.96rem;
    line-height: 1.72;
    color: #cbd5e1;
    margin: 0;
    padding-top: 0.5rem;
    border-top: 1px dashed rgba(255, 255, 255, 0.1);
}

/* Mobile Responsiveness for FAQ Section */
@media (max-width: 600px) {
    .cat-faq-section {
        padding: 4rem 0 4.5rem;
    }

    .faq-question,
    .cat-faq-question {
        padding: 1.15rem 1.25rem;
        font-size: 1.02rem;
    }

    .faq-icon,
    .cat-faq-icon {
        width: 32px;
        height: 32px;
        font-size: 0.82rem;
    }

    .faq-item.active .faq-answer,
    .cat-faq-item.active .cat-faq-answer {
        padding: 0 1.25rem 1.35rem 1.25rem;
    }

    .faq-answer p,
    .cat-faq-answer p {
        font-size: 0.9rem;
        line-height: 1.65;
    }
}

/* ==============================================================================
   PROFILE TEMPLATE DESIGN SYSTEM (Beige, Black, Pink & 3-Column Hero Layout)
   Matching Reference Design & Unified Multi-Profile Architecture
   ============================================================================== */

.profile-page-wrapper {
    padding-top: 1rem;
    padding-bottom: 4rem;
    color: var(--text-primary);
}

.profile-hero-crumbs {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.85rem;
    color: var(--text-muted);
    margin-bottom: 1.25rem;
    flex-wrap: wrap;
}

.profile-hero-crumbs a {
    color: var(--text-secondary);
    transition: var(--transition-smooth);
}

.profile-hero-crumbs a:hover {
    color: var(--pink-light);
}

.profile-hero-crumbs span.active-crumb {
    color: var(--gold-accent);
    font-weight: 700;
}

.profile-top-tags {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    margin-bottom: 1.5rem;
    flex-wrap: wrap;
}

.profile-pill-tag {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    background: rgba(245, 176, 65, 0.08);
    border: 1px solid rgba(245, 176, 65, 0.35);
    color: #f7c06d;
    padding: 0.35rem 0.9rem;
    border-radius: var(--radius-pill);
    font-size: 0.8rem;
    font-weight: 600;
    letter-spacing: 0.2px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

.profile-pill-tag.tag-pink {
    background: rgba(255, 45, 117, 0.08);
    border-color: rgba(255, 117, 140, 0.35);
    color: var(--pink-soft);
}

.profile-pill-tag.tag-green {
    background: rgba(37, 211, 102, 0.08);
    border-color: rgba(37, 211, 102, 0.35);
    color: #4ade80;
}

/* 3-Column Luxury Hero Grid */
.profile-hero-grid {
    display: grid;
    grid-template-columns: minmax(290px, 1.15fr) minmax(230px, 0.9fr) minmax(320px, 1.35fr);
    gap: 0.85rem;
    align-items: stretch;
    margin-bottom: 2.75rem;
}

/* Column 1: Portrait Media Showcase */
.profile-photo-card {
    position: relative;
    border-radius: 18px;
    overflow: hidden;
    background: #10121a;
    border: 1px solid rgba(255, 117, 140, 0.3);
    box-shadow: 0 16px 45px rgba(0, 0, 0, 0.65);
    display: flex;
    flex-direction: column;
    height: 480px;
    cursor: pointer;
}

.profile-photo-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    display: block;
    transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.profile-photo-card:hover .profile-photo-img {
    transform: scale(1.04);
}

.profile-photo-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 2rem 1.25rem 1.15rem;
    background: linear-gradient(to top, rgba(9, 10, 15, 0.98) 0%, rgba(9, 10, 15, 0.8) 50%, rgba(9, 10, 15, 0) 100%);
    pointer-events: auto;
    z-index: 2;
}

.profile-overlay-tag {
    display: inline-block;
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 1.4px;
    text-transform: uppercase;
    color: var(--gold-accent);
    margin-bottom: 0.25rem;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.9);
}

.profile-overlay-title {
    font-size: 1.65rem;
    font-weight: 800;
    color: #ffffff;
    text-transform: uppercase;
    margin-bottom: 0.25rem;
    line-height: 1.2;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.95);
    letter-spacing: 0.5px;
}

.profile-overlay-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.profile-overlay-meta {
    font-size: 0.9rem;
    font-weight: 500;
    color: #e2e8f0;
}

.profile-overlay-fullscreen {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--pink-soft);
    background: rgba(255, 45, 117, 0.16);
    border: 1px solid rgba(255, 117, 140, 0.35);
    border-radius: var(--radius-pill);
    padding: 0.3rem 0.75rem;
    cursor: pointer;
    transition: var(--transition-smooth);
}

.profile-overlay-fullscreen:hover {
    background: rgba(255, 45, 117, 0.3);
    color: #ffffff;
}

/* Column 2: Specs Quick-Stack Cards (Tight, Balanced Height) */
.profile-specs-stack {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    justify-content: space-between;
    height: 480px;
}

.profile-spec-card {
    flex: 1;
    min-height: 0;
    background: rgba(18, 21, 31, 0.85);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 14px;
    padding: 0.65rem 1rem;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    transition: var(--transition-smooth);
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.3);
    backdrop-filter: blur(8px);
}

.profile-spec-card:hover {
    border-color: rgba(245, 176, 65, 0.45);
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.45);
    background: rgba(24, 28, 42, 0.9);
}

.spec-icon-box {
    width: 38px;
    height: 38px;
    min-width: 38px;
    border-radius: 50%;
    border: 1px solid rgba(245, 176, 65, 0.4);
    background: rgba(245, 176, 65, 0.08);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--gold-accent);
    font-size: 0.95rem;
}

.spec-info {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

.spec-meta-label {
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 1.1px;
    text-transform: uppercase;
    color: var(--text-muted);
}

.spec-meta-value {
    font-size: 0.95rem;
    font-weight: 700;
    color: #ffffff;
    line-height: 1.25;
}

/* Column 3: Direct Booking Box with Smooth Internal Scroll */
.profile-booking-card {
    background: rgba(18, 21, 31, 0.96);
    border: 1px solid rgba(255, 117, 140, 0.3);
    border-radius: 18px;
    padding: 1.15rem 1.25rem;
    box-shadow: 0 18px 45px rgba(0, 0, 0, 0.6);
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    height: 480px;
    max-height: 480px;
    overflow-y: auto;
    overflow-x: hidden;
    scrollbar-width: thin;
    scrollbar-color: rgba(255, 45, 117, 0.4) rgba(10, 12, 18, 0.6);
}

.profile-booking-card::-webkit-scrollbar {
    width: 6px;
}

.profile-booking-card::-webkit-scrollbar-track {
    background: rgba(10, 12, 18, 0.6);
    border-radius: 8px;
}

.profile-booking-card::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, var(--pink-primary) 0%, rgba(255, 117, 140, 0.4) 100%);
    border-radius: 8px;
}

.profile-booking-card::-webkit-scrollbar-thumb:hover {
    background: var(--pink-primary);
}

.booking-head-tag {
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 1.4px;
    text-transform: uppercase;
    color: var(--gold-accent);
}

.booking-head-title {
    font-size: 1.3rem;
    font-weight: 800;
    color: #ffffff;
    line-height: 1.25;
    margin: 0.15rem 0;
}

.booking-head-sub {
    font-size: 0.82rem;
    color: var(--text-secondary);
    line-height: 1.4;
}

.booking-price-box {
    background: rgba(10, 12, 18, 0.85);
    border: 1px solid rgba(255, 255, 255, 0.09);
    border-radius: 14px;
    padding: 0.75rem 1rem;
}

.price-box-label {
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 1.1px;
    text-transform: uppercase;
    color: var(--text-muted);
}

.price-box-val {
    font-size: 1.9rem;
    font-weight: 900;
    color: #ffffff;
    line-height: 1.1;
    margin: 0.15rem 0;
}

.price-box-sub {
    font-size: 0.78rem;
    color: var(--text-secondary);
}

.btn-profile-whatsapp {
    background: linear-gradient(135deg, #25D366 0%, #1da851 100%);
    color: #ffffff;
    font-weight: 700;
    font-size: 0.98rem;
    padding: 0.8rem 1.25rem;
    border-radius: 12px;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    box-shadow: 0 6px 20px rgba(37, 211, 102, 0.35);
    transition: var(--transition-smooth);
    text-decoration: none;
}

.btn-profile-whatsapp:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 25px rgba(37, 211, 102, 0.5);
    color: #ffffff;
}

.btn-profile-call {
    background: rgba(255, 45, 117, 0.12);
    color: var(--pink-soft);
    border: 1px solid rgba(255, 45, 117, 0.35);
    font-weight: 600;
    padding: 0.7rem 1.1rem;
    border-radius: 11px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    text-decoration: none;
    font-size: 0.9rem;
    transition: var(--transition-smooth);
}

.btn-profile-call:hover {
    background: rgba(255, 45, 117, 0.25);
    color: #ffffff;
    border-color: var(--pink-primary);
}

.booking-why-box {
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    padding-top: 0.75rem;
}

.booking-why-title {
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 1.1px;
    text-transform: uppercase;
    color: var(--gold-accent);
    margin-bottom: 0.55rem;
}

.booking-why-item {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
    font-size: 0.82rem;
    color: #d0d6e2;
    margin-bottom: 0.45rem;
    line-height: 1.35;
}

.why-check-icon {
    color: var(--gold-accent);
    font-size: 0.85rem;
    margin-top: 2px;
    flex-shrink: 0;
}

/* Seductive Story & Experience Section */
.profile-story-card {
    background: linear-gradient(145deg, rgba(21, 24, 36, 0.95) 0%, rgba(29, 25, 28, 0.9) 100%);
    border: 1px solid rgba(255, 117, 140, 0.25);
    border-radius: 22px;
    padding: 2.5rem;
    margin-bottom: 3.5rem;
    box-shadow: 0 20px 45px rgba(0, 0, 0, 0.5);
}

.profile-h1-title {
    font-size: 2.2rem;
    font-weight: 800;
    margin-bottom: 1.25rem;
    color: #ffffff;
    line-height: 1.25;
}

.profile-story-text {
    font-size: 1.05rem;
    line-height: 1.85;
    color: #d2d8e6;
    margin-bottom: 1.5rem;
}

.profile-story-text p {
    margin-bottom: 1.25rem;
}

.profile-pills-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-top: 1.75rem;
}

.profile-feature-pill {
    background: rgba(255, 45, 117, 0.12);
    border: 1px solid rgba(255, 117, 140, 0.3);
    color: #ffffff;
    padding: 0.55rem 1.15rem;
    border-radius: var(--radius-pill);
    font-size: 0.88rem;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}

/* Rates Grid Section */
.profile-rates-header {
    text-align: center;
    margin-bottom: 2rem;
}

.profile-rates-header h2 {
    font-size: 2rem;
    font-weight: 800;
    color: #ffffff;
    margin-bottom: 0.5rem;
}

.profile-rates-header p {
    color: var(--text-secondary);
    font-size: 1rem;
    max-width: 680px;
    margin: 0 auto;
}

.profile-rates-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.25rem;
    margin-bottom: 3.5rem;
}

.profile-rate-card {
    background: rgba(21, 24, 36, 0.85);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 18px;
    padding: 1.75rem 1.25rem;
    text-align: center;
    position: relative;
    transition: var(--transition-smooth);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35);
}

.profile-rate-card:hover {
    transform: translateY(-4px);
    border-color: rgba(255, 117, 140, 0.5);
    box-shadow: 0 16px 40px rgba(255, 45, 117, 0.2);
}

.profile-rate-card.featured {
    background: linear-gradient(145deg, rgba(32, 28, 24, 0.95) 0%, rgba(21, 24, 36, 0.95) 100%);
    border: 1px solid rgba(245, 176, 65, 0.6);
    box-shadow: 0 12px 35px rgba(245, 176, 65, 0.18);
}

.rate-badge-pop {
    position: absolute;
    top: -12px;
    left: 50%;
    transform: translateX(-50%);
    background: var(--gold-accent);
    color: #000000;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 1px;
    text-transform: uppercase;
    padding: 0.25rem 0.85rem;
    border-radius: var(--radius-pill);
    box-shadow: 0 4px 12px rgba(245, 176, 65, 0.4);
    white-space: nowrap;
}

.rate-card-title {
    font-size: 1.25rem;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 0.35rem;
}

.rate-card-shots {
    font-size: 0.85rem;
    color: var(--text-muted);
    margin-bottom: 1rem;
}

.rate-card-price {
    font-size: 2.1rem;
    font-weight: 900;
    color: #ffffff;
    margin-bottom: 1.25rem;
}

.rate-card-btn {
    background: rgba(255, 45, 117, 0.12);
    border: 1px solid rgba(255, 117, 140, 0.35);
    color: var(--pink-soft);
    padding: 0.75rem 1rem;
    border-radius: 12px;
    font-weight: 700;
    font-size: 0.9rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    transition: var(--transition-smooth);
    text-decoration: none;
}

.profile-rate-card.featured .rate-card-btn {
    background: var(--gold-accent);
    color: #000000;
    border-color: var(--gold-accent);
}

.rate-card-btn:hover {
    background: var(--pink-primary);
    color: #ffffff;
    border-color: var(--pink-primary);
}

.profile-rate-card.featured .rate-card-btn:hover {
    background: #e5a435;
    color: #000000;
}

/* Signature Sensual Specialties Section */
.profile-services-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.25rem;
    margin-bottom: 3.5rem;
}

.profile-service-card {
    background: rgba(21, 24, 36, 0.85);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 18px;
    padding: 1.75rem 1.4rem;
    transition: var(--transition-smooth);
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
}

.profile-service-card:hover {
    border-color: rgba(255, 117, 140, 0.45);
    transform: translateY(-4px);
    box-shadow: 0 14px 35px rgba(255, 45, 117, 0.18);
    background: rgba(26, 30, 45, 0.95);
}

.service-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.service-icon-box {
    width: 48px;
    height: 48px;
    border-radius: 14px;
    background: linear-gradient(135deg, rgba(255, 45, 117, 0.2) 0%, rgba(245, 176, 65, 0.15) 100%);
    border: 1px solid rgba(255, 117, 140, 0.35);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
    color: var(--pink-soft);
}

.service-badge {
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: var(--gold-accent);
    background: rgba(245, 176, 65, 0.1);
    border: 1px solid rgba(245, 176, 65, 0.25);
    padding: 0.25rem 0.65rem;
    border-radius: var(--radius-pill);
}

.service-card-title {
    font-size: 1.15rem;
    font-weight: 700;
    color: #ffffff;
    line-height: 1.3;
}

.service-card-desc {
    font-size: 0.88rem;
    color: #c2c9d8;
    line-height: 1.6;
}

/* 4-Step Booking Process Roadmap */
.profile-steps-section {
    margin-top: 1.5rem;
    margin-bottom: 3.5rem;
}

.profile-steps-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.25rem;
}

.profile-step-card {
    background: linear-gradient(145deg, rgba(21, 24, 36, 0.9) 0%, rgba(18, 20, 30, 0.9) 100%);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 18px;
    padding: 1.6rem 1.25rem;
    position: relative;
    transition: var(--transition-smooth);
}

.profile-step-card:hover {
    border-color: rgba(245, 176, 65, 0.45);
    transform: translateY(-4px);
    box-shadow: 0 14px 35px rgba(0, 0, 0, 0.5);
}

.step-num-badge {
    font-size: 1.8rem;
    font-weight: 900;
    color: rgba(255, 117, 140, 0.25);
    line-height: 1;
    margin-bottom: 0.75rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.step-icon {
    font-size: 1.2rem;
    color: var(--gold-accent);
}

.step-title {
    font-size: 1.05rem;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 0.5rem;
}

.step-desc {
    font-size: 0.85rem;
    color: #c2c9d8;
    line-height: 1.55;
}

/* Photo Gallery Showcase */
.profile-gallery-section {
    margin-bottom: 3.5rem;
}

.profile-gallery-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.25rem;
}

.profile-thumb-card {
    position: relative;
    border-radius: 16px;
    overflow: hidden;
    aspect-ratio: 3 / 4;
    cursor: pointer;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: #10121a;
}

.profile-thumb-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
    display: block;
}

.profile-thumb-card:hover .profile-thumb-img {
    transform: scale(1.06);
}

.profile-thumb-badge {
    position: absolute;
    bottom: 10px;
    left: 10px;
    background: rgba(9, 10, 15, 0.8);
    backdrop-filter: blur(6px);
    border: 1px solid rgba(255, 255, 255, 0.15);
    color: #ffffff;
    font-size: 0.75rem;
    padding: 0.25rem 0.65rem;
    border-radius: var(--radius-pill);
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

/* Similar Profiles Grid */
.profile-similar-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
    margin-bottom: 3.5rem;
}

.similar-profile-card {
    background: rgba(21, 24, 36, 0.85);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 18px;
    overflow: hidden;
    transition: var(--transition-smooth);
    display: flex;
    flex-direction: column;
}

.similar-profile-card:hover {
    border-color: rgba(255, 117, 140, 0.45);
    transform: translateY(-4px);
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.4);
}

.similar-media {
    position: relative;
    aspect-ratio: 4 / 5;
    overflow: hidden;
}

.similar-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.similar-profile-card:hover .similar-img {
    transform: scale(1.05);
}

.similar-body {
    padding: 1.25rem;
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    flex: 1;
    justify-content: space-between;
}

.similar-name {
    font-size: 1.25rem;
    font-weight: 700;
    color: #ffffff;
    margin: 0;
}

.similar-loc {
    font-size: 0.85rem;
    color: var(--gold-accent);
}

.similar-desc {
    font-size: 0.88rem;
    color: var(--text-secondary);
    line-height: 1.5;
}

/* Lightbox Modal */
.profile-lightbox-modal {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.94);
    z-index: 10000;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 1.5rem;
    backdrop-filter: blur(10px);
}

.profile-lightbox-modal.active {
    display: flex;
}

.lightbox-content-wrap {
    position: relative;
    max-width: 900px;
    max-height: 90vh;
}

.lightbox-img-active {
    max-width: 100%;
    max-height: 85vh;
    border-radius: 14px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.8);
    border: 1px solid rgba(255, 255, 255, 0.15);
}

.lightbox-close-btn {
    position: absolute;
    top: -45px;
    right: 0;
    background: none;
    border: none;
    color: #ffffff;
    font-size: 2rem;
    cursor: pointer;
    line-height: 1;
}

/* Mobile Floating Booking Bar */
.profile-mobile-bar {
    display: none;
}

@media (max-width: 768px) {
    .profile-mobile-bar {
        display: flex;
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        z-index: 999;
        background: rgba(12, 14, 21, 0.98);
        backdrop-filter: blur(14px);
        border-top: 1px solid rgba(255, 117, 140, 0.35);
        padding: 0.65rem 1rem;
        align-items: center;
        justify-content: space-between;
        gap: 0.75rem;
        box-shadow: 0 -8px 24px rgba(0, 0, 0, 0.7);
    }

    .mobile-bar-info {
        display: flex;
        flex-direction: column;
    }

    .mobile-bar-name {
        font-size: 0.95rem;
        font-weight: 700;
        color: #ffffff;
    }

    .mobile-bar-price {
        font-size: 0.82rem;
        color: var(--gold-accent);
        font-weight: 600;
    }

    .mobile-bar-actions {
        display: flex;
        align-items: center;
        gap: 0.5rem;
    }

    .btn-mobile-call {
        background: rgba(255, 45, 117, 0.15);
        color: var(--pink-soft);
        border: 1px solid rgba(255, 117, 140, 0.35);
        padding: 0.55rem 0.85rem;
        border-radius: 10px;
        font-size: 0.85rem;
        font-weight: 600;
        display: flex;
        align-items: center;
        gap: 0.35rem;
    }

    .btn-mobile-wa {
        background: #25D366;
        color: #ffffff;
        padding: 0.55rem 1rem;
        border-radius: 10px;
        font-size: 0.85rem;
        font-weight: 700;
        display: flex;
        align-items: center;
        gap: 0.35rem;
    }
}

/* Responsive Grid Breakpoints */
@media (max-width: 1080px) {
    .profile-hero-grid {
        grid-template-columns: 1fr 1fr;
    }

    .profile-booking-card {
        grid-column: 1 / -1;
    }

    .profile-rates-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .profile-gallery-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .profile-services-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .profile-steps-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .profile-similar-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .profile-hero-grid {
        grid-template-columns: 1fr;
        gap: 1.25rem;
    }

    .profile-photo-card {
        min-height: 440px;
    }

    .profile-photo-img {
        min-height: 440px;
    }

    .profile-rates-grid {
        grid-template-columns: 1fr;
    }

    .profile-services-grid {
        grid-template-columns: 1fr;
    }

    .profile-steps-grid {
        grid-template-columns: 1fr;
    }

    .profile-h1-title {
        font-size: 1.65rem;
    }

    .profile-story-card {
        padding: 1.5rem;
    }
}








