        /* Riviera Nights Font Family */
        @font-face {
            font-family: 'Riviera Nights';
            src: url('../Riviera Font Family/RivieraNightsTrial-Regular.otf') format('opentype');
            font-weight: 400;
            font-style: normal;
            font-display: swap;
        }

        @font-face {
            font-family: 'Riviera Nights';
            src: url('../Riviera Font Family/RivieraNightsTrial-RegularItalic.otf') format('opentype');
            font-weight: 400;
            font-style: italic;
            font-display: swap;
        }

        @font-face {
            font-family: 'Riviera Nights';
            src: url('../Riviera Font Family/RivieraNightsTrial-Light.otf') format('opentype');
            font-weight: 300;
            font-style: normal;
            font-display: swap;
        }

        @font-face {
            font-family: 'Riviera Nights';
            src: url('../Riviera Font Family/RivieraNightsTrial-LightItalic.otf') format('opentype');
            font-weight: 300;
            font-style: italic;
            font-display: swap;
        }

        @font-face {
            font-family: 'Riviera Nights';
            src: url('../Riviera Font Family/RivieraNightsTrial-Medium.otf') format('opentype');
            font-weight: 500;
            font-style: normal;
            font-display: swap;
        }

        @font-face {
            font-family: 'Riviera Nights';
            src: url('../Riviera Font Family/RivieraNightsTrial-MediumItalic.otf') format('opentype');
            font-weight: 500;
            font-style: italic;
            font-display: swap;
        }

        @font-face {
            font-family: 'Riviera Nights';
            src: url('../Riviera Font Family/RivieraNightsTrial-Bold.otf') format('opentype');
            font-weight: 700;
            font-style: normal;
            font-display: swap;
        }

        @font-face {
            font-family: 'Riviera Nights';
            src: url('../Riviera Font Family/RivieraNightsTrial-BoldItalic.otf') format('opentype');
            font-weight: 700;
            font-style: italic;
            font-display: swap;
        }

        :root {
            --rr-black: #050505;
            --rr-white: #ffffff;
            --primary-cream: #f5d69f;    /* Your new section background */
            --secondary-cream: #e2dfd8;  /* Your new section background */
            --primary-navy: #15264d;     /* Your new action button color */
            --text-dark: #595959;        /* Your new body text color */
            --rr-border: rgba(21, 38, 77, 0.1); /* Navy-tinted borders */
            --sidebar-width: 620px;
            --primary-dark: #151515;    /* Your dark section background */
            --text-light: #ffffff;       /* Your light text color for dark sections */
            --heading-spacer: 1.4em; /* Space between heading and subheading */
            --font-family-one: "Riviera Nights", Helvetica, Arial, -apple-system, sans-serif;
        }

        * { margin: 0; padding: 0; box-sizing: border-box; }
        html { scroll-snap-type: y proximity; scroll-behavior: smooth; }
