:root{--ivory:#fafaf8;--sand:#fdf0e3;--espresso:#1c1a17;--espresso-2:#2a2722;--ink-muted:#7a7872;--mist:#e5e4e0;--gold:#c96a1e;--saffron:#f79233;--rule:#c96a1e99;--gutter:clamp(20px, 5vw, 80px);--ease-out:cubic-bezier(.2, .7, .2, 1)}html,body{background:var(--ivory);color:var(--espresso);margin:0;overflow-x:clip}body{-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-variant-numeric:lining-nums;font-family:Manrope,system-ui,sans-serif}a{color:var(--espresso);text-decoration:none}a:hover{color:var(--gold)}em{font-style:normal}img,video{display:block}:focus-visible{outline:2px solid var(--gold);outline-offset:3px}::selection{background:var(--saffron);color:var(--espresso)}@keyframes gmcover{to{opacity:0;visibility:hidden}}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-stopped{overflow:hidden}.wrap{max-width:1560px;padding:0 var(--gutter);margin:0 auto}.eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--ink-muted);align-items:center;gap:14px;font:500 11px/1.4 JetBrains Mono,monospace;display:flex}.eyebrow .dot{background:var(--gold);border-radius:50%;flex:none;width:4px;height:4px}.mono-label{letter-spacing:.16em;text-transform:uppercase;color:var(--ink-muted);font:500 10px/1.4 JetBrains Mono,monospace}.tag{letter-spacing:.16em;text-transform:uppercase;color:var(--gold);border:1px solid var(--gold);border-radius:2px;padding:7px 10px;font:500 10px/1 JetBrains Mono,monospace}.lnk{--line:var(--gold);color:var(--espresso);background-image:linear-gradient(var(--line), var(--line));transition:background-size .6s var(--ease-out);background-position:0 100%;background-repeat:no-repeat;background-size:0% 1px;padding-bottom:4px;font:500 14px/1.6 Manrope,sans-serif}.lnk:hover{color:var(--espresso);background-size:100% 1px}.lnk.is-full{background-size:100% 1px}.btn{color:var(--espresso);border-radius:40px 40px 6px 6px/30px 30px 6px 6px;align-items:center;gap:12px;font:500 14px/1 Manrope,sans-serif;transition:background .3s;display:inline-flex}.btn:hover{color:var(--espresso)}.btn-primary{background:var(--saffron);padding:19px 30px 18px}.btn-outline{border:1px solid var(--espresso);background:0 0}.h-display{color:var(--espresso);margin:0;font-family:Manrope,sans-serif;font-weight:500}.h-display em{color:var(--gold)}.line-mask{margin-bottom:-.14em;padding-bottom:.2em;display:block;overflow:hidden}.dish{color:var(--espresso);flex-direction:column;gap:16px;min-width:0;display:flex}.dish:hover{color:var(--espresso)}.dish img{transition:transform 1.4s var(--ease-out)}.dish:hover img{transform:scale(1.05)}.svc-row{transition:padding .5s var(--ease-out), background .4s ease}.svc-row:hover{background:var(--espresso-2);color:var(--ivory);padding-left:14px}.foot-phone{color:var(--ivory)}.foot-phone:hover{color:var(--saffron)}.hov-gold:hover{color:var(--gold)}.hov-saffron:hover{color:var(--saffron)}.slide-row{transition:padding .5s var(--ease-out), background .4s ease}.slide-row:hover{padding-left:14px}.cat-row{transition:padding .5s var(--ease-out), background .4s ease}.cat-row:hover{background:var(--sand);color:var(--espresso);padding-left:18px}@media (max-width:819.98px){html:not(.gm-on) [data-hero-frame]{width:54vw!important;height:39vh!important;top:56vh!important;right:20px!important}}
@media (max-width:1099.98px){[data-tablet=display\:flex]{display:flex!important}[data-tablet=display\:none]{display:none!important}[data-tablet=grid-template-columns\:1fr]{grid-template-columns:1fr!important}[data-tablet="grid-template-columns:minmax(0,1fr) minmax(0,1fr)"]{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}[data-tablet=justify-content\:flex-start]{justify-content:flex-start!important}}@media (max-width:819.98px){[data-mobile=display\:none]{display:none!important}[data-mobile="flex-direction:column;align-items:flex-start"]{flex-direction:column!important;align-items:flex-start!important}[data-mobile="flex-direction:column;width:auto;gap:72px;padding:0 20px"]{flex-direction:column!important;gap:72px!important;width:auto!important;padding:0 20px!important}[data-mobile="flex-wrap:wrap;gap:2px 6px;white-space:normal"]{white-space:normal!important;flex-wrap:wrap!important;gap:2px 6px!important}[data-mobile=font-size\:11px]{font-size:11px!important}[data-mobile="font-size:17px;white-space:nowrap"]{white-space:nowrap!important;font-size:17px!important}[data-mobile="font-size:9px;letter-spacing:.1em"]{letter-spacing:.1em!important;font-size:9px!important}[data-mobile="font-size:clamp(50px,14vw,70px);max-width:none"]{max-width:none!important;font-size:clamp(50px,14vw,70px)!important}[data-mobile="grid-column:1/-1;order:3"]{order:3!important;grid-column:1/-1!important}[data-mobile=grid-row\:auto]{grid-row:auto!important}[data-mobile=grid-template-columns\:1fr]{grid-template-columns:1fr!important}[data-mobile="grid-template-columns:1fr auto;gap:14px 16px"]{grid-template-columns:1fr auto!important;gap:14px 16px!important}[data-mobile="grid-template-columns:28px minmax(0,1fr) auto auto"]{grid-template-columns:28px minmax(0,1fr) auto auto!important}[data-mobile="grid-template-columns:36px minmax(0,1fr) auto"]{grid-template-columns:36px minmax(0,1fr) auto!important}[data-mobile="grid-template-columns:minmax(0,1fr) auto"]{grid-template-columns:minmax(0,1fr) auto!important}[data-mobile="grid-template-columns:repeat(2,minmax(0,1fr))"]{grid-template-columns:repeat(2,minmax(0,1fr))!important}[data-mobile=height\:100vw]{height:100vw!important}[data-mobile=height\:110vw]{height:110vw!important}[data-mobile=height\:112vw]{height:112vw!important}[data-mobile=height\:118vw]{height:118vw!important}[data-mobile=height\:62vw]{height:62vw!important}[data-mobile=height\:90vw]{height:90vw!important}[data-mobile=height\:92vw]{height:92vw!important}[data-mobile=height\:96vw]{height:96vw!important}[data-mobile=height\:auto]{height:auto!important}[data-mobile=justify-content\:flex-start]{justify-content:flex-start!important}[data-mobile=margin-top\:0]{margin-top:0!important}[data-mobile="min-height:0;gap:20px"]{gap:20px!important;min-height:0!important}[data-mobile=min-height\:110vw]{min-height:110vw!important}[data-mobile=padding-top\:12px]{padding-top:12px!important}[data-mobile="padding:100px 0 72px"]{padding:100px 0 72px!important}[data-mobile="padding:104px 20px 0"]{padding:104px 20px 0!important}[data-mobile="padding:13px 16px 12px"]{padding:13px 16px 12px!important}[data-mobile="padding:14px 20px 92px"]{padding:14px 20px 92px!important}[data-mobile="padding:14px 8px 12px 0;gap:6px"]{gap:6px!important;padding:14px 8px 12px 0!important}[data-mobile="padding:20px 0 90px;gap:56px"]{gap:56px!important;padding:20px 0 90px!important}[data-mobile="padding:20px 24px 19px;font-size:14px;white-space:nowrap"]{white-space:nowrap!important;padding:20px 24px 19px!important;font-size:14px!important}[data-mobile="position:relative;height:auto;padding:110px 0 24px"]{height:auto!important;padding:110px 0 24px!important;position:relative!important}[data-mobile="position:relative;height:auto;padding:24px 0 110px"]{height:auto!important;padding:24px 0 110px!important;position:relative!important}[data-mobile="position:relative;top:0"]{position:relative!important;top:0!important}[data-mobile="right:16px;padding:16px"]{padding:16px!important;right:16px!important}[data-mobile=white-space\:normal]{white-space:normal!important}[data-mobile="width:70%"]{width:70%!important}[data-mobile="width:86%"]{width:86%!important}[data-mobile="width:auto;margin-top:0"]{width:auto!important;margin-top:0!important}[data-mobile="width:auto;padding-right:0"]{width:auto!important;padding-right:0!important}[data-mobile="width:auto;padding-top:0"]{width:auto!important;padding-top:0!important}}@media (max-height:759.98px) and (min-width:820px){[data-short=display\:none]{display:none!important}}


/* ========================================================
   LIVE ICON ANIMATIONS & TACTILE CLICK INTERACTION ENGINE
   ======================================================== */

/* 1. Base Icon Transitions & Ambient Life */
svg {
    transition: transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1),
                filter 0.3s ease,
                color 0.25s ease;
    will-change: transform;
}

