/* Sugar Baby Escorts — Royal Luxury Theme (performance-optimised) */
:root {
    --bg: #0c0a0f;
    --bg-card: #141018;
    --bg-elevated: #1a1520;
    --bg-glass: rgba(20, 16, 24, 0.88);
    --border: rgba(201, 169, 98, 0.12);
    --border-glow: rgba(201, 169, 98, 0.28);
    --text: #f8f4ef;
    --muted: #9e9186;
    --burgundy: #8b4a52;
    --burgundy-deep: #5c2e35;
    --gold: #c9a962;
    --gold-light: #e8d9b5;
    --champagne: #d4b87a;
    --accent: #c9a962;
    --accent-soft: rgba(201, 169, 98, 0.15);
    --gradient-brand: linear-gradient(135deg, #8b4a52 0%, #c9a962 50%, #8b4a52 100%);
    --gradient-royal: linear-gradient(180deg, rgba(139,74,82,0.08) 0%, transparent 50%);
    --font-h: 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
    --font-b: 'Outfit', system-ui, -apple-system, sans-serif;
    --radius: 12px;
    --radius-lg: 20px;
    --shadow: 0 8px 32px rgba(0,0,0,0.45);
    --trans: 0.25s ease;
    --header-h: 88px;
    --topbar-h: 40px;
    --ribbon-h: var(--topbar-h);
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html {
    scroll-behavior: smooth;
    -webkit-font-smoothing: antialiased;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
    touch-action: manipulation;
    overflow-x: clip;
    width: 100%;
    height: 100%;
}
body {
    font-family: var(--font-b);
    font-size: 16px;
    line-height: 1.75;
    color: var(--text);
    background: var(--bg);
    overflow-x: clip;
    width: 100%;
    max-width: 100%;
    min-height: 100%;
    touch-action: pan-x pan-y;
    -webkit-overflow-scrolling: touch;
}

/* Location pages — full-page background (locations.webp) */
body.page-locations-bg {
    background-color: var(--bg);
}
.locations-page-bg {
    position: fixed;
    inset: 0;
    z-index: 0;
    background-color: var(--bg);
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    pointer-events: none;
}
body.page-locations-bg::after {
    content: '';
    position: fixed;
    inset: 0;
    z-index: 0;
    background: rgba(12, 10, 15, 0.38);
    pointer-events: none;
}
body.page-locations-bg > .locations-page-bg {
    z-index: 0;
}
body.page-locations-bg > .header-topbar {
    position: relative;
    z-index: 1001;
}
body.page-locations-bg > .site-header {
    position: relative;
    z-index: 1000;
}
body.page-locations-bg > .nav-overlay {
    z-index: 999;
}
body.page-locations-bg > #main,
body.page-locations-bg > .site-footer,
body.page-locations-bg > .floating-whatsapp,
body.page-locations-bg > .floating-telegram,
body.page-locations-bg > .floating-call,
body.page-locations-bg > .back-to-top {
    position: relative;
    z-index: 1;
}
body.page-locations-bg .header-topbar {
    background: rgba(12, 10, 15, 0.55);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}
body.page-locations-bg .site-header {
    background: rgba(12, 10, 15, 0.5);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}
body.page-locations-bg .site-header.scrolled {
    background: rgba(12, 10, 15, 0.82);
}
/* Individual location pages — full-page bg + dedicated hero image */
body.page-locations-bg .section {
    content-visibility: visible;
    contain-intrinsic-size: auto;
}
body.page-locations-bg .vip-hero--locations {
    position: relative;
    overflow: hidden;
    min-height: clamp(420px, 55vh, 580px);
    padding: 56px 0 48px;
    border-bottom: 1px solid rgba(201, 169, 98, 0.15);
    background: transparent;
}
body.page-locations-bg .vip-hero-bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    z-index: 0;
}
body.page-locations-bg .vip-hero--locations .vip-hero-overlay {
    z-index: 1;
    background: linear-gradient(180deg, rgba(12,10,15,0.15) 0%, rgba(12,10,15,0.55) 45%, rgba(12,10,15,0.92) 100%);
}
body.page-locations-bg .vip-hero-inner {
    z-index: 2;
}

body.page-locations-bg .page-hero--locations {
    background: transparent;
    border-bottom-color: rgba(201, 169, 98, 0.15);
}
body.page-locations-bg .vip-hero-overlay {
    background: linear-gradient(180deg, rgba(12,10,15,0.35) 0%, rgba(12,10,15,0.75) 100%);
}
body.page-locations-bg .content-rich--alt,
body.page-locations-bg .hub-intro-section {
    background: rgba(12, 10, 15, 0.35);
}
body.page-locations-bg .hub-card,
body.page-locations-bg .glass,
body.page-locations-bg .sidebar-card,
body.page-locations-bg .cta-strip,
body.page-locations-bg .loc-spotlight {
    background: rgba(20, 16, 24, 0.82);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}
body.page-locations-bg .site-footer {
    background: rgba(12, 10, 15, 0.92);
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--gold); text-decoration: none; transition: color var(--trans); }
a:hover { color: var(--gold-light); }
ul, ol { list-style: none; }
.container { max-width: 1200px; margin: 0 auto; padding: 0 24px; }

/* Performance: defer off-screen rendering */
.section:not(.hero) { content-visibility: auto; contain-intrinsic-size: auto 480px; }

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; }
    html { scroll-behavior: auto; }
}

/* Keywords — royal gold */
.kw, .ilink { color: var(--gold); font-weight: 500; text-decoration: underline; text-underline-offset: 3px; text-decoration-color: rgba(201,169,98,0.35); }
.kw:hover, .ilink:hover { color: var(--gold-light); }
.dup-highlight { color: var(--champagne); font-weight: 600; text-decoration: underline dotted; text-underline-offset: 3px; cursor: default; }
.rich-content strong { color: var(--text); }
.rich-content h2 { font-family: var(--font-h); font-size: 1.85rem; margin: 2rem 0 1rem; font-weight: 600; }
.rich-content h3 { font-family: var(--font-h); font-size: 1.3rem; margin: 1.5rem 0 0.75rem; }
.rich-content p, .rich-content li { color: var(--muted); margin-bottom: 1rem; }
.rich-content ul, .rich-content ol { padding-left: 1.25rem; list-style: disc; }

/* Top bar */
.header-topbar {
    position: relative;
    z-index: 1001;
    height: var(--topbar-h);
    background: linear-gradient(90deg, rgba(92,46,53,0.55) 0%, rgba(20,16,24,0.95) 35%, rgba(20,16,24,0.95) 65%, rgba(92,46,53,0.55) 100%);
    border-bottom: 1px solid rgba(201,169,98,0.1);
    display: flex;
    align-items: center;
    font-size: 0.74rem;
}
.topbar-inner {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    width: 100%;
}
.topbar-left { display: flex; align-items: center; gap: 14px; min-width: 0; }
.topbar-live {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--gold-light);
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    white-space: nowrap;
}
.live-dot {
    width: 7px; height: 7px;
    border-radius: 50%;
    background: #6ee7a0;
    box-shadow: 0 0 0 0 rgba(110,231,160,0.5);
    animation: livePulse 2s ease infinite;
}
@keyframes livePulse {
    0% { box-shadow: 0 0 0 0 rgba(110,231,160,0.45); }
    70% { box-shadow: 0 0 0 8px rgba(110,231,160,0); }
    100% { box-shadow: 0 0 0 0 rgba(110,231,160,0); }
}
.topbar-sep {
    width: 1px; height: 14px;
    background: rgba(201,169,98,0.25);
    flex-shrink: 0;
}
.topbar-note { color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.topbar-phone {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: var(--champagne);
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
    transition: color var(--trans);
}
.topbar-phone:hover { color: var(--gold-light); }

/* Header */
.site-header {
    position: sticky;
    top: 0;
    z-index: 1000;
    height: var(--header-h);
    background: rgba(12,10,15,0.72);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    border-bottom: 1px solid rgba(201,169,98,0.08);
    transition: height var(--trans), background var(--trans), box-shadow var(--trans), border-color var(--trans);
}
.site-header.scrolled {
    height: 76px;
    background: rgba(12,10,15,0.94);
    border-bottom-color: rgba(201,169,98,0.16);
    box-shadow: 0 12px 40px rgba(0,0,0,0.45);
}
.header-shimmer {
    position: absolute;
    inset: 0;
    background: linear-gradient(105deg, transparent 40%, rgba(201,169,98,0.04) 50%, transparent 60%);
    background-size: 200% 100%;
    animation: headerShimmer 8s ease-in-out infinite;
    pointer-events: none;
}
@keyframes headerShimmer {
    0%, 100% { background-position: 200% 0; }
    50% { background-position: -200% 0; }
}
.header-accent {
    position: absolute;
    bottom: 0; left: 0; right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(201,169,98,0.45) 20%, rgba(139,74,82,0.35) 50%, rgba(201,169,98,0.45) 80%, transparent);
    opacity: 0.7;
}
.header-inner {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    height: 100%;
    gap: 24px;
}

/* Logo */
.logo {
    display: flex;
    align-items: center;
    gap: 14px;
    color: var(--text);
    text-decoration: none;
    flex-shrink: 0;
}
.logo:hover { color: var(--text); }
.logo-emblem {
    position: relative;
    width: 52px;
    height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border-radius: 50%;
    background: radial-gradient(circle at 35% 30%, rgba(201,169,98,0.22), rgba(20,16,24,0.95) 65%);
    border: 1.5px solid rgba(201,169,98,0.35);
    box-shadow: 0 0 24px rgba(201,169,98,0.12), inset 0 1px 0 rgba(255,255,255,0.06);
}
.logo--luxury .logo-emblem {
    width: 48px;
    height: 48px;
}
.logo-monogram {
    position: relative;
    z-index: 1;
    font-family: var(--font-h);
    font-size: 1.55rem;
    font-weight: 700;
    background: var(--gradient-brand);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    line-height: 1;
}
.logo-text-wrap { display: flex; flex-direction: column; gap: 2px; }
.logo-text {
    font-family: var(--font-h);
    font-size: 1.38rem;
    font-weight: 600;
    line-height: 1.1;
    letter-spacing: 0.01em;
}
.logo-sub {
    font-size: 0.58rem;
    color: var(--gold);
    letter-spacing: 0.24em;
    text-transform: uppercase;
    font-weight: 600;
}
/* Footer / legacy logo mark */
.logo-icon {
    width: 46px; height: 46px;
    display: flex; align-items: center; justify-content: center;
    background: var(--gradient-brand);
    color: var(--bg);
    font-family: var(--font-h);
    font-size: 1.4rem;
    font-weight: 700;
    border-radius: 50%;
    border: 1px solid rgba(201,169,98,0.3);
    flex-shrink: 0;
}

/* Navigation */
.main-nav { justify-self: center; }
.nav-list {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 5px;
    border-radius: 999px;
    background: rgba(255,255,255,0.02);
    border: 1px solid rgba(201,169,98,0.08);
}
.nav-link {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 10px 16px;
    color: var(--muted);
    font-size: 0.76rem;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    border-radius: 999px;
    text-decoration: none;
    transition: color var(--trans), background var(--trans), box-shadow var(--trans);
}
.nav-link:hover {
    color: var(--gold-light);
    background: rgba(201,169,98,0.08);
}
.nav-link.active {
    color: var(--bg);
    background: linear-gradient(135deg, #c9a962 0%, #e8d9b5 45%, #a8894a 100%);
    box-shadow: 0 4px 18px rgba(201,169,98,0.25);
    font-weight: 600;
}
.nav-link-dot { display: none; }
.nav-panel-head, .nav-panel-cta { display: none; }

/* Header actions */
.header-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    justify-self: end;
}
.header-call-pill {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 10px 16px;
    border-radius: 999px;
    border: 1px solid rgba(201,169,98,0.18);
    background: rgba(201,169,98,0.04);
    color: var(--muted);
    font-size: 0.82rem;
    font-weight: 500;
    text-decoration: none;
    transition: color var(--trans), border-color var(--trans), background var(--trans);
}
.header-call-pill:hover {
    color: var(--gold-light);
    border-color: rgba(201,169,98,0.35);
    background: rgba(201,169,98,0.08);
}
.header-call-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px; height: 28px;
    border-radius: 50%;
    background: rgba(201,169,98,0.12);
    color: var(--gold);
}
.header-wa-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 11px 20px;
    border-radius: 999px;
    background: linear-gradient(135deg, #8b4a52 0%, #c9a962 100%);
    color: var(--bg);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    text-decoration: none;
    box-shadow: 0 6px 22px rgba(139,74,82,0.35);
    transition: transform var(--trans), box-shadow var(--trans), filter var(--trans);
}
.header-wa-btn:hover {
    color: var(--bg);
    transform: translateY(-1px);
    box-shadow: 0 10px 28px rgba(139,74,82,0.45);
    filter: brightness(1.05);
}
.header-tg-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #229ED9;
    color: #fff;
    text-decoration: none;
    box-shadow: 0 4px 16px rgba(34,158,217,0.35);
    transition: transform var(--trans), box-shadow var(--trans);
}
.header-tg-btn:hover {
    color: #fff;
    transform: translateY(-1px);
    box-shadow: 0 8px 22px rgba(34,158,217,0.45);
}
.nav-toggle {
    display: none;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    width: 44px; height: 44px;
    background: rgba(201,169,98,0.06);
    border: 1px solid rgba(201,169,98,0.18);
    border-radius: 12px;
    cursor: pointer;
    padding: 10px;
    transition: background var(--trans), border-color var(--trans);
}
.nav-toggle:hover { background: rgba(201,169,98,0.12); border-color: rgba(201,169,98,0.3); }
.nav-toggle-bar {
    display: block;
    width: 100%;
    height: 2px;
    background: var(--gold-light);
    border-radius: 2px;
    transition: transform var(--trans), opacity var(--trans);
}
.nav-toggle.active .nav-toggle-bar:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.nav-toggle.active .nav-toggle-bar:nth-child(2) { opacity: 0; transform: scaleX(0); }
.nav-toggle.active .nav-toggle-bar:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

.nav-overlay {
    position: fixed;
    inset: 0;
    z-index: 998;
    background: rgba(8,6,10,0.72);
    backdrop-filter: blur(4px);
    opacity: 0;
    visibility: hidden;
    transition: opacity var(--trans), visibility var(--trans);
}
.nav-overlay.visible { opacity: 1; visibility: visible; }
body.nav-open { overflow: hidden; }

/* Legacy ribbon aliases (footer/other refs) */
.header-ribbon { display: none; }

/* Buttons */
.btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    padding: 12px 26px; font-family: var(--font-b); font-size: 0.8rem; font-weight: 600;
    letter-spacing: 0.07em; text-transform: uppercase; border: none; border-radius: 8px;
    cursor: pointer; transition: transform var(--trans), box-shadow var(--trans); text-decoration: none;
}
.btn-primary { background: var(--gradient-brand); color: #fff; border: 1px solid rgba(201,169,98,0.25); }
.btn-primary:hover { color: #fff; transform: translateY(-2px); box-shadow: 0 6px 24px rgba(201,169,98,0.25); }
.btn-outline { background: transparent; color: var(--gold-light); border: 1px solid rgba(201,169,98,0.4); }
.btn-outline:hover { background: var(--accent-soft); color: var(--gold-light); }
.btn-ghost { background: rgba(255,255,255,0.04); color: var(--text); border: 1px solid var(--border); }
.btn-ghost:hover { background: var(--accent-soft); color: var(--gold); }
.btn-sm { padding: 8px 18px; font-size: 0.72rem; }
.btn-lg { padding: 16px 34px; font-size: 0.88rem; }
.btn-block { width: 100%; }

/* Glass */
.glass { background: var(--bg-glass); border: 1px solid var(--border); }

/* Hero */
.hero { position: relative; height: 90vh; min-height: 540px; overflow: hidden; background: var(--bg-card); }
.hero-slider { position: relative; width: 100%; height: 100%; }
.hero-slide {
    position: absolute; inset: 0;
    background-size: cover; background-position: center 25%;
    opacity: 0; transition: opacity 1s ease;
}
.hero-slide.active { opacity: 1; }
.hero-overlay {
    position: absolute; inset: 0;
    background: linear-gradient(105deg, rgba(12,10,15,0.93) 0%, rgba(12,10,15,0.55) 50%, rgba(12,10,15,0.82) 100%),
                linear-gradient(180deg, transparent 55%, var(--bg) 100%);
}
.hero-content { position: relative; z-index: 2; display: flex; flex-direction: column; justify-content: center; height: 100%; padding-top: 40px; }
.hero-label {
    display: inline-block; width: fit-content;
    font-size: 0.72rem; font-weight: 600; letter-spacing: 0.28em; text-transform: uppercase;
    color: var(--champagne); margin-bottom: 18px;
    padding: 6px 18px; border: 1px solid rgba(201,169,98,0.35); border-radius: 30px;
    background: rgba(201,169,98,0.06);
}
.hero-title {
    font-family: var(--font-h); font-size: clamp(2.6rem, 6.5vw, 4.6rem);
    font-weight: 600; line-height: 1.05; max-width: 700px; margin-bottom: 18px;
}
.hero-subtitle { font-size: clamp(1rem, 2vw, 1.18rem); color: var(--muted); max-width: 520px; margin-bottom: 34px; }
.hero-actions { display: flex; gap: 14px; flex-wrap: wrap; }
.hero-nav { position: absolute; bottom: 36px; left: 50%; transform: translateX(-50%); z-index: 10; display: flex; align-items: center; gap: 16px; }
.hero-prev, .hero-next {
    width: 42px; height: 42px; border-radius: 50%;
    background: rgba(20,16,24,0.7); border: 1px solid var(--border);
    color: var(--gold-light); cursor: pointer; transition: border-color var(--trans);
}
.hero-prev:hover, .hero-next:hover { border-color: var(--gold); }
.hero-dots { display: flex; gap: 8px; }
.hero-dot {
    width: 28px; height: 3px; border-radius: 2px;
    background: rgba(201,169,98,0.2); border: none; cursor: pointer; padding: 0;
    transition: background var(--trans), width var(--trans);
}
.hero-dot.active { background: var(--gold); width: 40px; }

/* Stats */
.stats-bar { padding: 32px 0; background: var(--bg-card); border-bottom: 1px solid var(--border); }
.stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; text-align: center; }
.stat-item { padding: 18px 12px; border: 1px solid var(--border); border-radius: var(--radius); }
.stat-num { display: block; font-family: var(--font-h); font-size: 2rem; font-weight: 700; color: var(--gold); line-height: 1.2; margin-bottom: 4px; }
.stat-label { font-size: 0.75rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.1em; }

/* Luxury prose */
/* Home luxury — premier agency (split visual + features) */
.home-luxury-section {
    padding: clamp(72px, 9vw, 96px) 0;
    background:
        radial-gradient(ellipse 80% 60% at 20% 50%, rgba(139, 74, 82, 0.12) 0%, transparent 55%),
        var(--bg);
    border-top: 1px solid rgba(201, 169, 98, 0.1);
}
.home-luxury-stage {
    display: grid;
    grid-template-columns: minmax(280px, 0.42fr) minmax(0, 0.58fr);
    gap: clamp(32px, 5vw, 56px);
    align-items: start;
}
.home-luxury-visual {
    position: relative;
    min-height: clamp(480px, 52vw, 620px);
    overflow: hidden;
    isolation: isolate;
}
.home-luxury-visual::before {
    content: '';
    position: absolute;
    inset: 18px -18px -18px 18px;
    border: 1px solid rgba(201, 169, 98, 0.28);
    z-index: 0;
    pointer-events: none;
}
.home-luxury-visual img {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 100%;
    min-height: inherit;
    object-fit: cover;
    object-position: center top;
}
.home-luxury-visual-shade {
    position: absolute;
    inset: 0;
    z-index: 2;
    background: linear-gradient(180deg, rgba(12,10,15,0.05) 0%, rgba(12,10,15,0.35) 55%, rgba(12,10,15,0.88) 100%);
    pointer-events: none;
}
.home-luxury-visual-caption {
    position: absolute;
    z-index: 3;
    top: 28px;
    left: 28px;
}
.home-luxury-caption-top {
    display: block;
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--gold-light);
    margin-bottom: 8px;
}
.home-luxury-caption-main {
    font-family: var(--font-h);
    font-size: clamp(2.2rem, 4vw, 3rem);
    font-weight: 600;
    line-height: 1.05;
    color: var(--text);
    text-shadow: 0 2px 20px rgba(0,0,0,0.4);
}
.home-luxury-visual-stat {
    position: absolute;
    z-index: 3;
    bottom: 28px;
    right: 28px;
    text-align: right;
}
.home-luxury-visual-stat strong {
    display: block;
    font-family: var(--font-h);
    font-size: clamp(2.4rem, 4vw, 3.2rem);
    font-weight: 600;
    line-height: 1;
    color: var(--gold-light);
}
.home-luxury-visual-stat span {
    display: block;
    margin-top: 6px;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: rgba(248, 244, 239, 0.7);
}
.home-luxury-main {
    padding-top: 8px;
}
.home-luxury-title {
    font-family: var(--font-h);
    font-size: clamp(2rem, 3.8vw, 2.75rem);
    font-weight: 600;
    line-height: 1.12;
    margin: 12px 0 24px;
}
.home-luxury-prose {
    margin-bottom: 0;
}
.home-luxury-prose p {
    color: var(--muted);
    font-size: 0.96rem;
    line-height: 1.82;
    margin-bottom: 16px;
}
.home-luxury-prose p:last-child { margin-bottom: 0; }

/* Home standard — high-class escort rows */
.home-standard-section {
    padding: clamp(72px, 8vw, 88px) 0;
    background: var(--bg-card);
    border-top: 1px solid rgba(201, 169, 98, 0.1);
    border-bottom: 1px solid rgba(201, 169, 98, 0.1);
}
.home-standard-head {
    max-width: 640px;
    margin-bottom: clamp(36px, 5vw, 52px);
}
.home-standard-title {
    font-family: var(--font-h);
    font-size: clamp(2rem, 3.8vw, 2.75rem);
    font-weight: 600;
    line-height: 1.12;
    margin: 12px 0 16px;
}
.home-standard-lede {
    color: var(--muted);
    font-size: 0.96rem;
    line-height: 1.78;
    margin: 0;
}
.home-standard-list {
    border-top: 1px solid rgba(201, 169, 98, 0.15);
}
.home-standard-item {
    display: grid;
    grid-template-columns: auto auto 1fr auto;
    gap: clamp(16px, 2.5vw, 28px);
    align-items: center;
    padding: clamp(24px, 3.5vw, 32px) clamp(8px, 2vw, 16px);
    border-bottom: 1px solid rgba(201, 169, 98, 0.12);
    text-decoration: none;
    color: inherit;
    transition: background var(--trans), padding-left var(--trans);
}
.home-standard-item:hover {
    background: rgba(201, 169, 98, 0.04);
    padding-left: clamp(16px, 2.5vw, 24px);
    color: inherit;
}
.home-standard-num {
    font-family: var(--font-h);
    font-size: clamp(1.6rem, 2.5vw, 2rem);
    font-weight: 600;
    line-height: 1;
    color: rgba(201, 169, 98, 0.22);
    min-width: 2.5ch;
}
.home-standard-icon {
    flex-shrink: 0;
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
    color: var(--gold);
    border: 1px solid rgba(201, 169, 98, 0.28);
    border-radius: 50%;
    background: rgba(201, 169, 98, 0.05);
}
.home-standard-body h3 {
    font-family: var(--font-h);
    font-size: clamp(1.2rem, 2vw, 1.45rem);
    font-weight: 600;
    margin-bottom: 6px;
    color: var(--text);
}
.home-standard-body p {
    color: var(--muted);
    font-size: 0.9rem;
    line-height: 1.65;
    margin: 0;
    max-width: 52ch;
}
.home-standard-arrow {
    font-size: 1.25rem;
    color: var(--gold);
    opacity: 0.5;
    transition: opacity var(--trans), transform var(--trans);
}
.home-standard-item:hover .home-standard-arrow {
    opacity: 1;
    transform: translateX(6px);
}