html.menu-open {
    overflow: hidden;
    scroll-snap-type: none;
}
body { background-color: #171717; color: var(--rr-white); font-family: var(--font-family-one); overflow-x: hidden; padding-bottom: 360px; }
body.menu-open {
    position: fixed;
    left: 0;
    right: 0;
    width: 100%;
    overflow: hidden;
}

        .page-content {
            position: relative;
            z-index: 2;
            background: transparent;
            display: block;
        }

.moving-band-section {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    color: var(--primary-dark);
    text-align: center;
}

.moving-band {
    width: 100%;
    overflow: hidden;
    background: var(--primary-cream);
}

.moving-band-track {
    width: max-content;
    display: flex;
    animation: moving-band-scroll 42s linear infinite;
    will-change: transform;
}

.moving-band:hover .moving-band-track {
    animation-play-state: paused;
}

.moving-band-group {
    display: flex;
    align-items: center;
    flex: 0 0 auto;
}

.moving-band-item {
    position: relative;
    display: inline-flex;
    align-items: center;
    min-height: 48px;
    padding: 0 clamp(48px, 8vw, 118px);
    color: var(--primary-dark);
    font-family: var(--font-family-one);
    font-size: 10px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.62em;
    text-transform: uppercase;
    white-space: nowrap;
}

.moving-band-item::after {
    content: ".";
    position: absolute;
    right: 0;
    top: 50%;
    transform: translate(50%, -58%);
    color: rgba(21, 21, 21, 0.6);
    font-size: 18px;
    letter-spacing: 0;
}

.moving-band-heading {
    max-width: 980px;
    margin: 56px auto 0;
    padding: 0 24px;
    color: var(--primary-dark);
    font-family: var(--font-family-one);
    font-size: clamp(32px, 4.4vw, 37px);
    font-weight: 300;
    line-height: 1.08;
    font-style: italic;
    letter-spacing: 0;
    -webkit-font-smoothing: antialiased;
}

.zora-image-feature {
    position: relative;
    width: 100vw;
    min-height: 100vh;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    overflow: hidden;
    color: var(--text-light);
    background: var(--primary-dark);
}

.zora-image-feature-image,
.zora-image-feature-overlay {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.zora-image-feature-image {
    object-fit: cover;
}

.zora-image-feature-overlay {
    background:
        linear-gradient(90deg, rgba(0, 0, 0, 0.18) 0%, rgba(0, 0, 0, 0.18) 46%, rgba(0, 0, 0, 0.62) 100%),
        linear-gradient(180deg, rgba(0, 0, 0, 0.16) 0%, rgba(0, 0, 0, 0.34) 100%);
}

.zora-image-feature-copy {
    position: relative;
    z-index: 1;
    min-height: 100vh;
    width: min(100%, 1180px);
    margin: 0 auto;
    padding: clamp(96px, 10vw, 150px) clamp(24px, 6vw, 72px);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-end;
    text-align: left;
}

.zora-image-feature-heading,
.zora-image-feature-text {
    width: min(100%, 430px);
    font-family: var(--font-family-one);
    -webkit-font-smoothing: antialiased;
}

.zora-image-feature-heading {
    margin: 0 0 20px;
    color: var(--text-light);
    font-size: clamp(24px, 2vw, 34px);
    font-weight: 500;
    line-height: 1.15;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.zora-image-feature-text {
    margin: 0;
    color: rgba(255, 255, 255, 0.82);
    font-size: 14px;
    font-weight: 300;
    line-height: 1.75;
    letter-spacing: 0.03em;
}

.zora-image-feature-text + .zora-image-feature-text {
    margin-top: 18px;
}

.zora-image-feature-text strong {
    color: var(--text-light);
    font-weight: 500;
}

.zora-content-accordion {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    padding: clamp(82px, 10vw, 132px) 24px;
    background: var(--rr-white);
    color: var(--primary-dark);
}

.zora-content-accordion-shell {
    width: min(100%, 980px);
    margin: 0 auto;
}

.zora-content-accordion-heading {
    margin: 0 0 clamp(58px, 7vw, 92px);
    color: var(--primary-dark);
    font-family: var(--font-family-one);
    font-size: clamp(28px, 3vw, 44px);
    font-weight: 300;
    line-height: 1.1;
    letter-spacing: 0.18em;
    text-align: center;
    text-transform: uppercase;
    -webkit-font-smoothing: antialiased;
}

.zora-content-accordion-list {
    border-top: 1px solid rgba(21, 21, 21, 0.42);
}

.zora-content-accordion-item {
    border-bottom: 1px solid rgba(21, 21, 21, 0.32);
}

.zora-content-accordion-summary {
    min-height: 62px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    color: var(--primary-dark);
    font-family: var(--font-family-one);
    font-size: 14px;
    font-weight: 400;
    line-height: 1.35;
    letter-spacing: 0.03em;
    cursor: pointer;
    list-style: none;
    -webkit-font-smoothing: antialiased;
}

.zora-content-accordion-summary::-webkit-details-marker {
    display: none;
}

.zora-content-accordion-icon {
    position: relative;
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
}

.zora-content-accordion-icon::before,
.zora-content-accordion-icon::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 10px;
    height: 1px;
    background: var(--primary-dark);
    transform: translate(-50%, -50%);
    transition: transform 0.22s ease;
}

.zora-content-accordion-icon::after {
    transform: translate(-50%, -50%) rotate(90deg);
}

.zora-content-accordion-item[open] .zora-content-accordion-icon::after {
    transform: translate(-50%, -50%) rotate(0deg);
}

.zora-content-accordion-panel {
   
    padding: 0 54px 26px 0;
    text-align: left;
}

.zora-content-accordion-panel p {
    margin: 0;
    color: rgba(21, 21, 21, 0.76);
    font-family: var(--font-family-one);
    font-size: 14px;
    font-weight: 300;
    line-height: 1.75;
    letter-spacing: 0.03em;
    -webkit-font-smoothing: antialiased;
}

.zora-content-accordion-panel strong {
    color: var(--primary-dark);
    font-weight: 500;
}

@keyframes moving-band-scroll {
    from {
        transform: translate3d(0, 0, 0);
    }

    to {
        transform: translate3d(-33.333%, 0, 0);
    }
}

@media (prefers-reduced-motion: reduce) {
    .moving-band-track {
        animation: none;
    }
}



.main-page-hd {
    color: #1f1f1f;
    font-family: 'Riviera Nights';
    font-size: 84px;
    font-weight: 300;
    letter-spacing: 10px;
    text-transform: uppercase;
    line-height: 44px;
    -webkit-font-smoothing: antialiased;
}
.mb-30 { margin-bottom: 30px; }
.mb-50 { margin-bottom: 50px; }
.mt-60 { margin-top: 60px; }
.pb-100 { padding-bottom: 100px; }
.pt-100 { padding-top: 100px; }
.pb-150 { padding-bottom: 150px; }
.pt-150 { padding-top: 150px; }
.pr-150 { padding-right: 150px; }
.pl-150 { padding-left: 150px; }
.pt-60 { padding-top: 60px; }
.pb-180 { padding-bottom: 180px; }
.pb-50 { padding-bottom: 50px; }
.pr-60 { padding-right: 60px; }
.pl-60 { padding-left: 60px; } 
.bg-white { background-color: var(--rr-white); }
.pb-200 { padding-bottom: 200px; }
.pt-200 { padding-top: 200px; }
.pt-300 { padding-top: 300px; }
.pb-300 { padding-bottom: 300px; }
.text-center { text-align: center; }
.c-white { color: var(--rr-white) !important; }
.c-black { color: var(--rr-black) !important; }
.font-size-1{
    font-size: 20px;
    font-weight: 300;
}


        

        @media (hover: hover) and (pointer: fine) {
            body,
            body * {
                cursor: none !important;
            }

            a,
            button,
            input,
            select,
            textarea,
            .instagram-cta,
            .cta-submit,
            .banner-cta {
                cursor: none !important;
            }
        }

        .custom-cursor {
            position: fixed;
            top: 0;
            left: 0;
            width: 12px;
            height: 12px;
            border-radius: 50%;
            background: transparent;
            border: 1px solid rgba(255, 255, 255, 0.88);
            pointer-events: none;
            opacity: 0;
            transform: translate(-50%, -50%) scale(1);
            transition: transform 0.18s ease, opacity 0.18s ease, border-color 0.18s ease;
            z-index: 4000;
        }

        .custom-cursor.is-visible {
            opacity: 1;
        }

        .custom-cursor.is-active {
            transform: translate(-50%, -50%) scale(2);
        }

.custom-cursor.is-on-light {
    border-color: rgba(89, 89, 89, 0.9);
}

.header-theme-dark .custom-cursor {
    border-color: rgba(42, 42, 42, 0.92);
}

.header-theme-dark nav:not(.sticky),
.header-theme-dark nav:not(.sticky) .menu-text,
.header-theme-dark nav:not(.sticky) .enquire-btn {
    color: #1f1f1f;
}

.header-theme-dark nav:not(.sticky) .hamburger span,
.header-theme-dark nav:not(.sticky) .hamburger span:first-child::before,
.header-theme-dark nav:not(.sticky) .hamburger span:first-child::after {
    background-color: #1f1f1f;
}

        /* NAVIGATION - RR STYLE STICKY */
        nav {
            position: fixed;
            top: 0; width: 100%; height: 120px;
            display: grid; grid-template-columns: 120px 1fr 120px;
            align-items: center; padding: 0 40px; z-index: 1000;
            background: rgba(0, 0, 0, 0); /* Initial transparent */
            border-bottom: 1px solid transparent;
            transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
        }

        /* The 'Sticky' State via JS */
        nav.sticky {
            background:rgb(5 5 5 / 51%); /*  */
            backdrop-filter: blur(0px);
            border-bottom: 1px solid rgba(245, 214, 159, 0.2);
            height: 50px;
        }

        /* SECTION BACKGROUNDS */
.normal-content{ 
    background-color: var(--primary-dark) !important; 
    color: var(--text-dark) !important; 
}

/* TEXT COLOR UPDATES FOR LIGHT SECTIONS */
.normal-content:not(.social-section) h2, 
.normal-content:not(.social-section) h3, 
.enquiry-title,
.service-card h3 { 
    color: var(--primary-cream) !important; 
}


.normal-content:not(.social-section) p, 
.contact-details p { 
    color: var(--text-dark) !important; 
}





/* FORM INPUTS ON CREAM BACKGROUND */
.bespoke-form input, 
.bespoke-form select, 
.bespoke-form textarea {
    border-bottom: 1px solid rgba(21, 38, 77, 0.2) !important;
    color: var(--text-dark) !important;
}

.bespoke-form input::placeholder, 
.bespoke-form textarea::placeholder {
    color: rgba(21, 38, 77, 0.5);
}

/* SLIDE TEXT REMAINS WHITE FOR CONTRAST ON VIDEO */

.banner-cta { border: 1px solid var(--rr-white); color: var(--rr-white); }

/* SIDEBAR COLORS */


/* FOOTER */
footer { 
    background-color: #171717 !important;
    color: var(--primary-cream);
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}
.footer-logo { color: var(--primary-cream); opacity: 0.15; }

.slide,
.normal-content,
.enquiry-section {
    position: relative;
}

/* HAMBURGER */
.hamburger span { background-color: var(--rr-white); }

        /* LOGO CONTAINER */
        .logo-container {
            display: flex;
            justify-content: center;
            align-items: center;
            height: 100%;
            position: relative;
            justify-self: center;
            width: 100%;
        }

        .logo-container > a {
            position: relative;
            display: flex;
            align-items: center;
            justify-content: center;
            width: min(240px, 100%);
            height: 38px;
            margin: 0 auto;
        }
        #logo-main.logo-img {
            max-height: 38px;
        }
        #logo-sticky.logo-img {
            max-height: 30px;
        }
        .logo-img {
    
            width: auto;
            position: absolute;
            inset: 0;
            margin: auto;
            transition: opacity 0.5s ease, transform 0.5s ease;
        }

        #logo-main { opacity: 1; transform: scale(1); }
        #logo-sticky { opacity: 0; transform: scale(0.9); }

        /* When Sticky is active, swap opacities */
        nav.sticky #logo-main { opacity: 0; transform: scale(0.9); }
        nav.sticky #logo-sticky { opacity: 1; transform: scale(1); }

  

        /* SIDEBAR & OTHER STYLES (Retained from previous) */
        .menu-btn { font-size: 10px; letter-spacing: 3px; cursor: pointer; text-transform: uppercase; z-index: 1001; }
        
        .sidebar {
            position: fixed;
            inset: 0;
            display: flex;
            align-items: stretch;
            z-index: 2000;
            pointer-events: none;
        }
        .sidebar.open {
            pointer-events: auto;
        }
        .close-btn {
            position: absolute;
            top: 42px;
            left: 40px;
            font-size: 14px;
            letter-spacing: 2px;
            cursor: pointer;
            color: #c1c0c0;
            z-index: 3;
            opacity: 0;
            visibility: hidden;
            transform: translateY(-8px);
            transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s ease;
            pointer-events: none;
        }
        .sidebar.open .close-btn {
            opacity: 1;
            visibility: visible;
            transform: translateY(0);
            pointer-events: auto;
        }
        .sidebar-shell {
            position: relative;
            width: min(var(--sidebar-width), 100vw);
            min-width: min(var(--sidebar-width), 100vw);
            height: 100vh;
            padding: 100px 120px 56px;
            border-right: 1px solid rgba(255, 255, 255, 0.08);
            background: rgba(0, 0, 0, 0.18);
            backdrop-filter: blur(26px) saturate(1.4);
            transform: translateX(calc(-1 * min(var(--sidebar-width), 100vw)));
            transition: transform 0.65s cubic-bezier(0.16, 1, 0.3, 1);
            overflow: hidden;
        }
        .sidebar.open .sidebar-shell {
            transform: translateX(0);
        }
        .sidebar-rest-overlay {
            position: absolute;
            top: 0;
            right: 0;
            bottom: 0;
            left: min(var(--sidebar-width), 100vw);
            background: linear-gradient(180deg, rgba(0, 0, 0, 0.36), rgba(0, 0, 0, 0.74));
            z-index: 1;
            opacity: 0;
            transition: opacity 0.45s ease;
            pointer-events: none;
        }
        .sidebar.open .sidebar-rest-overlay {
            opacity: 1;
        }
        .sidebar-inner {
            position: relative;
            z-index: 2;
            height: 100%;
        }
        .sidebar-venue-video {
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
            object-fit: cover;
            opacity: 0;
            transition: opacity 0.35s ease;
        }
        .sidebar.has-venue-active .sidebar-venue-video {
            opacity: 0.4;
        }
        .sidebar-preview {
            position: relative;
            flex: 1;
            min-width: 0;
            display: flex;
            align-items: stretch;
            justify-content: stretch;
            padding: 0;
            opacity: 0;
            transform: translateX(42px);
            transition: opacity 0.45s ease, transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
            pointer-events: none;
        }
        .sidebar.open.has-venue-active .sidebar-preview {
            opacity: 1;
            transform: translateX(0);
            pointer-events: auto;
            transition-delay: 0.12s;
        }
        .sidebar-preview::before {
            content: '';
            position: absolute;
            inset: 0;
            background: linear-gradient(180deg, rgba(0, 0, 0, 0.12), rgba(0, 0, 0, 0.28));
        }
        .sidebar-preview-media,
        .sidebar-preview-content {
            position: relative;
            z-index: 1;
        }
        .sidebar-preview-media {
            position: absolute;
            inset: 0;
            overflow: hidden;
        }
        .sidebar-preview-media::after {
            content: '';
            position: absolute;
            inset: 0;
            background: linear-gradient(180deg, rgba(0, 0, 0, 0.04), rgba(0, 0, 0, 0.18));
        }
        .sidebar-preview-image {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform 0.7s ease;
        }
        .sidebar.has-venue-active .sidebar-preview-image {
            transform: scale(1.03);
        }
        .sidebar-preview-content {
            position: absolute;
            left: 50%;
            top: 58%;
            width: auto;
            max-width: none;
            padding: 0;
            color: var(--rr-white);
            transform: translate(-50%, -50%);
        }
        .sidebar-preview-cta {
            margin-top: 0;
        }
        .sidebar-nav-list { list-style: none; margin-top: 110px; }
        .sidebar-nav-list > li {
            --sidebar-wave-delay: 0s;
            transition:
                opacity 0.48s cubic-bezier(0.22, 1, 0.36, 1),
                transform 0.62s cubic-bezier(0.18, 0.9, 0.22, 1.18),
                max-height 0.42s ease,
                margin 0.42s ease;
            transition-delay: var(--sidebar-wave-delay);
            max-height: 220px;
            overflow: hidden;
        }
        .sidebar-nav-list > li:nth-child(1) { --sidebar-wave-delay: 0s; }
        .sidebar-nav-list > li:nth-child(2) { --sidebar-wave-delay: 0.04s; }
        .sidebar-nav-list > li:nth-child(3) { --sidebar-wave-delay: 0.08s; }
        .sidebar-nav-list > li:nth-child(4) { --sidebar-wave-delay: 0.12s; }
        .sidebar-nav-list > li:nth-child(5) { --sidebar-wave-delay: 0.16s; }
        .sidebar-nav-list > li:nth-child(6) { --sidebar-wave-delay: 0.2s; }
        .sidebar.has-expanded-venue-menu .sidebar-nav-list > li:not(.sidebar-nav-item--venue),
        .sidebar.has-expanded-events-menu .sidebar-nav-list > li:not(.sidebar-nav-item--events) {
            opacity: 0;
            transform: translateY(26px) rotate(-1.5deg);
            max-height: 0;
            margin: 0;
            pointer-events: none;
        }
        .sidebar.has-expanded-venue-menu .sidebar-nav-item--venue,
        .sidebar.has-expanded-events-menu .sidebar-nav-item--events {
            opacity: 1;
            transform: translateY(0);
            max-height: 420px;
            pointer-events: auto;
        }
        .sidebar-nav-list li:nth-child(1) .nav-link { --sidebar-link-delay: 0.08s; }
        .sidebar-nav-list li:nth-child(2) .nav-link { --sidebar-link-delay: 0.16s; }
        .sidebar-nav-list li:nth-child(3) .nav-link { --sidebar-link-delay: 0.24s; }
        .sidebar-nav-list li:nth-child(4) .nav-link { --sidebar-link-delay: 0.32s; }
        .sidebar-nav-list li:nth-child(5) .nav-link { --sidebar-link-delay: 0.4s; }
        .sidebar-nav-list li:nth-child(6) .nav-link { --sidebar-link-delay: 0.48s; }
        .sidebar-overlay {
            position: fixed; top: 0; left: 0; width: 100%; height: 100%;
            background: rgba(0, 0, 0, .5);
            z-index: 1999; opacity: 0; visibility: hidden; transition: 0.6s;
        }
        .sidebar-overlay.active { opacity: 0.8; visibility: visible; }
        .nav-link { 
            position: relative;
            display: block;
            margin-bottom: 30px;
            color: rgba(255, 255, 255, 0.54);
            text-align: right;
            text-decoration: none;
            opacity: 0;
            transform: translate3d(-18px, 18px, 0);
            transition: color 0.25s ease, transform 0.25s ease, opacity 0.25s ease;
            pointer-events: none;
        }
        .sidebar.open .nav-link {
            animation: sidebar-link-enter 0.7s cubic-bezier(0.16, 1, 0.3, 1) forwards;
            animation-delay: var(--sidebar-link-delay, 0s);
            pointer-events: auto;
        }
        .nav-link-button {
            width: 100%;
            padding: 0;
            border: 0;
            background: transparent;
            cursor: pointer;
        }
        .nav-link-label {
            position: relative;
            display: inline-block;
            font-weight: 500;
            letter-spacing: .1175em;
            line-height: 1.875;
            text-transform: uppercase;
            color: rgba(255, 255, 255, 0.54);
        }
        .nav-char {
            color: inherit;
            opacity: 1;
            clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
            transform: translate3d(0, 0, 0);
            
            filter: none;
            will-change: auto;
        
        }
         .sidebar.open .nav-link-label {
            animation: sidebar-text-appear 0.75s cubic-bezier(0.16, 1, 0.3, 1) forwards;
            animation-delay: calc(var(--sidebar-link-delay, 0s) + 0.05s);
        }
        .nav-link:hover {
            color: rgba(255, 255, 255, 0.92);
            transform: translateX(-8px);
        }
         .nav-link:hover .nav-link-label {
            color: rgba(255, 255, 255, 0.92);
        }
        .venue-toggle,
        .events-toggle {
            display: flex;
            align-items: center;
            justify-content: flex-end;
            gap: 12px;
            padding-left: 0;
            text-align: right;
        }
        .venue-toggle-icon,
        .events-toggle-icon {
            position: relative;
            order: -1;
            width: 22px;
            height: 12px;
            flex-shrink: 0;
            background-image: linear-gradient(currentColor, currentColor), linear-gradient(currentColor, currentColor);
            background-repeat: no-repeat;
            background-size: 11px 2px, 6px 2px;
            background-position: 1px 50%, 14px 50%;
            opacity: 0;
            transition: opacity 0.3s ease;
        }
        .venue-toggle-icon::before,
        .events-toggle-icon::before {
            content: '';
            position: absolute;
            top: 50%;
            left: 0;
            width: 8px;
            height: 8px;
            border-left: 2px solid currentColor;
            border-bottom: 2px solid currentColor;
            transform: translateY(-50%) rotate(45deg);
        }
        .sidebar-nav-item--venue.is-expanded .venue-toggle-icon,
        .sidebar-nav-item--events.is-expanded .events-toggle-icon {
            opacity: 1;
        }
        .sidebar.has-expanded-menu .sidebar-nav-item--venue.is-expanded .venue-toggle,
        .sidebar.has-expanded-menu .sidebar-nav-item--events.is-expanded .events-toggle {
            margin-bottom: 14px;
        }
        .venue-submenu,
        .events-submenu {
            max-height: 0;
            overflow: hidden;
            padding-right: 28px;
            opacity: 0;
            transform: translateY(18px);
            transition: max-height 0.45s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.28s ease, margin-top 0.28s ease, transform 0.35s ease;
        }
        .sidebar-nav-item--venue.is-expanded .venue-submenu,
        .sidebar-nav-item--events.is-expanded .events-submenu {
            max-height: 240px;
            margin-top: -6px;
            opacity: 1;
            transform: translateY(0);
        }
        .venue-submenu-link,
        .events-submenu-link {
            display: block;
            width: 100%;
            padding: 10px 0;
            border: 0;
            background: transparent;
            color: rgba(255, 255, 255, 0.54);
            font-size: 11px;
            letter-spacing: 0.24em;
            line-height: 1.5;
            text-align: right;
            text-transform: uppercase;
            transition: color 0.25s ease, transform 0.25s ease, opacity 0.25s ease;
            cursor: pointer;
            text-decoration: none;
        }
        .venue-submenu-link:hover,
        .venue-submenu-link.is-active,
        .events-submenu-link:hover,
        .events-submenu-link.is-active {
            color: rgba(255, 255, 255, 0.92);
            transform: translateX(-8px);
        }
        .venue-submenu-link.is-active {
            opacity: 1;
        }
        @keyframes sidebar-link-enter {
            0% {
                opacity: 0;
                transform: translate3d(-18px, 18px, 0);
            }

            100% {
                opacity: 1;
                transform: translate3d(0, 0, 0);
            }
        }
         @keyframes sidebar-text-appear {
         
            0% {
                 opacity: 0.54;
                clip-path: polygon(0 0, 0 8%, 0 100%, 0 92%);
                transform: translate3d(-10px, 10px, 0);
                filter: blur(6px);
            }
            100% {
                opacity: 0.54;
                clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
                transform: translate3d(0, 0, 0);
                
                filter: blur(0);
            }
        }
        .dot-navigation { position: fixed; left: 40px; top: 50%; transform: translateY(-50%); z-index: 800; display: flex; flex-direction: column; gap: 20px; transition: 0.5s; }
        .dot { width: 6px; height: 6px; border: 1px solid white; border-radius: 50%; cursor: pointer; transition: 0.3s; }
        .dot.active { background: white; transform: scale(1.8); }

        .vertical-scroll-icon {
            bottom: 36px;
            left: 50%;
            display: flex;
            align-items: flex-start;
            justify-content: center;
            height: 80px;
            opacity: 1;
            pointer-events: none;
            position: absolute;
            transform: translateX(-50%);
            transition: opacity 1s;
            width: 4px;
            z-index: 5;
        }

        .vertical-scroll-track,
        .vertical-scroll-fall {
            position: absolute;
            top: 0;
            left: 50%;
            width: 2px;
            transform: translateX(-50%);
            border-radius: 999px;
        }

        .vertical-scroll-track {
            height: 80px;
            background: rgba(255, 255, 255, 0.22);
        }

        .vertical-scroll-fall {
            height: 40px;
            background: #ffffff82;
            box-shadow: 0 0 12px rgba(255, 255, 255, 0.2);
            animation: vertical-scroll-fall 1.15s cubic-bezier(0.37, 0, 0.2, 1) infinite;
        }

        @keyframes vertical-scroll-fall {
            0% {
                opacity: 0;
                transform: translateX(-50%) translateY(-4px);
            }

            18% {
                opacity: 1;
            }

            78% {
                opacity: 1;
            }

            100% {
                opacity: 0;
                transform: translateX(-50%) translateY(54px);
            }
        }

        /* VIDEO BANNER SCROLL ICON */
        .video-banner-scroll-icon {
            bottom: 36px;
            left: 50%;
            display: flex;
            align-items: flex-start;
            justify-content: center;
            height: 80px;
            opacity: 1;
            visibility: visible;
            pointer-events: none;
            position: absolute;
            transform: translateX(-50%);
            transition: opacity 3s ease, visibility 3s ease;
            width: 4px;
            z-index: 5;
        }

        /* Hidden state for scroll icon */
        .video-banner-scroll-icon.is-hidden {
            opacity: 0 !important;
            visibility: hidden !important;
        }

        .video-banner-scroll-track,
        .video-banner-scroll-fall {
            position: absolute;
            top: 0;
            left: 50%;
            width: 2px;
            transform: translateX(-50%);
            border-radius: 999px;
        }

        .video-banner-scroll-track {
            height: 80px;
            background: rgba(255, 255, 255, 0.22);
        }

        .video-banner-scroll-fall {
            height: 40px;
            background: #ffffff82;
            box-shadow: 0 0 12px rgba(255, 255, 255, 0.2);
            animation: video-banner-scroll-fall 1.15s cubic-bezier(0.37, 0, 0.2, 1) infinite;
        }

        @keyframes video-banner-scroll-fall {
            0% {
                opacity: 0;
                transform: translateX(-50%) translateY(-4px);
            }

            18% {
                opacity: 1;
            }

            78% {
                opacity: 1;
            }

            100% {
                opacity: 0;
                transform: translateX(-50%) translateY(54px);
            }
        }

        /*.slide { height: 100vh; scroll-snap-align: start; display: flex; align-items: flex-end; padding: 0 0 100px 120px; background-size: cover; background-position: center; }
        */
        .slide-1,
        .slide-2,
        .slide-3 {
            background-size: cover;
            background-position: center;
            background-repeat: no-repeat;
        }
        .slide-1 { background-image: linear-gradient(to top, rgba(0,0,0,0.6), transparent), url('../img/thumbnail-1.jpg'); }
        .slide-2 { background-image: linear-gradient(to top, rgba(0,0,0,0.6), transparent), url('../img/thumbnail-2.jpg'); }
        .slide-3 { background-image: linear-gradient(to top, rgba(0,0,0,0.6), transparent), url('../img/thumbnail-3.jpg'); }
        .slide-4 { background-image: linear-gradient(to top, rgba(0,0,0,0.6), transparent), url('../img/thumbnail-4.jpg'); }
        .slide h2, .slide h1  { 
            font-size: 7rem!important;
            letter-spacing: .22em;
            line-height: .8!important;
            text-transform: uppercase;
            font-weight: 300!important;
            /* margin-bottom: var(--heading-spacer)!important; */
            color: var(--rr-white);
            border: 0;
            font: inherit;
            margin: 0;
            padding: 0;
            vertical-align: baseline;
            animation-delay: 200ms;
            animation: fadeInUpAnimation .4s ease-out;
            animation-fill-mode: both;
        }

        .normal-content { padding: 120px 80px; }
        .page-content-before-footer { padding: 80px 40px; }
        .page-content-before-footer-inner { max-width: 900px; margin: 0 auto; }
        .standard-page-header { padding: 180px 40px 40px; }
        .standard-page-header-inner { max-width: 900px; margin: 0 auto; }
        .standard-page-title { margin-bottom: 24px; }
        .section-intro { text-align: center; }
        .section-eyebrow,
        .contact-eyebrow { letter-spacing: 5px; font-size: 10px; color: #666; }
        .section-eyebrow { letter-spacing: 8px; margin-bottom: 15px; }
        .section-title,
        .social-title { font-family: var(--font-family-one); }
        .section-title { font-size: 40px; }
        .services-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 60px; margin-top: 80px; }
        .service-card { border-top: 1px solid var(--rr-border); padding-top: 30px; }
        .service-copy { color: #888; font-size: 14px; }
        .reels-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin-top: 60px; }
        .reel { aspect-ratio: 9/16; background: #111; overflow: hidden; border: 1px solid var(--rr-border); }
        .reel img { width: 100%; height: 100%; object-fit: cover; opacity: 0.6; }

        footer { padding: 100px; text-align: center; border-top: 1px solid var(--rr-border); }
        .footer-logo { font-family: 'Playfair Display', serif; font-size: 60px; opacity: 0.05; letter-spacing: 20px; }

        @media (max-width: 768px) {

            #logo-main { opacity: 0; transform: scale(0.9);  display: none;    }
            #logo-sticky { opacity: 1; transform: scale(1); }

            :root { --sidebar-width: 100%; }
            .slide { padding-left: 40px; }
            .services-grid, .reels-grid { grid-template-columns: 1fr; }
        }
        /* Video Slide Specific Styles */
.slide-video {
    position: relative;
    overflow: hidden;
    background: #000; /* Fallback */
}

.video-loader {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 3;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 72px;
    height: 72px;
    transform: translate(-50%, -50%);
    pointer-events: none;
    transition: opacity 0.35s ease, visibility 0.35s ease;
    opacity: 0.95;
}

.video-loader::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 1;
    width: 28px;
    height: 28px;
    transform: translate(-50%, -50%);
    background-image: url('../img/overlay-img-x.png');
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}