/* Hover on buttons, links, and cards animates their SVGs */
a:hover > svg,
button:hover > svg,
.btn:hover svg,
.lnk:hover svg,
.svc-row:hover svg,
.cat-row:hover svg,
.dish:hover svg,
.foot-phone:hover svg {
    transform: scale(1.18) rotate(-6deg);
    filter: drop-shadow(0 4px 10px rgba(201, 106, 30, 0.35));
}

/* Specific Google review badge hover */
.mono-label:hover svg {
    transform: scale(1.15) rotate(0deg);
    filter: drop-shadow(0 3px 8px rgba(66, 133, 244, 0.3));
}

/* 2. Status Indicator Pulse (Radar Beacon) */
.dot,
.eyebrow .dot {
    position: relative;
    display: inline-block;
}

.dot::after,
.eyebrow .dot::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background: inherit;
    border: 1px solid var(--gold);
    transform: translate(-50%, -50%) scale(1);
    animation: liveBeacon 2.2s cubic-bezier(0.2, 0.8, 0.2, 1) infinite;
    pointer-events: none;
}

@keyframes liveBeacon {
    0% {
        transform: translate(-50%, -50%) scale(0.8);
        opacity: 0.9;
    }
    60% {
        transform: translate(-50%, -50%) scale(3.2);
        opacity: 0;
    }
    100% {
        transform: translate(-50%, -50%) scale(3.4);
        opacity: 0;
    }
}