/* Home services — visual mosaic gallery */
.home-services-section {
    padding: clamp(72px, 8vw, 96px) 0;
    background:
        radial-gradient(ellipse 70% 50% at 80% 20%, rgba(139, 74, 82, 0.1) 0%, transparent 55%),
        var(--bg);
}
.home-services-head {
    text-align: center;
    max-width: 640px;
    margin: 0 auto clamp(40px, 5vw, 56px);
}
.home-services-title {
    font-family: var(--font-h);
    font-size: clamp(2rem, 3.8vw, 2.75rem);
    font-weight: 600;
    line-height: 1.12;
    margin: 12px 0 14px;
}
.home-services-lede {
    color: var(--muted);
    font-size: 0.95rem;
    line-height: 1.75;
    margin: 0;
}
.home-services-mosaic {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 4px;
    background: rgba(201, 169, 98, 0.1);
}
.home-service-tile {
    position: relative;
    display: block;
    min-height: clamp(280px, 28vw, 360px);
    overflow: hidden;
    text-decoration: none;
    color: inherit;
}
.home-service-tile--feat {
    grid-column: span 2;
    min-height: clamp(260px, 24vw, 320px);
}
.home-service-tile--wide {
    grid-column: span 2;
    min-height: clamp(260px, 24vw, 320px);
}
.home-service-tile img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    transition: transform 0.65s ease;
}
.home-service-tile:hover img { transform: scale(1.07); }
.home-service-tile-shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(12,10,15,0.08) 0%, rgba(12,10,15,0.45) 50%, rgba(12,10,15,0.92) 100%);
    transition: background var(--trans);
}
.home-service-tile:hover .home-service-tile-shade {
    background: linear-gradient(180deg, rgba(12,10,15,0.12) 0%, rgba(12,10,15,0.55) 55%, rgba(12,10,15,0.96) 100%);
}
.home-service-tile-cat {
    position: absolute;
    top: 18px;
    left: 18px;
    z-index: 1;
    padding: 5px 12px;
    font-size: 0.66rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--gold-light);
    border: 1px solid rgba(201, 169, 98, 0.35);
    border-radius: 20px;
    background: rgba(12, 10, 15, 0.5);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
}
.home-service-tile-body {
    position: absolute;
    inset: auto 0 0 0;
    z-index: 1;
    padding: clamp(18px, 2.5vw, 28px);
}
.home-service-tile-num {
    position: absolute;
    top: -8px;
    right: 20px;
    transform: translateY(-100%);
    font-family: var(--font-h);
    font-size: clamp(2rem, 3.5vw, 2.8rem);
    font-weight: 600;
    line-height: 1;
    color: rgba(201, 169, 98, 0.25);
}
.home-service-tile-body h3 {
    font-family: var(--font-h);
    font-size: clamp(1.15rem, 2vw, 1.45rem);
    font-weight: 600;
    line-height: 1.2;
    margin-bottom: 8px;
    color: var(--text);
    max-width: 28ch;
}
.home-service-tile--feat .home-service-tile-body h3 {
    font-size: clamp(1.35rem, 2.2vw, 1.75rem);
    max-width: 36ch;
}
.home-service-tile-body p {
    color: rgba(248, 244, 239, 0.72);
    font-size: 0.84rem;
    line-height: 1.6;
    margin-bottom: 10px;
    max-width: 42ch;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.home-service-tile--feat .home-service-tile-body p { -webkit-line-clamp: 3; max-width: 52ch; }
.home-service-tile-link {
    display: inline-block;
    font-size: 0.8rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    color: var(--gold);
    transition: color var(--trans), transform var(--trans);
}
.home-service-tile:hover .home-service-tile-link {
    color: var(--gold-light);
    transform: translateX(4px);
}

/* VIP Hero */
.vip-hero { position: relative; min-height: 400px; display: flex; align-items: flex-end; background-size: cover; background-position: center; padding: 56px 0 44px; }
.vip-hero-seo {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}
.vip-hero-overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(12,10,15,0.4) 0%, rgba(12,10,15,0.94) 100%); }
.vip-hero-inner { position: relative; z-index: 2; }
.vip-hero h1 { font-family: var(--font-h); font-size: clamp(2rem, 4vw, 3rem); margin: 14px 0 12px; font-weight: 600; }
.vip-lede { font-size: 1.08rem; color: var(--muted); max-width: 640px; margin-bottom: 20px; }
.hero-chip, .avail-badge {
    display: inline-block; padding: 4px 14px;
    background: var(--accent-soft); border: 1px solid rgba(201,169,98,0.3);
    border-radius: 20px; font-size: 0.7rem; font-weight: 700;
    color: var(--champagne); text-transform: uppercase; letter-spacing: 0.1em;
}

/* Trust */
.trust-banner { padding: 16px 0; background: var(--bg-elevated); border-bottom: 1px solid var(--border); }
.trust-strip { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 10px 18px; font-size: 0.8rem; }
.t-badge { color: var(--champagne); font-weight: 600; }
.t-sep { color: rgba(201,169,98,0.15); }

/* Sections */
.section { padding: 88px 0; }
.section--tight { padding: 56px 0; }
.section-header { margin-bottom: 48px; }
.section-header.center { text-align: center; }
.section-label {
    display: inline-flex; align-items: center; gap: 12px;
    font-size: 0.7rem; font-weight: 700; letter-spacing: 0.24em;
    text-transform: uppercase; color: var(--gold); margin-bottom: 12px;
}
.section-header.center .section-label::before,
.section-header.center .section-label::after {
    content: ''; width: 28px; height: 1px; background: linear-gradient(90deg, transparent, var(--gold));
}
.section-header.center .section-label::after { background: linear-gradient(90deg, var(--gold), transparent); }
.section-title { font-family: var(--font-h); font-size: clamp(1.9rem, 3.5vw, 2.8rem); line-height: 1.15; margin-bottom: 12px; font-weight: 600; }
.section-desc { color: var(--muted); max-width: 620px; font-size: 1.04rem; }
.section-header.center .section-desc { margin: 0 auto; }
.section-cta { text-align: center; margin-top: 40px; }

/* Breadcrumb */
.breadcrumb { display: flex; flex-wrap: wrap; gap: 8px; font-size: 0.82rem; margin-bottom: 16px; align-items: center; }
.breadcrumb a { color: var(--muted); text-decoration: none; }
.breadcrumb a:hover { color: var(--gold); }
.bc-sep { color: var(--muted); opacity: 0.4; }

/* Page hero */
.page-hero { padding: 140px 0 72px; text-align: center; border-bottom: 1px solid var(--border); background: var(--bg-card); }
.page-hero--mesh { background: var(--gradient-royal), var(--bg-card); }
.page-hero h1 { font-family: var(--font-h); font-size: clamp(2.2rem, 4vw, 3.2rem); margin-bottom: 12px; font-weight: 600; }
.page-hero p { color: var(--muted); font-size: 1.08rem; }

/* Cards */
.hub-grid, .locations-grid, .blog-grid, .pricing-grid, .models-grid, .profile-grid { display: grid; gap: 20px; }
.hub-grid, .locations-grid, .blog-grid, .pricing-grid { grid-template-columns: repeat(3, 1fr); }
.models-grid, .profile-grid { grid-template-columns: repeat(4, 1fr); }

.hub-card {
    display: flex; flex-direction: column; background: var(--bg-card);
    border: 1px solid var(--border); border-radius: var(--radius-lg);
    overflow: hidden; transition: transform var(--trans), border-color var(--trans); text-decoration: none; color: inherit;
}
.hub-card:hover { transform: translateY(-4px); border-color: var(--border-glow); color: inherit; }
.hub-card-img { aspect-ratio: 16/10; overflow: hidden; }
.hub-card-img img { width: 100%; height: 100%; object-fit: cover; }
.hub-card-body { padding: 22px; flex: 1; }
.hub-chip { font-size: 0.68rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em; color: var(--burgundy); margin-bottom: 8px; }
.hub-card h3 { font-family: var(--font-h); font-size: 1.18rem; margin-bottom: 8px; color: var(--text); font-weight: 600; }
.hub-card p { color: var(--muted); font-size: 0.88rem; }

.model-card { border-radius: var(--radius-lg); overflow: hidden; background: var(--bg-card); border: 1px solid var(--border); transition: transform var(--trans), border-color var(--trans); }
.model-card:hover { transform: translateY(-3px); border-color: var(--border-glow); }
.model-card-link { display: block; color: inherit; text-decoration: none; }
.model-card.hidden { display: none; }
.model-image { position: relative; aspect-ratio: 3/4; overflow: hidden; background: var(--bg-elevated); }
.model-image img { width: 100%; height: 100%; object-fit: cover; }
.verified-tag {
    position: absolute; top: 10px; left: 10px; z-index: 2;
    padding: 3px 10px; background: var(--burgundy); color: var(--gold-light);
    font-size: 0.62rem; font-weight: 800; border-radius: 4px;
    text-transform: uppercase; letter-spacing: 0.08em;
}
.model-overlay {
    position: absolute; inset: 0; z-index: 2;
    display: flex; align-items: center; justify-content: center;
    background: rgba(12,10,15,0.55); opacity: 0; transition: opacity var(--trans);
}
.model-card:hover .model-overlay { opacity: 1; }
.model-info { padding: 14px 16px; text-align: center; }
.model-info h3 { font-family: var(--font-h); font-size: 1.15rem; font-weight: 600; }
.model-info span { font-size: 0.72rem; color: var(--gold); text-transform: uppercase; letter-spacing: 0.1em; }

/* Home pricing — tiers + category rates */
.home-pricing-section {
    padding: clamp(72px, 8vw, 96px) 0;
    background:
        radial-gradient(ellipse 60% 50% at 50% 0%, rgba(201, 169, 98, 0.08) 0%, transparent 55%),
        var(--bg-card);
    border-top: 1px solid rgba(201, 169, 98, 0.1);
    border-bottom: 1px solid rgba(201, 169, 98, 0.1);
}
.home-pricing-head {
    text-align: center;
    max-width: 620px;
    margin: 0 auto clamp(40px, 5vw, 56px);
}
.home-pricing-title {
    font-family: var(--font-h);
    font-size: clamp(2rem, 3.8vw, 2.75rem);
    font-weight: 600;
    line-height: 1.12;
    margin: 12px 0 14px;
}
.home-pricing-lede {
    color: var(--muted);
    font-size: 0.95rem;
    line-height: 1.75;
    margin: 0;
}
.home-pricing-lede strong { color: var(--gold-light); font-weight: 600; }
.home-pricing-tiers {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(16px, 2.5vw, 24px);
    align-items: stretch;
    margin-bottom: clamp(40px, 5vw, 56px);
}
.home-pricing-tier {
    position: relative;
    display: flex;
    flex-direction: column;
    padding: clamp(28px, 3.5vw, 40px) clamp(24px, 3vw, 32px);
    background: rgba(12, 10, 15, 0.45);
    border: 1px solid rgba(201, 169, 98, 0.15);
    border-top: 3px solid rgba(201, 169, 98, 0.35);
    transition: transform var(--trans), border-color var(--trans), box-shadow var(--trans);
}
.home-pricing-tier:hover {
    transform: translateY(-4px);
    border-color: rgba(201, 169, 98, 0.35);
    box-shadow: 0 16px 48px rgba(0, 0, 0, 0.35);
}
.home-pricing-tier--featured {
    border-top-color: var(--gold);
    background: linear-gradient(180deg, rgba(201, 169, 98, 0.1) 0%, rgba(12, 10, 15, 0.55) 100%);
    transform: scale(1.03);
    z-index: 1;
    box-shadow: 0 20px 56px rgba(0, 0, 0, 0.4);
}
.home-pricing-tier--featured:hover { transform: scale(1.03) translateY(-4px); }
.home-pricing-badge {
    position: absolute;
    top: -13px;
    left: 50%;
    transform: translateX(-50%);
    padding: 5px 16px;
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #fff;
    background: var(--gradient-brand);
    border-radius: 20px;
    white-space: nowrap;
}
.home-pricing-tier-label {
    display: block;
    font-family: var(--font-h);
    font-size: clamp(1.35rem, 2vw, 1.65rem);
    font-weight: 600;
    margin-bottom: 16px;
    color: var(--text);
}
.home-pricing-amount {
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid rgba(201, 169, 98, 0.15);
}
.home-pricing-currency {
    font-size: 1.1rem;
    color: var(--gold);
    vertical-align: top;
    margin-right: 2px;
}
.home-pricing-value {
    font-family: var(--font-h);
    font-size: clamp(2.4rem, 4vw, 3rem);
    font-weight: 700;
    line-height: 1;
    color: var(--gold-light);
}
.home-pricing-features {
    list-style: none;
    margin: 0 0 24px;
    padding: 0;
    flex: 1;
}
.home-pricing-features li {
    position: relative;
    padding: 8px 0 8px 18px;
    color: var(--muted);
    font-size: 0.88rem;
    line-height: 1.5;
    border-bottom: 1px solid rgba(201, 169, 98, 0.08);
}
.home-pricing-features li:last-child { border-bottom: none; }
.home-pricing-features li::before {
    content: '◆';
    position: absolute;
    left: 0;
    color: var(--gold);
    font-size: 0.55rem;
    top: 12px;
}
.home-rate-panel {
    border-top: 1px solid rgba(201, 169, 98, 0.15);
    padding-top: clamp(32px, 4vw, 44px);
}
.home-rate-panel-head {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 24px;
}
.home-rate-panel-label {
    display: block;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--gold);
    margin-bottom: 6px;
}
.home-rate-panel-title {
    font-family: var(--font-h);
    font-size: clamp(1.4rem, 2.5vw, 1.85rem);
    font-weight: 600;
    margin: 0;
}
.home-rate-from {
    padding: 8px 16px;
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    color: var(--gold-light);
    border: 1px solid rgba(201, 169, 98, 0.3);
    border-radius: 20px;
    background: rgba(201, 169, 98, 0.06);
}
.home-rate-table {
    border-top: 1px solid rgba(201, 169, 98, 0.15);
    border-bottom: 1px solid rgba(201, 169, 98, 0.15);
}
.home-rate-table-head,
.home-rate-table-row {
    display: grid;
    grid-template-columns: 1.2fr repeat(3, 1fr);
    gap: 12px;
    align-items: center;
    padding: 14px clamp(12px, 2vw, 20px);
}
.home-rate-table-head {
    background: rgba(201, 169, 98, 0.06);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--gold);
}
.home-rate-table-row {
    border-top: 1px solid rgba(201, 169, 98, 0.1);
    font-size: 0.88rem;
    color: var(--muted);
    transition: background var(--trans);
}
.home-rate-table-row:hover { background: rgba(201, 169, 98, 0.04); }
.home-rate-table-row strong {
    font-family: var(--font-h);
    font-size: 1rem;
    font-weight: 600;
    color: var(--text);
}
.home-rate-night { color: var(--gold-light); font-weight: 500; }
.home-rate-note {
    margin: 20px 0 0;
    text-align: center;
    font-size: 0.84rem;
    color: var(--muted);
    letter-spacing: 0.02em;
}

/* Home locations — directory list + coverage panel */
.home-loc-section {
    padding: clamp(72px, 8vw, 96px) 0;
    background: var(--bg);
}
.home-loc-stage {
    display: grid;
    grid-template-columns: 1fr min(380px, 32vw);
    gap: clamp(32px, 4vw, 56px);
    align-items: stretch;
}
.home-loc-head {
    text-align: left;
    max-width: none;
    margin: 0 0 clamp(28px, 3.5vw, 40px);
}
.home-loc-title {
    font-family: var(--font-h);
    font-size: clamp(2rem, 3.8vw, 2.75rem);
    font-weight: 600;
    line-height: 1.12;
    margin: 12px 0 14px;
}
.home-loc-lede {
    color: var(--muted);
    font-size: 0.95rem;
    line-height: 1.75;
    margin: 0;
    max-width: 52ch;
}
.home-loc-directory {
    display: flex;
    flex-direction: column;
    border-top: 1px solid var(--border);
}
.home-loc-entry {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: clamp(16px, 2vw, 24px);
    align-items: center;
    padding: clamp(18px, 2.2vw, 24px) 0;
    border-bottom: 1px solid var(--border);
    text-decoration: none;
    color: inherit;
    transition: padding-left var(--trans), border-color var(--trans);
}
.home-loc-entry:hover {
    padding-left: 8px;
    border-color: rgba(201, 169, 98, 0.35);
}
.home-loc-entry-pin {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(201, 169, 98, 0.1);
    color: var(--gold);
    flex-shrink: 0;
}
.home-loc-entry-pin svg { width: 18px; height: 18px; }
.home-loc-entry-body h3 {
    font-family: var(--font-h);
    font-size: clamp(1.05rem, 1.5vw, 1.2rem);
    font-weight: 600;
    margin: 0 0 4px;
}
.home-loc-entry-body p {
    color: var(--muted);
    font-size: 0.88rem;
    line-height: 1.55;
    margin: 0;
}
.home-loc-entry-meta {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 6px;
    flex-shrink: 0;
}
.home-loc-entry-eta {
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--gold);
    opacity: 0.85;
}
.home-loc-entry-arrow {
    font-size: 1.1rem;
    color: rgba(201, 169, 98, 0.5);
    transition: transform var(--trans), color var(--trans);
}
.home-loc-entry:hover .home-loc-entry-arrow {
    transform: translateX(4px);
    color: var(--gold-light);
}
.home-loc-foot { margin-top: clamp(28px, 3vw, 36px); }
.home-loc-panel {
    position: relative;
    border-radius: var(--radius-lg);
    overflow: hidden;
    min-height: 420px;
    border: 1px solid var(--border);
}
.home-loc-panel-bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
}
.home-loc-panel-shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(165deg, rgba(12,10,15,0.75) 0%, rgba(12,10,15,0.92) 100%);
}
.home-loc-panel-inner {
    position: relative;
    z-index: 1;
    padding: clamp(32px, 4vw, 44px);
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.home-loc-panel-label {
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--gold);
    margin: 0 0 12px;
}
.home-loc-panel-stat {
    font-family: var(--font-h);
    font-size: clamp(3.5rem, 6vw, 4.5rem);
    font-weight: 600;
    line-height: 1;
    color: var(--text);
    margin: 0;
}
.home-loc-panel-stat-label {
    font-family: var(--font-h);
    font-size: clamp(1.2rem, 2vw, 1.5rem);
    color: var(--gold-light);
    margin: 8px 0 24px;
}
.home-loc-panel-facts {
    list-style: none;
    padding: 20px 0 0;
    margin: 0;
    border-top: 1px solid rgba(201, 169, 98, 0.2);
}
.home-loc-panel-facts li {
    position: relative;
    padding: 10px 0 10px 20px;
    color: rgba(248, 244, 239, 0.78);
    font-size: 0.9rem;
}
.home-loc-panel-facts li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--gold);
}

/* Why — The Sugar Baby Standard */
.why-section {
    padding: clamp(64px, 10vw, 88px) 0;
    background: linear-gradient(180deg, var(--bg) 0%, rgba(20, 16, 24, 0.6) 50%, var(--bg) 100%);
    border-top: 1px solid rgba(201, 169, 98, 0.1);
}
.why-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center; }
.why-content p { color: var(--muted); margin-bottom: 20px; max-width: 52ch; }
.why-list { margin-bottom: 28px; list-style: none; }
.why-list li { padding: 14px 0; border-bottom: 1px solid var(--border); }
.why-list li:last-child { border-bottom: none; }
.why-list strong { display: block; margin-bottom: 4px; color: var(--gold-light); font-weight: 600; }
.why-list span { display: block; color: var(--muted); font-size: 0.9rem; line-height: 1.6; }
.why-image { min-width: 0; }
.why-image img { border-radius: var(--radius-lg); width: 100%; aspect-ratio: 4/5; object-fit: cover; border: 1px solid var(--border); }

/* Blog */
.blog-card { border-radius: var(--radius-lg); overflow: hidden; transition: transform var(--trans); }
.blog-card:hover { transform: translateY(-3px); }
.blog-card-img { display: block; aspect-ratio: 16/10; overflow: hidden; background: var(--bg-elevated); }
.blog-card-body { padding: 22px; }
.blog-meta { display: flex; gap: 12px; font-size: 0.76rem; margin-bottom: 10px; }
.blog-category { color: var(--gold); text-transform: uppercase; letter-spacing: 0.05em; font-weight: 700; }
.blog-card h3 { font-family: var(--font-h); font-size: 1.2rem; margin-bottom: 8px; font-weight: 600; }
.blog-card h3 a { color: var(--text); text-decoration: none; }
.blog-card h3 a:hover { color: var(--gold-light); }
.blog-card p { color: var(--muted); font-size: 0.9rem; }

/* Blog article */
.blog-article { overflow: hidden; }
.vip-hero--blog { min-height: 360px; }
.blog-meta-bar { display: flex; gap: 16px; font-size: 0.8rem; color: var(--muted); margin-bottom: 8px; }
.blog-cat { color: var(--gold); text-transform: uppercase; letter-spacing: 0.06em; font-weight: 700; }
.blog-intro-section { padding-top: 56px; padding-bottom: 0; }
.blog-lede { font-size: 1.2rem; color: var(--text); line-height: 1.7; margin-bottom: 24px; font-weight: 500; border-left: 3px solid var(--gold); padding-left: 20px; }
.blog-rich-intro { padding-top: 0; }
.blog-img-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 32px; }
.blog-img-card { border-radius: var(--radius-lg); overflow: hidden; border: 1px solid var(--border); }
.blog-img-card .content-img { width: 100%; display: block; }
.blog-img-card-body { padding: 22px; }
.blog-img-card h3 { font-family: var(--font-h); font-size: 1.1rem; margin-bottom: 10px; font-weight: 600; }
.blog-img-card p { color: var(--muted); font-size: 0.9rem; line-height: 1.65; }
.blog-faq { max-width: 800px; margin: 32px auto 0; }
.blog-faq details.faq-item { border-bottom: 1px solid var(--border); }
.blog-faq details.faq-item summary {
    padding: 20px 14px; cursor: pointer; font-family: var(--font-h);
    font-size: 1.05rem; font-weight: 600; color: var(--text); list-style: none;
}
.blog-faq details.faq-item summary::-webkit-details-marker { display: none; }
.blog-faq details.faq-item summary:hover { color: var(--gold-light); }
.blog-faq details.faq-item[open] { background: rgba(201,169,98,0.03); }
.blog-faq details.faq-item div p { padding: 0 14px 20px; color: var(--muted); font-size: 0.94rem; line-height: 1.65; }
.blog-related .related-grid { grid-template-columns: repeat(3, 1fr); }

/* FAQ */
.faq-list { max-width: 760px; margin: 0 auto; }
.faq-item { border-bottom: 1px solid var(--border); }
.faq-item.open { background: rgba(201,169,98,0.03); }
.faq-question {
    width: 100%; display: flex; justify-content: space-between; align-items: center;
    padding: 22px 14px; background: none; border: none;
    color: var(--text); font-family: var(--font-h); font-size: 1.15rem; font-weight: 600;
    text-align: left; cursor: pointer;
}
.faq-question:hover { color: var(--gold-light); }
.faq-icon { color: var(--gold); transition: transform var(--trans); flex-shrink: 0; }
.faq-item.open .faq-icon { transform: rotate(180deg); }
.faq-answer { max-height: 0; overflow: hidden; transition: max-height 0.35s ease; }
.faq-item.open .faq-answer { max-height: 240px; }
.faq-answer p { padding: 0 14px 22px; color: var(--muted); font-size: 0.94rem; line-height: 1.65; }