.video-loader-spinner {
    position: relative;
    z-index: 2;
    width: 46px;
    height: 46px;
    overflow: visible;
    transform: rotate(-32deg);
    animation: rr-loader-rotate 2s cubic-bezier(0.475, 0.105, 0.5, 0.905) infinite;
}

.video-loader-ring {
    fill: none;
    stroke: var(--primary-cream) !important;
    stroke-width: 3;
    stroke-linecap: square;
    stroke-linejoin: round;
    stroke-dasharray: 52 10 52 12;
    stroke-dashoffset: 118;
    transform-origin: center;
    animation: rr-loader-dash 2s cubic-bezier(0.475, 0.105, 0.5, 0.905) infinite;
}

.slide-video.is-video-loaded .video-loader {
    opacity: 0;
    visibility: hidden;
}

.hero-video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover; /* Ensures video fills the screen like a background */
    z-index: -1; /* Puts video behind the text */
}

/* Gradient Overlay for the Video (RR signature look) */
.slide-video::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to top, rgba(0,0,0,0.7) 0%, rgba(0,0,0,0.2) 50%, transparent 100%);
    z-index: 0;
}

/* Ensure content stays above the video overlay */
.slide-video .slide-content {
    z-index: 4;
}
/* Base Slide Setup */
/* Centering Logic */
.slide {
    height: 100vh;
    width: 100%;
    display: flex;
    align-items: center;      /* Vertical center */
    justify-content: center;   /* Horizontal center */
    text-align: center;
    padding: 0;                /* Removed left padding */
    position: relative;
    overflow: hidden;
}