/* 3. Floating WhatsApp CTA Ambient Floating & Breathing */
[data-wa-float] {
    transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1),
                box-shadow 0.4s ease,
                background-color 0.3s ease;
    animation: waFloatingBreathe 3.5s ease-in-out infinite;
    will-change: transform, box-shadow;
    box-shadow: 0 8px 24px rgba(247, 146, 51, 0.42), 0 2px 6px rgba(28, 26, 23, 0.12);
}

[data-wa-float]:hover {
    transform: translateY(-5px) scale(1.05);
    box-shadow: 0 14px 34px rgba(247, 146, 51, 0.6), 0 4px 12px rgba(28, 26, 23, 0.18);
    animation-play-state: paused;
}

[data-wa-float] svg {
    animation: waIconIdleAlert 6s ease-in-out infinite;
    transform-origin: center center;
}

@keyframes waFloatingBreathe {
    0%, 100% {
        transform: translateY(0);
        box-shadow: 0 8px 24px rgba(247, 146, 51, 0.42), 0 2px 6px rgba(28, 26, 23, 0.12);
    }
    50% {
        transform: translateY(-6px);
        box-shadow: 0 16px 32px rgba(247, 146, 51, 0.55), 0 4px 10px rgba(28, 26, 23, 0.16);
    }
}

/* Gentle alert wobble every 6s on floating WhatsApp icon */
@keyframes waIconIdleAlert {
    0%, 82%, 100% {
        transform: rotate(0) scale(1);
    }
    85% {
        transform: rotate(-14deg) scale(1.15);
    }
    88% {
        transform: rotate(14deg) scale(1.15);
    }
    91% {
        transform: rotate(-8deg) scale(1.08);
    }
    94% {
        transform: rotate(6deg) scale(1.04);
    }
    97% {
        transform: rotate(0) scale(1);
    }
}

/* 4. Live Arrow Glyphs & Transitions */
.icon-arrow {
    display: inline-block;
    vertical-align: middle;
    transition: transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
    transform-origin: center center;
}

/* Ambient gliding on hover */
.lnk:hover .icon-arrow-right,
.btn:hover .icon-arrow-right,
a:hover .icon-arrow-right,
.cat-row:hover .icon-arrow-right,
.svc-row:hover .icon-arrow-right {
    transform: translateX(6px);
}

.lnk:hover .icon-arrow-upright,
.btn:hover .icon-arrow-upright,
a:hover .icon-arrow-upright,
.cat-row:hover .icon-arrow-upright,
.svc-row:hover .icon-arrow-upright {
    transform: translate(4px, -4px);
}