/* CTA */
.cta-strip {
    display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap;
    padding: 28px 32px; background: var(--bg-card); border: 1px solid var(--border);
    border-radius: var(--radius-lg); margin: 40px 0;
}
.cta-strip-text strong { display: block; font-family: var(--font-h); font-size: 1.12rem; margin-bottom: 4px; }
.cta-strip-text span { color: var(--muted); font-size: 0.88rem; }
.cta-strip-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.cta-banner { padding: 80px 0; background: var(--bg-card); border-top: 1px solid var(--border); text-align: center; }
.cta-inner h2 { font-family: var(--font-h); font-size: clamp(1.9rem, 3vw, 2.6rem); margin-bottom: 10px; font-weight: 600; }
.cta-inner p { color: var(--muted); margin-bottom: 28px; }
.cta-actions { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }

/* SEO pills */
.seo-keywords-section { padding: 48px 0 60px; border-top: 1px solid var(--border); }
.seo-keywords-section h3 { font-family: var(--font-h); font-size: 1.05rem; text-align: center; margin-bottom: 20px; color: var(--muted); }
.seo-pills { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; max-width: 960px; margin: 0 auto; }
.seo-pill {
    padding: 6px 14px; background: rgba(201,169,98,0.05);
    border: 1px solid rgba(201,169,98,0.15); border-radius: 20px;
    font-size: 0.76rem; color: var(--muted); text-decoration: none; transition: color var(--trans), border-color var(--trans);
}
.seo-pill:hover { color: var(--gold-light); border-color: var(--gold); }

/* Content layout */
.content-section { padding: 60px 0; }
.content-section--tail { padding-top: 0; }
.content-wrap { display: grid; grid-template-columns: 1fr 380px; gap: 40px; align-items: start; }

/* Service premium — Russian escorts layout */
.service-premium-section {
    padding: clamp(56px, 7vw, 80px) 0;
    background:
        radial-gradient(ellipse 60% 50% at 0% 0%, rgba(139, 74, 82, 0.12) 0%, transparent 55%),
        var(--bg);
    border-bottom: 1px solid var(--border);
}
.service-premium-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) min(380px, 34vw);
    gap: clamp(28px, 4vw, 48px);
    align-items: start;
}
.service-premium-intro {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(240px, 0.95fr);
    gap: clamp(24px, 3vw, 36px);
    align-items: center;
    padding: clamp(24px, 3vw, 32px);
    margin-bottom: 28px;
    border: 1px solid rgba(201, 169, 98, 0.16);
    border-radius: var(--radius-lg);
    background: linear-gradient(145deg, rgba(20, 16, 24, 0.92) 0%, rgba(12, 10, 15, 0.88) 100%);
    box-shadow: 0 20px 56px rgba(0, 0, 0, 0.28);
}
.service-premium-intro-copy h2 {
    font-family: var(--font-h);
    font-size: clamp(1.65rem, 3vw, 2.25rem);
    line-height: 1.15;
    margin: 10px 0 14px;
    font-weight: 600;
}
.service-premium-lede {
    color: var(--muted);
    line-height: 1.75;
    margin-bottom: 18px;
}
.service-premium-trust {
    list-style: none;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.service-premium-trust li {
    font-size: 0.88rem;
    color: var(--gold-light);
}
.service-premium-intro-media {
    position: relative;
    border-radius: var(--radius-lg);
    overflow: hidden;
    border: 1px solid var(--border);
    aspect-ratio: 4/3;
}
.service-premium-intro-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.service-premium-media-badge {
    position: absolute;
    bottom: 12px;
    left: 12px;
    padding: 6px 12px;
    font-size: 0.72rem;
    font-weight: 700;
    background: var(--burgundy);
    color: var(--gold-light);
    border-radius: 6px;
}
.service-premium-tiers {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    margin-bottom: 28px;
}
.service-tier-card {
    position: relative;
    padding: 22px 18px;
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    background: var(--bg-card);
    transition: border-color var(--trans), transform var(--trans);
}
.service-tier-card:hover { border-color: var(--border-glow); transform: translateY(-2px); }
.service-tier-card--featured {
    border-color: rgba(201, 169, 98, 0.45);
    background: linear-gradient(160deg, rgba(201, 169, 98, 0.1) 0%, rgba(20, 16, 24, 0.95) 100%);
    box-shadow: 0 12px 36px rgba(201, 169, 98, 0.08);
}
.service-tier-badge {
    position: absolute;
    top: 12px;
    right: 12px;
    padding: 4px 10px;
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--bg);
    background: var(--gold);
    border-radius: 999px;
}
.service-tier-label {
    display: block;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--gold);
    margin-bottom: 8px;
}
.service-tier-price {
    display: block;
    font-family: var(--font-h);
    font-size: 1.75rem;
    color: var(--text);
    line-height: 1.1;
}
.service-tier-unit {
    display: block;
    font-size: 0.78rem;
    color: var(--muted);
    margin: 4px 0 12px;
}
.service-tier-card p {
    font-size: 0.82rem;
    color: var(--muted);
    line-height: 1.6;
    margin: 0;
}
.service-premium-coverage {
    padding: 24px;
    margin-bottom: 28px;
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    background: rgba(20, 16, 24, 0.6);
}
.service-premium-coverage h3 {
    font-family: var(--font-h);
    font-size: 1.25rem;
    margin-bottom: 8px;
    font-weight: 600;
}
.service-premium-coverage p {
    color: var(--muted);
    margin-bottom: 16px;
    line-height: 1.7;
}
.service-premium-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.service-premium-chips span {
    padding: 6px 12px;
    font-size: 0.78rem;
    color: var(--gold-light);
    border: 1px solid rgba(201, 169, 98, 0.22);
    border-radius: 999px;
    background: rgba(201, 169, 98, 0.05);
}
.service-premium-why h2 {
    font-family: var(--font-h);
    font-size: clamp(1.4rem, 2.5vw, 1.85rem);
    margin-bottom: 18px;
    font-weight: 600;
}
.service-premium-features {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
}
.service-feature-card {
    padding: 20px 18px;
    border-radius: var(--radius-lg);
    position: relative;
}
.service-feature-num {
    display: inline-flex;
    width: 32px;
    height: 32px;
    align-items: center;
    justify-content: center;
    margin-bottom: 12px;
    font-size: 0.78rem;
    font-weight: 700;
    color: var(--gold-light);
    background: rgba(201, 169, 98, 0.12);
    border: 1px solid rgba(201, 169, 98, 0.25);
    border-radius: 50%;
}
.service-feature-card h3 {
    font-family: var(--font-h);
    font-size: 1.05rem;
    margin-bottom: 8px;
    font-weight: 600;
}
.service-feature-card p {
    font-size: 0.84rem;
    color: var(--muted);
    line-height: 1.65;
    margin: 0;
}
.service-premium-aside {
    display: flex;
    flex-direction: column;
    gap: 20px;
    position: sticky;
    top: 88px;
}
.service-rate-panel {
    padding: 22px 18px;
    border: 1px solid rgba(201, 169, 98, 0.18);
    border-radius: var(--radius-lg);
    background: linear-gradient(180deg, rgba(20, 16, 24, 0.95) 0%, rgba(12, 10, 15, 0.92) 100%);
    box-shadow: 0 16px 48px rgba(0, 0, 0, 0.3);
}
.service-rate-panel-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 16px;
    flex-wrap: wrap;
}
.service-rate-table { border-radius: 8px; overflow: hidden; }
.home-rate-table-row--highlight {
    background: rgba(201, 169, 98, 0.1);
    border-left: 3px solid var(--gold);
}
.home-rate-table-row--highlight strong { color: var(--gold-light); }
.service-book-panel {
    padding: 24px 20px;
    border: 1px solid rgba(201, 169, 98, 0.22);
    border-radius: var(--radius-lg);
    background: linear-gradient(145deg, rgba(139, 74, 82, 0.14) 0%, rgba(20, 16, 24, 0.95) 100%);
    text-align: center;
}
.service-book-eyebrow {
    display: block;
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--gold);
    margin-bottom: 8px;
}
.service-book-panel h3 {
    font-family: var(--font-h);
    font-size: 1.35rem;
    margin-bottom: 10px;
    font-weight: 600;
}
.service-book-panel p {
    font-size: 0.86rem;
    color: var(--muted);
    line-height: 1.65;
    margin-bottom: 18px;
}
.service-book-panel .btn { margin-bottom: 10px; }
.service-book-panel .trust-strip { margin-top: 16px; justify-content: center; }

/* V2 — Banner stack */
.service-premium--v2 { background: radial-gradient(ellipse 50% 40% at 100% 0%, rgba(201,169,98,0.08) 0%, transparent 55%), var(--bg); }
.service-premium-banner { position: relative; border-radius: var(--radius-lg); overflow: hidden; margin-bottom: 28px; aspect-ratio: 21/9; min-height: 220px; border: 1px solid var(--border); }
.service-premium-banner img { width: 100%; height: 100%; object-fit: cover; }
.service-premium-banner-overlay { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: flex-end; padding: 28px; background: linear-gradient(180deg, transparent 30%, rgba(12,10,15,0.92) 100%); }
.service-premium-banner-overlay h2 { font-family: var(--font-h); font-size: clamp(1.5rem, 3vw, 2.2rem); margin-top: 8px; }
.service-premium-copy-block { margin-bottom: 24px; padding: 24px; border: 1px solid var(--border); border-radius: var(--radius-lg); background: var(--bg-card); }
.service-premium-checklist { list-style: none; padding: 0; margin-top: 16px; display: grid; gap: 10px; }
.service-premium-checklist li { padding-left: 22px; position: relative; color: var(--gold-light); font-size: 0.88rem; }
.service-premium-checklist li::before { content: '✔'; position: absolute; left: 0; color: var(--gold); }
.service-premium-quote { padding: 24px; border-radius: var(--radius-lg); font-size: 1rem; line-height: 1.75; color: var(--muted); border-left: 3px solid var(--gold); }

/* V3 — Reverse + timeline */
.service-premium--v3 { background: radial-gradient(ellipse 45% 50% at 100% 20%, rgba(139,74,82,0.1) 0%, transparent 50%), var(--bg); }
.service-premium-intro--reverse { direction: rtl; }
.service-premium-intro--reverse > * { direction: ltr; }
.service-premium-tiers--scroll { display: flex; gap: 12px; overflow-x: auto; padding-bottom: 8px; margin-bottom: 28px; scrollbar-width: thin; }
.service-tier-card--compact { flex: 0 0 180px; padding: 16px; }
.service-premium-timeline h2 { font-family: var(--font-h); font-size: 1.5rem; margin-bottom: 20px; }
.service-timeline-item { display: grid; grid-template-columns: 48px 1fr; gap: 16px; padding: 16px 0; border-top: 1px solid var(--border); }
.service-timeline-dot { width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: rgba(201,169,98,0.12); border: 1px solid rgba(201,169,98,0.3); color: var(--gold-light); font-size: 0.78rem; font-weight: 700; }
.service-timeline-item h3 { font-family: var(--font-h); font-size: 1.05rem; margin-bottom: 6px; }
.service-timeline-item p { color: var(--muted); font-size: 0.86rem; line-height: 1.65; margin: 0; }

/* V4 — Bento */
.service-premium--v4 { background: var(--bg-card); }
.service-premium-bento { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: auto auto; gap: 16px; margin-bottom: 28px; }
.service-premium-bento-copy { grid-column: 1; grid-row: 1 / 3; padding: 24px; border: 1px solid var(--border); border-radius: var(--radius-lg); background: var(--bg); }
.service-premium-bento-copy h2 { font-family: var(--font-h); font-size: 1.6rem; margin: 8px 0 12px; }
.service-premium-bento-media { border-radius: var(--radius-lg); overflow: hidden; border: 1px solid var(--border); aspect-ratio: 4/3; }
.service-premium-bento-media img { width: 100%; height: 100%; object-fit: cover; }
.service-premium-bento-coverage { padding: 18px; border: 1px solid var(--border); border-radius: var(--radius-lg); background: rgba(201,169,98,0.04); }
.service-premium-bento-coverage h3 { font-size: 0.9rem; margin-bottom: 10px; color: var(--gold-light); }
.service-premium-bento-tier .service-tier-card { height: 100%; }
.service-premium-benefits { list-style: none; padding: 0; display: flex; flex-direction: column; gap: 14px; }
.service-premium-benefits li { padding: 16px; border: 1px solid var(--border); border-radius: var(--radius); background: var(--bg-card); }
.service-premium-benefits strong { display: block; font-family: var(--font-h); margin-bottom: 6px; color: var(--gold-light); }
.service-premium-benefits span { color: var(--muted); font-size: 0.86rem; line-height: 1.6; }

/* V5 — Editorial */
.service-premium--v5 { background: linear-gradient(180deg, rgba(20,16,24,0.5) 0%, var(--bg) 100%); }
.service-premium-editorial-head { text-align: center; max-width: 760px; margin: 0 auto 28px; }
.service-premium-editorial-head h2 { font-family: var(--font-h); font-size: clamp(1.8rem, 3.5vw, 2.6rem); margin: 10px 0 16px; }
.service-premium-lede--center { text-align: center; color: var(--muted); }
.service-premium-pricing-band { display: flex; justify-content: center; flex-wrap: wrap; gap: 12px; margin-bottom: 36px; }
.service-pricing-pill { padding: 16px 24px; text-align: center; border: 1px solid var(--border); border-radius: var(--radius-lg); background: var(--bg-card); min-width: 160px; }
.service-pricing-pill--featured { border-color: var(--gold); background: rgba(201,169,98,0.08); }
.service-pricing-pill span { display: block; font-size: 0.72rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--gold); margin-bottom: 4px; }
.service-pricing-pill strong { display: block; font-family: var(--font-h); font-size: 1.5rem; }
.service-pricing-pill em { font-style: normal; font-size: 0.76rem; color: var(--muted); }
.service-premium-editorial-body { overflow: hidden; margin-bottom: 24px; }
.service-premium-float-img { float: right; width: min(42%, 280px); margin: 0 0 16px 24px; border-radius: var(--radius-lg); overflow: hidden; border: 1px solid var(--border); }
.service-premium-float-img img { width: 100%; aspect-ratio: 4/5; object-fit: cover; display: block; }
.service-premium-editorial-body h3 { font-family: var(--font-h); font-size: 1.35rem; margin: 20px 0 10px; clear: both; }

/* V6 — Stats + mosaic */
.service-premium--v6 { background: var(--bg); }
.service-premium-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-bottom: 28px; }
.service-premium-stats div { text-align: center; padding: 18px 12px; border: 1px solid var(--border); border-radius: var(--radius-lg); background: var(--bg-card); }
.service-premium-stats strong { display: block; font-family: var(--font-h); font-size: 1.6rem; color: var(--gold); line-height: 1.2; }
.service-premium-stats span { font-size: 0.72rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.08em; }
.service-premium-mosaic { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 28px; align-items: start; }
.service-premium-mosaic-copy h2 { font-family: var(--font-h); font-size: 1.65rem; margin: 8px 0 12px; }
.service-premium-mosaic-imgs { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.service-premium-mosaic-imgs img { width: 100%; aspect-ratio: 3/4; object-fit: cover; border-radius: var(--radius); border: 1px solid var(--border); }
.service-premium-accordion h2 { font-family: var(--font-h); font-size: 1.45rem; margin-bottom: 14px; }
.service-accordion-item { border: 1px solid var(--border); border-radius: var(--radius); margin-bottom: 8px; background: var(--bg-card); overflow: hidden; }
.service-accordion-item summary { padding: 14px 18px; cursor: pointer; font-weight: 600; color: var(--gold-light); list-style: none; }
.service-accordion-item summary::-webkit-details-marker { display: none; }
.service-accordion-item p { padding: 0 18px 14px; color: var(--muted); font-size: 0.86rem; line-height: 1.65; margin: 0; }

/* Hotel individual pages — premium layout */
.vip-hero--hotel { min-height: clamp(380px, 42vw, 520px); }
.hotel-premium-section {
    padding: clamp(48px, 6vw, 72px) 0;
    background: radial-gradient(ellipse 55% 45% at 0% 0%, rgba(201, 169, 98, 0.07) 0%, transparent 55%), var(--bg);
    border-bottom: 1px solid var(--border);
}
.hotel-premium-grid {
    display: grid;
    grid-template-columns: 1fr min(340px, 32%);
    gap: clamp(24px, 4vw, 40px);
    align-items: start;
}
.hotel-premium-intro {
    display: grid;
    grid-template-columns: 1fr min(46%, 380px);
    gap: clamp(20px, 3vw, 32px);
    align-items: center;
    margin-bottom: 28px;
    padding: clamp(20px, 3vw, 28px);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    background: var(--bg-card);
}
.hotel-premium-intro-copy h2 {
    font-family: var(--font-h);
    font-size: clamp(1.45rem, 2.8vw, 2rem);
    line-height: 1.2;
    margin: 10px 0 14px;
}
.hotel-premium-lede { color: var(--muted); line-height: 1.75; font-size: 0.94rem; }
.hotel-premium-lede strong { color: var(--gold-light); }
.hotel-premium-trust {
    list-style: none;
    padding: 0;
    margin: 16px 0 0;
    display: grid;
    gap: 8px;
}
.hotel-premium-trust li {
    font-size: 0.86rem;
    color: var(--gold-light);
    padding-left: 0;
}
.hotel-premium-intro-media {
    position: relative;
    border-radius: var(--radius-lg);
    overflow: hidden;
    border: 1px solid var(--border);
    aspect-ratio: 4/3;
}
.hotel-premium-intro-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.hotel-premium-media-badge {
    position: absolute;
    top: 14px;
    left: 14px;
    padding: 5px 12px;
    font-size: 0.66rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--gold-light);
    background: rgba(12, 10, 15, 0.65);
    border: 1px solid rgba(201, 169, 98, 0.35);
    border-radius: 20px;
    backdrop-filter: blur(6px);
}
.hotel-premium-coverage {
    margin-bottom: 28px;
    padding: 24px;
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    background: rgba(201, 169, 98, 0.03);
}
.hotel-premium-coverage h3 {
    font-family: var(--font-h);
    font-size: 1.25rem;
    margin-bottom: 12px;
}
.hotel-premium-coverage p { color: var(--muted); line-height: 1.75; margin-bottom: 14px; }
.hotel-premium-location-link { font-size: 0.88rem; color: var(--muted); margin-top: 12px; }
.hotel-premium-features {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
}
.hotel-feature-card {
    padding: 20px;
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    background: var(--bg-card);
    position: relative;
}
.hotel-feature-num {
    position: absolute;
    top: 14px;
    right: 14px;
    font-family: var(--font-h);
    font-size: 1.4rem;
    color: rgba(201, 169, 98, 0.2);
    line-height: 1;
}
.hotel-feature-card h3 {
    font-family: var(--font-h);
    font-size: 1rem;
    margin-bottom: 8px;
    padding-right: 28px;
    line-height: 1.3;
}
.hotel-feature-card p { color: var(--muted); font-size: 0.84rem; line-height: 1.65; margin: 0; }
.hotel-rich-intro, .hotel-worth, .hotel-rich-mid, .hotel-nearby, .hotel-faq { padding: 56px 0; }
.location-nearby { padding: 56px 0; border-top: 1px solid var(--border); }
.hotel-services-block {
    margin-top: 40px;
    padding: 28px;
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    background: var(--bg-card);
}
.hotel-services-block h2 {
    font-family: var(--font-h);
    font-size: 1.35rem;
    margin-bottom: 18px;
    text-align: center;
}
.hotel-services-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
}
.hotel-service-pill {
    display: inline-block;
    padding: 10px 18px;
    font-size: 0.82rem;
    font-weight: 500;
    color: var(--gold-light);
    text-decoration: none;
    border-radius: 24px;
    transition: border-color var(--trans), color var(--trans), transform var(--trans);
}
.hotel-service-pill:hover {
    color: var(--gold);
    border-color: var(--border-glow);
    transform: translateY(-2px);
}
.hotel-book-steps {
    margin: 0;
    padding-left: 20px;
    color: var(--muted);
    line-height: 1.85;
}
.hotel-book-steps li { margin-bottom: 6px; }
.hotel-book-steps strong { color: var(--gold-light); }

.service-premium-why-lede { color: var(--muted); margin-bottom: 18px; line-height: 1.75; }
.service-premium-coverage-copy { color: var(--muted); margin-bottom: 14px; line-height: 1.7; }
.service-premium-coverage-copy p { margin-bottom: 0.75rem; }



/* Location spotlight cards */
.loc-spotlight-section {
    padding: 0 0 72px;
}
.loc-spotlight {
    border: 1px solid rgba(201, 169, 98, 0.18);
    border-radius: var(--radius-lg);
    background: rgba(20, 16, 24, 0.88);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    overflow: hidden;
    box-shadow: 0 24px 64px rgba(0, 0, 0, 0.35);
}
.loc-spotlight-head {
    text-align: center;
    padding: 48px 32px 36px;
    border-bottom: 1px solid rgba(201, 169, 98, 0.12);
    background: linear-gradient(180deg, rgba(201, 169, 98, 0.06) 0%, transparent 100%);
}
.loc-spotlight-title {
    font-family: var(--font-h);
    font-size: clamp(1.75rem, 3vw, 2.35rem);
    font-weight: 600;
    margin: 12px 0 14px;
    line-height: 1.2;
}
.loc-spotlight-lede {
    color: var(--muted);
    font-size: 1.02rem;
    max-width: 620px;
    margin: 0 auto;
    line-height: 1.65;
}
.loc-spotlight-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
}
.loc-spot-card {
    display: flex;
    flex-direction: column;
    border-right: 1px solid rgba(201, 169, 98, 0.1);
}
.loc-spot-card:last-child { border-right: none; }
.loc-spot-visual {
    position: relative;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: var(--bg-elevated);
}
.loc-spot-visual img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    display: block;
    transition: transform 0.5s ease;
}
.loc-spot-card:hover .loc-spot-visual img { transform: scale(1.04); }
.loc-spot-visual::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 40%, rgba(12, 10, 15, 0.75) 100%);
    pointer-events: none;
}
.loc-spot-badge {
    position: absolute;
    left: 20px;
    bottom: 18px;
    z-index: 2;
    padding: 6px 14px;
    border-radius: 999px;
    background: rgba(12, 10, 15, 0.75);
    border: 1px solid rgba(201, 169, 98, 0.35);
    color: var(--gold-light);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}