.slide-content.centered {
    z-index: 10;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
}

.subtitle {
    letter-spacing: 2.5px;
    line-height: 30px;
    font-size: 20px;
    color:  rgb(255, 255, 255);
    font-weight: 400;
    text-transform: uppercase;
    margin-inline: 0px;
}

.hero-eyebrow {
    letter-spacing: 5px;
    font-size: 10px;
    margin-bottom: 10px;
    color: #ccc;
}

/* BANNER CTA BUTTON */
.banner-cta {
    margin-top: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
    color: #151515;
    background: #ffffff;
    text-decoration: none;
    font-size: 10px;
    letter-spacing: 4px;
    transition: background-color 0.3s ease, color 0.3s ease;
    border-radius: 30px;
    min-height: 46px;
    padding: 0 16px;
    text-align: center;
    width: 276px;
    border: none;
    font-weight: 400;
    overflow: hidden;
}

.banner-cta .txt{
    display: inline-block;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 2px;
    line-height: 24px;
    line-height: 24px;
    position: relative;
    text-transform: uppercase;
    transition: transform 0.3s ease;
    text-align: center;
}

.banner-cta .button-arrow,
.banner-cta .rrmc-button-arrow {
    position: absolute;
    top: 50%;
    right: 44px;
    opacity: 0;
    transform: translateY(-50%) translateX(-6px);
    transition: opacity 0.3s ease, transform 0.3s ease;
}

.banner-cta .button-arrow,
.banner-cta .rrmc-button-arrow,
.rrmc-button--primary .rrmc-cta-i {
    background-size: 14px 14px;
    display: inline-block;
    height: 14px;
    width: 14px;
}


.banner-cta:hover .button-arrow,
.banner-cta:hover .rrmc-button-arrow {
    opacity: 1;
    transform: translateY(-50%) translateX(0);
}

.banner-cta:hover .txt {
    transform: translateX(-4px);
}




/* Video Styling */
.hero-video {
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 100%; 
    min-height: 100%;
    width: auto;
    height: auto;
    z-index: 1; /* Move to 1 */
    transform: translate(-50%, -50%); /* Perfectly centers the video */
    object-fit: cover;
}

/* Cinematic Gradient Overlay */
.slide::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to top, rgba(0,0,0,0.8) 0%, transparent 60%);
    z-index: 2; /* Sits above video */
    pointer-events: none;
}

/* Content on Top */
.slide-content {
    position: relative;
    z-index: 4; /* Sits above everything */
}

