/* Global uniform lock - all pages */

:root {
    --nav-top-offset: 10px;
    --nav-side-offset: 12px;
    --nav-padding-y: 9px;
    --nav-padding-x: 12px;
    --nav-radius: 22px;
    --nav-control-height: 44px;
    --nav-control-radius: 999px;
    --nav-search-width: min(35vw, 360px);
}

/* Typography: use the same family as "Performance Analysis" across the site */
html,
body,
body * {
    font-family: 'Barlow Condensed', 'Inter', 'Noto Sans SC', 'Microsoft YaHei', sans-serif !important;
}

/* Top navbar: dark glass, fixed, consistent on all pages */
.navbar,
.navbar.navbar-scrolled,
body.offers-page .navbar {
    position: fixed !important;
    left: var(--nav-side-offset) !important;
    right: var(--nav-side-offset) !important;
    top: var(--nav-top-offset) !important;
    width: auto !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    padding: var(--nav-padding-y) var(--nav-padding-x) !important;
    border-radius: var(--nav-radius) !important;
    background: linear-gradient(180deg, rgba(7, 11, 17, 0.82), rgba(7, 11, 17, 0.64)) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    box-shadow: 0 8px 24px rgba(2, 6, 23, 0.2) !important;
    -webkit-backdrop-filter: blur(16px) !important;
    backdrop-filter: blur(16px) !important;
    transform: translateY(0) !important;
}

.navbar.navbar-hidden {
    transform: translateY(calc(-100% - 18px)) !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.nav-left {
    display: flex !important;
    align-items: center !important;
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 0 !important;
}

.nav-right {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    gap: 10px !important;
}

.dropbtn,
.lang-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: var(--nav-control-height) !important;
    height: var(--nav-control-height) !important;
    padding: 0 16px !important;
    border-radius: var(--nav-control-radius) !important;
    background: rgba(14, 21, 34, 0.94) !important;
    color: #ffffff !important;
    border: 1px solid rgba(255, 255, 255, 0.16) !important;
    box-shadow: none !important;
    text-transform: uppercase !important;
    letter-spacing: 0.07em !important;
    font-size: 0.98rem !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

.menu-text,
.lang-text,
.dropbtn,
.lang-btn {
    color: #ffffff !important;
}

.search-bar {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    min-height: var(--nav-control-height) !important;
    height: var(--nav-control-height) !important;
    width: var(--nav-search-width) !important;
    max-width: var(--nav-search-width) !important;
    min-width: 180px !important;
    padding: 0 16px !important;
    border-radius: var(--nav-control-radius) !important;
    background: rgba(29, 39, 59, 0.72) !important;
    border: 1px solid rgba(255, 255, 255, 0.16) !important;
    box-shadow: none !important;
}

.search-bar::before {
    content: none !important;
    display: none !important;
}

.search-bar > span {
    display: none !important;
}

.search-input,
.search-input::placeholder {
    color: rgba(255, 255, 255, 0.9) !important;
    font-size: 1rem !important;
    letter-spacing: 0.01em !important;
    line-height: 1 !important;
}

.flag {
    font-size: 1rem !important;
    line-height: 1 !important;
}

/* Ensure hero tagline and CTA buttons keep the reference vibe */
.hero-anim-tagline,
.tagline {
    color: #ffffff !important;
    text-transform: uppercase !important;
    letter-spacing: 0.14em !important;
}

.hero-btn {
    border-radius: 999px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.07em !important;
}

/* Mobile lock: keep one row with same DA */
@media (max-width: 760px) {
    :root {
        --nav-top-offset: 8px;
        --nav-side-offset: 8px;
        --nav-padding-y: 7px;
        --nav-padding-x: 8px;
        --nav-radius: 20px;
        --nav-control-height: 40px;
        --nav-search-width: min(46vw, 200px);
    }

    .navbar,
    .navbar.navbar-scrolled,
    body.offers-page .navbar {
        left: var(--nav-side-offset) !important;
        right: var(--nav-side-offset) !important;
        top: var(--nav-top-offset) !important;
        display: flex !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: space-between !important;
        padding: var(--nav-padding-y) var(--nav-padding-x) !important;
        gap: 6px !important;
        border-radius: var(--nav-radius) !important;
    }

    .nav-left {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        flex: 0 0 auto !important;
        width: auto !important;
        min-width: 0 !important;
    }

    .nav-right {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        align-items: center !important;
        justify-content: end !important;
        flex: 1 1 auto !important;
        width: auto !important;
        min-width: 0 !important;
        gap: 6px !important;
    }

    .dropdown {
        display: flex !important;
        align-items: center !important;
    }

    .dropbtn,
    .lang-btn,
    .search-bar {
        min-height: var(--nav-control-height) !important;
        height: var(--nav-control-height) !important;
    }

    .dropbtn,
    .lang-btn {
        width: 46px !important;
        min-width: 46px !important;
        padding: 0 !important;
        border-radius: 999px !important;
        font-size: 0.98rem !important;
    }

    .dropbtn .menu-text,
    .lang-btn .lang-text {
        display: none !important;
    }

    .search-bar {
        min-width: 0 !important;
        width: 100% !important;
        max-width: none !important;
        padding: 0 12px !important;
    }

    .search-input,
    .search-input::placeholder {
        font-size: 0.82rem !important;
    }
}

/* Method page mobile video controls — match visual reference */
@media (max-width: 760px) {
    .method-page .method-video-center-btn {
        width: 136px !important;
        height: 136px !important;
        border-radius: 999px !important;
        border: 1px solid rgba(255, 255, 255, 0.18) !important;
        background: radial-gradient(circle at 35% 30%, rgba(78, 84, 96, 0.45), rgba(35, 40, 50, 0.88) 58%, rgba(24, 28, 36, 0.9) 100%) !important;
        box-shadow: 0 22px 62px rgba(0, 0, 0, 0.38), inset 0 1px 0 rgba(255, 255, 255, 0.08) !important;
        -webkit-backdrop-filter: blur(10px) !important;
        backdrop-filter: blur(10px) !important;
    }

    .method-page .method-video-center-icon {
        font-size: 3.15rem !important;
        line-height: 1 !important;
        color: #f8fafc !important;
        margin-left: 9px !important;
        text-shadow: 0 2px 8px rgba(0, 0, 0, 0.35) !important;
    }

    .method-page .method-video-shell.is-playing .method-video-center-icon {
        margin-left: 0 !important;
        font-size: 2.5rem !important;
    }

    .method-page .method-video-controls {
        right: 14px !important;
        bottom: 14px !important;
        left: auto !important;
        gap: 8px !important;
    }

    .method-page .method-video-btn.method-video-fullscreen {
        width: 42px !important;
        height: 42px !important;
        border-radius: 14px !important;
        background: rgba(118, 118, 118, 0.22) !important;
        border: 1px solid rgba(255, 255, 255, 0.24) !important;
        box-shadow: 0 8px 18px rgba(0, 0, 0, 0.25) !important;
        -webkit-backdrop-filter: blur(6px) !important;
        backdrop-filter: blur(6px) !important;
    }

    .method-page .method-video-fullscreen .method-video-btn-icon {
        font-size: 0.95rem !important;
    }
}

/* Method page: force single-row mobile navbar layout */
@media (max-width: 760px) {
    body.method-page .navbar,
    body.method-page .navbar.navbar-scrolled {
        display: grid !important;
        grid-template-columns: auto minmax(0, 1fr) auto !important;
        align-items: center !important;
        column-gap: 10px !important;
        row-gap: 0 !important;
        flex-wrap: nowrap !important;
    }

    body.method-page .nav-left {
        grid-column: 1 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        width: auto !important;
        min-width: 0 !important;
    }

    body.method-page .nav-right {
        grid-column: 2 / span 2 !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        align-items: center !important;
        justify-items: stretch !important;
        width: 100% !important;
        min-width: 0 !important;
        gap: 10px !important;
    }

    body.method-page .dropdown,
    body.method-page .dropbtn,
    body.method-page .search-bar,
    body.method-page .lang-btn {
        align-self: center !important;
    }

    body.method-page .dropbtn {
        width: 56px !important;
        min-width: 56px !important;
        height: 56px !important;
        min-height: 56px !important;
        padding: 0 !important;
        border-radius: 999px !important;
        font-size: 1.2rem !important;
    }

    body.method-page .dropbtn .menu-text {
        display: none !important;
    }

    body.method-page .search-bar {
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        height: 56px !important;
        min-height: 56px !important;
        padding: 0 18px !important;
    }

    body.method-page .lang-btn {
        width: 56px !important;
        min-width: 56px !important;
        height: 56px !important;
        min-height: 56px !important;
        padding: 0 !important;
        border-radius: 999px !important;
    }

    body.method-page .lang-btn .lang-text {
        display: none !important;
    }
}

@media (max-width: 480px) {
    body.method-page .navbar,
    body.method-page .navbar.navbar-scrolled {
        column-gap: 8px !important;
    }

    body.method-page .dropbtn,
    body.method-page .lang-btn {
        width: 50px !important;
        min-width: 50px !important;
        height: 50px !important;
        min-height: 50px !important;
    }

    body.method-page .search-bar {
        height: 50px !important;
        min-height: 50px !important;
        padding: 0 16px !important;
    }
}

.method-page .method-text {
    margin-top: 26px !important;
}

.offers-page .offers-header {
    padding-top: 130px !important;
}

.contact-trust-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 10px !important;
}