.loc-spot-badge--gold {
    background: linear-gradient(135deg, rgba(139, 74, 82, 0.85), rgba(201, 169, 98, 0.85));
    color: var(--bg);
    border-color: transparent;
}
.loc-spot-body {
    padding: 28px 28px 32px;
    flex: 1;
    display: flex;
    flex-direction: column;
}
.loc-spot-num {
    display: inline-block;
    font-family: var(--font-h);
    font-size: 0.85rem;
    color: var(--gold);
    letter-spacing: 0.12em;
    margin-bottom: 10px;
    opacity: 0.85;
}
.loc-spot-body h3 {
    font-family: var(--font-h);
    font-size: 1.35rem;
    font-weight: 600;
    margin-bottom: 14px;
    line-height: 1.25;
}
.loc-spot-body p {
    color: var(--muted);
    font-size: 0.94rem;
    line-height: 1.7;
    margin-bottom: 14px;
}
.loc-spot-body p:last-of-type { margin-bottom: 0; }
.loc-landmark-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 4px 0 16px;
}
.loc-landmark-pill {
    padding: 5px 12px;
    border-radius: 999px;
    background: rgba(201, 169, 98, 0.08);
    border: 1px solid rgba(201, 169, 98, 0.2);
    color: var(--champagne);
    font-size: 0.76rem;
    font-weight: 500;
}
.loc-spot-note {
    margin-top: auto !important;
    padding-top: 16px;
    font-size: 0.82rem !important;
    color: var(--gold) !important;
    border-top: 1px solid rgba(201, 169, 98, 0.12);
}
.loc-spot-steps {
    list-style: none;
    padding: 0;
    margin: 0 0 16px;
    display: grid;
    gap: 10px;
}
.loc-spot-steps li {
    padding: 10px 14px;
    border-radius: 10px;
    background: rgba(201, 169, 98, 0.05);
    border: 1px solid rgba(201, 169, 98, 0.1);
    color: var(--muted);
    font-size: 0.88rem;
    line-height: 1.5;
}
.loc-spot-steps strong { color: var(--gold-light); font-weight: 600; }
.loc-spot-cta {
    margin-top: 20px;
    width: 100%;
    justify-content: center;
}
.loc-outro { max-width: 860px; }
.sidebar-card { padding: 24px; border-radius: var(--radius-lg); margin-bottom: 20px; }
.sidebar-card h4 { font-family: var(--font-h); margin-bottom: 16px; }

/* Profile */
.profile-hero { padding: 56px 0; background: var(--bg-card); border-bottom: 1px solid var(--border); }
.profile-hero-grid { display: grid; grid-template-columns: 1fr 1.2fr; gap: 48px; align-items: center; }
.profile-hero-image { border-radius: var(--radius-lg); overflow: hidden; border: 1px solid var(--border); position: relative; }
.profile-hero-image > img { width: 100%; aspect-ratio: 3/4; object-fit: cover; }
.profile-gallery { position: relative; }
.profile-gallery-track { position: relative; aspect-ratio: 3/4; background: var(--bg); }
.profile-gallery-slide {
    position: absolute; inset: 0;
    opacity: 0; visibility: hidden;
    transition: opacity 0.55s ease, visibility 0.55s ease;
}
.profile-gallery-slide.active { opacity: 1; visibility: visible; z-index: 1; }
.profile-gallery-slide img { width: 100%; height: 100%; object-fit: cover; display: block; }
.profile-gallery-nav {
    position: absolute; bottom: 14px; left: 50%; transform: translateX(-50%);
    z-index: 3; display: flex; align-items: center; gap: 10px;
    padding: 6px 10px; border-radius: 999px;
    background: rgba(12,10,15,0.72); border: 1px solid var(--border);
    backdrop-filter: blur(8px);
}
.profile-gallery-prev, .profile-gallery-next {
    width: 34px; height: 34px; border-radius: 50%;
    background: rgba(255,255,255,0.04); border: 1px solid var(--border);
    color: var(--gold-light); cursor: pointer; transition: border-color var(--trans), color var(--trans);
    font-size: 0.9rem; line-height: 1;
}
.profile-gallery-prev:hover, .profile-gallery-next:hover { border-color: var(--gold); color: var(--gold); }
.profile-gallery-dots { display: flex; gap: 6px; max-width: 140px; overflow-x: auto; scrollbar-width: none; }
.profile-gallery-dots::-webkit-scrollbar { display: none; }
.profile-gallery-dot {
    flex: 0 0 auto; width: 22px; height: 3px; border-radius: 2px;
    background: rgba(201,169,98,0.25); border: none; cursor: pointer; padding: 0;
    transition: background var(--trans), width var(--trans);
}
.profile-gallery-dot.active { background: var(--gold); width: 30px; }
.profile-gallery-counter {
    position: absolute; top: 14px; right: 14px; z-index: 3;
    padding: 5px 10px; border-radius: 999px;
    background: rgba(12,10,15,0.72); border: 1px solid var(--border);
    color: var(--gold-light); font-size: 0.72rem; letter-spacing: 0.06em;
}
.verified-badge { position: absolute; bottom: 16px; left: 16px; z-index: 3; padding: 6px 14px; background: var(--burgundy); color: var(--gold-light); font-size: 0.78rem; font-weight: 700; border-radius: 6px; }
.profile-hero-info h1 { font-family: var(--font-h); font-size: 2.5rem; font-weight: 600; }
.profile-type { color: var(--gold); font-weight: 600; }
.profile-actions { display: flex; gap: 12px; flex-wrap: wrap; margin: 20px 0; }
.profile-card { border-radius: var(--radius); overflow: hidden; background: var(--bg-card); border: 1px solid var(--border); text-decoration: none; color: inherit; transition: transform var(--trans), border-color var(--trans); }
.profile-card:hover { transform: translateY(-3px); border-color: var(--border-glow); color: inherit; }
.profile-suggested {
    padding: clamp(56px, 7vw, 72px) 0;
    background: var(--bg-card);
    border-top: 1px solid var(--border);
}
.profile-suggested .profile-img { position: relative; }
.profile-suggested .verified-tag {
    position: absolute; top: 10px; left: 10px;
    padding: 4px 10px; font-size: 0.68rem; font-weight: 700;
    background: var(--burgundy); color: var(--gold-light); border-radius: 4px;
}
.profile-suggested .profile-info h3 { font-family: var(--font-h); font-size: 1.05rem; margin-bottom: 4px; }
.profile-suggested .profile-info span { color: var(--gold); font-size: 0.82rem; }
.profile-suggested .section-cta { margin-top: 32px; text-align: center; }
.profile-info { padding: 12px; text-align: center; }

/* Gallery filters */
.gallery-filters { display: flex; justify-content: center; gap: 8px; margin-bottom: 32px; flex-wrap: wrap; }
.filter-btn {
    padding: 8px 18px; background: transparent; border: 1px solid var(--border);
    border-radius: 20px; color: var(--muted); font-size: 0.82rem; cursor: pointer;
    transition: color var(--trans), border-color var(--trans);
}
.filter-btn:hover, .filter-btn.active { border-color: var(--gold); color: var(--gold-light); background: var(--accent-soft); }

/* Footer */
.site-footer { background: var(--bg-card); border-top: 1px solid var(--border); }
.footer-top { padding: 56px 0 36px; }
.footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 40px; }
.footer-brand p { color: var(--muted); font-size: 0.88rem; margin: 14px 0 18px; max-width: 320px; line-height: 1.65; }
.footer-social a { display: inline-flex; width: 42px; height: 42px; align-items: center; justify-content: center; background: var(--accent-soft); border-radius: 8px; color: var(--gold); }
.footer-links h4, .footer-contact h4 { font-family: var(--font-h); font-size: 1rem; margin-bottom: 14px; color: var(--gold-light); font-weight: 600; }
.footer-links a, .footer-contact a { color: var(--muted); font-size: 0.88rem; text-decoration: none; }
.footer-links a:hover, .footer-contact a:hover { color: var(--gold); }
.footer-keywords { padding: 18px 0; border-top: 1px solid var(--border); text-align: center; font-size: 0.7rem; color: var(--muted); line-height: 2.2; }
.footer-keywords .sep { margin: 0 6px; opacity: 0.25; }
.footer-bottom { padding: 18px 0; border-top: 1px solid var(--border); text-align: center; }
.footer-bottom p { color: var(--muted); font-size: 0.82rem; }

/* Floating */
.floating-whatsapp, .floating-call, .floating-telegram {
    position: fixed; bottom: 24px; z-index: 900;
    width: 52px; height: 52px;
    display: flex; align-items: center; justify-content: center;
    border-radius: 50%; color: #fff; transition: transform var(--trans);
}
.floating-telegram { right: 24px; background: #229ED9; box-shadow: 0 4px 18px rgba(34,158,217,0.35); text-decoration: none; }
.floating-whatsapp { right: 88px; background: #25d366; box-shadow: 0 4px 18px rgba(37,211,102,0.35); }
.floating-call { right: 152px; background: var(--gradient-brand); box-shadow: 0 4px 18px rgba(201,169,98,0.25); text-decoration: none; }
.floating-whatsapp:hover, .floating-call:hover, .floating-telegram:hover { color: #fff; transform: scale(1.06); }
.back-to-top {
    position: fixed; bottom: 90px; right: 24px; z-index: 900;
    width: 42px; height: 42px; display: flex; align-items: center; justify-content: center;
    background: var(--bg-card); border: 1px solid var(--border); border-radius: 50%;
    color: var(--text); text-decoration: none; opacity: 0; visibility: hidden; transition: opacity var(--trans);
}
.back-to-top.visible { opacity: 1; visibility: visible; }
.back-to-top:hover { border-color: var(--gold); color: var(--gold); }

/* Reveal — lightweight */
.reveal { opacity: 0; transform: translateY(16px); transition: opacity 0.5s ease, transform 0.5s ease; }
.reveal.visible { opacity: 1; transform: translateY(0); }

/* Engaging content sections */
.section--tight { padding: 40px 0; }
.content-rich { padding: 56px 0; }
.content-rich--alt { background: var(--bg-card); border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.content-rich .rich-content { max-width: 860px; margin: 0 auto; }

/* Home barrier editorial — magazine chapters */
.home-barrier-editorial {
    margin-top: clamp(48px, 6vw, 72px);
    padding-top: clamp(48px, 6vw, 72px);
    border-top: 1px solid rgba(201, 169, 98, 0.18);
}
.home-barrier-stage {
    display: grid;
    grid-template-columns: min(220px, 24%) 1fr;
    gap: clamp(32px, 5vw, 64px);
    align-items: start;
}
.home-barrier-rail {
    position: sticky;
    top: 96px;
}
.home-barrier-rail-title {
    font-family: var(--font-h);
    font-size: clamp(1.45rem, 2.4vw, 1.85rem);
    font-weight: 600;
    line-height: 1.15;
    margin: 12px 0 14px;
    color: var(--text);
}
.home-barrier-rail-desc {
    color: var(--muted);
    font-size: 0.88rem;
    line-height: 1.72;
    margin: 0;
    max-width: 22ch;
}
.home-barrier-rail-line {
    width: 1px;
    height: 72px;
    margin-top: 24px;
    background: linear-gradient(180deg, var(--gold) 0%, transparent 100%);
}
.home-barrier-chapters {
    display: flex;
    flex-direction: column;
    gap: 0;
}
.home-barrier-chapter {
    padding: clamp(32px, 4vw, 44px) 0;
    border-bottom: 1px solid rgba(201, 169, 98, 0.12);
}
.home-barrier-chapter:first-child { padding-top: 0; }
.home-barrier-chapter:last-child {
    border-bottom: none;
    padding-bottom: 0;
}
.home-barrier-chapter-head {
    display: flex;
    align-items: baseline;
    gap: clamp(14px, 2vw, 22px);
    margin-bottom: clamp(18px, 2.5vw, 26px);
}
.home-barrier-chapter-mark {
    font-family: var(--font-h);
    font-size: clamp(2rem, 3.5vw, 2.65rem);
    font-weight: 600;
    line-height: 1;
    color: rgba(201, 169, 98, 0.32);
    flex-shrink: 0;
    min-width: 1.2ch;
}
.home-barrier-chapter-head h2 {
    font-family: var(--font-h);
    font-size: clamp(1.3rem, 2.1vw, 1.7rem);
    font-weight: 600;
    line-height: 1.22;
    margin: 0;
}
.home-barrier-prose {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(20px, 3vw, 36px);
    padding-left: clamp(36px, 5vw, 56px);
}
.home-barrier-prose p {
    color: var(--muted);
    font-size: 0.92rem;
    line-height: 1.78;
    margin: 0;
}
.home-barrier-prose .home-barrier-lead {
    color: rgba(248, 244, 239, 0.86);
    font-size: 0.96rem;
}
.home-barrier-lead::first-letter {
    float: left;
    font-family: var(--font-h);
    font-size: 3.1em;
    line-height: 0.82;
    padding: 0.04em 0.1em 0 0;
    color: var(--gold-light);
    font-weight: 600;
}
.section-title-sm { font-family: var(--font-h); font-size: 1.5rem; margin-bottom: 24px; font-weight: 600; }

/* Quick navigation */
.quick-nav { background: var(--bg-card); border-bottom: 1px solid var(--border); }
.quick-nav-title { font-family: var(--font-h); font-size: 1.1rem; text-align: center; margin-bottom: 16px; color: var(--gold-light); font-weight: 600; }
.quick-nav-grid { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.quick-nav-item {
    padding: 8px 18px; border: 1px solid var(--border); border-radius: 20px;
    font-size: 0.82rem; color: var(--muted); text-decoration: none; transition: color var(--trans), border-color var(--trans);
}
.quick-nav-item:hover { color: var(--gold-light); border-color: var(--gold); }

/* Location showcase — editorial alternating rows (homepage) */
.loc-showcase-section {
    padding: 72px 0 80px;
    background: linear-gradient(180deg, var(--bg) 0%, rgba(20,16,24,0.6) 50%, var(--bg) 100%);
}
.loc-showcase-list {
    display: flex;
    flex-direction: column;
    gap: 0;
    margin-top: 48px;
}
.loc-showcase-row {
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;
    gap: 0;
    align-items: stretch;
    text-decoration: none;
    color: inherit;
    border-top: 1px solid rgba(201, 169, 98, 0.12);
    transition: background var(--trans);
}
.loc-showcase-row:last-child { border-bottom: 1px solid rgba(201, 169, 98, 0.12); }
.loc-showcase-row:hover { background: rgba(201, 169, 98, 0.03); color: inherit; }
.loc-showcase-row--reverse { direction: rtl; }
.loc-showcase-row--reverse > * { direction: ltr; }
.loc-showcase-media {
    position: relative;
    min-height: clamp(280px, 36vw, 420px);
    overflow: hidden;
}
.loc-showcase-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    transition: transform 0.6s ease;
}
.loc-showcase-row:hover .loc-showcase-media img { transform: scale(1.05); }
.loc-showcase-shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(12,10,15,0.15) 0%, rgba(12,10,15,0.55) 100%);
    pointer-events: none;
}
.loc-showcase-row--reverse .loc-showcase-shade {
    background: linear-gradient(270deg, rgba(12,10,15,0.15) 0%, rgba(12,10,15,0.55) 100%);
}
.loc-showcase-tag {
    position: absolute;
    top: 24px;
    left: 24px;
    padding: 6px 14px;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--gold-light);
    border: 1px solid rgba(201, 169, 98, 0.35);
    border-radius: 20px;
    background: rgba(12, 10, 15, 0.55);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}
.loc-showcase-body {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(32px, 5vw, 56px) clamp(28px, 4vw, 48px);
    position: relative;
}
.loc-showcase-body::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    width: 2px;
    height: 48px;
    transform: translateY(-50%);
    background: linear-gradient(180deg, transparent, var(--gold), transparent);
    opacity: 0.6;
}
.loc-showcase-row--reverse .loc-showcase-body::before { left: auto; right: 0; }
.loc-showcase-num {
    font-family: var(--font-h);
    font-size: 2.8rem;
    font-weight: 600;
    line-height: 1;
    color: rgba(201, 169, 98, 0.18);
    margin-bottom: 12px;
}
.loc-showcase-body h3 {
    font-family: var(--font-h);
    font-size: clamp(1.6rem, 2.8vw, 2.1rem);
    font-weight: 600;
    margin-bottom: 14px;
    color: var(--text);
}
.loc-showcase-body p {
    color: var(--muted);
    font-size: 0.95rem;
    line-height: 1.75;
    margin-bottom: 20px;
    max-width: 52ch;
}
.loc-showcase-cta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 0.88rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    color: var(--gold);
    transition: color var(--trans), gap var(--trans);
}
.loc-showcase-row:hover .loc-showcase-cta { color: var(--gold-light); gap: 12px; }

/* Category showcase — bento mosaic (homepage) */
.cat-showcase-section {
    padding: 72px 0 80px;
    background: var(--bg);
}
.cat-showcase-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 3px;
    margin-top: 48px;
    background: rgba(201, 169, 98, 0.08);
}
.cat-showcase-tile {
    position: relative;
    display: block;
    min-height: clamp(300px, 32vw, 380px);
    overflow: hidden;
    text-decoration: none;
    color: inherit;
}
.cat-showcase-tile--wide { grid-column: span 2; min-height: clamp(280px, 28vw, 360px); }
.cat-showcase-tile--banner {
    grid-column: span 3;
    min-height: clamp(220px, 22vw, 280px);
}
.cat-showcase-tile img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    transition: transform 0.65s ease;
}
.cat-showcase-tile:hover img { transform: scale(1.06); }
.cat-showcase-shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(12,10,15,0.05) 0%, rgba(12,10,15,0.45) 45%, rgba(12,10,15,0.92) 100%);
    transition: background var(--trans);
}
.cat-showcase-tile:hover .cat-showcase-shade {
    background: linear-gradient(180deg, rgba(12,10,15,0.1) 0%, rgba(12,10,15,0.55) 50%, rgba(12,10,15,0.95) 100%);
}
.cat-showcase-content {
    position: absolute;
    inset: auto 0 0 0;
    padding: clamp(20px, 3vw, 32px);
    z-index: 1;
}
.cat-showcase-tag {
    display: inline-block;
    padding: 5px 12px;
    margin-bottom: 10px;
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--gold-light);
    border: 1px solid rgba(201, 169, 98, 0.35);
    border-radius: 20px;
    background: rgba(12, 10, 15, 0.45);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
}
.cat-showcase-num {
    position: absolute;
    top: clamp(16px, 2.5vw, 24px);
    right: clamp(16px, 2.5vw, 24px);
    font-family: var(--font-h);
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 600;
    line-height: 1;
    color: rgba(201, 169, 98, 0.22);
}
.cat-showcase-content h3 {
    font-family: var(--font-h);
    font-size: clamp(1.25rem, 2.2vw, 1.65rem);
    font-weight: 600;
    margin-bottom: 8px;
    color: var(--text);
}
.cat-showcase-tile--wide .cat-showcase-content h3 { font-size: clamp(1.5rem, 2.5vw, 2rem); }
.cat-showcase-content p {
    color: rgba(248, 244, 239, 0.72);
    font-size: 0.88rem;
    line-height: 1.65;
    margin-bottom: 12px;
    max-width: 48ch;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.cat-showcase-tile--wide .cat-showcase-content p,
.cat-showcase-tile--banner .cat-showcase-content p {
    -webkit-line-clamp: 3;
    max-width: 62ch;
}
.cat-showcase-cta {
    display: inline-flex;
    font-size: 0.84rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    color: var(--gold);
    transition: color var(--trans), transform var(--trans);
}
.cat-showcase-tile:hover .cat-showcase-cta { color: var(--gold-light); transform: translateX(4px); }

/* Home trust — Russian feature + why choose pillars */
.home-trust-section {
    padding: 80px 0;
    background: linear-gradient(180deg, var(--bg) 0%, rgba(20,16,24,0.85) 50%, var(--bg) 100%);
}
.home-trust-feature {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(32px, 5vw, 64px);
    align-items: center;
    margin-bottom: clamp(56px, 8vw, 88px);
    padding-bottom: clamp(56px, 8vw, 88px);
    border-bottom: 1px solid rgba(201, 169, 98, 0.12);
}
.home-trust-media {
    position: relative;
    min-height: clamp(320px, 38vw, 460px);
    overflow: hidden;
}
.home-trust-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    min-height: inherit;
}
.home-trust-shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(12,10,15,0.1) 0%, rgba(12,10,15,0.55) 100%);
    pointer-events: none;
}
.home-trust-badge {
    position: absolute;
    top: 24px;
    left: 24px;
    padding: 6px 14px;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--gold-light);
    border: 1px solid rgba(201, 169, 98, 0.35);
    border-radius: 20px;
    background: rgba(12, 10, 15, 0.55);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}
.home-trust-body {
    position: relative;
    padding-left: clamp(0px, 2vw, 24px);
}
.home-trust-body::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 2px;
    height: 64px;
    background: linear-gradient(180deg, var(--gold), transparent);
    opacity: 0.7;
}
.home-trust-title {
    font-family: var(--font-h);
    font-size: clamp(1.75rem, 3.2vw, 2.4rem);
    font-weight: 600;
    line-height: 1.15;
    margin: 12px 0 20px;
}
.home-trust-body p {
    color: var(--muted);
    font-size: 0.95rem;
    line-height: 1.75;
    margin-bottom: 16px;
}
.home-trust-link {
    display: inline-flex;
    margin-top: 8px;
    font-size: 0.88rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    color: var(--gold);
    text-decoration: none;
    transition: color var(--trans), transform var(--trans);
}
.home-trust-link:hover { color: var(--gold-light); transform: translateX(4px); }
.home-trust-why-head {
    text-align: center;
    max-width: 720px;
    margin: 0 auto 48px;
}
.home-trust-why-head .home-trust-title { margin-bottom: 0; }
.home-trust-pillars {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
    border-top: 1px solid rgba(201, 169, 98, 0.12);
    border-bottom: 1px solid rgba(201, 169, 98, 0.12);
}
.home-trust-pillar {
    position: relative;
    padding: clamp(28px, 4vw, 40px) clamp(24px, 3vw, 36px);
    border-right: 1px solid rgba(201, 169, 98, 0.12);
}
.home-trust-pillar:last-child { border-right: none; }
.home-trust-pillar-num {
    display: block;
    font-family: var(--font-h);
    font-size: 2.4rem;
    font-weight: 600;
    line-height: 1;
    color: rgba(201, 169, 98, 0.2);
    margin-bottom: 16px;
}
.home-trust-pillar h3 {
    font-family: var(--font-h);
    font-size: 1.25rem;
    font-weight: 600;
    margin-bottom: 12px;
    color: var(--text);
}
.home-trust-pillar p {
    color: var(--muted);
    font-size: 0.9rem;
    line-height: 1.7;
    margin: 0;
}
.home-trust-actions {
    display: flex;
    justify-content: center;
    gap: 14px;
    flex-wrap: wrap;
    margin-top: 40px;
}

/* Home airport — travel concierge feature */
.home-airport-section {
    padding: 80px 0;
    background: var(--bg);
    border-top: 1px solid rgba(201, 169, 98, 0.1);
}
.home-airport-feature {
    display: grid;
    grid-template-columns: 0.95fr 1.05fr;
    gap: clamp(32px, 5vw, 64px);
    align-items: stretch;
}
.home-airport-body {
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
    padding-right: clamp(0px, 2vw, 16px);
}
.home-airport-body::after {
    content: '';
    position: absolute;
    top: 50%;
    right: 0;
    width: 2px;
    height: 64px;
    transform: translateY(-50%);
    background: linear-gradient(180deg, transparent, var(--gold), transparent);
    opacity: 0.6;
}
.home-airport-title {
    font-family: var(--font-h);
    font-size: clamp(1.75rem, 3.2vw, 2.4rem);
    font-weight: 600;
    line-height: 1.15;
    margin: 12px 0 20px;
}
.home-airport-body p {
    color: var(--muted);
    font-size: 0.95rem;
    line-height: 1.75;
    margin-bottom: 16px;
}
.home-airport-perks {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
    margin: 8px 0 28px;
    border-top: 1px solid rgba(201, 169, 98, 0.12);
    border-bottom: 1px solid rgba(201, 169, 98, 0.12);
}
.home-airport-perk {
    padding: 16px 12px;
    text-align: center;
    border-right: 1px solid rgba(201, 169, 98, 0.12);
}
.home-airport-perk:last-child { border-right: none; }
.home-airport-perk strong {
    display: block;
    font-family: var(--font-h);
    font-size: 1.35rem;
    font-weight: 600;
    color: var(--gold-light);
    line-height: 1.1;
    margin-bottom: 4px;
}
.home-airport-perk span {
    display: block;
    font-size: 0.72rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--muted);
}
.home-airport-media {
    position: relative;
    min-height: clamp(380px, 42vw, 520px);
    overflow: hidden;
}
.home-airport-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    min-height: inherit;
}
.home-airport-shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(225deg, rgba(12,10,15,0.08) 0%, rgba(12,10,15,0.5) 55%, rgba(12,10,15,0.85) 100%);
    pointer-events: none;
}
.home-airport-badge {
    position: absolute;
    top: 24px;
    right: 24px;
    padding: 6px 14px;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--gold-light);
    border: 1px solid rgba(201, 169, 98, 0.35);
    border-radius: 20px;
    background: rgba(12, 10, 15, 0.55);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}