.lnk:hover .icon-arrow-down,
.btn:hover .icon-arrow-down,
a:hover .icon-arrow-down {
    transform: translateY(5px);
}

/* Idle bounce on scroll indicators */
.icon-arrow-down-bounce {
    animation: arrowDownBounce 1.8s ease-in-out infinite;
}

@keyframes arrowDownBounce {
    0%, 100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(5px);
    }
}

.icon-arrow-right-bounce {
    animation: arrowRightBounce 1.8s ease-in-out infinite;
}

@keyframes arrowRightBounce {
    0%, 100% {
        transform: translateX(0);
    }
    50% {
        transform: translateX(5px);
    }
}

/* 5. Review Carousel Arrow Buttons (← and →) */
button[aria-label="Previous review"],
button[aria-label="Next review"] {
    transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1),
                background-color 0.25s ease,
                color 0.25s ease,
                border-color 0.25s ease,
                box-shadow 0.3s ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

button[aria-label="Previous review"]:hover {
    background: #1C1A17 !important;
    color: #FAFAF8 !important;
    transform: translateX(-4px) scale(1.05);
    box-shadow: 0 6px 18px rgba(28, 26, 23, 0.18);
}

button[aria-label="Next review"]:hover {
    background: #1C1A17 !important;
    color: #FAFAF8 !important;
    transform: translateX(4px) scale(1.05);
    box-shadow: 0 6px 18px rgba(28, 26, 23, 0.18);
}

button[aria-label="Previous review"]:active,
button[aria-label="Next review"]:active {
    transform: scale(0.9);
}

/* 6. Mobile Menu Toggle Hamburger Animated Morph */
button[aria-label="Open menu"] {
    transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1),
                border-color 0.3s ease,
                background-color 0.3s ease;
}

button[aria-label="Open menu"]:hover {
    transform: scale(1.06);
    border-color: var(--saffron) !important;
}

button[aria-label="Open menu"] span {
    transition: transform 0.35s cubic-bezier(0.2, 0.8, 0.2, 1),
                width 0.35s cubic-bezier(0.2, 0.8, 0.2, 1),
                background-color 0.3s ease;
    transform-origin: center center;
}

/* Slight stretch on hover */
button[aria-label="Open menu"]:hover span:first-child {
    width: 20px !important;
}
button[aria-label="Open menu"]:hover span:last-child {
    width: 16px !important;
}

/* Morph into 'X' when open */
button[aria-label="Open menu"][aria-expanded="true"] span:first-child,
body.menu-open button[aria-label="Open menu"] span:first-child {
    width: 18px !important;
    transform: translateY(3.5px) rotate(45deg);
    background-color: var(--gold) !important;
}

button[aria-label="Open menu"][aria-expanded="true"] span:last-child,
body.menu-open button[aria-label="Open menu"] span:last-child {
    width: 18px !important;
    transform: translateY(-3.5px) rotate(-45deg);
    background-color: var(--gold) !important;
}

/* 7. CLICK FEEDBACK & HAPTIC ANIMATIONS */

/* Generic Icon Pop / Squish Bounce */
@keyframes iconPopSpring {
    0% { transform: scale(1); }
    22% { transform: scale(0.82) rotate(-3deg); }
    55% { transform: scale(1.22) rotate(3deg); }
    75% { transform: scale(0.95) rotate(-1deg); }
    100% { transform: scale(1) rotate(0deg); }
}

.icon-pop {
    animation: iconPopSpring 0.45s cubic-bezier(0.34, 1.56, 0.64, 1) forwards !important;
}

/* WhatsApp Phone Ring Wobble */
@keyframes iconRingWobble {
    0% { transform: scale(1) rotate(0deg); }
    14% { transform: scale(1.24) rotate(-22deg); }
    28% { transform: scale(1.24) rotate(22deg); }
    42% { transform: scale(1.18) rotate(-14deg); }
    56% { transform: scale(1.14) rotate(14deg); }
    70% { transform: scale(1.08) rotate(-6deg); }
    84% { transform: scale(1.04) rotate(4deg); }
    100% { transform: scale(1) rotate(0deg); }
}

.icon-ring {
    animation: iconRingWobble 0.6s cubic-bezier(0.36, 0.07, 0.19, 0.97) forwards !important;
}