@keyframes rr-video-spin {
    from {
        transform: rotate(0deg);
    }

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

@keyframes rr-loader-rotate {
    0% {
        transform: rotate(0deg);
    }

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

@keyframes rr-loader-dash {
    0% {
        stroke-dasharray: 26 18 26 56;
        stroke-dashoffset: 126;
    }

    50% {
        stroke-dasharray: 52 10 52 12;
        stroke-dashoffset: 72;
    }

    100% {
        stroke-dasharray: 34 14 34 44;
        stroke-dashoffset: 126;
    }
}

/* SLIDE CONTENT FADE-IN ANIMATIONS */
@keyframes slideContentFadeIn {
    0% {
        opacity: 0;
        transform: translateY(20px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

.slide-content > .subtitle,
.slide-content > .hero-eyebrow,
.slide-content > h1,
.slide-content > h2,
.slide-content > .banner-cta {
    opacity: 0;
}

.slide-content.animated > .subtitle,
.slide-content.animated > .hero-eyebrow {
    animation: slideContentFadeIn 0.6s ease-out forwards;
    animation-delay: 0s;
}

.slide-content.animated > h1,
.slide-content.animated > h2 {
    animation: slideContentFadeIn 0.6s ease-out forwards;
    animation-delay: 0.2s;
}

.slide-content.animated > .banner-cta {
    animation: slideContentFadeIn 0.6s ease-out forwards;
    animation-delay: 0.4s;
}

/* HAMBURGER ICON */
.menu-wrapper {
    display: flex;
    align-items: center;
    gap: 12px;
    cursor: pointer;
    z-index: 1001;
}

.hamburger {
    width: 20px;
    height: 12px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.hamburger span {
    display: block;
    position: relative;
    width: 100%;
    height: 1px;
    background-color: var(--rr-white);
    transition: 0.3s ease;
}

.hamburger span:first-child {
    background-color: transparent;
}

.hamburger span:first-child::before,
.hamburger span:first-child::after {
    content: '';
    position: absolute;
    top: 0;
    height: 1px;
    background-color: var(--rr-white);
}

.hamburger span:first-child::before {
    left: 0;
    width: 60%;
}

.hamburger span:first-child::after {
    right: 0;
    width: 30%;
}

.menu-text {
    font-size: 14px;
    letter-spacing: 2px;
    text-transform: uppercase;
    font-weight: 300;
}

.sticky-menu-text {
    display: none;
    font-size: 14px;
    letter-spacing: 2px;
    text-transform: uppercase;
    font-weight: 300;
    color: inherit;
    font-family: inherit;
    line-height: 1;
    white-space: nowrap;
}

nav.has-sticky-menu-swap.sticky .menu-text {
    display: none;
}

nav.has-sticky-menu-swap.sticky .sticky-menu-text {
    display: block;
}

/* ACTIVE ENQUIRE BUTTON */
.enquire-btn {
    color: inherit;
    text-decoration: none;
    font-size: 14px;
    letter-spacing: 2px;
    text-align: right;
    cursor: pointer;
    text-transform: uppercase;
    padding: 10px 20px;
    /* border: 1px solid rgba(255,255,255,0.3);
    border-radius: 2px; */
    transition: all 0.4s ease;
    justify-self: end;
}

.enquire-btn:hover {
    /* background: var(--rr-white);
    color: var(--rr-black);
    border-color: var(--rr-white); */
}

/* STICKY NAV ADJUSTMENT */
nav.sticky .enquire-btn {
    /* border-color: rgba(255,255,255,0.1);
    background: rgba(255,255,255,0.05); */
}

/* SIDEBAR OPEN STATE FOR HAMBURGER */
.sidebar.open ~ nav .hamburger span:nth-child(1) {
    transform: translateY(5.5px) rotate(45deg);
}
.sidebar.open ~ nav .hamburger span:nth-child(2) {
    opacity: 0;
}
.sidebar.open ~ nav .hamburger span:nth-child(3) {
    transform: translateY(-5.5px) rotate(-45deg);
}

/* ENQUIRY SECTION LAYOUT */
.enquiry-section {
    
    border-top: 1px solid var(--rr-border);
   /* padding: 310px 80px !important;*/
        padding: 150px 40px 150px !important;    
}
/*
.enquiry-selector-section {
    background:
        radial-gradient(circle at top, rgba(255, 255, 255, 0.08), transparent 32%),
        linear-gradient(180deg, rgba(5, 5, 5, 0.08), rgba(5, 5, 5, 0));
}
*/
.enquiry-selector-shell {
    max-width: 980px;
    margin: 0 auto;
    padding: 54px 40px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}
 .enquiry-section
 {
    background: var(--primary-dark);
 }
.enquiry-selector-eyebrow {
    color: var(--text-dark) !important;
    letter-spacing: 0.36em;
    text-transform: uppercase;
}

.enquiry-selector-title {
    color: var(--primary-navy) !important;
    margin-bottom: 18px;
    max-width: 900px;
}

#enquiry-selector-description {
    max-width: 760px;
    margin: 0 0 28px;
    color: var(--text-light) !important;
    font-size: clamp(16px, 1.2vw, 19px);
    font-weight: 300;
    line-height: 1.75;
    letter-spacing: 0.02em;
}

.enquiry-selector-divider {
    background: rgba(21, 38, 77, 0.25);
    margin-bottom: 30px;
}

.enquiry-selector-actions {
    display: flex;
    justify-content: center;
    gap: 18px;
    flex-wrap: wrap;
    width: 100%;
}

.enquiry-choice-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    width: 276px;
    padding: 0 16px;
    border-radius: 30px;
    border: none;
    background: #ffffff;
    color: #151515;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 4px;
    font-size: 10px;
    font-weight: 400;
    text-align: center;
    transition: background-color 0.3s ease, color 0.3s ease, transform 0.3s ease;
}

.enquiry-choice-btn:hover {
    transform: translateY(-2px);
    background-color: #fbfbfb;
    color: #151515;
}

.enquiry-grid {
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    gap: 100px;
    max-width: 1400px;
    margin: 0 auto;
}

.enquiry-title {
    font-family: var(--font-family-one);
    font-size: clamp(32px, 4vw, 42px);
    font-weight: 300;
    line-height: 1.2;
    margin-bottom: 40px;
    text-transform: uppercase;
}

.contact-details p {
    font-size: 13px;
    letter-spacing: 1px;
    color: #888;
    margin-bottom: 10px;
    font-weight: 300;
}

.contact-eyebrow {
    margin-bottom: 20px;
}
.contact-us-detail-value a{
    color: var(--text-light) !important;
}
select option{
    background-color: var(--primary-dark);
}
/* FORM STYLING */
.bespoke-form .form-row {
    margin-bottom: 30px;
    display: flex;
    gap: 20px;
}

.bespoke-form input, 
.bespoke-form select, 
.bespoke-form textarea {
    width: 100%;
    background: transparent;
    border: none;
    border-bottom: 1px solid var(--rr-border);
    color: #fff;
    padding: 15px 0;
    font-family: var(--font-family-one);
    font-size: 14px;
    outline: none;
    transition: border-color 0.4s;
}

.bespoke-form input:focus, 
.bespoke-form textarea:focus {
    border-color: #fff;
}

.cta-submit {
    margin-top: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    width: 276px;
    padding: 0 16px;
    border-radius: 30px;
    border: none;
    background-color: var(--primary-navy); /* Your Midnight Navy */
    color: var(--primary-cream);           /* Your Cream text */
    font-size: 10px;
    letter-spacing: 4px;
    font-weight: 400;
    text-transform: uppercase;
    text-align: center;
    cursor: pointer;
    transition: background-color 0.3s ease, color 0.3s ease;
}

.cta-submit:hover {
    background-color: #122347;
    color: var(--primary-cream);
}

.subpage-body {
    background:
        radial-gradient(circle at top, rgba(245, 214, 159, 0.07), transparent 26%),
        linear-gradient(180deg, #151515 0%, #191919 100%);
}

.subpage-body .page-content {
    min-height: calc(100vh - 360px);
}

.enquiry-form-page {
    background-color: var(--primary-dark) !important;
    padding: 150px 40px 150px !important;
}

.enquiry-form-shell {
    max-width: 1180px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(280px, 0.85fr) minmax(420px, 1.15fr);
    gap: 56px;
    align-items: start;
}

.enquiry-form-shell--centered {
    max-width: 760px;
    grid-template-columns: 1fr;
    justify-items: center;
    gap: 34px;
}

.enquiry-form-intro {
    padding-top: 12px;
}

.enquiry-form-intro p {
    max-width: 420px;
    line-height: 1.8;
}

.enquiry-form-intro--centered {
    padding-top: 0;
    text-align: center;
}

.enquiry-form-page .contact-eyebrow,
.enquiry-form-page .enquiry-title,
.enquiry-form-page .enquiry-form-intro p {
    color: var(--text-light) !important;
}

.enquiry-form-page .enquiry-form-intro .enquiry-title {
    color: var(--text-light) !important;
    font-family: var(--font-family-one);
}

.enquiry-form-intro--centered p {
    max-width: 620px;
    margin: 0 auto;
    color: rgba(255, 255, 255, 0.72) !important;
}

.enquiry-form-feedback {
    margin-top: 18px !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 16px;
    border: 1px solid rgba(127, 255, 190, 0.38);
    background: rgba(127, 255, 190, 0.12);
    color: #d7ffe7 !important;
    border-radius: 999px;
    font-size: 13px;
    line-height: 1.7;
}

.enquiry-form-feedback--error {
    border-color: rgba(255, 133, 133, 0.3);
    background: rgba(255, 133, 133, 0.12);
    color: #ffd0d0 !important;
}

.zora-honeypot-field {
    position: absolute !important;
    left: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}

.enquiry-form-card {
    width: 100%;
    padding: 42px 40px;
    border: none;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.bespoke-form--stacked .form-row {
    display: block;
    margin-bottom: 22px;
}

.bespoke-form--stacked input,
.bespoke-form--stacked select,
.bespoke-form--stacked textarea {
    padding: 18px 0;
    font-size: 13px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.bespoke-form--stacked .enquiry-type-selector {
    display: flex;
    flex-wrap: wrap;
    gap: 14px 24px;
    border: 0;
    padding: 0;
}

.enquiry-type-selector legend {
    width: 100%;
    margin-bottom: 2px;
    color: rgba(255, 255, 255, 0.58);
    font-size: 13px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.enquiry-type-selector label {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--text-light);
    font-size: 13px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    cursor: pointer;
}

.enquiry-form-page .bespoke-form .enquiry-type-selector input[type="radio"] {
    width: 16px;
    height: 16px;
    margin: 0;
    padding: 0;
    accent-color: #ffffff;
    border-bottom: 0 !important;
}

.enquiry-form-page .bespoke-form input,
.enquiry-form-page .bespoke-form select,
.enquiry-form-page .bespoke-form textarea {
    border-bottom: 1px solid rgba(255, 255, 255, 0.28) !important;
    color: var(--text-light) !important;
}

.enquiry-form-page .bespoke-form input::placeholder,
.enquiry-form-page .bespoke-form textarea::placeholder {
    color: rgba(255, 255, 255, 0.58) !important;
}

.enquiry-form-page .bespoke-form input:focus,
.enquiry-form-page .bespoke-form select:focus,
.enquiry-form-page .bespoke-form textarea:focus {
    border-bottom-color: rgba(255, 255, 255, 0.9) !important;
}

.enquiry-form-page .bespoke-form .is-invalid {
    border-bottom-color: #f2b8b5 !important;
}

.field-error {
    margin-top: 10px;
    color: #f2b8b5;
    font-size: 11px;
    letter-spacing: 0.08em;
    text-transform: none;
}

.enquiry-form-page .cta-submit {
    background: #ffffff;
    color: #151515;
}

.enquiry-form-page .cta-submit:hover {
    background-color: #fbfbfb;
    color: #151515;
}

.bespoke-form--stacked input[type="date"] {
    min-height: 56px;
}

.bespoke-form--stacked textarea {
    resize: vertical;
    min-height: 140px;
}

.about-page {
    padding: 150px 40px 0px;
    background: #fff;
}

.about-page-shell {
    max-width: 1180px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 56px;
    text-align: center;
}

.about-page-copy {
    color: #2a2a2a;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.about-page-eyebrow {
    margin-bottom: 18px;
    color: rgba(42, 42, 42, 0.72);
    font-size: 11px;
    font-weight: 300;
    letter-spacing: 0.34em;
    text-transform: uppercase;
}

.about-page-title {
    max-width: 940px;
    font-family: var(--font-family-one);
    font-size: clamp(28px, 4.6vw, 22px);
    font-weight: 300;
    line-height: 1.14;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #1f1f1f;
}

.about-page-divider {
    width: 52px;
    height: 1px;
    margin: 28px 0 30px;
    background: rgba(42, 42, 42, 0.22);
}

.about-page-text,
.about-page-content p {
    max-width: 657px;
    margin-bottom: 22px;
    color: rgba(42, 42, 42, 0.86);
    font-size: 14px;
    font-weight: 300;
    line-height: 28px;
    letter-spacing: 0.5px;
    text-align: center;
    margin: 0 auto;

}

.about-page-copy-divider {
    width: min(150px, 60vw);
    height: 1px;
    margin: 32px 0 32px;
    background: rgba(42, 42, 42, 0.22);
}

.about-page .about-page-cta {
    margin-top: 18px;
    background: var(--primary-navy) !important;
    color: #ffffff !important;
    margin-bottom:80px;
}

.about-page .about-page-cta:hover {
    background: #122347 !important;
    color: #ffffff !important;
}

.about-page-visual {
    position: relative;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}

.venue-page-body .about-page-visual {
    width: min(100%, calc(100vw - clamp(40px, 12vw, 250px)));
    max-width: 1320px;
    margin-left: auto;
    margin-right: auto;
}

.venue-scroll-media {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    /*padding: 12px 0 24px;*/
    padding: 0px 0 0px;
    background: var(--primary-dark);
}
.venue-scroll-media .contact-eyebrow{
    color: var(--rr-white)!important;
}
.venue-scroll-media-intro {
    min-height: 300px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 12px 0 28px;
}

.venue-scroll-media-copy {
    width: min(100%, calc(100vw - clamp(32px, 8vw, 160px)));
    max-width: 1320px;
    margin: 0 auto;
    text-align: center;
}
.venue-scroll-media-copy blockquote{
    color: var(--rr-white);
}

.venue-scroll-media-eyebrow {
    margin: 0 0 12px;
    color: rgba(42, 42, 42, 0.7);
    font-size: 11px;
    font-weight: 300;
    letter-spacing: 0.34em;
    text-transform: uppercase;
}

.venue-scroll-media-title {
      font-size: 40px;
    line-height: 55px;
    letter-spacing: 0.75px;
    -webkit-font-smoothing: antialiased;
    font-weight: 400;
    font-family: 'Riviera Nights';
    text-transform: uppercase;
}
.venue-scroll-media-copy h2 span{
    color: var(--primary-light) !important;
}
.venue-scroll-media-copy p {
    color: var(--primary-light);
}
.venue-scroll-media-stage {
    --venue-scroll-base-width: min(1350px, calc(100vw - clamp(32px, 8vw, 160px)));
    --venue-scroll-base-height: calc(var(--venue-scroll-base-width) * 650 / 1350);
    --venue-scroll-current-width: var(--venue-scroll-base-width);
    --venue-scroll-current-height: var(--venue-scroll-base-height);
    width: 100%;
    position: sticky;
    position: -webkit-sticky;
    top: 0;
    height: 100vh;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    z-index: 0;
    overflow: hidden;
}

.venue-scroll-media-backdrop {
    position: absolute;
    left: 0;
    right: 0;
    top: clamp(340px, 40vw, 300px);
    width: 100vw;
    z-index: -1;
}

.venue-scroll-media-backdrop-image {
    width: 100%;
    height: min(54vw, 660px);
    object-fit: cover;
    display: block;
}

.venue-scroll-media-frame {
    width: var(--venue-scroll-current-width);
    max-width: 100vw;
    margin: 0 auto;
    overflow: hidden;
    background: rgba(0, 0, 0, 0.04);
    transition: width 0.14s linear;
    position: relative;
    z-index: 1;
}

.venue-scroll-media-image {
    width: 100%;
    height: var(--venue-scroll-current-height);
    min-height: 0;
    object-fit: cover;
    display: block;
}

.venue-story-copy {
    min-height: 300px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 14px;
    width: min(100%, calc(100vw - clamp(32px, 8vw, 160px)));
    max-width: 1100px;
    margin: 0 auto;
    padding: 12px 20px 28px;
    text-align: center;
}

.venue-story-eyebrow {
    margin: 0;
    color: rgba(42, 42, 42, 0.7);
    font-size: 11px;
    font-weight: 300;
    letter-spacing: 0.34em;
    text-transform: uppercase;
}

.venue-story-title {
    margin: 0;
    color: #1f1f1f;
    font-size: clamp(30px, 3.4vw, 52px);
    font-weight: 300;
    line-height: 1.18;
}

.venue-destination-hero {
    position: relative;
    width: 100vw;
    min-height: 100vh;
    /* margin-top: 24px; */
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    overflow: hidden;
    height: 900px;
}

.venue-destination-hero-image,
.venue-destination-hero-overlay {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.venue-destination-hero-image {
    object-fit: cover;
}

.venue-destination-hero-overlay {
    background:
        linear-gradient(180deg, rgba(0, 0, 0, 0.08) 0%, rgba(0, 0, 0, 0.28) 100%),
        linear-gradient(90deg, rgba(0, 0, 0, 0.08) 0%, rgba(0, 0, 0, 0.2) 100%);
}

/* .venue-destination-hero-copy {
    position: relative;
    z-index: 1;
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    width: min(90vw, 880px);
    margin: 0 auto;
    text-align: center;
} */


.venue-destination-hero-copy {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 3;
    width: min(90vw, 880px);
    text-align: center;     
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}


.venue-destination-hero-copy h2{
    font-size: 28px;
}

.venue-destination-hero-copy-stack {
    flex-direction: column;
    gap: 10px;
    color: #ffffff;
}

.venue-destination-hero-copy-stack h2,
.venue-destination-hero-copy-stack p {
    margin: 0;
}

.venue-destination-hero-copy-stack p {
    font-size: 16px;
    line-height: 1.5;
    text-shadow: 0 2px 18px rgba(0, 0, 0, 0.28);
}

.venue-destination-hero-title {
    margin: 0;
    color: #ffffff;
    font-size: clamp(30px, 3vw, 43px);
    font-weight: 200;
    line-height: 1.45;
    letter-spacing: 0.04em;
    text-shadow: 0 2px 28px rgba(0, 0, 0, 0.28);
}

.venue-destination-hero-title span {
    display: block;
}

.venue-inset-visual {
    width: min(100%, calc(100vw - clamp(40px, 20vw, 286px)));
    max-width: 1104px;
    margin: 0 auto;
    padding: 88px 0 120px;
}

.venue-inset-visual-frame {
    overflow: hidden;
    background: rgba(0, 0, 0, 0.04);
}

.venue-inset-visual-image {
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    display: block;
}

.venue-statement {
    width: 100vw;
    min-height: 346px;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    padding: 90px 24px 110px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #ffffff;
    text-align: center;
}

.venue-statement-title {
    margin: 0;
    color: #1f1f1f;
    font-size: clamp(34px, 3.4vw, 44px);
    font-weight: 500;
    line-height: 1.25;
    letter-spacing: 0.01em;
    text-transform: uppercase;
}

.venue-statement-title span {
    display: block;
}

.venue-layered-visual {
    position: relative;
    width: 100vw;
    min-height: 960px;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    padding: 48px 0 110px;
    background: #ffffff;
    overflow: hidden;
}

.venue-layered-visual-back {
    width: 72vw;
    height: 650px;
    margin-left: 0;
    overflow: hidden;
}

.venue-layered-visual-front {
    position: absolute;
    right: 0;
    bottom: 80px;
    width: 75vw;
    height: 660px;
    overflow: hidden;
    background: #f6f6f6;
}

.venue-layered-visual-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.venue-expression-cta {
    width: 100vw;
    min-height: 500px;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    padding: 0px 24px 0px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: #ffffff;
    text-align: center;
}

.venue-expression-cta-title {
    max-width: 680px;
    margin: 0;
    color: #1f1f1f;
    font-size: clamp(34px, 3.3vw, 44px);
    font-weight: 200;
    line-height: 1.25;
    letter-spacing: 0.01em;
    -webkit-font-smoothing: antialiased;
}

.venue-expression-cta-title span {
    display: block;
}

.venue-expression-cta-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    margin-top: 43px;
}

.venue-expression-cta-button {
    position: relative;
    width: 276px;
    min-height: 48px;
    background: transparent;
    color: #1f1f1f;
    border: 1px solid #1f1f1f;
    overflow: hidden;
}

/* Animated border layer */
.venue-expression-cta-button::before {
    content: "";
    position: absolute;
    inset: 0;
    border: 1px solid #1f1f1f;

    /* Start hidden */
    clip-path: polygon(0 50%, 0 50%, 0 50%, 0 50%);
    pointer-events: none;
}

/* Hide original border on hover */
.venue-expression-cta-button:hover {
    border-color: transparent;
}

/* Animate + KEEP final state */
.venue-expression-cta-button:hover::before {
    animation: drawBorder 0.6s linear forwards;
}

@keyframes drawBorder {
    0% {
        clip-path: polygon(0 50%, 0 50%, 0 50%, 0 50%);
    }
    25% {
        clip-path: polygon(0 50%, 100% 0, 100% 0, 0 50%);
    }
    50% {
        clip-path: polygon(0 50%, 100% 0, 100% 100%, 0 50%);
    }
    75% {
        clip-path: polygon(0 50%, 100% 0, 100% 100%, 0 100%);
    }
    100% {
        clip-path: polygon(0 0%, 100% 0%, 100% 100%, 0 100%);
    }
}



.about-page-image-frame {
    position: relative;
    overflow: hidden;
    width: 100%;
    max-width: 100%;
    min-height: min(64vw, 720px);
    border-radius: 0;
    /* background: rgba(0, 0, 0, 0.03); */
    box-shadow: none;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    align-items: center; 
}

.about-page-image-frame::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 1;
    /* background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.02), rgba(0, 0, 0, 0.16)),
        radial-gradient(circle at top left, rgba(255, 255, 255, 0.18), transparent 35%); */
}

.about-page-image {
    width: 100%;
    height: 100%;
    min-height: min(64vw, 720px);
    object-fit: cover;
    display: block;
}

.about-page-video-frame {
    width: min(100%, 1104px);
    max-width: 1104px;
    aspect-ratio: 1104 / 621;
    min-height: 0;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.about-page-video-frame .about-page-image {
    height: 100%;
    min-height: 0;
}

.about-page-note {
    width: min(100%, 857px);
    margin: 0 auto;
    padding: 89px 0 80px;
    text-align: center;
}





.about-page-quote {
    width: 100%;
    margin: 0;
    color: #1f1f1f;
    font-size: 29px;
    font-weight: 400;
    line-height: 1.35;
    letter-spacing: 0.01em;
    text-transform: uppercase;
}

.about-page-credit {
    width: 100%;
    margin: 11px 0 18px;
    color: rgba(31, 31, 31, 0.8);
    font-size: 13px;
    font-weight: 400;
    letter-spacing: 0.06em;
    text-align: right;
}

.about-page-note-text {
    max-width: 860px;
    margin: 18px auto 0;
    color: rgba(42, 42, 42, 0.82);
    font-size: clamp(16px, 1.2vw, 19px);
    font-weight: 300;
    line-height: 1.85;
    letter-spacing: 0.02em;
}

/* RESPONSIVE */
@media (max-width: 1024px) {
    .enquiry-grid {
        grid-template-columns: 1fr;
        gap: 60px;
    }
    .enquiry-section {
        padding: 60px 10px !important;
    }

    .enquiry-form-shell {
        grid-template-columns: 1fr;
    }

    .about-page-shell {
        gap: 55px;
    }

    /* .venue-scroll-media-copy {
        margin-bottom: 28px;
    } */

    .venue-scroll-media-intro,
    .venue-story-copy {
        min-height: 240px;
    }

    .venue-scroll-media-backdrop {
        top: clamp(300px, 46vw, 420px);
    }

    .venue-inset-visual {
        width: min(100%, calc(100vw - 80px));
    }

}
/* FOOTER LOGO IMAGE STYLING */
footer {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
    min-height: 360px;
    padding: 28px 40px 24px;
}

.footer-container {
    max-width: 1400px;
    margin: 0 auto;
}

.footer-brand-row {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 74px;
}

.footer-logo-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
}

.footer-logo-img {
    width: 170px;
    max-width: 42vw;
    height: auto;
    opacity: 0.92;
    filter: brightness(0) invert(1);
}

.footer-divider {
    width: 100%;
    height: 1px;
    background: rgba(255, 255, 255, 0.1);
}

.footer-main {
    display: block;
    padding: 28px 0 34px;
}

.footer-links-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 28px 56px;
    align-items: start;
}

.footer-links-column {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.footer-widget {
    min-width: 0;
}

.footer-widget ul,
.footer-widget ol {
    display: flex;
    flex-direction: column;
    gap: 16px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.footer-widget .menu,
.footer-widget .widget_nav_menu,
.footer-widget .wp-widget-group__inner-blocks {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.footer-social-column {
    align-items: flex-end;
    justify-content: flex-start;
}

.footer-link {
    color: rgba(255, 255, 255, 0.88);
    text-decoration: none;
    font-size: 11px;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    transition: color 0.25s ease, opacity 0.25s ease;
}

.footer-link:hover {
    color: var(--primary-cream);
}

.footer-widget a {
    color: rgba(255, 255, 255, 0.88);
    text-decoration: none;
    font-size: 11px;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    transition: color 0.25s ease, opacity 0.25s ease;
}

.footer-widget a:hover {
    color: var(--primary-cream);
}

.social-icons {
    display: flex;
    align-items: center;
    gap: 18px;
    position: relative;
    z-index: 2;
    justify-content: flex-end;
    flex-wrap: wrap;
}

.social-icons a {
    color: rgba(255, 255, 255, 0.42);
    font-size: 20px;
    transition: color 0.25s ease, transform 0.25s ease;
}

.social-icons a:hover {
    color: rgba(255, 255, 255, 0.9);
    transform: translateY(-1px);
}

.footer-social-column .textwidget,
.footer-social-column .widget_block {
    width: 100%;
}

.footer-copy .footer-copyright-widget,
.footer-copy .textwidget,
.footer-copy .widget_block,
.footer-copy p {
    margin: 0;
}

.footer-copy .textwidget,
.footer-copy .widget_block,
.footer-copy p {
    color: rgba(255, 255, 255, 0.62);
    font-size: 11px;
    letter-spacing: 0.22em;
    text-transform: uppercase;
}
/* SOCIAL SECTION SPECIFIC */
.social-section {
    background-color: var(--primary-dark) !important;
    padding: 120px 80px !important;
}

.social-header,
.social-cta-wrap {
    text-align: center;
}

.social-header {
    margin-bottom: 60px;
}

.social-subtitle {
    color: var(--text-light)!important;
    margin-bottom: 15px;
    font-family: var(--font-family-one);
}

.social-title {
    font-size: 14px;
    color: var(--text-light)!important;
    letter-spacing: 0.5px;
    line-height: 28px;
    text-transform: uppercase;
    font-weight: 300;
    font-family: var(--font-family-one);
}

.social-divider {
    width: 40px;
    height: 1px;
    background: var(--primary-navy);
    margin: 30px auto;
    opacity: 0.3;
}

.social-cta-wrap {
    margin-top: 60px;
}

.instagram-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    width: 276px;
    padding: 0 16px;
    border-radius: 30px;
    background: #ffffff;
    color: #151515;
    
    text-decoration: none;
    font-size: 10px;
    letter-spacing: 4px;
    font-weight: 400;
    text-transform: uppercase;
    text-align: center;
    transition: background-color 0.3s ease, color 0.3s ease;
    border: none;
}

.instagram-cta:hover {
    background-color: #fbfbfb;
    color: #151515;
}

/* Ensure the grid stays clean */
.reels-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 40px;
    max-width: 1300px;
    margin: 0 auto;
}


.reels-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(180px, 300px));
    gap: 15px;
    max-width: 1380px;
    margin: 0 auto;
    justify-content: center;
}

.reel-container {
    position: relative;
    width: 100%;
    aspect-ratio: 9 / 16;
    background: var(--secondary-cream);
    border-radius: 8px; /* Subtle curve for premium feel */
    overflow: hidden;
    box-shadow: 0 15px 35px rgba(21, 38, 77, 0.1);
    transition: transform 0.4s ease;
}

.reel-container::before {
    content: 'Loading Video';
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--text-dark);
    font-size: 11px;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    background:
        radial-gradient(circle at top, rgba(255, 255, 255, 0.08), transparent 52%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0));
    transition: opacity 0.35s ease;
}

.reel-container.is-loaded::before {
    opacity: 0;
    pointer-events: none;
}

.reel-container:hover {
    transform: translateY(-10px);
}

.reel-media {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    transition: opacity 0.35s ease;
    background: #000;
}

    .reel-container.is-loaded .reel-media {
        opacity: 1;
    }

@media (max-width: 1024px) {
    .reels-grid {
        grid-template-columns: repeat(2, minmax(220px, 320px));
    }
}

.footer-copy {
    margin-top: 18px;
    color: rgba(255, 255, 255, 0.4);
    font-size: 9px;
    letter-spacing: 0.3em;
    text-transform: uppercase;
}

@media (max-width: 768px) {
    .nav-link:hover .nav-link-label {
    animation: auto;
}
    .social-section { 
    padding: 120px 0px !important;
}
    .enquiry-section {
        padding: 0px 10px !important;
    }
    .venue-page-note {
    padding-top: 60px;
    padding-bottom: 60px;
}
    .venue-destination-hero-copy h2 {
    font-size: 22px;
}
h2.main-page-hd.pt-60.pb-50 {
    padding: 0px;
    text-align: center;
}
.venue-scroll-media-copy {
    padding: 100px 20px;
}
.about-page-copy.pb-180 {
    padding-bottom: 90px;
}
.venue-spec-item .spec-number {
    font-size: 17px !important ;
}
    .about-page-quote{
        font-size: 22px;
    }
.venue-expression-cta-with-bg {
    margin-left: 0px !important; 
    margin-right: 0px !important;
}
     .about-page-credit {
        font-size: 11px;
    }
    .enquiry-selector-shell,
    .enquiry-form-card {
        padding: 32px 24px;
    }
h2.main-page-hd {
    font-size: 39px;
    font-weight: 400;
    line-height: 58px;
}
.venue-scroll-media-title {
    font-size: 28px;
    line-height: 49px;
    font-weight: 100;
}

/* .venue-destination-hero-image {
    height: auto;
} */

     .venue-destination-hero-image {
        height: 642px;
        object-fit: cover;
        width: 100%;
    }
    .venue-destination-hero {
    height: 642px;
}
    .venue-scroll-media-backdrop {
        display: none;
    }

.venue-scroll-media-copy.pb-300.pt-200 {
    padding-top: 110px;
    padding-bottom: 80px;
}
    .enquiry-choice-btn {
        width: 100%;
    }

    .enquiry-form-page {
        padding: 130px 20px 120px !important;
        background: #151515;
    }


    .about-page {
        padding: 70px 20px 0px;
    }
 
.about-page .about-page-cta {
    margin-bottom: 30px;
}
    /* .about-page-image-frame,
    .about-page-image {
        min-height: 320px;
    } */

    .ballroom-hero-copy {
        padding: 64px 20px 88px;
    }

    .ballroom-hero-title {
        margin-bottom: 28px;
        letter-spacing: 6px;
    }

    .ballroom-hero-subtitle {
        margin-bottom: 10px;
        font-size: 18px;
    }

    .venue-scroll-media-image {
        height: var(--venue-scroll-current-height);
    }

    .venue-scroll-media-intro,
    .venue-story-copy {
        min-height: 220px;
    }

    .venue-scroll-media-backdrop {
        top: clamp(250px, 56vw, 340px);
    }

    .venue-scroll-media-backdrop-image {
        height: min(78vw, 420px);
    }

    /* .venue-destination-hero,
    .venue-destination-hero-copy {
        min-height: 72vh;
    } */






        .venue-destination-hero, .venue-destination-hero-copy {
        min-height: 250px;
        height: auto !important;
    }
   .venue-destination-hero-copy {
    transform: translate(-50%, 4%);
}
    .venue-inset-visual {
        width: min(100%, calc(100vw - 40px));
        padding-top: 18px;
    }

    .venue-inset-visual-image {
        height: 550px
    }

  .venue-inset-visuall {
    padding: 50px 20px 50px;
}
.venue-statement {
    min-height: 236px;
    padding: 50px 24px 90px;
}
.venue-expression-intro {
    margin: 0 auto 0px;
}
    .venue-layered-visual {
        min-height: auto;
        padding: 28px 20px 80px;
    }

    .venue-layered-visual-back,
    .venue-layered-visual-front {
        position: relative;
        inset: auto;
        width: 100%;
        height: min(68vw, 460px);
    }

    .venue-layered-visual-front {
        margin-top: 22px;
    }

    .venue-expression-cta {
        min-height: 360px;
        padding: 90px 20px;
    }

    .venue-expression-cta-actions {
        width: 100%;
        flex-direction: column;
        margin-top: 56px;
    }

    .venue-expression-cta-button {
        width: min(100%, 276px);
    }

    .about-page-note {
        padding: 0;
    }

    .reels-grid {
        grid-template-columns: 1fr;
        padding: 0 20px;
    }

    .sidebar {
        display: block;
    }

    .close-btn {
        top: 32px;
        left: 24px;
    }

    .sidebar-shell {
        width: 100vw;
        min-width: 100vw;
        padding: 88px 24px 28px;
        transform: translateX(-100vw);
    }

    .sidebar-rest-overlay {
        display: none;
    }

    .sidebar-preview {
        display: none;
    }

    .sidebar-nav-list {
        margin-top: 88px;
    }

    .venue-submenu,
    .sidebar-nav-item--venue.is-expanded .venue-submenu,
    .events-submenu,
    .sidebar-nav-item--events.is-expanded .events-submenu {
        padding-right: 0;
    }

      /* .venue-submenu-link,
    .events-submenu-link,
    .nav-link {
        text-align: left;
    } */

    .venue-submenu-link, .events-submenu-link {
    font-size: 15px;}
h2.video-banner-title {
    word-wrap: break-word;
    width: 100%;
    line-height: 70px;
}
    body {
        padding-bottom: 520px;
    }

    footer {
        min-height: 500px;
        padding: 24px 20px 20px;
    }

    .footer-main {
        padding: 24px 0 28px;
    }

    .footer-links-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 20px 24px;
    }

    .footer-social-column {
        align-items: flex-start;
    }

    .social-icons {
        justify-content: flex-start;
    }
}

/* Ballroom Venue Page - The Space Section */
.ballroom-hero-copy {
    padding: clamp(76px, 9vw, 128px) 20px clamp(88px, 10vw, 150px);
    gap: 0;
}

.ballroom-hero-title {
    margin: 0 0 38px;
    font-family: var(--font-family-one);
    font-size: clamp(48px, 7.2vw, 60px);
    font-weight: 500;
    line-height: 1;
    letter-spacing: clamp(8px, 1.4vw, 18px);
    text-align: center;
}

.ballroom-hero-subtitle {
    margin: 0 0 12px;
    color: #1f1f1f;
    font-family: var(--font-family-one);
    font-size: clamp(18px, 1.7vw, 24px);
    font-weight: 400;
    line-height: 1.35;
    letter-spacing: 0.04em;
}

.ballroom-hero-copy .about-page-text {
    margin: 0 auto;
    color: rgba(42, 42, 42, 0.74);
    font-size: 15px;
    line-height: 1.7;
    letter-spacing: 0.04em;
}

.venue-scroll-media-subtitle {
    color: var(--primary-cream);
    font-size: 22px;
    font-weight: 300;
    letter-spacing: 1.5px;
    margin: 10px 0 30px;
}

.venue-scroll-media-copy > .about-page-text {
    max-width: 794px;
    margin-bottom: 38px;
    color: var(--primary-white);
}

.ballroom-intro-copy .venue-destination-hero {
    margin-top: 120px;
}

.venue-specs-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
    max-width: 820px;
    margin: 63px auto 0 auto;
}