.home-airport-stat {
    position: absolute;
    bottom: 28px;
    left: 28px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}
.home-airport-stat-num {
    font-family: var(--font-h);
    font-size: clamp(3rem, 6vw, 4.5rem);
    font-weight: 600;
    line-height: 1;
    color: var(--gold-light);
    text-shadow: 0 2px 24px rgba(0,0,0,0.5);
}
.home-airport-stat-label {
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: rgba(248, 244, 239, 0.75);
    margin-top: 6px;
}

/* Home agency — full-bleed trust closing */
.home-agency-section {
    position: relative;
    padding: clamp(72px, 10vw, 100px) 0;
    overflow: hidden;
}
.home-agency-bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    transform: none;
}
.home-agency-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(105deg, rgba(12,10,15,0.94) 0%, rgba(12,10,15,0.82) 45%, rgba(12,10,15,0.88) 100%);
    pointer-events: none;
}
.home-agency-inner {
    position: relative;
    z-index: 1;
    max-width: 980px;
}
.home-agency-head {
    margin-bottom: clamp(28px, 4vw, 40px);
    padding-bottom: clamp(24px, 3vw, 32px);
    border-bottom: 1px solid rgba(201, 169, 98, 0.2);
}
.home-agency-badge {
    display: inline-block;
    padding: 6px 16px;
    margin-bottom: 16px;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--gold-light);
    border: 1px solid rgba(201, 169, 98, 0.35);
    border-radius: 20px;
    background: rgba(201, 169, 98, 0.08);
}
.home-agency-title {
    font-family: var(--font-h);
    font-size: clamp(2rem, 4.5vw, 3.2rem);
    font-weight: 600;
    line-height: 1.1;
    max-width: 14ch;
}
.home-agency-columns {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(24px, 4vw, 48px);
    margin-bottom: clamp(32px, 5vw, 48px);
}
.home-agency-columns p {
    color: rgba(248, 244, 239, 0.78);
    font-size: 0.95rem;
    line-height: 1.8;
    margin: 0;
}
.home-agency-foot {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding-top: clamp(24px, 3vw, 32px);
    border-top: 1px solid rgba(201, 169, 98, 0.15);
}
.home-agency-marks {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 20px;
}
.home-agency-marks span {
    position: relative;
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--gold);
    padding-left: 14px;
}
.home-agency-marks span::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    width: 6px;
    height: 6px;
    transform: translateY(-50%) rotate(45deg);
    background: var(--gold);
    opacity: 0.85;
}
.home-agency-actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

/* Legacy spotlight grid */
.spotlight-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }

/* Airport section */
.airport-grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: 40px; align-items: start; }
.benefits-panel { padding: 32px; border-radius: var(--radius-lg); }
.benefits-panel h3 { font-family: var(--font-h); font-size: 1.3rem; margin-bottom: 20px; font-weight: 600; }
.benefits-list { list-style: none; padding: 0; }
.benefits-list li { padding: 12px 0; border-bottom: 1px solid var(--border); }
.benefits-list li:last-child { border-bottom: none; }
.benefits-list strong { display: block; font-size: 0.92rem; margin-bottom: 4px; }
.benefits-list span { color: var(--muted); font-size: 0.84rem; }

/* Agency trust */
.agency-trust-inner { padding: 48px; border-radius: var(--radius-lg); text-align: center; max-width: 800px; margin: 0 auto; }
.agency-badge { display: inline-block; padding: 6px 16px; background: var(--accent-soft); border: 1px solid var(--border-glow); border-radius: 20px; font-size: 0.78rem; color: var(--gold); font-weight: 700; margin-bottom: 16px; }
.agency-trust-inner h2 { font-family: var(--font-h); font-size: clamp(1.6rem, 3vw, 2.2rem); margin-bottom: 18px; font-weight: 600; }
.agency-trust-inner p { color: var(--muted); margin-bottom: 14px; line-height: 1.75; }
.agency-cta { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; margin-top: 24px; }

/* Escort stats */
.escort-stats { list-style: none; padding: 0; margin: 10px 0 0; display: grid; grid-template-columns: 1fr 1fr; gap: 4px 12px; }
.escort-stats .stat-key { color: var(--muted); font-size: 0.75rem; }
.escort-stats .stat-val { color: var(--text); font-size: 0.75rem; font-weight: 600; }
.model-info .escort-stats { margin-top: 8px; }
.profile-hero-info .escort-stats { grid-template-columns: repeat(3, 1fr); margin: 16px 0; }
.profile-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.profile-img img { width: 100%; aspect-ratio: 3/4; object-fit: cover; }

/* Image-rich content blocks */
.content-img { width: 100%; height: 100%; object-fit: cover; border-radius: var(--radius-lg); }
.media-row { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: center; margin-bottom: 48px; }
.media-row:last-child { margin-bottom: 0; }
.media-row--reverse .media-row-img { order: 2; }
.media-row--reverse .media-row-body { order: 1; }
.media-row-img { border-radius: var(--radius-lg); overflow: hidden; border: 1px solid var(--border); aspect-ratio: 4/3; }
.media-row-body h2 { font-family: var(--font-h); font-size: 1.65rem; margin-bottom: 16px; font-weight: 600; }
.media-row-body h3 { font-family: var(--font-h); font-size: 1.15rem; margin: 16px 0 8px; color: var(--gold-light); }
.media-row-body p { color: var(--muted); margin-bottom: 12px; line-height: 1.75; }
.text-link { color: var(--gold); font-weight: 600; font-size: 0.9rem; }

.spotlight-img { border-radius: var(--radius-lg) var(--radius-lg) 0 0; overflow: hidden; aspect-ratio: 16/10; }
.airport-img { border-radius: var(--radius-lg); overflow: hidden; margin-bottom: 20px; border: 1px solid var(--border); }

/* Home journal — editorial digest (no image cards) */
.home-journal-section {
    padding: clamp(72px, 8vw, 96px) 0;
    background:
        radial-gradient(ellipse 60% 40% at 10% 0%, rgba(139, 74, 82, 0.08) 0%, transparent 55%),
        var(--bg);
}
.home-journal-head {
    max-width: 640px;
    margin-bottom: clamp(40px, 5vw, 56px);
}
.home-journal-title {
    font-family: var(--font-h);
    font-size: clamp(2rem, 3.8vw, 2.75rem);
    font-weight: 600;
    line-height: 1.12;
    margin: 12px 0 14px;
}
.home-journal-lede {
    color: var(--muted);
    font-size: 0.95rem;
    line-height: 1.75;
    margin: 0;
}
.home-journal-feature {
    padding: clamp(28px, 4vw, 40px) 0 clamp(36px, 5vw, 48px);
    margin-bottom: clamp(8px, 1.5vw, 16px);
    border-top: 1px solid rgba(201, 169, 98, 0.22);
    border-bottom: 1px solid rgba(201, 169, 98, 0.22);
}
.home-journal-meta {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 14px;
}
.home-journal-num {
    font-family: var(--font-h);
    font-size: clamp(1.5rem, 2.5vw, 1.85rem);
    font-weight: 600;
    line-height: 1;
    color: rgba(201, 169, 98, 0.35);
}
.home-journal-tag {
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--gold);
    padding: 5px 12px;
    border: 1px solid rgba(201, 169, 98, 0.28);
    border-radius: 999px;
}
.home-journal-item-title {
    font-family: var(--font-h);
    font-size: clamp(1.25rem, 2vw, 1.55rem);
    font-weight: 600;
    line-height: 1.25;
    margin: 0 0 clamp(16px, 2vw, 22px);
    max-width: 36ch;
}
.home-journal-feature .home-journal-item-title {
    font-size: clamp(1.45rem, 2.4vw, 1.85rem);
    max-width: 28ch;
}
.home-journal-prose {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.home-journal-prose--wide {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(20px, 3vw, 36px);
}
.home-journal-prose p {
    color: var(--muted);
    font-size: 0.9rem;
    line-height: 1.75;
    margin: 0;
}
.home-journal-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    border-top: 1px solid rgba(201, 169, 98, 0.12);
}
.home-journal-item {
    padding: clamp(28px, 3.5vw, 36px) clamp(24px, 3vw, 32px);
    border-bottom: 1px solid rgba(201, 169, 98, 0.12);
    border-right: 1px solid rgba(201, 169, 98, 0.12);
    transition: background var(--trans);
}
.home-journal-item:nth-child(even) { border-right: none; }
.home-journal-item--wide {
    grid-column: 1 / -1;
    border-right: none;
}
.home-journal-item:hover {
    background: rgba(201, 169, 98, 0.03);
}
.home-journal-item .home-journal-item-title { max-width: none; }

/* Home benefits — alternating horizontal bands */
.home-benefits-section {
    padding: clamp(72px, 8vw, 96px) 0;
    background: var(--bg);
}
.home-benefits-head {
    text-align: center;
    max-width: 560px;
    margin: 0 auto clamp(40px, 5vw, 52px);
}
.home-benefits-title {
    font-family: var(--font-h);
    font-size: clamp(1.85rem, 3.2vw, 2.5rem);
    font-weight: 600;
    line-height: 1.15;
    margin: 12px 0 0;
}
.home-benefits-list {
    border-top: 1px solid rgba(201, 169, 98, 0.18);
}
.home-benefits-band {
    display: grid;
    grid-template-columns: min(280px, 34%) 1fr;
    gap: clamp(28px, 4vw, 56px);
    align-items: center;
    padding: clamp(32px, 4vw, 44px) clamp(8px, 2vw, 16px);
    border-bottom: 1px solid rgba(201, 169, 98, 0.12);
    transition: padding-left var(--trans), padding-right var(--trans);
}
.home-benefits-band:hover {
    padding-left: clamp(16px, 2.5vw, 28px);
}
.home-benefits-band--flip {
    grid-template-columns: 1fr min(280px, 34%);
}
.home-benefits-band--flip .home-benefits-band-head {
    order: 2;
    text-align: right;
    border-left: none;
    border-right: 2px solid rgba(201, 169, 98, 0.45);
    padding-left: 0;
    padding-right: clamp(16px, 2.5vw, 24px);
}
.home-benefits-band--flip:hover {
    padding-left: clamp(8px, 2vw, 16px);
    padding-right: clamp(16px, 2.5vw, 28px);
}
.home-benefits-band-head {
    border-left: 2px solid rgba(201, 169, 98, 0.45);
    padding-left: clamp(16px, 2.5vw, 24px);
}
.home-benefits-kicker {
    display: block;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--gold);
    margin-bottom: 8px;
}
.home-benefits-band-head h3 {
    font-family: var(--font-h);
    font-size: clamp(1.25rem, 2vw, 1.55rem);
    font-weight: 600;
    line-height: 1.2;
    margin: 0;
}
.home-benefits-band p {
    color: var(--muted);
    font-size: 0.92rem;
    line-height: 1.78;
    margin: 0;
    max-width: 58ch;
}
.home-benefits-band--flip p {
    justify-self: end;
    text-align: right;
}

/* Home companion — asymmetric offset prose + full-bleed bg */
.home-companion-section {
    position: relative;
    padding: clamp(72px, 8vw, 96px) 0;
    overflow: hidden;
}
.home-companion-bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    transform: none;
}
.home-companion-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(12,10,15,0.92) 0%, rgba(12,10,15,0.88) 50%, rgba(12,10,15,0.94) 100%);
    pointer-events: none;
}
.home-companion-inner {
    position: relative;
    z-index: 1;
}
.home-companion-head {
    text-align: center;
    max-width: 640px;
    margin: 0 auto clamp(48px, 6vw, 64px);
}
.home-companion-title {
    font-family: var(--font-h);
    font-size: clamp(1.85rem, 3.2vw, 2.5rem);
    font-weight: 600;
    line-height: 1.15;
    margin: 12px 0 0;
}
.home-companion-stack {
    display: flex;
    flex-direction: column;
    gap: clamp(40px, 5vw, 56px);
}
.home-companion-block {
    position: relative;
    max-width: min(620px, 88%);
    padding-top: clamp(12px, 2vw, 20px);
}
.home-companion-block--left {
    margin-right: auto;
    padding-right: clamp(16px, 4vw, 48px);
}
.home-companion-block--right {
    margin-left: auto;
    padding-left: clamp(16px, 4vw, 48px);
    text-align: right;
}
.home-companion-watermark {
    position: absolute;
    top: -0.2em;
    font-family: var(--font-h);
    font-size: clamp(4.5rem, 10vw, 7rem);
    font-weight: 600;
    line-height: 1;
    color: rgba(201, 169, 98, 0.14);
    pointer-events: none;
    user-select: none;
    z-index: 0;
}
.home-companion-block--left .home-companion-watermark { left: -0.08em; }
.home-companion-block--right .home-companion-watermark { right: -0.08em; }
.home-companion-block h3 {
    position: relative;
    z-index: 1;
    font-family: var(--font-h);
    font-size: clamp(1.2rem, 2vw, 1.45rem);
    font-weight: 600;
    line-height: 1.28;
    margin: 0 0 clamp(14px, 2vw, 18px);
}
.home-companion-block--left h3 { max-width: 34ch; }
.home-companion-block--right h3 {
    margin-left: auto;
    max-width: 34ch;
}
.home-companion-block p {
    position: relative;
    z-index: 1;
    color: var(--muted);
    font-size: 0.92rem;
    line-height: 1.78;
    margin: 0 0 12px;
}
.home-companion-block p:last-child { margin-bottom: 0; }
.home-companion-block--right p { margin-left: auto; max-width: 52ch; }
.home-companion-block--left p { max-width: 52ch; }

.grab-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.grab-card { display: block; color: inherit; text-decoration: none; border-radius: var(--radius-lg); overflow: visible; background: var(--bg-card); border: 1px solid var(--border); transition: transform var(--trans), border-color var(--trans); padding-bottom: 8px; }
.grab-card:hover { transform: translateY(-4px); border-color: var(--border-glow); color: inherit; }
.grab-card-img {
    width: 180px; height: 180px; margin: 28px auto 20px;
    border-radius: 50%; overflow: hidden;
    border: 3px solid var(--gold);
    box-shadow: 0 0 0 4px rgba(201,169,98,0.15), 0 8px 24px rgba(0,0,0,0.35);
    transition: box-shadow var(--trans), border-color var(--trans);
}
.grab-card:hover .grab-card-img {
    border-color: var(--gold-light);
    box-shadow: 0 0 0 6px rgba(201,169,98,0.22), 0 12px 32px rgba(0,0,0,0.4);
}
.grab-card-img .content-img { width: 100%; height: 100%; object-fit: cover; border-radius: 50%; }
.grab-card-body { padding: 0 22px 22px; text-align: center; }
.grab-card h3 { font-family: var(--font-h); font-size: 1.2rem; margin-bottom: 10px; font-weight: 600; }
.grab-card p { color: var(--muted); font-size: 0.88rem; line-height: 1.65; margin-bottom: 12px; }
.grab-link { color: var(--gold); font-weight: 600; font-size: 0.85rem; }

.below-hero-header { margin-bottom: 40px; }
.below-hero-header .section-title { max-width: 800px; margin: 0 auto; }

.home-below-hero { padding: 56px 0; background: var(--bg-card); border-bottom: 1px solid var(--border); }

.reasons-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin: 40px 0; }
.reason-card { padding: 0; overflow: hidden; position: relative; }
.reason-card .content-img { border-radius: 0; }
.reason-card h3 { font-family: var(--font-h); font-size: 1.05rem; padding: 16px 18px 8px; font-weight: 600; }
.reason-card p { color: var(--muted); font-size: 0.86rem; padding: 0 18px 18px; line-height: 1.65; }
.reason-num { position: absolute; top: 12px; left: 12px; z-index: 2; width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; background: var(--burgundy); color: var(--gold-light); font-weight: 700; font-size: 0.82rem; border-radius: 50%; }

/* Service page rich content */
.service-rich-intro, .service-worth, .service-rich-mid, .service-related, .service-customers, .service-faq { padding: 56px 0; }
.worth-grid { display: flex; flex-direction: column; gap: 48px; margin-top: 32px; }
.worth-item { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: center; position: relative; }
.worth-item--reverse .worth-img { order: 2; }
.worth-item--reverse .worth-body { order: 1; }
.worth-num { position: absolute; top: -12px; left: -12px; z-index: 2; width: 48px; height: 48px; display: flex; align-items: center; justify-content: center; background: var(--gradient-brand); color: var(--bg); font-weight: 700; font-size: 1rem; border-radius: 50%; }
.worth-img { border-radius: var(--radius-lg); overflow: hidden; border: 1px solid var(--border); }
.worth-body h3 { font-family: var(--font-h); font-size: 1.4rem; margin-bottom: 12px; font-weight: 600; }
.worth-body h4 { font-family: var(--font-h); font-size: 1.1rem; margin: 20px 0 8px; color: var(--gold-light); }
.worth-body p { color: var(--muted); line-height: 1.75; margin-bottom: 10px; }

.related-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; align-items: start; }
.related-card {
    display: flex;
    flex-direction: column;
    align-self: start;
    color: inherit;
    text-decoration: none;
    overflow: hidden;
    border-radius: var(--radius-lg);
    transition: transform var(--trans), border-color var(--trans);
}
.related-card:hover { transform: translateY(-4px); border-color: var(--border-glow); color: inherit; }
.related-card-media {
    position: relative;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    flex-shrink: 0;
}
.related-card-media .content-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 0;
}
.related-card-caption {
    position: absolute;
    inset: auto 0 0 0;
    z-index: 1;
    padding: 32px 16px 14px;
    background: linear-gradient(180deg, transparent 0%, rgba(12, 10, 15, 0.72) 42%, rgba(12, 10, 15, 0.96) 100%);
    pointer-events: none;
}
.related-card-cat {
    display: block;
    font-size: 0.62rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--gold-light);
    margin-bottom: 6px;
}
.related-card-caption h3 {
    font-family: var(--font-h);
    font-size: clamp(0.95rem, 2.4vw, 1.12rem);
    font-weight: 600;
    line-height: 1.25;
    margin: 0;
    color: var(--text);
}
.related-card-body { padding: 16px 20px 20px; flex: 1; }
.related-card-body p { color: var(--muted); font-size: 0.86rem; line-height: 1.6; margin-bottom: 10px; }
.related-link { color: var(--gold); font-weight: 600; font-size: 0.85rem; }

.customer-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 32px; }
.customer-card .media-row { margin-bottom: 0; }