/* Arrow Shoot on Click */
@keyframes arrowShootRight {
    0% { transform: translateX(0); }
    30% { transform: translateX(12px) scale(1.25); }
    65% { transform: translateX(-3px) scale(0.92); }
    100% { transform: translateX(0) scale(1); }
}

@keyframes arrowShootUpRight {
    0% { transform: translate(0, 0); }
    30% { transform: translate(10px, -10px) scale(1.25); }
    65% { transform: translate(-2px, 2px) scale(0.92); }
    100% { transform: translate(0, 0) scale(1); }
}

@keyframes arrowShootDown {
    0% { transform: translateY(0); }
    30% { transform: translateY(10px) scale(1.25); }
    65% { transform: translateY(-2px) scale(0.92); }
    100% { transform: translateY(0) scale(1); }
}

.arrow-shoot-right {
    animation: arrowShootRight 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) forwards !important;
}

.arrow-shoot-upright {
    animation: arrowShootUpRight 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) forwards !important;
}

.arrow-shoot-down {
    animation: arrowShootDown 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) forwards !important;
}

/* Luxury Saffron Radial Ripple Effect */
.has-ripple {
    position: relative !important;
    overflow: hidden !important;
}

.luxury-ripple {
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
    transform: translate(-50%, -50%) scale(0);
    animation: luxuryRippleGrow 0.65s cubic-bezier(0.1, 0.8, 0.25, 1) forwards;
    background: radial-gradient(circle, rgba(247, 146, 51, 0.5) 0%, rgba(201, 106, 30, 0.22) 50%, rgba(201, 106, 30, 0) 75%);
    z-index: 1000;
}

@keyframes luxuryRippleGrow {
    0% {
        transform: translate(-50%, -50%) scale(0);
        opacity: 1;
    }
    100% {
        transform: translate(-50%, -50%) scale(4);
        opacity: 0;
    }
}

/* Golden Haptic Sparkle Burst */
.haptic-sparkle {
    position: fixed;
    pointer-events: none;
    z-index: 99999;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--saffron);
    box-shadow: 0 0 6px var(--gold);
    animation: sparkleFly 0.55s cubic-bezier(0.2, 0.8, 0.3, 1) forwards;
}

@keyframes sparkleFly {
    0% {
        transform: translate(0, 0) scale(1);
        opacity: 1;
    }
    100% {
        transform: translate(var(--tx), var(--ty)) scale(0);
        opacity: 0;
    }
}


/* ==========================================================================
   Comprehensive Mobile & Touch Experience Optimizations
   ========================================================================== */

/* Universal mobile container bounds & prevent horizontal overflow */
html, body {
    max-width: 100vw;
    overflow-x: clip;
    -webkit-tap-highlight-color: rgba(201, 106, 30, 0.15);
}

/* Page cover non-blocking smooth fade */
[data-cover] {
    pointer-events: none !important;
    animation: gmcover 0.35s ease 0.35s forwards !important;
}