.venue-spec-item .spec-number {
    color: var(--primary-cream);
    font-size: 32px;
    font-weight: 400;
    letter-spacing: 2px;
    margin-bottom: 8px;
}

.venue-spec-item .spec-label {
    font-size: 14px;
    font-weight: 300;
    letter-spacing: 1px;
}

/* Ballroom Venue Page - Expression Section */
.venue-expression-cta-with-bg {
    position: relative;
    overflow: hidden;
    margin-left: -60px;
    margin-right: -60px;
}

.venue-expression-cta-with-bg > video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: blur(15px);
    z-index: 0;
}

.venue-expression-cta-with-bg > div:nth-child(2) {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--rr-white);
    z-index: 0.5;
}

.venue-expression-cta-content {
    position: relative;
    z-index: 1;
    text-align: center;
    padding-top: 100px;
}

.venue-expression-intro {
    max-width: 900px;
    margin: 0 auto 40px;
   
    font-weight: 300;
}

.venue-expression-statement {
    margin: 15px auto;
    font-size: 28px;
    font-weight: 500;
    letter-spacing: 1px;
    line-height: 1.6;
    text-align: center;
}

.venue-expression-statement > span {
    display: block;
    color: var(--primary-dark);
    text-transform: uppercase;
}


.venue-expression-closing {
    max-width: 900px;
    margin: 40px auto 0;
    font-weight: 300;
}