/* About page */
.about-hero {
    position: relative;
    padding: clamp(120px, 14vw, 160px) 0 clamp(64px, 8vw, 88px);
    overflow: hidden;
    text-align: center;
}
.about-hero-bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center top;
    background-repeat: no-repeat;
    transform: none;
}
.about-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(12,10,15,0.55) 0%, rgba(12,10,15,0.88) 70%, rgba(12,10,15,0.96) 100%);
    pointer-events: none;
}
.about-hero-inner {
    position: relative;
    z-index: 1;
    max-width: 680px;
    margin: 0 auto;
}
.about-hero-inner h1 {
    font-family: var(--font-h);
    font-size: clamp(2.2rem, 4.5vw, 3.4rem);
    font-weight: 600;
    line-height: 1.1;
    margin: 12px 0 16px;
}
.about-hero-inner p {
    color: rgba(248, 244, 239, 0.78);
    font-size: 1.05rem;
    line-height: 1.7;
    margin: 0;
}
.about-legacy-section {
    padding: clamp(64px, 8vw, 88px) 0;
    background: var(--bg);
}
.about-legacy-stage {
    display: grid;
    grid-template-columns: min(420px, 42%) 1fr;
    gap: clamp(32px, 5vw, 64px);
    align-items: center;
}
.about-legacy-visual {
    position: relative;
    min-height: clamp(420px, 42vw, 520px);
    border-radius: var(--radius-lg);
    overflow: hidden;
    border: 1px solid rgba(201, 169, 98, 0.15);
}
.about-legacy-visual::before {
    content: '';
    position: absolute;
    inset: 14px -14px -14px 14px;
    z-index: 0;
    border: 1px solid rgba(201, 169, 98, 0.18);
    border-radius: var(--radius-lg);
    pointer-events: none;
}
.about-legacy-visual img {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 100%;
    min-height: inherit;
    object-fit: cover;
    object-position: center top;
}
.about-legacy-visual-shade {
    position: absolute;
    inset: 0;
    z-index: 2;
    background: linear-gradient(180deg, rgba(12,10,15,0.08) 0%, rgba(12,10,15,0.4) 55%, rgba(12,10,15,0.85) 100%);
    pointer-events: none;
}
.about-legacy-visual-caption {
    position: absolute;
    z-index: 3;
    bottom: 28px;
    left: 28px;
}
.about-legacy-caption-top {
    display: block;
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--gold-light);
    margin-bottom: 8px;
}
.about-legacy-caption-main {
    font-family: var(--font-h);
    font-size: clamp(2rem, 3.5vw, 2.6rem);
    font-weight: 600;
    line-height: 1.05;
    color: var(--text);
}
.about-legacy-title {
    font-family: var(--font-h);
    font-size: clamp(1.85rem, 3.2vw, 2.5rem);
    font-weight: 600;
    line-height: 1.15;
    margin: 12px 0 clamp(20px, 2.5vw, 28px);
}
.about-legacy-prose p {
    color: var(--muted);
    font-size: 0.96rem;
    line-height: 1.82;
    margin: 0 0 16px;
}
.about-legacy-prose p:last-child { margin-bottom: 0; }
.about-legacy-lead {
    color: rgba(248, 244, 239, 0.88) !important;
    font-size: 1rem !important;
}
.about-legacy-lead::first-letter {
    float: left;
    font-family: var(--font-h);
    font-size: 3.1em;
    line-height: 0.82;
    padding: 0.04em 0.1em 0 0;
    color: var(--gold-light);
    font-weight: 600;
}
.about-legacy-actions {
    margin-top: clamp(28px, 3.5vw, 36px);
    padding-top: clamp(24px, 3vw, 32px);
    border-top: 1px solid rgba(201, 169, 98, 0.18);
}
.about-legacy-btns {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 12px;
}
.about-legacy-meta {
    color: var(--muted);
    font-size: 0.82rem;
    letter-spacing: 0.04em;
    margin: 0;
}
.about-rates-section {
    padding: clamp(64px, 8vw, 88px) 0;
    background:
        radial-gradient(ellipse 60% 50% at 50% 0%, rgba(201, 169, 98, 0.08) 0%, transparent 55%),
        var(--bg-card);
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
}
.about-rates-head {
    text-align: center;
    max-width: 560px;
    margin: 0 auto clamp(36px, 4.5vw, 48px);
}
.about-rates-title {
    font-family: var(--font-h);
    font-size: clamp(1.75rem, 3vw, 2.35rem);
    font-weight: 600;
    line-height: 1.15;
    margin: 12px 0 10px;
}
.about-rates-lede {
    color: var(--muted);
    font-size: 0.94rem;
    line-height: 1.7;
    margin: 0;
}
.about-rates-lede strong { color: var(--gold-light); font-weight: 600; }
.about-rates-panel .home-rate-panel-head { display: none; }
.about-rates-panel .home-rate-panel {
    border-top: none;
    padding-top: 0;
    max-width: 960px;
    margin: 0 auto;
}
.about-rates-panel .home-rate-panel-head { justify-content: center; text-align: center; flex-direction: column; align-items: center; }
.about-rates-panel .home-rate-panel-head > div { text-align: center; }
.about-rates-panel .home-rate-from { margin-top: 8px; }
.about-services-section {
    padding: clamp(64px, 8vw, 88px) 0;
    background: var(--bg-card);
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
}
.about-services-head {
    margin-bottom: clamp(28px, 3.5vw, 36px);
}
.about-services-title {
    font-family: var(--font-h);
    font-size: clamp(1.75rem, 3vw, 2.35rem);
    font-weight: 600;
    line-height: 1.15;
    margin: 12px 0 0;
}
.about-services-list {
    border-top: 1px solid rgba(201, 169, 98, 0.15);
}
.about-service-row {
    display: grid;
    grid-template-columns: min(240px, 34%) 1fr auto;
    gap: clamp(16px, 2.5vw, 28px);
    align-items: center;
    padding: clamp(20px, 2.5vw, 26px) clamp(8px, 1.5vw, 12px);
    border-bottom: 1px solid rgba(201, 169, 98, 0.12);
    text-decoration: none;
    color: inherit;
    transition: padding-left var(--trans), background var(--trans);
}
.about-service-row:hover {
    padding-left: 16px;
    background: rgba(201, 169, 98, 0.04);
    color: inherit;
}
.about-service-name {
    font-family: var(--font-h);
    font-size: clamp(1.05rem, 1.5vw, 1.2rem);
    font-weight: 600;
    color: var(--text);
}
.about-service-desc {
    color: var(--muted);
    font-size: 0.88rem;
    line-height: 1.55;
}
.about-service-arrow {
    font-size: 1.15rem;
    color: rgba(201, 169, 98, 0.45);
    transition: transform var(--trans), color var(--trans);
}
.about-service-row:hover .about-service-arrow {
    transform: translateX(4px);
    color: var(--gold-light);
}
.about-promise-band {
    padding: clamp(40px, 5vw, 56px) 0;
    background:
        radial-gradient(ellipse 60% 80% at 50% 50%, rgba(139, 74, 82, 0.12) 0%, transparent 70%),
        var(--bg);
    border-bottom: 1px solid var(--border);
}
.about-promise-inner {
    max-width: 820px;
    margin: 0 auto;
    text-align: center;
}
.about-promise-inner p {
    color: rgba(248, 244, 239, 0.82);
    font-family: var(--font-h);
    font-size: clamp(1.15rem, 2vw, 1.45rem);
    font-weight: 500;
    line-height: 1.65;
    margin: 14px 0 0;
}
.about-why-section {
    padding: clamp(64px, 8vw, 88px) 0;
    background: var(--bg);
}
.about-why-stage {
    max-width: 900px;
}
.about-why-title {
    font-family: var(--font-h);
    font-size: clamp(1.75rem, 3vw, 2.35rem);
    font-weight: 600;
    line-height: 1.15;
    margin: 12px 0 clamp(24px, 3vw, 32px);
}
.about-why-prose {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(24px, 4vw, 40px);
}
.about-why-prose p {
    color: var(--muted);
    font-size: 0.95rem;
    line-height: 1.78;
    margin: 0;
}
.about-coverage-section {
    position: relative;
    padding: clamp(72px, 8vw, 96px) 0;
    overflow: hidden;
}
.about-coverage-bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    transform: none;
}
.about-coverage-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(12,10,15,0.94) 0%, rgba(12,10,15,0.88) 45%, rgba(12,10,15,0.92) 100%);
    pointer-events: none;
}
.about-coverage-inner {
    position: relative;
    z-index: 1;
}
.about-coverage-head {
    text-align: center;
    max-width: 640px;
    margin: 0 auto clamp(28px, 3.5vw, 36px);
}
.about-coverage-title {
    font-family: var(--font-h);
    font-size: clamp(1.75rem, 3vw, 2.35rem);
    font-weight: 600;
    line-height: 1.15;
    margin: 12px 0 14px;
}
.about-coverage-lede {
    color: var(--muted);
    font-size: 0.95rem;
    line-height: 1.75;
    margin: 0;
}
.about-coverage-areas {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin-bottom: clamp(40px, 5vw, 52px);
}
.about-coverage-areas a {
    padding: 8px 18px;
    font-size: 0.82rem;
    font-weight: 500;
    letter-spacing: 0.03em;
    color: rgba(248, 244, 239, 0.85);
    text-decoration: none;
    border: 1px solid rgba(201, 169, 98, 0.28);
    border-radius: 999px;
    background: rgba(201, 169, 98, 0.06);
    transition: color var(--trans), border-color var(--trans), background var(--trans);
}
.about-coverage-areas a:hover {
    color: var(--gold-light);
    border-color: rgba(201, 169, 98, 0.5);
    background: rgba(201, 169, 98, 0.12);
}
.about-coverage-areas-all {
    color: var(--gold) !important;
    font-weight: 600 !important;
    border-color: rgba(201, 169, 98, 0.4) !important;
}
.about-coverage-metrics {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    border: 1px solid rgba(201, 169, 98, 0.2);
    background: rgba(12, 10, 15, 0.55);
    backdrop-filter: blur(8px);
}
.about-coverage-metric {
    padding: clamp(22px, 2.5vw, 28px) clamp(14px, 2vw, 18px);
    text-align: center;
    border-right: 1px solid rgba(201, 169, 98, 0.12);
}
.about-coverage-metric:last-child { border-right: none; }
.about-coverage-metric-val {
    display: block;
    font-family: var(--font-h);
    font-size: clamp(1.15rem, 1.8vw, 1.35rem);
    font-weight: 600;
    color: var(--gold-light);
    margin-bottom: 8px;
    line-height: 1.1;
}
.about-coverage-metric-label {
    display: block;
    color: rgba(248, 244, 239, 0.68);
    font-size: 0.78rem;
    line-height: 1.55;
}
.about-trust-section {
    padding: clamp(56px, 7vw, 72px) 0;
    background: var(--bg);
}

/* Services hub */
.services-hero {
    position: relative;
    padding: clamp(120px, 12vw, 148px) 0 clamp(64px, 8vw, 80px);
    overflow: hidden;
    text-align: center;
}
.services-hero-bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    transform: none;
}
.services-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(12,10,15,0.72) 0%, rgba(12,10,15,0.9) 65%, rgba(12,10,15,0.96) 100%);
    pointer-events: none;
}
.services-hero-inner {
    position: relative;
    z-index: 1;
    max-width: 720px;
    margin: 0 auto;
}
.services-hero-inner .breadcrumb {
    justify-content: center;
    margin-bottom: 20px;
}
.services-hero-inner h1 {
    font-family: var(--font-h);
    font-size: clamp(2.2rem, 4.5vw, 3.2rem);
    font-weight: 600;
    line-height: 1.1;
    margin: 12px 0 14px;
}
.services-hero-inner p {
    color: rgba(248, 244, 239, 0.78);
    font-size: 1.02rem;
    line-height: 1.7;
    margin: 0;
}
.services-intro-section {
    padding: clamp(56px, 7vw, 72px) 0;
    background: var(--bg);
    border-bottom: 1px solid var(--border);
}
.services-intro-inner {
    max-width: 900px;
    margin: 0 auto;
    text-align: center;
}
.services-intro-title {
    font-family: var(--font-h);
    font-size: clamp(1.75rem, 3vw, 2.35rem);
    font-weight: 600;
    line-height: 1.15;
    margin: 0 0 clamp(20px, 2.5vw, 28px);
}
.services-intro-prose {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(24px, 4vw, 40px);
    text-align: left;
}
.services-intro-prose p {
    color: var(--muted);
    font-size: 0.94rem;
    line-height: 1.78;
    margin: 0;
}
.services-featured-section {
    padding: clamp(56px, 7vw, 72px) 0;
    background: var(--bg-card);
    border-bottom: 1px solid var(--border);
}
.services-featured-head {
    margin-bottom: clamp(28px, 3.5vw, 36px);
}
.services-featured-title {
    font-family: var(--font-h);
    font-size: clamp(1.65rem, 2.8vw, 2.15rem);
    font-weight: 600;
    line-height: 1.15;
    margin: 12px 0 0;
}
.services-featured-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    border-top: 1px solid rgba(201, 169, 98, 0.15);
}
.services-catalog-section {
    padding: clamp(64px, 8vw, 88px) 0;
    background: var(--bg);
}
.services-catalog-stage {
    display: grid;
    grid-template-columns: min(200px, 22%) 1fr;
    gap: clamp(32px, 5vw, 56px);
    align-items: start;
}
.services-catalog-nav {
    position: sticky;
    top: 96px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.services-catalog-nav-label {
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--gold);
    margin-bottom: 8px;
}
.services-catalog-nav-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 0;
    font-size: 0.88rem;
    font-weight: 500;
    color: var(--muted);
    text-decoration: none;
    border-bottom: 1px solid rgba(201, 169, 98, 0.1);
    transition: color var(--trans), padding-left var(--trans);
}
.services-catalog-nav-link:hover {
    color: var(--gold-light);
    padding-left: 6px;
}
.services-catalog-nav-link span {
    font-size: 0.72rem;
    font-weight: 600;
    color: rgba(201, 169, 98, 0.55);
}
.services-catalog-groups {
    display: flex;
    flex-direction: column;
    gap: clamp(40px, 5vw, 52px);
}
.services-catalog-group-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 12px;
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(201, 169, 98, 0.2);
}
.services-catalog-group-head h2 {
    font-family: var(--font-h);
    font-size: clamp(1.35rem, 2vw, 1.65rem);
    font-weight: 600;
    margin: 0;
}
.services-catalog-count {
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--gold);
    white-space: nowrap;
}
.services-catalog-list {
    border-top: 1px solid rgba(201, 169, 98, 0.12);
}
.services-catalog-row {
    display: grid;
    grid-template-columns: min(220px, 32%) 1fr auto;
    gap: clamp(14px, 2vw, 24px);
    align-items: center;
    padding: clamp(16px, 2vw, 20px) clamp(8px, 1.5vw, 12px);
    border-bottom: 1px solid rgba(201, 169, 98, 0.1);
    text-decoration: none;
    color: inherit;
    transition: padding-left var(--trans), background var(--trans);
}
.services-catalog-row:hover {
    padding-left: 12px;
    background: rgba(201, 169, 98, 0.04);
    color: inherit;
}
.services-catalog-row--featured {
    border-right: 1px solid rgba(201, 169, 98, 0.1);
}
.services-featured-grid .services-catalog-row:nth-child(odd) {
    border-right: 1px solid rgba(201, 169, 98, 0.1);
}
.services-featured-grid .services-catalog-row:nth-last-child(-n+2) {
    border-bottom: none;
}
.services-catalog-name {
    font-family: var(--font-h);
    font-size: clamp(1rem, 1.4vw, 1.12rem);
    font-weight: 600;
    color: var(--text);
    line-height: 1.25;
}
.services-catalog-desc {
    color: var(--muted);
    font-size: 0.82rem;
    line-height: 1.55;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.services-catalog-arrow {
    font-size: 1.1rem;
    color: rgba(201, 169, 98, 0.45);
    transition: transform var(--trans), color var(--trans);
    flex-shrink: 0;
}
.services-catalog-row:hover .services-catalog-arrow {
    transform: translateX(4px);
    color: var(--gold-light);
}

/* Escorts hub */
.escorts-hero {
    position: relative;
    padding: clamp(120px, 12vw, 148px) 0 clamp(64px, 8vw, 80px);
    overflow: hidden;
    text-align: center;
}
.escorts-hero-bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    transform: none;
}
.escorts-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(12,10,15,0.72) 0%, rgba(12,10,15,0.9) 65%, rgba(12,10,15,0.96) 100%);
    pointer-events: none;
}
.escorts-hero-inner {
    position: relative;
    z-index: 1;
    max-width: 720px;
    margin: 0 auto;
}
.escorts-hero-inner .breadcrumb {
    justify-content: center;
    margin-bottom: 20px;
}
.escorts-hero-inner h1 {
    font-family: var(--font-h);
    font-size: clamp(2.2rem, 4.5vw, 3.2rem);
    font-weight: 600;
    line-height: 1.1;
    margin: 12px 0 14px;
}
.escorts-hero-inner p {
    color: rgba(248, 244, 239, 0.78);
    font-size: 1.02rem;
    line-height: 1.7;
    margin: 0;
}
.escorts-intro-section {
    padding: clamp(56px, 7vw, 72px) 0;
    background: var(--bg);
    border-bottom: 1px solid var(--border);
}
.escorts-intro-inner {
    max-width: 900px;
    margin: 0 auto;
    text-align: center;
}
.escorts-intro-title {
    font-family: var(--font-h);
    font-size: clamp(1.75rem, 3vw, 2.35rem);
    font-weight: 600;
    line-height: 1.15;
    margin: 0 0 clamp(20px, 2.5vw, 28px);
}
.escorts-intro-prose {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(24px, 4vw, 40px);
    text-align: left;
}
.escorts-intro-prose p {
    color: var(--muted);
    font-size: 0.94rem;
    line-height: 1.78;
    margin: 0;
}
.escorts-metrics {
    padding: clamp(32px, 5vw, 48px) 0;
    background: var(--bg-card);
    border-bottom: 1px solid rgba(201, 169, 98, 0.1);
}
.escorts-metrics-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
    border-top: 1px solid rgba(201, 169, 98, 0.12);
    border-bottom: 1px solid rgba(201, 169, 98, 0.12);
}
.escorts-metric {
    padding: clamp(24px, 3vw, 32px) clamp(16px, 2vw, 24px);
    text-align: center;
    border-right: 1px solid rgba(201, 169, 98, 0.12);
}
.escorts-metric:last-child { border-right: none; }
.escorts-metric-num {
    display: block;
    font-family: var(--font-h);
    font-size: clamp(1.75rem, 3vw, 2.4rem);
    font-weight: 600;
    color: var(--gold-light);
    line-height: 1.1;
    margin-bottom: 6px;
}
.escorts-metric-label {
    display: block;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--muted);
}
.escorts-spotlight-section {
    padding: clamp(56px, 7vw, 72px) 0;
    background: linear-gradient(180deg, var(--bg) 0%, rgba(20,16,24,0.65) 50%, var(--bg) 100%);
}
.escorts-spotlight-head {
    text-align: center;
    max-width: 640px;
    margin: 0 auto clamp(40px, 5vw, 56px);
}
.escorts-spotlight-title {
    font-family: var(--font-h);
    font-size: clamp(1.85rem, 3.2vw, 2.5rem);
    font-weight: 600;
    line-height: 1.12;
    margin: 10px 0 12px;
}
.escorts-spotlight-lede {
    color: var(--muted);
    font-size: 0.94rem;
    line-height: 1.7;
    margin: 0;
}
.escorts-spotlight-list {
    display: flex;
    flex-direction: column;
    gap: 0;
}
.escorts-spotlight-row {
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;
    gap: 0;
    align-items: stretch;
    text-decoration: none;
    color: inherit;
    border-top: 1px solid rgba(201, 169, 98, 0.12);
    transition: background var(--trans);
}
.escorts-spotlight-row:last-child { border-bottom: 1px solid rgba(201, 169, 98, 0.12); }
.escorts-spotlight-row:hover { background: rgba(201, 169, 98, 0.03); color: inherit; }
.escorts-spotlight-row--reverse { direction: rtl; }
.escorts-spotlight-row--reverse > * { direction: ltr; }
.escorts-spotlight-media {
    position: relative;
    min-height: clamp(280px, 36vw, 420px);
    overflow: hidden;
}
.escorts-spotlight-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    transition: transform 0.6s ease;
}
.escorts-spotlight-row:hover .escorts-spotlight-media img { transform: scale(1.04); }
.escorts-spotlight-shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(12,10,15,0.1) 0%, rgba(12,10,15,0.5) 100%);
    pointer-events: none;
}
.escorts-spotlight-row--reverse .escorts-spotlight-shade {
    background: linear-gradient(270deg, rgba(12,10,15,0.1) 0%, rgba(12,10,15,0.5) 100%);
}
.escorts-spotlight-badge {
    position: absolute;
    top: 24px;
    left: 24px;
    padding: 6px 14px;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--gold-light);
    border: 1px solid rgba(201, 169, 98, 0.35);
    border-radius: 20px;
    background: rgba(12, 10, 15, 0.55);
}
.escorts-spotlight-body {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(32px, 5vw, 56px) clamp(28px, 4vw, 48px);
}
.escorts-spotlight-type {
    display: block;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--gold);
    margin-bottom: 10px;
}
.escorts-spotlight-body h3 {
    font-family: var(--font-h);
    font-size: clamp(1.65rem, 2.8vw, 2.2rem);
    font-weight: 600;
    line-height: 1.12;
    margin-bottom: 14px;
}
.escorts-spotlight-body p {
    color: var(--muted);
    font-size: 0.92rem;
    line-height: 1.75;
    margin-bottom: 20px;
    max-width: 46ch;
}
.escorts-spotlight-stats {
    list-style: none;
    display: flex;
    gap: clamp(20px, 3vw, 32px);
    margin: 0 0 24px;
    padding: 16px 0 0;
    border-top: 1px solid rgba(201, 169, 98, 0.12);
}
.escorts-spotlight-stats li span {
    display: block;
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--muted);
    margin-bottom: 4px;
}
.escorts-spotlight-stats li strong {
    font-family: var(--font-h);
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--gold-light);
}
.escorts-spotlight-cta {
    font-size: 0.88rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    color: var(--gold);
    transition: color var(--trans), transform var(--trans);
}
.escorts-spotlight-row:hover .escorts-spotlight-cta {
    color: var(--gold-light);
    transform: translateX(4px);
}
.escorts-gallery-section {
    padding: clamp(56px, 7vw, 72px) 0;
    background: var(--bg);
    border-top: 1px solid rgba(201, 169, 98, 0.1);
}
.escorts-gallery-head {
    text-align: center;
    margin-bottom: clamp(28px, 4vw, 40px);
}
.escorts-gallery-title {
    font-family: var(--font-h);
    font-size: clamp(1.75rem, 3vw, 2.35rem);
    font-weight: 600;
    line-height: 1.15;
    margin: 10px 0 0;
}
.escorts-gallery-stage {
    max-width: 960px;
    margin: 0 auto;
}
.escorts-filter-nav {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-bottom: clamp(24px, 4vw, 36px);
    padding-bottom: 24px;
    border-bottom: 1px solid rgba(201, 169, 98, 0.12);
}
.escorts-filter-label {
    width: 100%;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--muted);
    margin-bottom: 4px;
}
.escorts-filter-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.escorts-filter-btn span {
    font-size: 0.72rem;
    opacity: 0.65;
}
.escorts-directory {
    display: flex;
    flex-direction: column;
}
.escorts-directory-row {
    display: grid;
    grid-template-columns: auto 72px 1fr auto;
    gap: clamp(16px, 3vw, 24px);
    align-items: center;
    padding: clamp(16px, 2.5vw, 22px) 4px;
    border-bottom: 1px solid rgba(201, 169, 98, 0.1);
    text-decoration: none;
    color: inherit;
    transition: background var(--trans), padding-left var(--trans);
}
.escorts-directory-row:first-child { border-top: 1px solid rgba(201, 169, 98, 0.1); }
.escorts-directory-row:hover {
    background: rgba(201, 169, 98, 0.03);
    padding-left: 12px;
    color: inherit;
}
.escorts-directory-row.hidden { display: none; }
.escorts-directory-num {
    font-family: var(--font-h);
    font-size: 1.1rem;
    font-weight: 600;
    color: rgba(201, 169, 98, 0.35);
    min-width: 28px;
}
.escorts-directory-thumb {
    width: 72px;
    height: 96px;
    overflow: hidden;
    border-radius: 4px;
    border: 1px solid rgba(201, 169, 98, 0.15);
    flex-shrink: 0;
}
.escorts-directory-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
}
.escorts-directory-type {
    display: block;
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--gold);
    margin-bottom: 4px;
}
.escorts-directory-body h3 {
    font-family: var(--font-h);
    font-size: 1.2rem;
    font-weight: 600;
    line-height: 1.2;
    margin-bottom: 4px;
}
.escorts-directory-meta {
    font-size: 0.82rem;
    color: var(--muted);
    margin: 0;
}
.escorts-directory-verified {
    color: var(--burgundy);
    font-weight: 600;
    font-size: 0.72rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}
.escorts-directory-arrow {
    font-size: 1.2rem;
    color: var(--gold);
    opacity: 0.6;
    transition: transform var(--trans), opacity var(--trans), color var(--trans);
}
.escorts-directory-row:hover .escorts-directory-arrow {
    transform: translateX(4px);
    opacity: 1;
    color: var(--gold-light);
}
.escorts-promise-band {
    padding: clamp(48px, 6vw, 64px) 0;
    background: var(--bg-card);
    border-top: 1px solid rgba(201, 169, 98, 0.1);
    text-align: center;
}
.escorts-promise-inner {
    max-width: 640px;
    margin: 0 auto;
}
.escorts-promise-inner p {
    font-family: var(--font-h);
    font-size: clamp(1.2rem, 2.2vw, 1.5rem);
    font-weight: 600;
    line-height: 1.45;
    color: var(--text);
    margin-bottom: 24px;
}

/* Hotels hub — split masthead + guest register (unique layout) */
.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}
body.page-hotels-hub { background: #0a0810; }

.hotels-masthead {
    display: grid;
    grid-template-columns: 1.15fr 0.85fr;
    min-height: clamp(520px, 72vh, 680px);
    border-bottom: 1px solid rgba(201, 169, 98, 0.15);
}
.hotels-masthead-visual {
    position: relative;
    overflow: hidden;
    min-height: 360px;
}
.hotels-masthead-visual img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
}
.hotels-masthead-shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, transparent 40%, rgba(10, 8, 16, 0.85) 100%);
    pointer-events: none;
}
.hotels-masthead-panel {
    display: flex;
    align-items: center;
    background:
        radial-gradient(ellipse 80% 60% at 100% 0%, rgba(139, 74, 82, 0.22) 0%, transparent 55%),
        linear-gradient(165deg, #141018 0%, #0a0810 100%);
    border-left: 1px solid rgba(201, 169, 98, 0.12);
}
.hotels-masthead-panel-inner {
    padding: clamp(48px, 6vw, 72px) clamp(32px, 5vw, 56px);
    max-width: 520px;
}
.hotels-masthead-panel .breadcrumb { margin-bottom: 28px; }
.hotels-masthead-eyebrow {
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--gold);
    margin-bottom: 16px;
}
.hotels-masthead-title {
    font-family: var(--font-h);
    font-size: clamp(2.4rem, 4.8vw, 3.6rem);
    font-weight: 600;
    line-height: 1.05;
    margin-bottom: 20px;
    color: var(--text);
}
.hotels-masthead-lede {
    color: var(--muted);
    font-size: 0.94rem;
    line-height: 1.75;
    margin-bottom: 28px;
    max-width: 42ch;
}
.hotels-masthead-stats {
    list-style: none;
    display: flex;
    gap: clamp(20px, 4vw, 36px);
    margin: 0 0 32px;
    padding: 20px 0 0;
    border-top: 1px solid rgba(201, 169, 98, 0.15);
}
.hotels-masthead-stats strong {
    display: block;
    font-family: var(--font-h);
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--gold-light);
    line-height: 1.1;
    margin-bottom: 4px;
}
.hotels-masthead-stats span {
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--muted);
}
.hotels-masthead-cta { width: 100%; max-width: 280px; text-align: center; justify-content: center; }