@media (max-width: 820px) {
    /* 1. Mobile Header & Brand Logo */
    header[data-nav] {
        height: 64px !important;
    }
    header[data-nav] > div {
        height: 64px !important;
        padding: 0 16px !important;
        gap: 10px !important;
    }
    header[data-nav] a[data-label="Home"] {
        display: flex !important;
        align-items: center !important;
        max-width: 185px !important;
    }
    header[data-nav] a[data-label="Home"] img {
        height: 28px !important;
        width: auto !important;
        max-width: 175px !important;
        display: block !important;
    }
    .header-wa-btn {
        padding: 8px 12px !important;
        font-size: 11px !important;
        height: 38px !important;
        border-radius: 20px 20px 4px 4px !important;
        gap: 6px !important;
    }
    .header-wa-btn span {
        display: none !important;
    }
    button[aria-label="Open menu"] {
        display: flex !important;
        width: 40px !important;
        height: 40px !important;
        border-radius: 20px 20px 4px 4px !important;
        border: 1px solid rgba(201, 106, 30, 0.5) !important;
        background: transparent !important;
        flex: none !important;
        align-items: center !important;
        justify-content: center !important;
        cursor: pointer !important;
    }

    /* 2. Fullscreen Luxury Mobile Drawer Navigation */
    #mobile-menu {
        display: flex !important;
        flex-direction: column !important;
        position: fixed !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100vh !important;
        height: 100dvh !important;
        background: #FAFAF8 !important;
        z-index: 9999 !important;
        padding: 16px 20px 28px !important;
        box-sizing: border-box !important;
        overflow-y: auto !important;
        opacity: 0 !important;
        pointer-events: none !important;
        transform: translateY(-8px) !important;
        transition: opacity 0.28s cubic-bezier(.2,.7,.2,1), transform 0.28s cubic-bezier(.2,.7,.2,1) !important;
        border-top: none !important;
    }
    #mobile-menu.is-active {
        opacity: 1 !important;
        pointer-events: auto !important;
        transform: translateY(0) !important;
    }
    body.menu-open {
        overflow: hidden !important;
        touch-action: none !important;
    }

    /* 3. Hero Section Positioning & Layout on Mobile */
    section[data-screen-label="01 Hero"] {
        padding-top: 84px !important;
        padding-bottom: 48px !important;
        min-height: auto !important;
        overflow: visible !important;
    }
    section[data-screen-label="01 Hero"] .wrap {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 24px !important;
    }
    [data-hero-frame] {
        position: relative !important;
        top: auto !important;
        right: auto !important;
        left: auto !important;
        width: min(92vw, 340px) !important;
        height: clamp(210px, 54vw, 290px) !important;
        margin: 24px auto 0 !important;
        border-radius: 180px 180px 0 0 !important;
        box-shadow: 0 12px 36px rgba(0,0,0,0.08) !important;
        overflow: hidden !important;
    }

    /* 4. Menus Page Sticky Tabs & Station Filters */
    #menu-tabs div[role="tablist"] {
        top: 64px !important;
    }
    #menu-tabs div[role="tablist"] > .wrap {
        display: flex !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
        scrollbar-width: none !important;
        padding-left: 16px !important;
        padding-right: 16px !important;
        gap: 12px !important;
    }
    #menu-tabs div[role="tablist"] > .wrap::-webkit-scrollbar {
        display: none !important;
    }
    #menu-tabs div[role="tablist"] button[role="tab"] {
        flex: none !important;
        white-space: nowrap !important;
        padding: 14px 12px !important;
    }
    #event-stations-filters {
        display: flex !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
        scrollbar-width: none !important;
        padding: 8px 16px 14px !important;
        gap: 8px !important;
        flex-wrap: nowrap !important;
    }
    #event-stations-filters::-webkit-scrollbar {
        display: none !important;
    }
    #event-stations-filters button {
        flex: none !important;
        white-space: nowrap !important;
    }

    /* 5. Interactive Google Map CTA Block on Mobile */
    .cta-map-block {
        margin-top: 24px !important;
        width: 100% !important;
    }
    .cta-map-iframe-wrap {
        height: 280px !important;
    }
    .cta-map-header {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 12px !important;
    }
    .cta-map-header a {
        width: 100% !important;
        justify-content: center !important;
        text-align: center !important;
    }

    /* 6. Floating Action WhatsApp FAB on Mobile */
    a[data-wa-float] {
        width: 52px !important;
        height: 52px !important;
        border-radius: 50% !important;
        padding: 0 !important;
        bottom: 20px !important;
        right: 18px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        box-shadow: 0 8px 24px rgba(247, 146, 51, 0.45) !important;
        z-index: 888 !important;
    }
    a[data-wa-float] span {
        display: none !important;
    }
    a[data-wa-float] svg {
        width: 26px !important;
        height: 26px !important;
    }

    /* 7. Forms, Inputs & Tap Targets */
    .inquiry-input, select.inquiry-input, input, textarea, select {
        font-size: 16px !important; /* Prevents auto-zoom on iOS */
    }
    .table-responsive {
        width: 100% !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
    }

    /* 8. Container Gutters */
    .wrap {
        padding: 0 18px !important;
    }
}


/* ==========================================================================
   Precision Mobile Layout & Header Rules (Screens <= 820px)
   ========================================================================== */