.contact-trust-strip {
    margin: 18px auto 24px !important;
    max-width: 760px !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

.contact-trust-strip h2 {
    text-align: center !important;
    margin: 0 0 14px !important;
}

.contact-trust-card {
    background: #ffffff !important;
    border: 1px solid rgba(15, 23, 42, 0.08) !important;
    border-radius: 16px !important;
    padding: 13px !important;
    box-shadow: 0 12px 26px rgba(15, 23, 42, 0.08) !important;
}

.contact-trust-card h3 {
    color: #0f172a !important;
    margin-bottom: 8px !important;
}

.contact-trust-card p {
    color: #334155 !important;
    line-height: 1.55 !important;
}

@media (max-width: 900px) {
    .contact-trust-grid {
        grid-template-columns: 1fr !important;
    }

    .contact-trust-strip {
        max-width: 100% !important;
    }
}

@media (max-width: 760px) {
    .home-page .navbar,
    .home-page .navbar.navbar-scrolled {
        display: flex !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 10px !important;
        left: 12px !important;
        right: 12px !important;
        top: 10px !important;
        padding: 14px 16px !important;
        border-radius: 26px !important;
    }

    .home-page .nav-left {
        flex: 0 0 auto !important;
        width: auto !important;
    }

    .home-page .nav-right {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        align-items: center !important;
        gap: 10px !important;
        flex: 1 1 auto !important;
        width: auto !important;
    }

    .home-page .dropbtn,
    .home-page .lang-btn {
        min-width: 54px !important;
        width: 54px !important;
        min-height: 54px !important;
        height: 54px !important;
        padding: 0 !important;
        border-radius: 999px !important;
    }

    .home-page .dropbtn {
        font-size: 1.15rem !important;
    }

    .home-page .search-bar {
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        min-height: 54px !important;
        height: 54px !important;
        padding: 0 18px 0 50px !important;
    }

    .home-page .search-bar::before {
        left: 18px !important;
    }

    .home-page .search-input,
    .home-page .search-input::placeholder {
        font-size: 1rem !important;
    }

    .home-page .menu-text,
    .home-page .lang-text {
        display: none !important;
    }

    .home-page .main-content {
        width: min(100%, calc(100% - 32px)) !important;
        padding: 170px 0 56px !important;
        gap: 22px !important;
        justify-content: center !important;
    }

    .home-page .logo {
        width: min(280px, 62vw) !important;
        margin: 0 auto !important;
    }

    .home-page .title-group {
        width: 100% !important;
        text-align: center !important;
    }

    .home-page .title-group h1 {
        max-width: 10ch !important;
        margin: 0 auto !important;
        line-height: 0.98 !important;
    }

    .home-page .tagline,
    .home-page .hero-anim-tagline {
        max-width: 16ch !important;
        margin: 18px auto 0 !important;
        text-align: center !important;
        line-height: 1.35 !important;
    }

    .home-page .hero-actions {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        width: 100% !important;
        gap: 18px !important;
        margin-top: 28px !important;
    }

    .home-page .hero-btn {
        width: min(100%, 720px) !important;
        min-height: 76px !important;
        padding: 0 24px !important;
    }
}

/* =====================================================
   PROOF-STRIP DA LOCK – identique desktop + mobile
   ===================================================== */
.home-proof-strip {
    background: linear-gradient(135deg, #070b11 0%, #101e35 52%, #0f2850 100%) !important;
    border-top: 1px solid rgba(201, 168, 76, 0.18) !important;
    border-bottom: 1px solid rgba(201, 168, 76, 0.12) !important;
    max-width: 100% !important;
    width: 100% !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    padding: 32px max(20px, 5vw) !important;
}

.proof-card {
    background: rgba(255, 255, 255, 0.05) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 20px !important;
    box-shadow: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    padding: 20px 22px !important;
}

.proof-label {
    font-family: 'Rajdhani', 'Inter', sans-serif !important;
    font-size: 0.82rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase !important;
    color: rgba(255, 255, 255, 0.68) !important;
    margin: 0 !important;
}

.proof-value {
    font-family: 'Barlow Condensed', 'Inter', sans-serif !important;
    font-weight: 800 !important;
    font-style: normal !important;
    font-size: clamp(1.7rem, 4.5vw, 2.3rem) !important;
    color: #c9a84c !important;
    letter-spacing: 0.02em !important;
    line-height: 1.1 !important;
    margin-top: 6px !important;
}

@media (max-width: 900px) {
    .home-proof-strip {
        grid-template-columns: 1fr !important;
        padding: 28px 16px !important;
    }

    .proof-card {
        padding: 18px 20px !important;
    }
}

@media (max-width: 480px) {
    .home-proof-strip {
        padding: 22px 12px !important;
        gap: 12px !important;
    }

    .proof-card {
        padding: 16px 18px !important;
        border-radius: 16px !important;
    }

    .proof-value {
        font-size: clamp(1.5rem, 8vw, 2rem) !important;
    }
}

/* Elite program image: show face (portrait, top) */
.offers-page .offer-bubble-img-wrap img[src="elite.JPG"],
.offers-page .offer-bubble-img-wrap img[src="elite.jpg"] {
    object-position: top center !important;
}

/* ===================================================== */

@media (max-width: 480px) {
    .home-page .navbar,
    .home-page .navbar.navbar-scrolled {
        left: 8px !important;
        right: 8px !important;
        padding: 14px 12px !important;
    }

    .home-page .nav-right {
        gap: 8px !important;
    }

    .home-page .dropbtn,
    .home-page .lang-btn {
        min-width: 44px !important;
        min-height: 44px !important;
        padding: 0 10px !important;
    }

    .home-page .title-group h1 {
        font-size: clamp(2.9rem, 14vw, 4.4rem) !important;
    }

    .home-page .tagline,
    .home-page .hero-anim-tagline {
        font-size: clamp(1rem, 4.8vw, 1.35rem) !important;
        letter-spacing: 0.12em !important;
    }

    .home-page .hero-btn {
        min-height: 70px !important;
    }
}

.navbar.navbar-hidden,
.home-page .navbar.navbar-hidden,
.home-page .navbar.navbar-scrolled.navbar-hidden,
body.offers-page .navbar.navbar-hidden {
    transform: translateY(calc(-100% - 18px)) !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* =====================================================
   EVENTS PAGE — BACKGROUND IMAGE
   ===================================================== */

.events-page {
    background: linear-gradient(135deg, rgba(7, 11, 17, 0.52), rgba(15, 23, 42, 0.45)),
                url('events.JPG') no-repeat fixed center / cover !important;
}

/* =====================================================
   EVENTS PAGE — DA LOCK (desktop = mobile)
   ===================================================== */

/* Bubble background — warm light card, same as capture */
.events-page .event-bubble,
.events-page .events-bubble-container .event-bubble {
    background: rgba(255, 255, 255, 0.92) !important;
    border: 1px solid rgba(201, 168, 76, 0.18) !important;
    border-radius: 28px !important;
    box-shadow: 0 24px 64px rgba(7, 11, 17, 0.13) !important;
    text-align: center !important;
    padding: 48px 56px !important;
    max-width: 600px !important;
    -webkit-backdrop-filter: blur(10px) !important;
    backdrop-filter: blur(10px) !important;
}

/* Year — gold, Barlow Condensed */
.events-page .event-year {
    font-family: 'Barlow Condensed', 'Rajdhani', 'Inter', sans-serif !important;
    font-size: clamp(1.55rem, 4vw, 2.2rem) !important;
    font-weight: 700 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
    color: #c9a84c !important;
    margin-bottom: 10px !important;
}

/* Event name — dark ink, Bebas Neue */
.events-page .event-name {
    font-family: 'Bebas Neue', 'Barlow Condensed', sans-serif !important;
    font-size: clamp(1.5rem, 4.5vw, 2rem) !important;
    font-weight: 400 !important;
    letter-spacing: 0.03em !important;
    color: #070b11 !important;
    margin-bottom: 18px !important;
    line-height: 1.15 !important;
}

/* Location — slate gray */
.events-page .event-location {
    font-family: 'Barlow Condensed', 'Inter', sans-serif !important;
    font-size: clamp(1rem, 2.8vw, 1.15rem) !important;
    font-weight: 500 !important;
    color: #5c6778 !important;
    line-height: 1.5 !important;
}

/* CTA — gold, separator line above */
.events-page .event-cta {
    font-family: 'Barlow Condensed', 'Rajdhani', 'Inter', sans-serif !important;
    font-size: clamp(0.95rem, 2.5vw, 1.05rem) !important;
    font-weight: 700 !important;
    letter-spacing: 0.04em !important;
    color: #c9a84c !important;
    margin-top: 20px !important;
    padding-top: 18px !important;
    border-top: 1px solid rgba(201, 168, 76, 0.28) !important;
    line-height: 1.5 !important;
}

/* Responsive: compact on small screens, same colors */
@media (max-width: 900px) {
    .events-page .event-bubble,
    .events-page .events-bubble-container .event-bubble {
        padding: 36px 32px !important;
        border-radius: 24px !important;
        max-width: 100% !important;
        margin: 0 !important;
    }
}

@media (max-width: 480px) {
    .events-page .event-bubble,
    .events-page .events-bubble-container .event-bubble {
        padding: 28px 22px !important;
        border-radius: 20px !important;
    }

    .events-page .event-year {
        font-size: clamp(1.3rem, 6vw, 1.6rem) !important;
    }

    .events-page .event-name {
        font-size: clamp(1.25rem, 6.5vw, 1.6rem) !important;
    }

    .events-page .event-location {
        font-size: clamp(0.92rem, 3.8vw, 1rem) !important;
    }

    .events-page .event-cta {
        font-size: clamp(0.88rem, 3.5vw, 1rem) !important;
    }
}

/* =====================================================
   PREMIUM VISUAL SYSTEM — GLOBAL POLISH
   ===================================================== */

:root {
    --premium-surface: linear-gradient(180deg, rgba(11, 16, 26, 0.9), rgba(11, 16, 26, 0.76));
    --premium-border: rgba(201, 168, 76, 0.22);
    --premium-shadow: 0 20px 52px rgba(2, 8, 23, 0.22);
    --premium-shadow-hover: 0 26px 68px rgba(2, 8, 23, 0.28);
    --premium-radius-lg: 24px;
    --premium-ease: cubic-bezier(0.22, 1, 0.36, 1);
}

.highlight-card,
.stats-card,
.faq-item,
.faq-bubble,
.offer-bubble,
.contact-form,
.contact-trust-card,
.legal-section,
.bio-section,
.booking-section,
.method-video-card,
.carousel-section,
.showcase-tile,
.gallery-card {
    border-radius: var(--premium-radius-lg) !important;
    border: 1px solid var(--premium-border) !important;
    box-shadow: var(--premium-shadow) !important;
    transition: transform 0.42s var(--premium-ease), box-shadow 0.42s var(--premium-ease), border-color 0.42s var(--premium-ease) !important;
}

.highlight-card:hover,
.stats-card:hover,
.faq-item:hover,
.offer-bubble:hover,
.contact-trust-card:hover,
.showcase-tile:hover,
.gallery-card:hover {
    transform: translateY(-4px) !important;
    box-shadow: var(--premium-shadow-hover) !important;
    border-color: rgba(201, 168, 76, 0.42) !important;
}

.home-page .highlight-card,
.home-page .showcase-tile,
.home-page .stats-card,
.method-page .gallery-card,
.offers-page .offer-bubble,
.contact-page .contact-form,
.about-page .bio-section {
    background: var(--premium-surface) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    backdrop-filter: blur(10px) !important;
}

.section-overline,
.proof-label,
.hero-kicker,
.events-intro,
.contact-intro,
.method-text p {
    letter-spacing: 0.12em !important;
}

.hero-btn,
.cta-button,
.cta-button-large,
.submit-btn {
    transition: transform 0.3s var(--premium-ease), box-shadow 0.3s var(--premium-ease), border-color 0.3s var(--premium-ease) !important;
}

.hero-btn:hover,
.cta-button:hover,
.cta-button-large:hover,
.submit-btn:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.22) !important;
    border-color: rgba(201, 168, 76, 0.52) !important;
}

.bottom-bar {
    background: linear-gradient(180deg, rgba(7, 11, 17, 0.88), rgba(7, 11, 17, 0.74)) !important;
    border-top: 1px solid rgba(201, 168, 76, 0.16) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    backdrop-filter: blur(12px) !important;
}

.bottom-links a {
    color: rgba(248, 250, 252, 0.9) !important;
    transition: color 0.26s ease, opacity 0.26s ease !important;
}

.bottom-links a:hover {
    color: #c9a84c !important;
}

/* Scroll reveal: subtle, editorial, non-generic */
.premium-reveal {
    opacity: 0;
    transform: translate3d(0, 16px, 0) scale(0.99);
    transition: opacity 0.66s var(--premium-ease), transform 0.66s var(--premium-ease);
    transition-delay: var(--reveal-delay, 0ms);
    will-change: opacity, transform;
}

.premium-reveal.is-visible {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
}

@media (max-width: 900px) {
    .highlight-card,
    .stats-card,
    .faq-item,
    .offer-bubble,
    .contact-trust-card,
    .showcase-tile,
    .gallery-card,
    .legal-section,
    .bio-section,
    .booking-section,
    .method-video-card,
    .carousel-section {
        border-radius: 20px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .premium-reveal {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }

    .highlight-card,
    .stats-card,
    .faq-item,
    .offer-bubble,
    .contact-trust-card,
    .showcase-tile,
    .gallery-card,
    .hero-btn,
    .cta-button,
    .cta-button-large,
    .submit-btn {
        transition: none !important;
        transform: none !important;
    }
}

/* Home services readability lock */
.home-page .highlight-card {
    background: linear-gradient(180deg, #f1f4f8 0%, #e8edf4 100%) !important;
    border: 1px solid rgba(15, 23, 42, 0.12) !important;
    box-shadow: 0 16px 38px rgba(2, 6, 23, 0.12) !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
}

.home-page .highlight-card h3 {
    color: #1b4f9c !important;
}

.home-page .highlight-card p {
    color: #0f172a !important;
}

/* =====================================================
   TYPOGRAPHY LOCK — KEEP DESKTOP DA ON SMALL SCREENS
   ===================================================== */
@media (max-width: 900px) {
    html,
    body,
    body * {
        font-family: 'Barlow Condensed', 'Inter', 'Noto Sans SC', 'Microsoft YaHei', sans-serif !important;
    }

    h1,
    h2,
    h3,
    h4,
    h5,
    h6,
    .hero-anim-title,
    .title-group h1,
    .method-header h1,
    .offers-title-block h1,
    .events-header h1,
    .contact-content h1,
    .about-content h1,
    .legal-hero h1 {
        font-family: 'Bebas Neue', 'Barlow Condensed', 'Rajdhani', 'Noto Sans SC', 'Microsoft YaHei', sans-serif !important;
        font-weight: 400 !important;
        letter-spacing: 0.02em !important;
    }

    .dropbtn,
    .lang-btn {
        font-size: 0.98rem !important;
        letter-spacing: 0.07em !important;
    }

    .search-input,
    .search-input::placeholder {
        font-size: 1rem !important;
        letter-spacing: 0.01em !important;
    }

    .home-page .title-group h1,
    .home-page .hero-anim-title {
        font-size: clamp(3.4rem, 8vw, 6.4rem) !important;
        line-height: 0.95 !important;
    }

    .home-page .tagline,
    .home-page .hero-anim-tagline {
        font-size: clamp(1.35rem, 2.2vw, 2rem) !important;
        letter-spacing: 0.14em !important;
    }

    .section-overline,
    .proof-label {
        letter-spacing: 0.16em !important;
    }

    .home-highlights-head h2,
    .home-showcase-head h2,
    .faq-header h2,
    .contact-trust-strip h2,
    .booking-header h2,
    .events-page .event-name,
    .offers-page .offer-bubble-name,
    .method-video-head h2 {
        font-size: clamp(1.9rem, 3.2vw, 2.4rem) !important;
        letter-spacing: 0.02em !important;
    }

    .home-highlights-head p,
    .home-showcase-head p,
    .faq-header p,
    .contact-intro,
    .method-text,
    .event-location,
    .offer-bubble-content p,
    .contact-trust-card p,
    .legal-section p,
    .bio-section p,
    .highlight-card p,
    .stats-card p,
    .faq-answer p,
    .offer-features li,
    .bottom-links a {
        font-size: 1.02rem !important;
        line-height: 1.6 !important;
        letter-spacing: 0.01em !important;
    }

    .highlight-card h3,
    .stats-card h3,
    .contact-trust-card h3,
    .legal-section h2,
    .bio-section h2,
    .booking-header h3,
    .offer-price-value,
    .event-year {
        font-size: clamp(1.35rem, 2.6vw, 1.8rem) !important;
        letter-spacing: 0.03em !important;
    }

    .hero-btn,
    .cta-button,
    .cta-button-large,
    .submit-btn {
        font-size: 1rem !important;
        letter-spacing: 0.08em !important;
    }
}

/* Micro-adjustment for very small screens: keep desktop DA, avoid overflow */
@media (max-width: 480px) {
    .home-page .title-group h1,
    .home-page .hero-anim-title {
        font-size: clamp(2.95rem, 12vw, 4.35rem) !important;
        line-height: 0.98 !important;
    }

    .home-page .tagline,
    .home-page .hero-anim-tagline {
        font-size: clamp(1.02rem, 4.4vw, 1.32rem) !important;
        letter-spacing: 0.12em !important;
    }

    .home-highlights-head h2,
    .home-showcase-head h2,
    .faq-header h2,
    .contact-trust-strip h2,
    .booking-header h2,
    .events-page .event-name,
    .offers-page .offer-bubble-name,
    .method-video-head h2 {
        font-size: clamp(1.45rem, 6.2vw, 1.78rem) !important;
        line-height: 1.14 !important;
    }

    .home-highlights-head p,
    .home-showcase-head p,
    .faq-header p,
    .contact-intro,
    .method-text,
    .event-location,
    .offer-bubble-content p,
    .contact-trust-card p,
    .legal-section p,
    .bio-section p,
    .highlight-card p,
    .stats-card p,
    .faq-answer p,
    .offer-features li,
    .bottom-links a {
        font-size: 0.96rem !important;
        line-height: 1.58 !important;
    }

    .highlight-card h3,
    .stats-card h3,
    .contact-trust-card h3,
    .legal-section h2,
    .bio-section h2,
    .booking-header h3,
    .offer-price-value,
    .event-year {
        font-size: clamp(1.18rem, 5.4vw, 1.42rem) !important;
    }

    .dropbtn,
    .lang-btn,
    .hero-btn,
    .cta-button,
    .cta-button-large,
    .submit-btn,
    .search-input,
    .search-input::placeholder {
        font-size: 0.92rem !important;
    }
}

/* About page restore lock: keep desktop look on all screen sizes */
.about-page {
    background:
        radial-gradient(circle at 10% 8%, rgba(22, 62, 122, 0.08), transparent 28%),
        radial-gradient(circle at 86% 10%, rgba(201, 168, 76, 0.1), transparent 22%),
        linear-gradient(180deg, #f7f8fa 0%, #edf1f5 100%) !important;
}

.about-page .about-content,
.about-page .bio-section {
    background: rgba(255, 255, 255, 0.88) !important;
    border: 1px solid rgba(17, 25, 40, 0.12) !important;
    box-shadow: 0 20px 56px rgba(7, 11, 17, 0.12) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    backdrop-filter: blur(8px) !important;
}

.about-page .about-content h1 {
    color: #163e7a !important;
    font-size: clamp(2.45rem, 4vw, 3.15rem) !important;
    letter-spacing: 0.03em !important;
}

.method-page .method-header h1 {
    color: #163e7a !important;
    font-size: clamp(2.45rem, 4vw, 3.15rem) !important;
    letter-spacing: 0.03em !important;
}

.about-page .bio-section,
.about-page .bio-section p,
.about-page .bio-section strong,
.about-page .bio-section span {
    color: #334155 !important;
}

@media (max-width: 900px) {
    .about-page,
    .about-page .about-content,
    .about-page .bio-section,
    .about-page .about-content h1,
    .about-page .bio-section p,
    .about-page .bio-section strong,
    .about-page .bio-section span {
        font-family: 'Barlow Condensed', 'Inter', 'Noto Sans SC', 'Microsoft YaHei', sans-serif !important;
    }

    .about-page .about-content h1 {
        color: #163e7a !important;
        letter-spacing: 0.03em !important;
        font-size: clamp(2.45rem, 4vw, 3.15rem) !important;
    }

    .method-page .method-header h1 {
        color: #163e7a !important;
        letter-spacing: 0.03em !important;
        font-size: clamp(2.45rem, 4vw, 3.15rem) !important;
    }

    .about-page .bio-section,
    .about-page .bio-section p,
    .about-page .bio-section strong,
    .about-page .bio-section span {
        color: #334155 !important;
        font-size: 1.02rem !important;
        line-height: 1.62 !important;
    }

    .about-page .cta-section .cta-button {
        font-family: 'Rajdhani', 'Inter', 'Noto Sans SC', 'Microsoft YaHei', sans-serif !important;
        font-size: 1rem !important;
        font-weight: 700 !important;
        letter-spacing: 0.08em !important;
        min-height: 56px !important;
        padding: 0 28px !important;
        border-radius: 999px !important;
        text-transform: uppercase !important;
    }
}

@media (max-width: 480px) {
    .about-page .about-content h1 {
        font-size: clamp(2.45rem, 4vw, 3.15rem) !important;
        letter-spacing: 0.03em !important;
    }

    .method-page .method-header h1 {
        font-size: clamp(2.45rem, 4vw, 3.15rem) !important;
        letter-spacing: 0.03em !important;
    }

    .about-page .cta-section .cta-button {
        font-size: 1rem !important;
        letter-spacing: 0.08em !important;
        min-height: 56px !important;
        padding: 0 28px !important;
    }
}

/* Contact Us button DA lock (same desktop + mobile) */
a.cta-button[data-en="Contact Us"] {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 92px !important;
    height: 92px !important;
    padding: 0 42px !important;
    border-radius: 999px !important;
    background: linear-gradient(135deg, #1e4b8f 0%, #173d77 55%, #133666 100%) !important;
    border: 1px solid rgba(255, 255, 255, 0.22) !important;
    color: #ffffff !important;
    text-transform: uppercase !important;
    font-family: 'Rajdhani', 'Inter', 'Noto Sans SC', 'Microsoft YaHei', sans-serif !important;
    font-size: 2rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.1em !important;
    line-height: 1 !important;
    text-decoration: none !important;
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.28) !important;
    -webkit-font-smoothing: antialiased;
    transition: transform 0.25s ease, box-shadow 0.25s ease, filter 0.25s ease !important;
}

a.cta-button[data-en="Contact Us"]:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.34) !important;
    filter: saturate(1.06) brightness(1.03) !important;
}

a.cta-button[data-en="Contact Us"]:active {
    transform: translateY(0) !important;
}

@media (max-width: 900px) {
    a.cta-button[data-en="Contact Us"] {
        min-height: 92px !important;
        height: 92px !important;
        padding: 0 42px !important;
        font-size: 2rem !important;
        letter-spacing: 0.1em !important;
    }
}

@media (max-width: 480px) {
    a.cta-button[data-en="Contact Us"] {
        min-height: 86px !important;
        height: 86px !important;
        padding: 0 32px !important;
        font-size: 1.75rem !important;
        letter-spacing: 0.095em !important;
    }
}

/* Method page: titles under photos readability lock */
.method-page .gallery-card,
.method-page .stats-card {
    background: rgba(255, 255, 255, 0.96) !important;
    border: 1px solid rgba(17, 25, 40, 0.12) !important;
    box-shadow: 0 14px 36px rgba(2, 6, 23, 0.12) !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
}

.method-page .gallery-card p,
.method-page .stats-card p,
.method-page .stats-card h3,
.method-page .stats-card .stats-title {
    color: #111827 !important;
}

/* Method page global consistency lock */
.method-page {
    background: #ffffff !important;
}

.method-page .method-video-shell {
    border: 1px solid #0d0d10 !important;
}

.method-page .method-video-head h2 {
    color: #ffffff !important;
}

@media (max-width: 900px) {
    .method-page {
        background: #ffffff !important;
    }

    .method-page .method-video-shell {
        border: 1px solid #0d0d10 !important;
    }

    .method-page .method-video-head h2 {
        color: #ffffff !important;
    }
}

/* Method video card reference lock (same desktop + mobile) */
.method-page .method-video-card {
    background:
        radial-gradient(circle at top left, rgba(201, 168, 76, 0.14), transparent 34%),
        linear-gradient(180deg, #06080f 0%, #090d1a 58%, #0b1020 100%) !important;
    border: 1px solid rgba(201, 168, 76, 0.36) !important;
    border-radius: 30px !important;
    padding: 28px !important;
    box-shadow: 0 28px 72px rgba(2, 6, 23, 0.24) !important;
}

.method-page .method-video-head h2 {
    color: #ffffff !important;
    text-transform: uppercase !important;
    letter-spacing: 0.03em !important;
    font-size: clamp(2.05rem, 3.5vw, 3rem) !important;
    line-height: 1.08 !important;
    margin: 0 0 12px !important;
}

.method-page .method-video-shell {
    border: 1px solid #0d0d10 !important;
    border-radius: 26px !important;
    overflow: hidden !important;
    min-height: 460px !important;
}

.method-page .method-video-player {
    min-height: 460px !important;
    object-fit: cover !important;
}

.method-page .method-video-center-btn {
    width: 142px !important;
    height: 142px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(255, 255, 255, 0.18) !important;
    background: radial-gradient(circle at 35% 30%, rgba(78, 84, 96, 0.45), rgba(35, 40, 50, 0.88) 58%, rgba(24, 28, 36, 0.9) 100%) !important;
    box-shadow: 0 22px 62px rgba(0, 0, 0, 0.38), inset 0 1px 0 rgba(255, 255, 255, 0.08) !important;
}

.method-page .method-video-center-icon {
    font-size: 3.2rem !important;
    color: #f8fafc !important;
    margin-left: 9px !important;
}

.method-page .method-video-shell.is-playing .method-video-center-icon {
    margin-left: 0 !important;
    font-size: 2.55rem !important;
}

.method-page .method-video-controls {
    right: 18px !important;
    bottom: 18px !important;
    left: auto !important;
}

.method-page .method-video-btn.method-video-fullscreen {
    width: 44px !important;
    height: 44px !important;
    border-radius: 14px !important;
    background: rgba(118, 118, 118, 0.22) !important;
    border: 1px solid rgba(255, 255, 255, 0.24) !important;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.25) !important;
}

.method-page .method-video-fullscreen .method-video-btn-icon {
    font-size: 0.95rem !important;
}

@media (max-width: 900px) {
    .method-page .method-video-card {
        border-radius: 30px !important;
        padding: 28px !important;
    }

    .method-page .method-video-shell,
    .method-page .method-video-player {
        min-height: 460px !important;
    }
}

@media (max-width: 480px) {
    .method-page .method-video-card {
        border-radius: 30px !important;
        padding: 22px !important;
    }

    .method-page .method-video-head h2 {
        font-size: clamp(1.9rem, 8vw, 2.35rem) !important;
    }

    .method-page .method-video-shell,
    .method-page .method-video-player {
        min-height: 420px !important;
    }

    .method-page .method-video-center-btn {
        width: 132px !important;
        height: 132px !important;
    }
}

/* Offers visual consistency lock across fullscreen/mobile */
.offers-page .offers-title-block h1,
.offers-page .offer-bubble-name,
.offers-page .offer-price-value {
    color: #0a0a0f !important;
    font-family: 'Barlow Condensed', 'Inter', 'Noto Sans SC', 'Microsoft YaHei', sans-serif !important;
}

.offers-page .offers-title-block p,
.offers-page .offer-bubble-content > p {
    color: #64748b !important;
    font-family: 'Barlow Condensed', 'Inter', 'Noto Sans SC', 'Microsoft YaHei', sans-serif !important;
}

.offers-page .offer-features li,
.offers-page .offer-price-label {
    color: #0f172a !important;
    font-family: 'Barlow Condensed', 'Inter', 'Noto Sans SC', 'Microsoft YaHei', sans-serif !important;
}

/* =================================================================
   OFFERS PAGE — full-viewport flex layout
   The navbar is position:fixed (inline style) — it is OUT of the
   flex flow. We restore 100vh on body and add padding-top on
   .offers-main-wrap to clear it. This gives flex:1 children a
   DEFINITE height, so offer-slide { inset:0 } correctly fills
   the slide-track and the card takes up all available space.
   ================================================================= */

body.offers-page {
    height: 100vh !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
}

/* Push content below the fixed navbar (~70px tall + 10px top) */
.offers-page .offers-main-wrap {
    flex: 1 !important;
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    padding-top: 82px !important;
    box-sizing: border-box !important;
}

/* CTA section kept visible on both fullscreen and mobile */
.offers-page .cta-section {
    display: flex !important;
}

/* ─── Header: logo + title ─────────────────────────────────── */
.offers-page .offers-header {
    flex-shrink: 0 !important;
    padding: 16px 40px 12px !important;
    background: #faf8f3 !important;
}

.offers-page .offers-top {
    align-items: center !important;
    gap: 14px !important;
    max-width: 1320px !important;
}

.offers-page .offers-logo {
    width: 44px !important;
    height: 44px !important;
    padding: 0 !important;
    flex-shrink: 0 !important;
}

.offers-page .offers-title-block h1 {
    font-size: clamp(1.22rem, 2vw, 1.75rem) !important;
    line-height: 1.08 !important;
    margin: 0 !important;
}

.offers-page .offers-title-block p {
    margin: 4px 0 0 !important;
    font-size: 0.9rem !important;
    line-height: 1.38 !important;
    color: #64748b !important;
    max-width: 760px !important;
}

/* ─── Slider: fills remaining height below header ─────────── */
.offers-page .offers-slider {
    flex: 1 !important;
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    padding: 10px 40px 0 !important;
}

/* ─── Slide track: flex:1 → DEFINITE height, inset:0 works ── */
.offers-page .offers-slide-track {
    flex: 1 !important;
    min-height: 0 !important;
    position: relative !important;
}

/* ─── White card ───────────────────────────────────────────── */
.offers-page .offer-bubble,
.offers-page .offers-slide-track .offer-bubble {
    background: #ffffff !important;
    background-image: none !important;
    border: 1px solid rgba(17, 25, 40, 0.12) !important;
    overflow: visible !important;
    padding: 24px 30px 20px !important;
}

.offers-page .offer-bubble-header {
    margin-bottom: 14px !important;
}

.offers-page .offer-bubble-name {
    font-size: clamp(1.85rem, 2.8vw, 2.65rem) !important;
    line-height: 1 !important;
}

.offers-page .offer-index {
    font-size: 1.75rem !important;
}

.offers-page .offer-bubble-body {
    gap: 28px !important;
    align-items: flex-start !important;
}

.offers-page .offer-bubble-img-wrap {
    width: 34% !important;
    min-width: 240px !important;
    max-height: 420px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #f4f7fb !important;
}

.offers-page .offer-bubble-img-wrap img {
    object-fit: contain !important;
    object-position: center center !important;
    background: #f4f7fb !important;
}

.offers-page .offer-bubble-content {
    gap: 10px !important;
    justify-content: flex-start !important;
    overflow: visible !important;
    padding-top: 2px !important;
}

.offers-page .offer-bubble-content > p {
    font-size: 0.93rem !important;
    line-height: 1.6 !important;
    margin-top: 0 !important;
}

.offers-page .offer-features {
    gap: 8px !important;
}

.offers-page .offer-features li {
    font-size: 0.92rem !important;
    line-height: 1.42 !important;
}

.offers-page .offer-price-tag {
    padding-top: 12px !important;
}

.offers-page .offer-slide {
    align-items: flex-start !important;
}

/* ─── Nav bar: anchored at slider bottom, always visible ─── */
.offers-page .offer-nav {
    flex-shrink: 0 !important;
    padding: 12px 4px 10px !important;
    margin-top: 0 !important;
    position: relative !important;
    z-index: 2 !important;
}

/* ─── Tablet 760px–900px: compact but still full-viewport ── */
@media (max-width: 900px) {
    body.offers-page {
        height: 100vh !important;
        overflow: hidden !important;
    }

    .offers-page .offers-main-wrap {
        padding-top: 74px !important;
    }

    .offers-page .offers-header {
        padding: 12px 16px 8px !important;
    }

    .offers-page .offers-top {
        gap: 10px !important;
    }

    .offers-page .offers-logo {
        width: 38px !important;
        height: 38px !important;
    }

    .offers-page .offers-title-block h1 {
        font-size: clamp(1.1rem, 3.5vw, 1.42rem) !important;
    }

    .offers-page .offers-title-block p {
        font-size: 0.84rem !important;
        line-height: 1.32 !important;
        max-width: none !important;
    }

    .offers-page .offers-slider {
        padding: 8px 16px 0 !important;
    }

    .offers-page .offer-bubble,
    .offers-page .offers-slide-track .offer-bubble {
        padding: 20px 18px 16px !important;
    }

    .offers-page .offer-bubble-img-wrap {
        width: 100% !important;
        min-width: 0 !important;
        max-height: 220px !important;
    }

    .offers-page .offer-nav {
        padding: 10px 2px 8px !important;
    }
}

/* ─── Mobile ≤760px: scrollable stacked layout ─────────────── */
@media (max-width: 760px) {
    body.offers-page {
        height: auto !important;
        overflow: visible !important;
    }

    .offers-page .offers-main-wrap {
        overflow: visible !important;
    }

    .offers-page .cta-section {
        display: flex !important;
    }

    .offers-page .offers-slider {
        flex: 0 0 auto !important;
    }
}


/* Final offers lock: mobile navbar one-line + equal bubble height (Standard/Premium/Elite) */
.offers-page .offers-slide-track .offer-slide {
    height: 100% !important;
}

.offers-page .offers-slide-track .offer-bubble {
    height: 100% !important;
}

.offers-page .offer-bubble-body {
    flex: 1 1 auto !important;
    min-height: 0 !important;
}

.offers-page .offer-bubble-content {
    min-height: 0 !important;
    overflow-x: hidden !important;
    overflow-y: scroll !important;
    scroll-behavior: auto !important;
    box-sizing: border-box !important;
    padding-top: 8px !important;
    padding-right: 4px !important;
    justify-content: flex-start !important;
    align-content: flex-start !important;
}

.offers-page .offer-bubble-content::-webkit-scrollbar {
    width: 8px !important;
}

.offers-page .offer-bubble-content::-webkit-scrollbar-track {
    background: rgba(226, 232, 240, 0.72) !important;
    border-radius: 999px !important;
}

.offers-page .offer-bubble-content::-webkit-scrollbar-thumb {
    background: rgba(148, 163, 184, 0.92) !important;
    border-radius: 999px !important;
}

.offers-page .offer-bubble-content::-webkit-scrollbar-thumb:hover {
    background: rgba(100, 116, 139, 0.96) !important;
}

@media (max-width: 760px) {
    body.offers-page .navbar,
    body.offers-page .navbar.navbar-scrolled {
        display: grid !important;
        grid-template-columns: auto minmax(0, 1fr) auto !important;
        align-items: center !important;
        column-gap: 8px !important;
        row-gap: 0 !important;
        flex-wrap: nowrap !important;
    }

    body.offers-page .nav-left {
        grid-column: 1 !important;
    }

    body.offers-page .nav-right {
        grid-column: 2 / span 2 !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        align-items: center !important;
        gap: 8px !important;
        width: 100% !important;
        min-width: 0 !important;
    }

    body.offers-page .dropbtn {
        width: 46px !important;
        min-width: 46px !important;
        height: 46px !important;
        min-height: 46px !important;
        padding: 0 !important;
        border-radius: 999px !important;
        font-size: 1.05rem !important;
    }

    body.offers-page .dropbtn .menu-text {
        display: none !important;
    }

    body.offers-page .search-bar {
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        height: 46px !important;
        min-height: 46px !important;
        padding: 0 14px !important;
    }

    body.offers-page .lang-btn {
        width: 46px !important;
        min-width: 46px !important;
        height: 46px !important;
        min-height: 46px !important;
        padding: 0 !important;
    }

    body.offers-page .lang-btn .lang-text {
        display: none !important;
    }

    .offers-page .offer-bubble,
    .offers-page .offers-slide-track .offer-bubble {
        height: 70vh !important;
        min-height: 70vh !important;
        max-height: 70vh !important;
    }

}

/* Final global typography lock: identical font system on desktop + fullscreen + mobile */
html,
body {
    font-family: 'Barlow Condensed', 'Inter', 'Noto Sans SC', 'Microsoft YaHei', sans-serif !important;
    font-size: 16px !important;
    font-style: normal !important;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
span,
a,
button,
input,
textarea,
label,
li,
.offer-bubble-name,
.offer-price-value,
.offers-title-block h1,
.offers-title-block p,
.method-video-head h2,
.hero-title,
.section-title,
.highlight-title,
.cta-button,
.cta-button.cta-button-large,
.dropbtn,
.lang-btn,
.search-input {
    font-family: 'Barlow Condensed', 'Inter', 'Noto Sans SC', 'Microsoft YaHei', sans-serif !important;
    font-style: normal !important;
}

/* Guaranteed CTA lock (target dedicated classes) */
.offers-page .cta-section {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 8px !important;
    padding: 0 6px !important;
    margin-top: 6px !important;
    margin-bottom: 0 !important;
}

.offers-page .cta-section > a.offers-cta-primary,
.offers-page .cta-section > a.offers-cta-secondary {
    min-height: 56px !important;
    height: 56px !important;
    border-radius: 999px !important;
    padding: 0 14px !important;
    font-size: clamp(0.84rem, 2vw, 0.98rem) !important;
    line-height: 1 !important;
    letter-spacing: 0.01em !important;
    text-transform: none !important;
    font-weight: 600 !important;
    box-shadow: none !important;
    border: none !important;
    opacity: 1 !important;
}

@media (max-width: 900px) {
    .offers-page .cta-section {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
        gap: 8px !important;
        padding: 0 4px !important;
    }

    .offers-page .cta-section > a.offers-cta-primary,
    .offers-page .cta-section > a.offers-cta-secondary {
        min-height: 50px !important;
        height: 50px !important;
        font-size: clamp(0.8rem, 3vw, 0.9rem) !important;
        padding: 0 12px !important;
    }
}

.offers-page .cta-section > a.offers-cta-primary {
    background: #153a76 !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

.offers-page .cta-section > a.offers-cta-secondary {
    background: #c7a341 !important;
    color: #0b1220 !important;
    -webkit-text-fill-color: #0b1220 !important;
}

/* Offers photo recrop lock */
.offers-page .offer-bubble-img-wrap img {
    object-fit: cover !important;
}

.offers-page .offer-bubble-img-wrap img[src$="standard.JPEG"] {
    object-position: 50% 65% !important;
}

.offers-page .offer-bubble-img-wrap img[src$="premium.JPG"] {
    object-position: 50% 73% !important;
}

.offers-page .offer-bubble-img-wrap img[src$="elite.JPG"] {
    object-position: 50% -2% !important;
}

@media (max-width: 760px) {
    .offers-page .offer-bubble-img-wrap img[src$="standard.JPEG"] {
        object-position: 50% 65% !important;
    }

    .offers-page .offer-bubble-img-wrap img[src$="premium.JPG"] {
        object-position: 50% 73% !important;
    }

    .offers-page .offer-bubble-img-wrap img[src$="elite.JPG"] {
        object-position: 50% 2% !important;
    }
}

/* Must-win CTA lock by href: prevents any fallback to blue on secondary button */
.offers-page .cta-section > a[href="contact.html#book-call"] {
    background: #153a76 !important;
    background-image: none !important;
    background-color: #153a76 !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

.offers-page .cta-section > a[href="method.html"] {
    background: #c7a341 !important;
    background-image: none !important;
    background-color: #c7a341 !important;
    color: #0b1220 !important;
    -webkit-text-fill-color: #0b1220 !important;
}

/* =====================================================
   OFFERS FINAL HARD LOCK — UNIFORM DESKTOP + MOBILE
   ===================================================== */

/* Keep content readable and avoid clipping in fullscreen */
.offers-page .offer-bubble-body {
    min-height: 0 !important;
    align-items: stretch !important;
}

.offers-page .offer-bubble-content {
    min-height: 0 !important;
    max-height: none !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    justify-content: flex-start !important;
    align-content: flex-start !important;
}

.offers-page .offer-bubble-content > p,
.offers-page .offer-features li,
.offers-page .offer-price-label,
.offers-page .offer-price-value {
    white-space: normal !important;
    overflow-wrap: anywhere !important;
}

/* Center photos to keep faces visible */
.offers-page .offer-bubble-img-wrap img[src$="standard.JPEG"] {
    object-position: 50% 50% !important;
}

.offers-page .offer-bubble-img-wrap img[src$="premium.JPG"] {
    object-position: 50% 50% !important;
}

.offers-page .offer-bubble-img-wrap img[src$="elite.JPG"] {
    object-position: 50% 20% !important;
}

@media (max-width: 760px) {
    .offers-page .offer-bubble-img-wrap img[src$="standard.JPEG"] {
        object-position: 50% 50% !important;
    }

    .offers-page .offer-bubble-img-wrap img[src$="premium.JPG"] {
        object-position: 50% 50% !important;
    }

    .offers-page .offer-bubble-img-wrap img[src$="elite.JPG"] {
        object-position: 50% 20% !important;
    }
}

/* Force CTA colors to stay blue + gold in all states and all sizes */
.offers-page .cta-section > a.offers-cta-primary,
.offers-page .cta-section > a.offers-cta-primary:link,
.offers-page .cta-section > a.offers-cta-primary:visited,
.offers-page .cta-section > a.offers-cta-primary:hover,
.offers-page .cta-section > a.offers-cta-primary:focus,
.offers-page .cta-section > a.offers-cta-primary:active,
.offers-page .cta-section > a[href="contact.html#book-call"],
.offers-page .cta-section > a[href="contact.html#book-call"]:link,
.offers-page .cta-section > a[href="contact.html#book-call"]:visited,
.offers-page .cta-section > a[href="contact.html#book-call"]:hover,
.offers-page .cta-section > a[href="contact.html#book-call"]:focus,
.offers-page .cta-section > a[href="contact.html#book-call"]:active {
    background: #153a76 !important;
    background-image: none !important;
    background-color: #153a76 !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    border-color: #153a76 !important;
}

.offers-page .cta-section > a.offers-cta-secondary,
.offers-page .cta-section > a.offers-cta-secondary:link,
.offers-page .cta-section > a.offers-cta-secondary:visited,
.offers-page .cta-section > a.offers-cta-secondary:hover,
.offers-page .cta-section > a.offers-cta-secondary:focus,
.offers-page .cta-section > a.offers-cta-secondary:active,
.offers-page .cta-section > a[href="method.html"],
.offers-page .cta-section > a[href="method.html"]:link,
.offers-page .cta-section > a[href="method.html"]:visited,
.offers-page .cta-section > a[href="method.html"]:hover,
.offers-page .cta-section > a[href="method.html"]:focus,
.offers-page .cta-section > a[href="method.html"]:active {
    background: #c7a341 !important;
    background-image: none !important;
    background-color: #c7a341 !important;
    color: #0b1220 !important;
    -webkit-text-fill-color: #0b1220 !important;
    border-color: #c7a341 !important;
}

/* =====================================================
   EVENTS PAGE — TYPOGRAPHY LOCK (desktop = mobile, all breakpoints)
   ===================================================== */
.events-page .event-year,
.events-page .event-year * {
    font-family: 'Barlow Condensed', 'Rajdhani', 'Inter', sans-serif !important;
    font-size: clamp(1.55rem, 4vw, 2.2rem) !important;
    font-weight: 700 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
    color: #c9a84c !important;
}

.events-page .event-name,
.events-page .event-name * {
    font-family: 'Bebas Neue', 'Barlow Condensed', sans-serif !important;
    font-size: clamp(1.5rem, 4.5vw, 2rem) !important;
    font-weight: 400 !important;
    letter-spacing: 0.03em !important;
    color: #070b11 !important;
    line-height: 1.15 !important;
}

.events-page .event-location,
.events-page .event-location * {
    font-family: 'Barlow Condensed', 'Inter', sans-serif !important;
    font-size: clamp(1rem, 2.8vw, 1.15rem) !important;
    font-weight: 500 !important;
    color: #5c6778 !important;
    line-height: 1.5 !important;
}

.events-page .event-cta,
.events-page .event-cta * {
    font-family: 'Barlow Condensed', 'Rajdhani', 'Inter', sans-serif !important;
    font-size: clamp(0.95rem, 2.5vw, 1.05rem) !important;
    font-weight: 700 !important;
    letter-spacing: 0.04em !important;
    color: #c9a84c !important;
}

@media (max-width: 900px) {
    .events-page .event-year {
        font-family: 'Barlow Condensed', 'Rajdhani', 'Inter', sans-serif !important;
        font-size: clamp(1.55rem, 4vw, 2.2rem) !important;
        font-weight: 700 !important;
        letter-spacing: 0.04em !important;
    }
    .events-page .event-name {
        font-family: 'Bebas Neue', 'Barlow Condensed', sans-serif !important;
        font-size: clamp(1.5rem, 4.5vw, 2rem) !important;
        font-weight: 400 !important;
        letter-spacing: 0.03em !important;
        line-height: 1.15 !important;
    }
    .events-page .event-location {
        font-family: 'Barlow Condensed', 'Inter', sans-serif !important;
        font-size: clamp(1rem, 2.8vw, 1.15rem) !important;
        font-weight: 500 !important;
        line-height: 1.5 !important;
    }
    .events-page .event-cta {
        font-family: 'Barlow Condensed', 'Rajdhani', 'Inter', sans-serif !important;
        font-size: clamp(0.95rem, 2.5vw, 1.05rem) !important;
        font-weight: 700 !important;
        letter-spacing: 0.04em !important;
    }
}

@media (max-width: 480px) {
    .events-page .event-year {
        font-family: 'Barlow Condensed', 'Rajdhani', 'Inter', sans-serif !important;
        font-size: clamp(1.55rem, 4vw, 2.2rem) !important;
        font-weight: 700 !important;
        letter-spacing: 0.04em !important;
    }
    .events-page .event-name {
        font-family: 'Bebas Neue', 'Barlow Condensed', sans-serif !important;
        font-size: clamp(1.5rem, 4.5vw, 2rem) !important;
        font-weight: 400 !important;
        letter-spacing: 0.03em !important;
        line-height: 1.15 !important;
    }
    .events-page .event-location {
        font-family: 'Barlow Condensed', 'Inter', sans-serif !important;
        font-size: clamp(1rem, 2.8vw, 1.15rem) !important;
        font-weight: 500 !important;
        line-height: 1.5 !important;
    }
    .events-page .event-cta {
        font-family: 'Barlow Condensed', 'Rajdhani', 'Inter', sans-serif !important;
        font-size: clamp(0.95rem, 2.5vw, 1.05rem) !important;
        font-weight: 700 !important;
        letter-spacing: 0.04em !important;
    }
}

/* CTA buttons: slight width reduction + text centering */
.offers-page .cta-section > a.offers-cta-primary,
.offers-page .cta-section > a.offers-cta-secondary {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    width: 82% !important;
    justify-self: center !important;
}

/* Contact form text lock: white on all screen sizes */
.contact-page .contact-form,
.contact-page .contact-form label,
.contact-page .contact-form .phone-number-field label,
.contact-page .contact-form .submit-btn,
.contact-page .booking-section .booking-header h2,
.contact-page .booking-section .booking-header p,
.contact-page .booking-section .time-zone-picker label,
.contact-page .booking-section .selected-slot p,
.contact-page .booking-section .selected-slot strong {
    color: rgba(248, 250, 252, 0.95) !important;
    -webkit-text-fill-color: rgba(248, 250, 252, 0.95) !important;
}

.contact-page .contact-form input::placeholder,
.contact-page .contact-form textarea::placeholder {
    color: rgba(248, 250, 252, 0.72) !important;
    -webkit-text-fill-color: rgba(248, 250, 252, 0.72) !important;
}