.hotels-protocol {
    padding: clamp(48px, 6vw, 64px) 0;
    background: #0a0810;
    border-bottom: 1px solid rgba(201, 169, 98, 0.1);
}
.hotels-protocol-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
    border: 1px solid rgba(201, 169, 98, 0.12);
}
.hotels-protocol-step {
    padding: clamp(28px, 4vw, 40px) clamp(24px, 3vw, 36px);
    border-right: 1px solid rgba(201, 169, 98, 0.12);
}
.hotels-protocol-step:last-child { border-right: none; }
.hotels-protocol-num {
    display: block;
    font-family: var(--font-h);
    font-size: 2.8rem;
    font-weight: 600;
    line-height: 1;
    color: rgba(201, 169, 98, 0.25);
    margin-bottom: 16px;
}
.hotels-protocol-step h2 {
    font-family: var(--font-h);
    font-size: 1.35rem;
    font-weight: 600;
    margin-bottom: 12px;
    color: var(--gold-light);
}
.hotels-protocol-step p {
    color: var(--muted);
    font-size: 0.88rem;
    line-height: 1.7;
    margin: 0;
}

.hotels-grand-hall {
    padding: clamp(64px, 8vw, 88px) 0;
    background:
        radial-gradient(ellipse 70% 50% at 50% 0%, rgba(139, 74, 82, 0.12) 0%, transparent 60%),
        #0c0a0f;
}
.hotels-grand-head {
    text-align: center;
    margin-bottom: clamp(40px, 5vw, 56px);
}
.hotels-grand-label {
    display: block;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--gold);
    margin-bottom: 10px;
}
.hotels-grand-head h2 {
    font-family: var(--font-h);
    font-size: clamp(2rem, 3.5vw, 2.75rem);
    font-weight: 600;
    line-height: 1.1;
}
.hotels-grand-wall {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: clamp(12px, 2vw, 20px);
    align-items: end;
}
.hotels-grand-item {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: clamp(20px, 3vw, 28px) clamp(16px, 2.5vw, 24px);
    text-decoration: none;
    color: inherit;
    border-bottom: 2px solid rgba(201, 169, 98, 0.2);
    transition: border-color var(--trans), transform var(--trans);
}
.hotels-grand-item:hover {
    border-color: var(--gold);
    color: inherit;
    transform: translateY(-2px);
}
.hotels-grand-item:nth-child(4n+1) { grid-column: 1 / span 5; }
.hotels-grand-item:nth-child(4n+2) { grid-column: 6 / span 7; padding-top: clamp(28px, 3.5vw, 44px); }
.hotels-grand-item:nth-child(4n+3) { grid-column: 1 / span 6; }
.hotels-grand-item:nth-child(4n+4) { grid-column: 7 / span 6; padding-top: clamp(24px, 3vw, 36px); }
.hotels-grand-stars {
    font-size: 0.62rem;
    letter-spacing: 0.15em;
    color: var(--gold);
    opacity: 0.75;
}
.hotels-grand-name {
    font-family: var(--font-h);
    font-size: clamp(1.35rem, 2.2vw, 1.85rem);
    font-weight: 600;
    line-height: 1.15;
    color: var(--text);
}
.hotels-grand-area {
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--muted);
}

.hotels-register {
    padding: clamp(64px, 8vw, 88px) 0;
    background: #0a0810;
    border-top: 1px solid rgba(201, 169, 98, 0.1);
}
.hotels-register-shell { max-width: 980px; margin: 0 auto; }
.hotels-register-head {
    text-align: center;
    margin-bottom: clamp(32px, 4vw, 48px);
}
.hotels-register-label {
    display: block;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--burgundy);
    margin-bottom: 10px;
}
.hotels-register-head h2 {
    font-family: var(--font-h);
    font-size: clamp(1.85rem, 3.2vw, 2.5rem);
    font-weight: 600;
    margin-bottom: 12px;
}
.hotels-register-head p {
    color: var(--muted);
    font-size: 0.92rem;
    line-height: 1.7;
    margin: 0;
}
.hotels-register-tools {
    position: sticky;
    top: calc(var(--header-h) + var(--topbar-h) - 1px);
    z-index: 50;
    background: rgba(10, 8, 16, 0.94);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    padding: 16px 0 20px;
    margin-bottom: 8px;
    border-bottom: 1px solid rgba(201, 169, 98, 0.12);
}
.hotels-search {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    margin-bottom: 14px;
    border: 1px solid rgba(201, 169, 98, 0.2);
    border-radius: 4px;
    background: rgba(20, 16, 24, 0.6);
    color: var(--muted);
}
.hotels-search:focus-within {
    border-color: var(--gold);
    color: var(--gold-light);
}
.hotels-search-input {
    flex: 1;
    border: none;
    background: transparent;
    color: var(--text);
    font-family: var(--font-b);
    font-size: 16px;
    outline: none;
}
.hotels-search-input::placeholder { color: var(--muted); }
.hotels-area-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    max-height: 120px;
    overflow-y: auto;
}
.hotels-area-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 14px;
    border: 1px solid rgba(201, 169, 98, 0.18);
    border-radius: 999px;
    background: transparent;
    color: var(--muted);
    font-family: var(--font-b);
    font-size: 0.78rem;
    font-weight: 500;
    cursor: pointer;
    transition: border-color var(--trans), color var(--trans), background var(--trans);
}
.hotels-area-btn span { opacity: 0.55; font-size: 0.72rem; }
.hotels-area-btn:hover,
.hotels-area-btn.active {
    border-color: var(--gold);
    color: var(--gold-light);
    background: rgba(201, 169, 98, 0.08);
}
.hotels-register-group {
    margin-bottom: clamp(32px, 4vw, 48px);
}
.hotels-register-group.hidden { display: none; }
.hotels-register-zone {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 12px;
    padding-top: 8px;
}
.hotels-register-zone-line {
    flex: 1;
    height: 1px;
    background: linear-gradient(90deg, rgba(201, 169, 98, 0.35), transparent);
}
.hotels-register-zone h3 {
    font-family: var(--font-h);
    font-size: 1.15rem;
    font-weight: 600;
    color: var(--gold-light);
    white-space: nowrap;
    order: -1;
}
.hotels-register-zone-count {
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--muted);
    white-space: nowrap;
}
.hotels-register-list {
    display: flex;
    flex-direction: column;
}
.hotels-register-row {
    display: flex;
    align-items: baseline;
    gap: 12px;
    padding: 11px 4px;
    text-decoration: none;
    color: inherit;
    border-bottom: 1px solid rgba(201, 169, 98, 0.06);
    transition: background var(--trans), padding-left var(--trans);
}
.hotels-register-row:hover {
    background: rgba(201, 169, 98, 0.04);
    padding-left: 10px;
    color: inherit;
}
.hotels-register-row.hidden { display: none; }
.hotels-register-row-name {
    font-family: var(--font-h);
    font-size: 1.05rem;
    font-weight: 600;
    color: var(--text);
    flex-shrink: 0;
    max-width: 55%;
}
.hotels-register-row-dots {
    flex: 1;
    border-bottom: 1px dotted rgba(201, 169, 98, 0.22);
    min-width: 16px;
    margin-bottom: 5px;
}
.hotels-register-row-action {
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--gold);
    opacity: 0.7;
    flex-shrink: 0;
    transition: opacity var(--trans), color var(--trans);
}
.hotels-register-row:hover .hotels-register-row-action {
    opacity: 1;
    color: var(--gold-light);
}
.hotels-register-empty {
    text-align: center;
    color: var(--muted);
    font-size: 0.92rem;
    padding: 48px 0;
}

.hotels-dispatch-band {
    padding: clamp(48px, 6vw, 64px) 0;
    background:
        linear-gradient(135deg, rgba(139, 74, 82, 0.18) 0%, rgba(12, 10, 15, 0.95) 50%),
        var(--bg-card);
    border-top: 1px solid rgba(201, 169, 98, 0.15);
}
.hotels-dispatch-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
    flex-wrap: wrap;
}
.hotels-dispatch-label {
    display: block;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--gold);
    margin-bottom: 8px;
}
.hotels-dispatch-copy p {
    font-family: var(--font-h);
    font-size: clamp(1.2rem, 2vw, 1.45rem);
    font-weight: 600;
    line-height: 1.4;
    margin: 0;
    max-width: 48ch;
}

/* Blog hub — magazine journal layout */
body.page-blog-hub { background: var(--bg); }

.blog-masthead {
    position: relative;
    padding: clamp(112px, 11vw, 136px) 0 clamp(48px, 6vw, 64px);
    border-bottom: 1px solid rgba(201, 169, 98, 0.12);
    overflow: hidden;
}
.blog-masthead-spine {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: clamp(36px, 4vw, 52px);
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(180deg, rgba(139, 74, 82, 0.35) 0%, rgba(92, 46, 53, 0.2) 100%);
    border-right: 1px solid rgba(201, 169, 98, 0.15);
}
.blog-masthead-spine span {
    writing-mode: vertical-rl;
    transform: rotate(180deg);
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: rgba(232, 217, 181, 0.75);
    white-space: nowrap;
}
.blog-masthead-inner {
    max-width: 720px;
    margin: 0 auto;
    padding-left: clamp(48px, 6vw, 72px);
    text-align: center;
}
.blog-masthead-inner .breadcrumb { justify-content: center; margin-bottom: 24px; }
.blog-masthead-issue {
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--gold);
    margin-bottom: 16px;
}
.blog-masthead-title {
    font-family: var(--font-h);
    font-size: clamp(2.4rem, 5vw, 3.5rem);
    font-weight: 600;
    line-height: 1.08;
    margin-bottom: 20px;
}
.blog-masthead-lede {
    color: var(--muted);
    font-size: 0.96rem;
    line-height: 1.75;
    margin: 0 auto;
    max-width: 52ch;
}

.blog-edition-bar {
    padding: clamp(28px, 4vw, 40px) 0;
    background: var(--bg-card);
    border-bottom: 1px solid rgba(201, 169, 98, 0.1);
}
.blog-edition-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
    border-top: 1px solid rgba(201, 169, 98, 0.12);
    border-bottom: 1px solid rgba(201, 169, 98, 0.12);
}
.blog-edition-stat {
    padding: clamp(20px, 3vw, 28px) clamp(12px, 2vw, 20px);
    text-align: center;
    border-right: 1px solid rgba(201, 169, 98, 0.12);
}
.blog-edition-stat:last-child { border-right: none; }
.blog-edition-num {
    display: block;
    font-family: var(--font-h);
    font-size: clamp(1.5rem, 2.5vw, 2rem);
    font-weight: 600;
    color: var(--gold-light);
    line-height: 1.1;
    margin-bottom: 4px;
}
.blog-edition-label {
    display: block;
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--muted);
}

.blog-lead-section {
    padding: clamp(56px, 7vw, 72px) 0;
    background: var(--bg);
}
.blog-lead-label { margin-bottom: clamp(24px, 3vw, 32px); }
.blog-lead {
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;
    gap: clamp(32px, 5vw, 56px);
    align-items: center;
    padding: clamp(28px, 4vw, 40px) 0;
    border-top: 1px solid rgba(201, 169, 98, 0.18);
    border-bottom: 1px solid rgba(201, 169, 98, 0.18);
}
.blog-lead-media {
    display: block;
    overflow: hidden;
    aspect-ratio: 16/10;
    border: 1px solid rgba(201, 169, 98, 0.15);
}
.blog-lead-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s ease;
}
.blog-lead-media:hover img { transform: scale(1.03); }
.blog-lead-body { min-width: 0; }
.blog-lead-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 16px;
}
.blog-lead-num {
    font-family: var(--font-h);
    font-size: 1.75rem;
    font-weight: 600;
    line-height: 1;
    color: rgba(201, 169, 98, 0.35);
}
.blog-lead-tag {
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--gold);
    padding: 5px 12px;
    border: 1px solid rgba(201, 169, 98, 0.28);
    border-radius: 999px;
}
.blog-lead-date {
    font-size: 0.76rem;
    color: var(--muted);
    margin-left: auto;
}
.blog-lead-title {
    font-family: var(--font-h);
    font-size: clamp(1.65rem, 2.8vw, 2.2rem);
    font-weight: 600;
    line-height: 1.15;
    margin-bottom: 16px;
}
.blog-lead-title a {
    color: var(--text);
    text-decoration: none;
    transition: color var(--trans);
}
.blog-lead-title a:hover { color: var(--gold-light); }
.blog-lead-excerpt {
    color: var(--muted);
    font-size: 0.94rem;
    line-height: 1.75;
    margin-bottom: 20px;
}
.blog-lead-cta {
    font-size: 0.88rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    color: var(--gold);
    text-decoration: none;
    transition: color var(--trans), transform var(--trans);
}
.blog-lead-cta:hover { color: var(--gold-light); transform: translateX(4px); }

.blog-archive-section {
    padding: clamp(56px, 7vw, 72px) 0;
    background:
        radial-gradient(ellipse 55% 40% at 90% 0%, rgba(139, 74, 82, 0.08) 0%, transparent 55%),
        var(--bg);
    border-top: 1px solid rgba(201, 169, 98, 0.08);
}
.blog-archive-shell { max-width: 1040px; margin: 0 auto; }
.blog-archive-head { margin-bottom: clamp(28px, 4vw, 40px); }
.blog-archive-title {
    font-family: var(--font-h);
    font-size: clamp(1.75rem, 3vw, 2.35rem);
    font-weight: 600;
    line-height: 1.15;
    margin: 10px 0 0;
}
.blog-shelf {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-bottom: clamp(28px, 4vw, 40px);
    padding-bottom: 24px;
    border-bottom: 1px solid rgba(201, 169, 98, 0.12);
}
.blog-shelf-label {
    width: 100%;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--muted);
    margin-bottom: 4px;
}
.blog-shelf-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 14px;
    border: 1px solid rgba(201, 169, 98, 0.18);
    border-radius: 999px;
    background: transparent;
    color: var(--muted);
    font-family: var(--font-b);
    font-size: 0.78rem;
    font-weight: 500;
    cursor: pointer;
    transition: border-color var(--trans), color var(--trans), background var(--trans);
}
.blog-shelf-btn span { opacity: 0.55; font-size: 0.72rem; }
.blog-shelf-btn:hover,
.blog-shelf-btn.active {
    border-color: var(--gold);
    color: var(--gold-light);
    background: rgba(201, 169, 98, 0.08);
}
.blog-archive-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    border-top: 1px solid rgba(201, 169, 98, 0.12);
}
.blog-archive-item {
    padding: clamp(28px, 3.5vw, 36px) clamp(24px, 3vw, 32px);
    border-bottom: 1px solid rgba(201, 169, 98, 0.12);
    border-right: 1px solid rgba(201, 169, 98, 0.12);
    transition: background var(--trans);
}
.blog-archive-item:nth-child(even) { border-right: none; }
.blog-archive-item:nth-last-child(-n+2):nth-child(odd):last-child,
.blog-archive-item:last-child:nth-child(odd) {
    grid-column: 1 / -1;
    border-right: none;
}
.blog-archive-item:hover { background: rgba(201, 169, 98, 0.03); }
.blog-archive-item.hidden { display: none; }
.blog-archive-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 12px;
}
.blog-archive-num {
    font-family: var(--font-h);
    font-size: 1.25rem;
    font-weight: 600;
    color: rgba(201, 169, 98, 0.35);
    line-height: 1;
}
.blog-archive-tag {
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--gold);
}
.blog-archive-date {
    font-size: 0.72rem;
    color: var(--muted);
    margin-left: auto;
}
.blog-archive-item-title {
    font-family: var(--font-h);
    font-size: clamp(1.15rem, 1.8vw, 1.35rem);
    font-weight: 600;
    line-height: 1.25;
    margin-bottom: 12px;
}
.blog-archive-item-title a {
    color: var(--text);
    text-decoration: none;
    transition: color var(--trans);
}
.blog-archive-item-title a:hover { color: var(--gold-light); }
.blog-archive-excerpt {
    color: var(--muted);
    font-size: 0.88rem;
    line-height: 1.7;
    margin-bottom: 14px;
}
.blog-archive-link {
    font-size: 0.82rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    color: var(--gold);
    text-decoration: none;
    transition: color var(--trans), transform var(--trans);
}
.blog-archive-link:hover { color: var(--gold-light); transform: translateX(3px); }
.blog-archive-empty {
    text-align: center;
    color: var(--muted);
    font-size: 0.92rem;
    padding: 48px 0;
}

.blog-concierge-band {
    padding: clamp(48px, 6vw, 64px) 0;
    background: var(--bg-card);
    border-top: 1px solid rgba(201, 169, 98, 0.12);
}
.blog-concierge-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
    flex-wrap: wrap;
}
.blog-concierge-label {
    display: block;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--gold);
    margin-bottom: 8px;
}
.blog-concierge-copy p {
    font-family: var(--font-h);
    font-size: clamp(1.15rem, 2vw, 1.4rem);
    font-weight: 600;
    line-height: 1.4;
    margin: 0;
    max-width: 46ch;
}

/* FAQ hub — concierge desk layout */
body.page-faq-hub { background: var(--bg); }

.faq-atrium {
    position: relative;
    padding: clamp(112px, 11vw, 136px) 0 clamp(48px, 6vw, 64px);
    text-align: center;
    border-bottom: 1px solid rgba(201, 169, 98, 0.12);
    overflow: hidden;
}
.faq-atrium::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse 50% 60% at 50% 100%, rgba(139, 74, 82, 0.12) 0%, transparent 65%),
        radial-gradient(ellipse 40% 50% at 80% 20%, rgba(201, 169, 98, 0.06) 0%, transparent 55%);
    pointer-events: none;
}
.faq-atrium-inner {
    position: relative;
    z-index: 1;
    max-width: 640px;
    margin: 0 auto;
}
.faq-atrium-inner .breadcrumb { justify-content: center; margin-bottom: 32px; }
.faq-atrium-mark {
    display: block;
    font-family: var(--font-h);
    font-size: clamp(5rem, 14vw, 8rem);
    font-weight: 600;
    line-height: 0.85;
    color: rgba(201, 169, 98, 0.12);
    margin-bottom: -0.15em;
    user-select: none;
}
.faq-atrium-eyebrow {
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--gold);
    margin-bottom: 12px;
}
.faq-atrium-title {
    font-family: var(--font-h);
    font-size: clamp(2.4rem, 5vw, 3.4rem);
    font-weight: 600;
    line-height: 1.05;
    margin-bottom: 20px;
}
.faq-atrium-lede {
    color: var(--muted);
    font-size: 0.96rem;
    line-height: 1.75;
    margin: 0 auto;
    max-width: 52ch;
}

.faq-assurance {
    padding: clamp(32px, 4vw, 48px) 0;
    background: var(--bg-card);
    border-bottom: 1px solid rgba(201, 169, 98, 0.1);
}
.faq-assurance-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
    border-top: 1px solid rgba(201, 169, 98, 0.12);
    border-bottom: 1px solid rgba(201, 169, 98, 0.12);
}
.faq-assurance-item {
    padding: clamp(24px, 3vw, 32px) clamp(20px, 2.5vw, 28px);
    text-align: center;
    border-right: 1px solid rgba(201, 169, 98, 0.12);
}
.faq-assurance-item:last-child { border-right: none; }
.faq-assurance-icon {
    display: block;
    font-size: 0.75rem;
    color: var(--gold);
    margin-bottom: 10px;
}
.faq-assurance-item strong {
    display: block;
    font-family: var(--font-h);
    font-size: 1.15rem;
    font-weight: 600;
    color: var(--gold-light);
    margin-bottom: 6px;
}
.faq-assurance-item p {
    color: var(--muted);
    font-size: 0.82rem;
    line-height: 1.6;
    margin: 0;
}

.faq-hub-section {
    padding: clamp(56px, 7vw, 80px) 0;
    background: var(--bg);
}
.faq-hub-stage {
    display: grid;
    grid-template-columns: 240px 1fr;
    gap: clamp(32px, 5vw, 64px);
    align-items: start;
}
.faq-hub-sidebar {
    position: sticky;
    top: calc(var(--header-h) + var(--topbar-h) + 16px);
}
.faq-hub-sidebar-label {
    display: block;
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--muted);
    margin-bottom: 12px;
}
.faq-hub-nav {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-bottom: 32px;
    padding-bottom: 32px;
    border-bottom: 1px solid rgba(201, 169, 98, 0.12);
}
.faq-hub-nav-link {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 0;
    font-size: 0.88rem;
    font-weight: 500;
    color: var(--muted);
    text-decoration: none;
    transition: color var(--trans), transform var(--trans);
}
.faq-hub-nav-link:hover {
    color: var(--gold-light);
    transform: translateX(4px);
}
.faq-hub-nav-num {
    font-family: var(--font-h);
    font-size: 1rem;
    font-weight: 600;
    color: rgba(201, 169, 98, 0.4);
    min-width: 24px;
}
.faq-hub-sidebar-contact p {
    font-size: 0.88rem;
    color: var(--muted);
    margin-bottom: 14px;
    line-height: 1.5;
}
.faq-hub-sidebar-contact .btn {
    width: 100%;
    text-align: center;
    justify-content: center;
    margin-bottom: 12px;
}
.faq-hub-phone {
    display: block;
    text-align: center;
    font-family: var(--font-h);
    font-size: 1.05rem;
    font-weight: 600;
    color: var(--gold-light);
    text-decoration: none;
}
.faq-hub-phone:hover { color: var(--gold); }

.faq-hub-chapter {
    margin-bottom: clamp(40px, 5vw, 56px);
    scroll-margin-top: calc(var(--header-h) + var(--topbar-h) + 24px);
}
.faq-hub-chapter:last-child { margin-bottom: 0; }
.faq-hub-chapter-head {
    display: flex;
    gap: clamp(16px, 2.5vw, 24px);
    align-items: flex-start;
    margin-bottom: 8px;
    padding-bottom: 20px;
    border-bottom: 1px solid rgba(201, 169, 98, 0.18);
}
.faq-hub-chapter-num {
    font-family: var(--font-h);
    font-size: clamp(2rem, 3vw, 2.6rem);
    font-weight: 600;
    line-height: 1;
    color: rgba(201, 169, 98, 0.3);
    flex-shrink: 0;
}
.faq-hub-chapter-head h2 {
    font-family: var(--font-h);
    font-size: clamp(1.35rem, 2.2vw, 1.65rem);
    font-weight: 600;
    margin-bottom: 6px;
    color: var(--text);
}
.faq-hub-chapter-head p {
    color: var(--muted);
    font-size: 0.86rem;
    line-height: 1.65;
    margin: 0;
}
.faq-hub-list {
    max-width: none;
    margin: 0;
}
.faq-hub-list .faq-item {
    border-bottom-color: rgba(201, 169, 98, 0.1);
}
.faq-hub-list .faq-item.open {
    background: rgba(201, 169, 98, 0.04);
}
.faq-hub-list .faq-question {
    padding: 20px 16px;
    font-size: 1.08rem;
}
.faq-hub-list .faq-item.open .faq-answer {
    max-height: 360px;
}
.faq-hub-list .faq-answer p {
    padding: 0 16px 22px;
}

.faq-desk-band {
    padding: clamp(48px, 6vw, 64px) 0;
    background:
        linear-gradient(135deg, rgba(139, 74, 82, 0.15) 0%, rgba(12, 10, 15, 0.95) 55%),
        var(--bg-card);
    border-top: 1px solid rgba(201, 169, 98, 0.12);
}
.faq-desk-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
    flex-wrap: wrap;
}
.faq-desk-label {
    display: block;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--gold);
    margin-bottom: 8px;
}
.faq-desk-copy p {
    font-family: var(--font-h);
    font-size: clamp(1.15rem, 2vw, 1.4rem);
    font-weight: 600;
    line-height: 1.4;
    margin: 0;
    max-width: 46ch;
}
.faq-desk-actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