@media (max-width: 820px) {
    header[data-nav] {
        height: 60px !important;
    }
    header[data-nav] .nav-inner {
        height: 60px !important;
        padding: 0 14px !important;
        gap: 8px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
    }
    header[data-nav] a[data-label="Home"] {
        max-width: 170px !important;
        flex: 0 1 auto !important;
        min-width: 0 !important;
        display: flex !important;
        align-items: center !important;
    }
    header[data-nav] a[data-label="Home"] img {
        height: 26px !important;
        max-width: 165px !important;
        width: auto !important;
        object-fit: contain !important;
        display: block !important;
    }
    header[data-nav] .header-actions {
        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
        flex: none !important;
    }
    header[data-nav] .header-wa-btn {
        width: 38px !important;
        height: 38px !important;
        padding: 0 !important;
        border-radius: 50% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        background: #F79233 !important;
        flex: none !important;
    }
    header[data-nav] .header-wa-btn span {
        display: none !important;
    }
    header[data-nav] button[aria-label="Open menu"] {
        display: flex !important;
        width: 38px !important;
        height: 38px !important;
        border-radius: 19px 19px 4px 4px !important;
        border: 1px solid rgba(201, 106, 30, 0.5) !important;
        background: transparent !important;
        flex: none !important;
        align-items: center !important;
        justify-content: center !important;
        cursor: pointer !important;
        padding: 0 !important;
    }

    /* Hero section flow on mobile */
    section[data-screen-label="01 Hero"] {
        padding-top: 76px !important;
        padding-bottom: 40px !important;
        min-height: auto !important;
        display: block !important;
        position: relative !important;
        overflow: visible !important;
    }
    section[data-screen-label="01 Hero"] .wrap {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 20px !important;
        padding: 0 18px !important;
    }
    section[data-screen-label="01 Hero"] h1.h-display {
        font-size: clamp(34px, 10.5vw, 54px) !important;
        line-height: 0.98 !important;
        max-width: 100% !important;
    }
    html:not(.gm-on) [data-hero-frame],
    html [data-hero-frame],
    [data-hero-frame] {
        position: relative !important;
        top: auto !important;
        right: auto !important;
        left: auto !important;
        bottom: auto !important;
        width: min(92vw, 340px) !important;
        height: clamp(210px, 56vw, 280px) !important;
        margin: 28px auto 0 !important;
        border-radius: 170px 170px 0 0 !important;
        box-shadow: 0 12px 36px rgba(0,0,0,0.08) !important;
        overflow: hidden !important;
        display: block !important;
        z-index: 1 !important;
    }
}


@media (max-width: 820px) {
    header[data-nav] a[data-label="Home"] {
        flex: 0 1 auto !important;
        max-width: 165px !important;
        overflow: hidden !important;
    }
    header[data-nav] a[data-label="Home"] img {
        height: 25px !important;
        max-width: 155px !important;
        width: auto !important;
    }
    header[data-nav] .header-actions {
        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
        flex: none !important;
    }
    header[data-nav] a.btn.header-wa-btn {
        width: 38px !important;
        height: 38px !important;
        padding: 0 !important;
        min-width: 38px !important;
        border-radius: 50% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        background: #F79233 !important;
        flex: none !important;
    }
    header[data-nav] a.btn.header-wa-btn span {
        display: none !important;
    }
    header[data-nav] a.btn.header-wa-btn svg {
        margin: 0 !important;
    }
    header[data-nav] button[aria-label="Open menu"] {
        width: 38px !important;
        height: 38px !important;
        border-radius: 19px 19px 4px 4px !important;
        border: 1px solid rgba(201, 106, 30, 0.5) !important;
        background: transparent !important;
        flex: none !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        cursor: pointer !important;
        padding: 0 !important;
    }
}


/* Mobile Hero Arch & Copy Layering Fix */
@media (max-width: 820px) {
    [data-hero-copy] {
        z-index: 3 !important;
        position: absolute !important;
        inset: 0 !important;
    }
    [data-hero-copy] > div {
        padding: 76px 18px 0 !important;
        gap: 14px !important;
    }
    [data-hero-copy] a,
    [data-hero-copy] button {
        pointer-events: auto !important;
    }
    html:not(.gm-on) [data-hero-frame],
    html [data-hero-frame],
    [data-hero-frame] {
        position: absolute !important;
        top: 395px !important;
        left: 50% !important;
        right: auto !important;
        bottom: auto !important;
        transform: translateX(-50%) !important;
        width: min(90vw, 340px) !important;
        height: clamp(230px, 48vh, 340px) !important;
        margin: 0 !important;
        border-radius: 170px 170px 0 0 !important;
        box-shadow: 0 12px 36px rgba(0,0,0,0.12) !important;
        overflow: hidden !important;
        z-index: 1 !important;
    }
}