/* Ballroom Venue Page - Video Hero Section */
.venue-destination-hero-video {
    width: 100vw;
    max-width: none;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: #000;
}

.venue-destination-hero-video-element {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Ballroom Occasions Section */
.ballroom-highlight {
    color: var(--primary-cream);
}

.ballroom-occasions-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    width: min(100%, 760px);
    gap: clamp(36px, 7vw, 80px);
    margin-top: 60px;
    margin-left: auto;
    margin-right: auto;
}

.ballroom-occasion-item {
    text-align: center;
}
.ballroom-occasion-item a{
    text-decoration: none;
}

.ballroom-occasion-title {
    color: var(--primary-cream);
    font-family: var(--font-family-one);
    font-size: 22px;
    font-weight: 400;
    letter-spacing: 2px;
    text-transform: uppercase;
    margin-bottom: 12px;
}

.ballroom-occasion-description {
    font-size: 16px;
    font-weight: 300;
    letter-spacing: 0.5px;
    line-height: 1.6;
}

/* Reusable Conversation CTA */
.conversation-cta {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    padding: 96px 24px 92px;
    background: var(--primary-dark);
    color: var(--text-light);
    text-align: center;
}

.conversation-cta-inner {
    width: min(100%, 1080px);
    margin: 0 auto;
}