/* Responsive */
@media (max-width: 1024px) {
    .services-intro-prose { grid-template-columns: 1fr; }
    .services-featured-grid { grid-template-columns: 1fr; }
    .services-featured-grid .services-catalog-row { border-right: none !important; }
    .services-featured-grid .services-catalog-row:nth-last-child(-n+2) { border-bottom: 1px solid rgba(201, 169, 98, 0.1); }
    .services-featured-grid .services-catalog-row:last-child { border-bottom: none; }
    .services-catalog-stage { grid-template-columns: 1fr; }
    .services-catalog-nav {
        position: static;
        flex-direction: row;
        flex-wrap: wrap;
        gap: 8px;
        margin-bottom: 8px;
    }
    .services-catalog-nav-label { width: 100%; margin-bottom: 4px; }
    .services-catalog-nav-link {
        border: 1px solid rgba(201, 169, 98, 0.2);
        border-radius: 999px;
        padding: 8px 14px;
        border-bottom: 1px solid rgba(201, 169, 98, 0.2);
    }
    .services-catalog-row {
        grid-template-columns: 1fr auto;
        grid-template-rows: auto auto;
    }
    .services-catalog-desc { grid-column: 1 / -1; }
    .escorts-intro-prose { grid-template-columns: 1fr; }
    .escorts-metrics-grid { grid-template-columns: 1fr 1fr; }
    .escorts-metric:nth-child(2n) { border-right: none; }
    .escorts-metric:nth-child(-n+2) { border-bottom: 1px solid rgba(201, 169, 98, 0.12); }
    .escorts-spotlight-row,
    .escorts-spotlight-row--reverse { grid-template-columns: 1fr; direction: ltr; }
    .escorts-spotlight-row--reverse > * { direction: ltr; }
    .escorts-spotlight-media { min-height: 320px; }
    .hotels-masthead { grid-template-columns: 1fr; min-height: auto; }
    .hotels-masthead-visual { min-height: 300px; order: -1; }
    .hotels-masthead-shade {
        background: linear-gradient(180deg, transparent 30%, rgba(10, 8, 16, 0.92) 100%);
    }
    .hotels-masthead-panel { border-left: none; border-top: 1px solid rgba(201, 169, 98, 0.12); }
    .hotels-masthead-panel-inner { max-width: none; padding: 40px 24px; }
    .hotels-protocol-grid { grid-template-columns: 1fr; }
    .hotels-protocol-step {
        border-right: none;
        border-bottom: 1px solid rgba(201, 169, 98, 0.12);
    }
    .hotels-protocol-step:last-child { border-bottom: none; }
    .hotels-grand-wall { grid-template-columns: 1fr; }
    .hotels-grand-item,
    .hotels-grand-item:nth-child(n) {
        grid-column: 1 / -1;
        padding-top: 20px !important;
    }
    .blog-edition-grid { grid-template-columns: 1fr 1fr; }
    .blog-edition-stat:nth-child(2n) { border-right: none; }
    .blog-edition-stat:nth-child(-n+2) { border-bottom: 1px solid rgba(201, 169, 98, 0.12); }
    .blog-lead { grid-template-columns: 1fr; }
    .blog-lead-date { margin-left: 0; }
    .blog-archive-grid { grid-template-columns: 1fr; }
    .blog-archive-item,
    .blog-archive-item:nth-child(even) { border-right: none; }
    .faq-hub-stage { grid-template-columns: 1fr; }
    .faq-hub-sidebar {
        position: static;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 24px;
        align-items: start;
        margin-bottom: 16px;
    }
    .faq-hub-nav { margin-bottom: 0; padding-bottom: 0; border-bottom: none; }
    .faq-assurance-grid { grid-template-columns: 1fr; }
    .faq-assurance-item {
        border-right: none;
        border-bottom: 1px solid rgba(201, 169, 98, 0.12);
    }
    .faq-assurance-item:last-child { border-bottom: none; }
    .about-legacy-stage { grid-template-columns: 1fr; }
    .about-legacy-visual { min-height: 360px; }
    .about-legacy-visual::before { inset: 12px -12px -12px 12px; }
    .about-service-row { grid-template-columns: 1fr auto; grid-template-rows: auto auto; }
    .about-service-desc { grid-column: 1; }
    .about-service-arrow { grid-column: 2; grid-row: 1 / 3; align-self: center; }
    .about-why-prose { grid-template-columns: 1fr; }
    .about-coverage-metrics { grid-template-columns: 1fr 1fr; }
    .about-coverage-metric:nth-child(2n) { border-right: none; }
    .about-coverage-metric:nth-child(-n+4) { border-bottom: 1px solid rgba(201, 169, 98, 0.12); }
    .about-coverage-metric:last-child { grid-column: 1 / -1; border-right: none; border-bottom: none; }
    .home-luxury-stage { grid-template-columns: 1fr; }
    .home-luxury-visual { min-height: 360px; }
    .home-luxury-visual::before { inset: 12px -12px -12px 12px; }
    .home-services-mosaic { grid-template-columns: 1fr; }
    .home-service-tile--feat,
    .home-service-tile--wide { grid-column: span 1; min-height: 300px; }
    .home-standard-item {
        grid-template-columns: auto 1fr auto;
        grid-template-rows: auto auto;
    }
    .home-standard-num { grid-column: 1; grid-row: 1; }
    .home-standard-icon { grid-column: 1; grid-row: 2; width: 40px; height: 40px; font-size: 1rem; }
    .home-standard-body { grid-column: 2; grid-row: 1 / 3; }
    .home-standard-arrow { grid-column: 3; grid-row: 1 / 3; align-self: center; }
    .home-loc-stage { grid-template-columns: 1fr; }
    .home-loc-panel { min-height: 300px; order: -1; }
    .home-barrier-stage { grid-template-columns: 1fr; gap: 32px; }
    .home-barrier-rail { position: static; }
    .home-barrier-rail-desc { max-width: 42ch; }
    .home-barrier-rail-line { display: none; }
    .home-journal-prose--wide { grid-template-columns: 1fr; }
    .home-journal-grid { grid-template-columns: 1fr; }
    .home-journal-item { border-right: none; }
    .home-benefits-band,
    .home-benefits-band--flip {
        grid-template-columns: 1fr;
        gap: 16px;
        padding-left: 0;
        padding-right: 0;
    }
    .home-benefits-band--flip .home-benefits-band-head {
        order: unset;
        text-align: left;
        border-right: none;
        border-left: 2px solid rgba(201, 169, 98, 0.45);
        padding-right: 0;
        padding-left: clamp(16px, 4vw, 20px);
    }
    .home-benefits-band--flip p {
        text-align: left;
        justify-self: start;
    }
    .home-benefits-band:hover,
    .home-benefits-band--flip:hover {
        padding-left: 0;
        padding-right: 0;
    }
    .home-pricing-tiers { grid-template-columns: 1fr; }
    .home-pricing-tier--featured { transform: none; }
    .home-pricing-tier--featured:hover { transform: translateY(-4px); }
    .home-rate-table-head { display: none; }
    .home-rate-table-row {
        grid-template-columns: 1fr;
        gap: 8px;
        padding: 20px 16px;
    }
    .home-rate-table-row span::before {
        display: block;
        font-size: 0.68rem;
        font-weight: 600;
        letter-spacing: 0.1em;
        text-transform: uppercase;
        color: var(--gold);
        margin-bottom: 2px;
    }
    .home-rate-table-row span:nth-child(2)::before { content: '1 Hour'; }
    .home-rate-table-row span:nth-child(3)::before { content: '2 Hours'; }
    .home-rate-table-row span:nth-child(4)::before { content: 'Full Night'; }
    .intro-grid, .hub-grid, .locations-grid, .blog-grid, .pricing-grid { grid-template-columns: 1fr 1fr; }
    .why-grid {
        grid-template-columns: 1fr;
        gap: clamp(32px, 5vw, 48px);
    }
    .why-image {
        max-width: 520px;
        margin: 0 auto;
        width: 100%;
    }
    .blog-img-grid, .blog-related .related-grid { grid-template-columns: 1fr 1fr; }
    .worth-item { display: grid; grid-template-columns: 1fr 1fr; }
    .content-wrap, .profile-hero-grid, .service-premium-grid, .hotel-premium-grid { grid-template-columns: 1fr; }
    .service-premium-intro, .hotel-premium-intro { grid-template-columns: 1fr; }
    .service-premium-tiers, .service-premium-features, .hotel-premium-features { grid-template-columns: 1fr; }
    .service-premium-aside { position: static; }
    .service-premium-bento { grid-template-columns: 1fr; }
    .service-premium-bento-copy { grid-row: auto; }
    .service-premium-mosaic { grid-template-columns: 1fr; }
    .service-premium-stats { grid-template-columns: 1fr 1fr; }
    .service-premium-float-img { float: none; width: 100%; margin: 0 0 16px; }
    .footer-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 1100px) {
    .nav-link { padding: 9px 12px; font-size: 0.72rem; letter-spacing: 0.06em; }
    .header-call-text { display: none; }
    .header-call-pill { padding: 10px 12px; }
    .logo-text { font-size: 1.22rem; }
    .logo-sub { letter-spacing: 0.16em; }
}
@media (max-width: 960px) {
    .topbar-note { display: none; }
    .topbar-sep { display: none; }
    .header-inner { grid-template-columns: 1fr auto; gap: 12px; }
    .main-nav {
        position: fixed;
        top: 0; right: 0;
        width: min(340px, 88vw);
        height: 100dvh;
        z-index: 999;
        padding: 24px 22px 32px;
        background: linear-gradient(180deg, #141018 0%, #0c0a0f 100%);
        border-left: 1px solid rgba(201,169,98,0.15);
        box-shadow: -20px 0 60px rgba(0,0,0,0.55);
        transform: translateX(105%);
        opacity: 0;
        transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.35s ease;
        overflow-y: auto;
        justify-self: unset;
    }
    .main-nav.open { transform: translateX(0); opacity: 1; }
    .nav-panel-head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-bottom: 28px;
        padding-bottom: 18px;
        border-bottom: 1px solid rgba(201,169,98,0.12);
    }
    .nav-panel-title {
        font-family: var(--font-h);
        font-size: 1.35rem;
        color: var(--gold-light);
        font-weight: 600;
    }
    .nav-close {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 40px; height: 40px;
        border-radius: 10px;
        border: 1px solid rgba(201,169,98,0.2);
        background: rgba(201,169,98,0.06);
        color: var(--gold-light);
        cursor: pointer;
        transition: background var(--trans);
    }
    .nav-close:hover { background: rgba(201,169,98,0.14); }
    .nav-list {
        flex-direction: column;
        align-items: stretch;
        gap: 6px;
        padding: 0;
        border: none;
        background: none;
        border-radius: 0;
    }
    .nav-link {
        padding: 14px 16px;
        border-radius: 12px;
        font-size: 0.82rem;
        border: 1px solid transparent;
    }
    .nav-link:hover { border-color: rgba(201,169,98,0.12); }
    .nav-link.active { box-shadow: none; }
    .nav-panel-cta {
        display: flex;
        flex-direction: column;
        gap: 10px;
        margin-top: 28px;
        padding-top: 24px;
        border-top: 1px solid rgba(201,169,98,0.12);
    }
    .nav-toggle { display: flex; }
}
@media (max-width: 768px) {
    .loc-spotlight-grid { grid-template-columns: 1fr; }
    .loc-spot-card { border-right: none; border-bottom: 1px solid rgba(201, 169, 98, 0.1); }
    .loc-spot-card:last-child { border-bottom: none; }
    .loc-spotlight-head { padding: 36px 20px 28px; }
    .loc-spot-body { padding: 22px 20px 26px; }
    .loc-showcase-row,
    .loc-showcase-row--reverse { grid-template-columns: 1fr; direction: ltr; }
    .loc-showcase-row--reverse > * { direction: ltr; }
    .loc-showcase-media { min-height: 240px; }
    .loc-showcase-body::before { display: none; }
    .loc-showcase-body { padding: 28px 0 36px; }
    .home-agency-columns { grid-template-columns: 1fr; }
    .home-agency-foot { flex-direction: column; align-items: flex-start; }
    .home-agency-title { max-width: none; }
    .home-airport-feature { grid-template-columns: 1fr; }
    .home-airport-body::after { display: none; }
    .home-airport-body { padding-right: 0; order: 2; }
    .home-airport-media { order: 1; min-height: 280px; }
    .home-airport-perks { grid-template-columns: repeat(2, 1fr); }
    .home-airport-perk:nth-child(2) { border-right: none; }
    .home-airport-perk:nth-child(1),
    .home-airport-perk:nth-child(2) { border-bottom: 1px solid rgba(201, 169, 98, 0.12); }
    .home-trust-feature { grid-template-columns: 1fr; }
    .home-trust-body::before { display: none; }
    .home-trust-body { padding-left: 0; padding-top: 8px; }
    .home-trust-pillars { grid-template-columns: 1fr; }
    .home-trust-pillar { border-right: none; border-bottom: 1px solid rgba(201, 169, 98, 0.12); }
    .home-trust-pillar:last-child { border-bottom: none; }
    .cat-showcase-grid { grid-template-columns: 1fr; }
    .cat-showcase-tile--wide,
    .cat-showcase-tile--banner { grid-column: span 1; min-height: 300px; }
    .home-loc-entry {
        grid-template-columns: auto 1fr;
        grid-template-rows: auto auto;
    }
    .home-loc-entry-meta {
        grid-column: 2;
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        width: 100%;
    }
    .home-companion-block,
    .home-companion-block--left,
    .home-companion-block--right {
        max-width: 100%;
        margin-left: 0;
        margin-right: 0;
        padding-left: 0;
        padding-right: 0;
        text-align: left;
    }
    .home-companion-block--right h3,
    .home-companion-block--right p {
        margin-left: 0;
        text-align: left;
    }
    .home-barrier-prose {
        grid-template-columns: 1fr;
        padding-left: clamp(28px, 8vw, 36px);
    }
    .home-barrier-lead::first-letter { font-size: 2.6em; }
    .intro-grid, .hub-grid, .locations-grid, .blog-grid, .pricing-grid, .models-grid, .profile-grid, .footer-grid, .stats-grid, .spotlight-grid, .airport-grid, .media-row, .grab-grid, .reasons-grid, .worth-item, .related-grid, .customer-grid, .blog-img-grid, .blog-related .related-grid { grid-template-columns: 1fr; }
    /* The Sugar Baby Standard — mobile */
    .why-section { padding: 56px 0; }
    .why-grid { gap: 28px; }
    .why-content p { max-width: none; font-size: 0.92rem; }
    .why-content .section-title { font-size: clamp(1.65rem, 6.5vw, 2rem); }
    .why-list { margin-bottom: 24px; }
    .why-list li { padding: 16px 0; }
    .why-list strong { font-size: 0.95rem; }
    .why-list span { font-size: 0.88rem; }
    .why-content .btn-primary { width: 100%; text-align: center; justify-content: center; }
    .why-image { max-width: none; }
    .why-image img { aspect-ratio: 4/3; max-height: 380px; }
    .worth-item--reverse .worth-img, .worth-item--reverse .worth-body { order: unset; }
    .media-row--reverse .media-row-img, .media-row--reverse .media-row-body { order: unset; }
    .section { padding: 60px 0; }
    .logo-sub { display: none; }
    .topbar-live { font-size: 0.68rem; }
    .cta-strip { flex-direction: column; text-align: center; }
    .floating-call { right: 24px; bottom: 88px; }
    .back-to-top { bottom: 156px; }
    .glass { backdrop-filter: none; }
    .container { padding: 0 16px; }
    /* No zoom / shrink on mobile */
    html {
        -webkit-text-size-adjust: 100%;
        text-size-adjust: 100%;
        touch-action: manipulation;
    }
    body {
        touch-action: pan-x pan-y;
        overflow-x: clip;
    }
    input, select, textarea, button {
        font-size: 16px;
    }
    .about-hero-bg,
    .about-coverage-bg,
    .home-companion-bg,
    .home-agency-bg,
    .services-hero-bg,
    .escorts-hero-bg,
    .locations-page-bg {
        transform: none !important;
    }
    .home-service-tile:hover img,
    .loc-showcase-row:hover .loc-showcase-media img,
    .cat-showcase-tile:hover img,
    .loc-spot-card:hover .loc-spot-visual img,
    .hub-card:hover,
    .model-card:hover,
    .blog-card:hover,
    .grab-card:hover,
    .related-card:hover,
    .floating-whatsapp:hover,
    .floating-call:hover {
        transform: none !important;
    }
    .home-pricing-tier,
    .home-pricing-tier--featured,
    .home-pricing-tier:hover,
    .home-pricing-tier--featured:hover {
        transform: none !important;
    }
    .reveal {
        transform: none !important;
        opacity: 0;
    }
    .reveal.visible {
        transform: none !important;
        opacity: 1;
    }
    .btn-primary:hover {
        transform: none;
    }
    /* Services hub — mobile */
    .services-hero {
        padding: clamp(96px, 18vw, 120px) 0 clamp(48px, 10vw, 64px);
    }
    .services-hero-inner h1 { font-size: clamp(1.85rem, 7vw, 2.4rem); }
    .services-hero-inner p { font-size: 0.92rem; }
    .services-intro-inner { text-align: left; }
    .services-intro-prose { gap: 16px; }
    .services-catalog-group-head {
        flex-direction: column;
        align-items: flex-start;
        gap: 6px;
    }
    .services-catalog-row {
        grid-template-columns: 1fr auto;
        grid-template-rows: auto auto;
        gap: 8px 12px;
        padding: 16px 4px;
    }
    .services-catalog-row:hover { padding-left: 4px; }
    .services-catalog-name { font-size: 1rem; }
    .services-catalog-desc {
        grid-column: 1 / -1;
        -webkit-line-clamp: 3;
    }
    .services-catalog-arrow {
        grid-column: 2;
        grid-row: 1;
        align-self: start;
    }
    .services-catalog-nav-link { font-size: 0.78rem; padding: 7px 12px; }
    /* Escorts hub — mobile */
    .escorts-hero {
        padding: clamp(96px, 18vw, 120px) 0 clamp(48px, 10vw, 64px);
    }
    .escorts-hero-inner h1 { font-size: clamp(1.85rem, 7vw, 2.4rem); }
    .escorts-hero-inner p { font-size: 0.92rem; }
    .escorts-intro-inner { text-align: left; }
    .escorts-intro-prose { gap: 16px; }
    .escorts-metrics-grid { grid-template-columns: 1fr; }
    .escorts-metric {
        border-right: none !important;
        border-bottom: 1px solid rgba(201, 169, 98, 0.12);
    }
    .escorts-metric:last-child { border-bottom: none; }
    .escorts-spotlight-head { text-align: left; }
    .escorts-spotlight-body { padding: 28px 0 36px; }
    .escorts-spotlight-body p { max-width: none; }
    .escorts-spotlight-row:hover .escorts-spotlight-media img { transform: none; }
    .escorts-gallery-head { text-align: left; }
    .escorts-filter-nav {
        flex-direction: row;
        flex-wrap: wrap;
        gap: 8px;
    }
    .escorts-directory-row {
        grid-template-columns: auto 64px 1fr auto;
        gap: 12px;
        padding-left: 0;
        padding-right: 0;
    }
    .escorts-directory-row:hover { padding-left: 0; }
    .escorts-directory-thumb { width: 64px; height: 84px; }
    .escorts-directory-body h3 { font-size: 1.05rem; }
    .escorts-promise-inner .btn { width: 100%; text-align: center; }
    /* Hotels hub — mobile */
    .hotels-masthead-title { font-size: clamp(2rem, 8vw, 2.6rem); }
    .hotels-masthead-stats { flex-wrap: wrap; gap: 16px 24px; }
    .hotels-masthead-cta { max-width: none; width: 100%; }
    .hotels-grand-head { text-align: left; }
    .hotels-register-head { text-align: left; }
    .hotels-register-tools { top: calc(var(--header-h) - 1px); }
    .hotels-area-nav { max-height: 96px; }
    .hotels-register-row-name { max-width: none; font-size: 0.98rem; }
    .hotels-register-row-dots { display: none; }
    .hotels-register-row {
        flex-wrap: wrap;
        gap: 4px 8px;
        padding: 14px 0;
    }
    .hotels-register-row-action { width: 100%; }
    .hotels-dispatch-inner { flex-direction: column; align-items: stretch; }
    .hotels-dispatch-inner .btn { width: 100%; text-align: center; }
    /* Blog hub — mobile */
    .blog-masthead-spine { width: 28px; }
    .blog-masthead-spine span { font-size: 0.55rem; letter-spacing: 0.16em; }
    .blog-masthead-inner { padding-left: 36px; text-align: left; }
    .blog-masthead-inner .breadcrumb { justify-content: flex-start; }
    .blog-masthead-title { font-size: clamp(2rem, 8vw, 2.6rem); }
    .blog-masthead-lede { max-width: none; }
    .blog-edition-grid { grid-template-columns: 1fr; }
    .blog-edition-stat {
        border-right: none !important;
        border-bottom: 1px solid rgba(201, 169, 98, 0.12);
    }
    .blog-edition-stat:last-child { border-bottom: none; }
    .blog-lead-media:hover img { transform: none; }
    .blog-lead-meta { gap: 8px; }
    .blog-lead-date { width: 100%; margin-left: 0; }
    .blog-archive-head { text-align: left; }
    .blog-concierge-inner { flex-direction: column; align-items: stretch; }
    .blog-concierge-inner .btn { width: 100%; text-align: center; }
    /* FAQ hub — mobile */
    .faq-atrium-inner { text-align: left; }
    .faq-atrium-inner .breadcrumb { justify-content: flex-start; }
    .faq-atrium-mark { font-size: clamp(4rem, 18vw, 5.5rem); }
    .faq-atrium-title { font-size: clamp(2rem, 8vw, 2.6rem); }
    .faq-atrium-lede { max-width: none; }
    .faq-hub-sidebar { grid-template-columns: 1fr; }
    .faq-hub-sidebar-contact .btn { width: 100%; }
    .faq-desk-inner { flex-direction: column; align-items: stretch; }
    .faq-desk-actions { flex-direction: column; }
    .faq-desk-actions .btn { width: 100%; text-align: center; }
    /* About page — mobile */
    .about-hero {
        padding: clamp(96px, 18vw, 120px) 0 clamp(48px, 10vw, 64px);
    }
    .about-hero-inner h1 { font-size: clamp(1.85rem, 7vw, 2.4rem); }
    .about-legacy-btns { flex-direction: column; }
    .about-legacy-btns .btn { width: 100%; text-align: center; }
    .about-service-row {
        grid-template-columns: 1fr auto;
        padding-left: 0;
        padding-right: 0;
    }
    .about-service-row:hover { padding-left: 0; }
    .about-service-desc { grid-column: 1 / -1; }
    .about-service-arrow { grid-column: 2; grid-row: 1; align-self: start; }
    .about-coverage-metrics { grid-template-columns: 1fr; }
    .about-coverage-metric {
        border-right: none !important;
        border-bottom: 1px solid rgba(201, 169, 98, 0.12);
    }
    .about-coverage-metric:last-child {
        grid-column: auto;
        border-bottom: none;
    }
    .about-promise-inner p { font-size: 1.05rem; }
    .about-rates-head { text-align: left; margin-left: 0; margin-right: 0; }
    /* Homepage sections — mobile gaps */
    .home-pricing-tiers { grid-template-columns: 1fr; }
    .home-journal-head { text-align: left; }
    .home-benefits-head { text-align: left; }
    .home-companion-head { text-align: left; }
    .home-barrier-rail-desc { max-width: none; }
    .home-loc-entry { padding-left: 0; padding-right: 0; }
    .home-loc-entry:hover { padding-left: 0; }
}
@media (min-width: 961px) {
    .header-call-text { display: inline; }
}