.conversation-cta-title {
    margin: 0;
    color: var(--text-light);
    font-family: var(--font-family-one);
    font-size: clamp(38px, 4.6vw, 58px);
    font-weight: 300;
    line-height: 1.05;
    letter-spacing: 0;
}

.conversation-cta-title span,
.conversation-cta-title em {
    display: block;
}

.conversation-cta-title em {
    color: var(--primary-cream);
    font-style: italic;
    font-weight: 300;
}

.conversation-cta-eyebrow {
    margin: 26px auto 0;
    color: var(--text-dark);
    font-size: 13px;
    font-weight: 400;
    letter-spacing: 8px;
    line-height: 1.8;
    text-transform: uppercase;
}

.conversation-cta-actions {
    display: flex;
    justify-content: center;
    gap: 24px;
    margin-top: 64px;
}

.conversation-cta-button {
    width: 290px;
    min-height: 54px;
    margin-top: 0;
    border-radius: 0;
    background: transparent;
    color: var(--text-light);
    border: 1px solid rgba(255, 255, 255, 0.55);
}

.conversation-cta-button .txt {
    letter-spacing: 6px;
}

.conversation-cta-button--primary {
    background: var(--primary-cream);
    color: var(--primary-dark);
    border-color: var(--primary-cream);
}

.conversation-cta-button--secondary:hover {
    border-color: var(--primary-cream);
    color: var(--primary-cream);
}

.conversation-cta-button:hover .txt {
    transform: none;
}

/* Corporate Event Conversation CTA */
.corporate-conversation-cta {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    padding: clamp(76px, 8.5vw, 116px) 24px clamp(72px, 8vw, 108px);
    background: var(--primary-dark);
    color: var(--text-light);
    text-align: center;
}

.corporate-conversation-cta-inner {
    width: min(100%, 1060px);
    margin: 0 auto;
}

.corporate-conversation-cta-eyebrow {
    margin: 0 0 34px;
    color: var(--primary-cream);
    font-family: var(--font-family-one);
    font-size: 10px;
    font-weight: 400;
    line-height: 1.4;
    letter-spacing: 0.56em;
    text-transform: uppercase;
}

.corporate-conversation-cta-title {
    margin: 0 auto;
    color: var(--text-light);
    font-family: var(--font-family-one);
    font-size: clamp(40px, 5.8vw, 62px);
    font-weight: 300;
    line-height: 1.08;
    letter-spacing: 0;
    -webkit-font-smoothing: antialiased;
}

.corporate-conversation-cta-title span {
    display: block;
}

.corporate-conversation-cta-title em {
    color: var(--primary-cream);
    font-style: italic;
    font-weight: 300;
}

.corporate-conversation-cta-text {
    max-width: 990px;
    margin: 48px auto 0;
    color: rgba(255, 255, 255, 0.86);
    font-family: var(--font-family-one);
    font-size: clamp(15px, 1.35vw, 18px);
    font-weight: 300;
    line-height: 1.9;
    letter-spacing: 0.02em;
}

.corporate-conversation-cta-actions {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin-top: 58px;
}

.corporate-conversation-cta-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: min(100%, 320px);
    min-height: 58px;
    padding: 0 18px;
    border: 1px solid rgba(245, 214, 159, 0.22);
    color: var(--text-light);
    font-family: var(--font-family-one);
    font-size: 10px;
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: 0.5em;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease;
}

.corporate-conversation-cta-button--primary {
    background: #bf8b3c;
    border-color: #bf8b3c;
    color: var(--primary-dark);
}

.corporate-conversation-cta-button--primary:hover {
    background: var(--primary-cream);
    border-color: var(--primary-cream);
    color: var(--primary-dark);
}

.corporate-conversation-cta-button--secondary:hover {
    border-color: var(--primary-cream);
    color: var(--primary-cream);
}
.venue-video-second-type{
    margin-bottom:200px;
}
@media (max-width: 767px) {
    .conversation-cta {
        padding: 78px 20px 72px;
    }

    .venue-layered-visual-back {
    display: none;
}

    .conversation-cta-eyebrow {
        max-width: 320px;
        font-size: 11px;
        letter-spacing: 4px;
    }

    .conversation-cta-actions {
        flex-direction: column;
        align-items: center;
        gap: 16px;
        margin-top: 48px;
    }

    .conversation-cta-button {
        width: min(100%, 290px);
    }

    .corporate-conversation-cta {
        padding: 72px 20px;
    }

    .corporate-conversation-cta-eyebrow {
        margin-bottom: 26px;
        font-size: 9px;
        letter-spacing: 0.38em;
    }

    .corporate-conversation-cta-title {
        font-size: clamp(34px, 11vw, 46px);
        line-height: 1.12;
    }

    .corporate-conversation-cta-text {
        margin-top: 34px;
        font-size: 15px;
        line-height: 1.75;
    }

    .corporate-conversation-cta-actions {
        flex-direction: column;
        align-items: center;
        gap: 16px;
        margin-top: 44px;
    }

    .corporate-conversation-cta-button {
        width: min(100%, 300px);
        letter-spacing: 0.36em;
    }
    nav{
        padding: 0 16px;
    }
}

/* Black Background Section */
.black-background-section {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    background-color: var(--primary-dark);
    color: var(--text-light);
    padding: clamp(80px, 10vw, 120px) 24px;
}

.black-background-section .container {
    max-width: 1100px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.black-background-section h2 {
    font-family: var(--font-family-one);
    font-size: clamp(32px, 4vw, 48px);
    font-weight: 300;
    line-height: 1.25;
    letter-spacing: 0.04em;
    color: var(--text-light);
    margin: 0 0 24px;
    -webkit-font-smoothing: antialiased;
}

.black-background-section p {
    font-family: var(--font-family-one);
    font-size: clamp(14px, 1.2vw, 18px);
    font-weight: 300;
    line-height: 1.7;
    letter-spacing: 0.5px;
    color: rgba(255, 255, 255, 0.85);
    max-width: 800px;
    margin: 0;
}

.black-background-section .text-center {
    width: 100%;
}

@media (max-width: 768px) {
    .venue-video-second-type{
        margin-bottom:50px;
    }
    .moving-band-item {
        min-height: 44px;
        padding: 0 36px;
        font-size: 9px;
        letter-spacing: 0.44em;
    }

    .moving-band-heading {
        margin-top: 42px;
    }

    .zora-image-feature {
        min-height: 78vh;
    }

    .zora-image-feature-overlay {
        background:
            linear-gradient(180deg, rgba(0, 0, 0, 0.16) 0%, rgba(0, 0, 0, 0.72) 100%);
    }

    /* .zora-image-feature-copy {
        min-height: 78vh;
        justify-content: flex-end;
        align-items: flex-start;
        padding: 92px 24px 56px;
    } */

        .zora-image-feature-copy {
        min-height: auto;
        justify-content: center;
        align-items: center;
        padding: 92px 24px 56px;
        display: flex;
        margin-top: 40%;
    }

    .zora-image-feature-heading,
    .zora-image-feature-text {
        width: min(100%, 520px);
    }

    .zora-image-feature-heading {
        font-size: 22px;
        letter-spacing: 0.12em;
    }

    .zora-content-accordion {
        padding: 72px 20px;
    }

    .zora-content-accordion-heading {
        margin-bottom: 48px;
        font-size: 26px;
        letter-spacing: 0.12em;
    }

    .zora-content-accordion-summary {
        min-height: 58px;
        gap: 18px;
        font-size: 13px;
    }

    .zora-content-accordion-panel {
        padding: 0 28px 24px 0;
    }

    .zora-content-accordion-panel p {
        font-size: 13px;
    }

    .black-background-section {
        padding: 64px 20px;
    }

    .black-background-section h2 {
        margin-bottom: 20px;
        letter-spacing: 2px;
    }

    .black-background-section p {
        font-size: 14px;
        line-height: 1.6;
    }
    
}
.about-page-subtitle{
    padding-top: 27px;
    padding-bottom: 40px;
}
