        body {
            font-family: 'Inter', sans-serif;
            background-color: #050505;
            color: #FAFAFA;
        }

        .font-display {
            font-family: 'Oswald', sans-serif;
        }

        .font-serif {
            font-family: 'Playfair Display', serif;
        }

        .font-mono {
            font-family: 'Space Mono', monospace;
        }

        .text-gold {
            color: #C5A059;
        }

        .bg-gold {
            background-color: #C5A059;
        }

        .border-gold {
            border-color: #C5A059;
        }

        .text-accent {
            color: #CE1126;
        }

        .bg-accent {
            background-color: #CE1126;
        }

        .hero-watermark {
            font-size: clamp(16rem, 32vw, 30rem);
            line-height: 1;
            letter-spacing: -0.08em;
            color: rgba(255, 255, 255, 0.03);
        }

        .hero-headline {
            font-size: clamp(3.4rem, 5vw, 6.8rem);
            line-height: 0.78;
            max-width: 11.5ch;
        }

        .hero-headline-line {
            display: block;
        }

        .hero-headline-line--primary {
            font-size: 1.58em;
            line-height: 0.8;
        }

        .hero-headline-line--secondary {
            font-size: 0.44em;
            line-height: 0.95;
            letter-spacing: 0.2em;
        }

        .hero-headline-line--tertiary {
            font-size: 0.34em;
            line-height: 1.05;
            letter-spacing: 0.2em;
        }

        @media (min-width: 768px) {
            .hero-headline {
                font-size: clamp(6.4rem, 5.2vw, 11.2rem);
                line-height: 0.74;
                max-width: 18ch;
            }

            .hero-headline-line--primary {
                line-height: 0.85;
                letter-spacing: 0.05em;
            }

            .hero-headline-line--secondary {
                font-size: 0.42em;
                line-height: 0.95;
                letter-spacing: 0.14em;
            }

            .hero-headline-line--tertiary {
                font-size: 0.32em;
                line-height: 1.05;
                letter-spacing: 0.14em;
            }

            .hero-watermark {
                font-size: clamp(18rem, 18vw, 24rem);
            }
        }

        @media (min-width: 1200px) {
            .hero-headline {
                max-width: 22ch;
            }
        }

        .fade-in-section {
            opacity: 0;
            transform: translateY(20px);
            transition: opacity 0.8s ease-out, transform 0.8s ease-out;
            will-change: opacity, visibility;
        }

        .fade-in-section.is-visible {
            opacity: 1;
            transform: none;
        }

        ::-webkit-scrollbar {
            width: 6px;
        }

        ::-webkit-scrollbar-track {
            background: #050505;
        }

        ::-webkit-scrollbar-thumb {
            background: #333;
            border-radius: 3px;
        }

        ::-webkit-scrollbar-thumb:hover {
            background: #CE1126;
        }

        .accordion-content {
            transition: max-height 0.3s ease-out, opacity 0.3s ease-out;
            max-height: 0;
            opacity: 0;
            overflow: hidden;
        }

        .accordion-item.active .accordion-content {
            max-height: 500px;
            opacity: 1;
        }

        .accordion-icon {
            transition: transform 0.3s ease;
        }

        .accordion-item.active .accordion-icon {
            transform: rotate(180deg);
        }

        /* V7: Modal post-submit states */
        .modal-submitted .modal-form {
            display: none;
        }

        .modal-submitted .modal-confirm {
            display: flex !important;
        }

        @media (max-width: 767px) {
            html,
            body {
                overflow-x: hidden;
                width: 100%;
            }

            body > div.fixed.top-0.left-0.right-0 > div {
                padding: 0.35rem 0.75rem;
            }

            body > div.fixed.top-0.left-0.right-0 span:first-child {
                display: none;
            }

            body > div.fixed.top-0.left-0.right-0 span:last-child {
                margin-left: 0;
                display: block;
                font-size: 9px;
                line-height: 1.25;
            }

            header {
                top: 2.25rem;
            }

            header > div {
                height: 3.5rem;
                padding-left: 0.75rem;
                padding-right: 0.75rem;
            }

            main {
                margin-top: 4.75rem;
                padding: 0.75rem;
            }

            main > div:first-child {
                gap: 0.75rem;
                min-height: auto;
            }

            main > div:first-child > div.lg\:col-span-9 {
                overflow: hidden;
                min-height: auto;
                border-radius: 0.75rem;
            }

            main > div:first-child > div.lg\:col-span-9 > div.absolute.top-0.right-0.w-\[800px\] {
                display: none;
            }

            div[class*="blur-[120px]"],
            div[class*="blur-3xl"] {
                display: none;
            }

            main > div:first-child > div.lg\:col-span-9 > div.flex.z-0.select-none {
                display: none;
            }

            main > div:first-child > div.lg\:col-span-9 > div.absolute.inset-0.z-10 {
                opacity: 0.85;
            }

            main > div:first-child > div.lg\:col-span-9 > div.absolute.inset-0.z-10 img {
                opacity: 0.5;
            }

            main > div:first-child > div.lg\:col-span-9 > div.z-20.flex.pt-10 {
                padding: 0.75rem 0.75rem 0.5rem;
            }

            main > div:first-child > div.lg\:col-span-9 > div.z-20.flex.flex-col {
                gap: 0.75rem;
                padding-left: 0.75rem;
                padding-right: 0.75rem;
                padding-bottom: 1rem;
            }

            main > div:first-child > div.lg\:col-span-9 > div.z-20.flex.flex-col > div.max-w-3xl > h2 {
                margin-bottom: 0.5rem;
                font-size: clamp(3.05rem, 12.5vw, 4.95rem);
                line-height: 0.84;
            }

            main > div:first-child > div.lg\:col-span-9 > div.z-20.flex.flex-col > div.max-w-3xl > h2 > span {
                display: block;
            }

            main > div:first-child > div.lg\:col-span-9 > div.z-20.flex.flex-col > div.max-w-3xl > h2 > span:nth-child(1),
            main > div:first-child > div.lg\:col-span-9 > div.z-20.flex.flex-col > div.max-w-3xl > h2 > span:nth-child(4) {
                font-size: 1.32em;
                line-height: 0.82;
                letter-spacing: 0;
            }

            main > div:first-child > div.lg\:col-span-9 > div.z-20.flex.flex-col > div.max-w-3xl > h2 > span:nth-child(2),
            main > div:first-child > div.lg\:col-span-9 > div.z-20.flex.flex-col > div.max-w-3xl > h2 > span:nth-child(5) {
                font-size: 0.44em;
                line-height: 0.95;
                letter-spacing: 0.2em;
                margin-top: 0.2em;
            }

            main > div:first-child > div.lg\:col-span-9 > div.z-20.flex.flex-col > div.max-w-3xl > h2 > span:nth-child(3),
            main > div:first-child > div.lg\:col-span-9 > div.z-20.flex.flex-col > div.max-w-3xl > h2 > span:nth-child(6) {
                font-size: 0.34em;
                line-height: 1.05;
                letter-spacing: 0.2em;
                margin-top: 0.15em;
            }

            main > div:first-child > div.lg\:col-span-9 > div.z-20.flex.flex-col > div.max-w-3xl > p.text-xl {
                font-size: 0.95rem;
                line-height: 1.35;
            }

            main > div:first-child > div.lg\:col-span-9 > div.z-20.flex.flex-col > div.max-w-3xl > p.text-lg {
                font-size: 0.88rem;
                line-height: 1.45;
                margin-bottom: 1rem;
            }

            main > div:first-child > div.lg\:col-span-9 > div.z-20.flex.flex-col > div.max-w-3xl > div.flex.flex-wrap.items-start.gap-6 {
                gap: 0.5rem;
            }

            main > div:first-child > div.lg\:col-span-9 > div.z-20.flex.flex-col > div.max-w-3xl > div.flex.flex-wrap.items-start.gap-6 > div {
                width: 100%;
            }

            main > div:first-child > div.lg\:col-span-9 > div.z-20.flex.flex-col > div.max-w-3xl > div.flex.flex-wrap.items-start.gap-6 > div:first-child > button {
                width: 100%;
                height: 3.25rem;
            }

            main > div:first-child > div.lg\:col-span-9 > div.z-20.flex.flex-col > div.max-w-3xl > div.flex.flex-wrap.items-start.gap-6 > div:last-child > button {
                width: 100%;
                height: 3rem;
            }

            main > div:first-child > div.lg\:col-span-9 > div.z-20.flex.flex-col > div.max-w-3xl > div.grid.grid-cols-1.sm\:grid-cols-3 {
                grid-template-columns: 1fr;
                gap: 0.5rem;
            }

            main > div:first-child > div.lg\:col-span-9 > div.z-20.flex.flex-col > div.max-w-3xl > div.grid.grid-cols-1.sm\:grid-cols-3 > div {
                width: 100%;
                justify-content: flex-start;
                padding: 0.6rem 0.8rem;
                border-radius: 0.75rem;
                background: rgba(255,255,255,0.045);
                border: 1px solid rgba(255,255,255,0.07);
                font-size: 8.5px;
            }

            main > div:first-child > div.lg\:col-span-9 > div.z-20.flex.flex-col > div.w-full.md\:w-auto.flex.flex-col.gap-6 {
                display: none;
            }

            main > div:first-child > div.lg\:col-span-9 h2 {
                font-size: clamp(3.05rem, 12.5vw, 4.95rem);
                line-height: 0.84;
                margin-bottom: 0.75rem;
                letter-spacing: -0.03em;
            }

            main > div:first-child > div.lg\:col-span-9 p.text-xl {
                font-size: 0.98rem;
                line-height: 1.4;
                margin-bottom: 0.75rem;
            }

            main > div:first-child > div.lg\:col-span-9 p.text-lg {
                font-size: 0.9rem;
                line-height: 1.45;
                margin-bottom: 1rem;
            }

            main > div:first-child > div.lg\:col-span-9 .flex.flex-wrap.items-start.gap-6 {
                gap: 0.75rem;
                margin-bottom: 0.75rem;
            }

            main > div:first-child > div.lg\:col-span-9 .flex.flex-wrap.items-start.gap-6 button {
                height: 3rem;
                justify-content: center;
            }

            main > div:first-child > div.lg\:col-span-9 .grid.grid-cols-1.sm\:grid-cols-3 {
                grid-template-columns: repeat(3, minmax(0, 1fr));
                gap: 0.5rem;
                text-align: center;
                letter-spacing: 0.08em;
            }

            main > div:first-child > div.lg\:col-span-9 .grid.grid-cols-1.sm\:grid-cols-3 > div {
                justify-content: center;
                padding: 0.55rem 0.35rem;
                background: rgba(255,255,255,0.045);
                border: 1px solid rgba(255,255,255,0.07);
                border-radius: 999px;
                font-size: 8px;
            }

            main > div:first-child > div.lg\:col-span-9 .w-full.md\:w-auto.flex.flex-col.gap-6 {
                max-width: none;
                gap: 1rem;
            }

            main > div:first-child > div.lg\:col-span-9 > div.w-full.md\:w-auto.flex.flex-col.gap-6.text-gold {
                display: none;
            }

            main > div:first-child > div.lg\:col-span-3 {
                gap: 0.75rem;
            }

            main > div:first-child > div.lg\:col-span-3 > div {
                border-radius: 0.75rem;
                min-height: 14rem;
                padding: 1rem;
            }

            main > div:first-child > div.lg\:col-span-3 .absolute.top-0.right-0.w-64.h-64 {
                display: none;
            }

            /* Mobile section/card system inspired by modern hospitality layouts */
            section {
                padding-left: 0.75rem;
                padding-right: 0.75rem;
                padding-top: 1.25rem;
                padding-bottom: 1.25rem;
            }

            .fade-in-section.border-t.border-b {
                margin-left: 0.75rem;
                margin-right: 0.75rem;
                border-left: 1px solid rgba(255,255,255,0.05);
                border-right: 1px solid rgba(255,255,255,0.05);
                border-radius: 0.75rem;
                background: rgba(8,8,8,0.8);
            }

            .fade-in-section.border-t.border-b > div {
                padding: 1rem 1rem 1.1rem;
            }

            .fade-in-section.border-t.border-b .grid.md\:grid-cols-3 {
                gap: 0.75rem;
            }

            .fade-in-section.border-t.border-b .grid.md\:grid-cols-3 > div {
                padding: 0.9rem 0.8rem;
                border: 1px solid rgba(255,255,255,0.07);
                border-radius: 0.8rem;
                background: rgba(255,255,255,0.035);
                text-align: left;
            }

            .fade-in-section.border-t.border-b .grid.md\:grid-cols-3 > div > .text-gold,
            .fade-in-section.border-t.border-b .grid.md\:grid-cols-3 > div > .text-lg,
            .fade-in-section.border-t.border-b .grid.md\:grid-cols-3 > div > .text-white\/50 {
                text-align: left;
            }

            .fade-in-section.border-t.border-b .grid.md\:grid-cols-3 > div .text-lg {
                font-size: 0.98rem;
                line-height: 1.25;
            }

            .fade-in-section.border-t.border-b .grid.md\:grid-cols-3 > div .text-white\/50 {
                font-size: 0.78rem;
                line-height: 1.35;
            }

            section + section {
                margin-top: 2rem;
            }

            section h2 {
                font-size: clamp(2rem, 10vw, 3rem) !important;
                line-height: 0.95 !important;
                letter-spacing: -0.03em;
            }

            section h3,
            section h4 {
                line-height: 1.05 !important;
            }

            section p,
            section li {
                line-height: 1.55;
            }

            section .border,
            footer .border,
            main .border {
                border-color: rgba(255,255,255,0.08);
            }

            /* Eight-card bento section: normalize mobile spacing and icon scale */
            section > div.z-10.grid.grid-cols-1.md\:grid-cols-2.lg\:grid-cols-4 {
                gap: 0.75rem;
            }

            section > div.z-10.grid.grid-cols-1.md\:grid-cols-2.lg\:grid-cols-4 > div {
                padding: 1rem;
                min-height: auto;
                border-radius: 0.75rem;
            }

            section > div.z-10.grid.grid-cols-1.md\:grid-cols-2.lg\:grid-cols-4 > div .w-14.h-14,
            section > div.z-10.grid.grid-cols-1.md\:grid-cols-2.lg\:grid-cols-4 > div .w-16.h-16,
            section > div.z-10.grid.grid-cols-1.md\:grid-cols-2.lg\:grid-cols-4 > div .w-10.h-10 {
                width: 2.5rem;
                height: 2.5rem;
            }

            section > div.z-10.grid.grid-cols-1.md\:grid-cols-2.lg\:grid-cols-4 > div iconify-icon {
                width: 1rem;
                height: 1rem;
            }

            section > div.z-10.grid.grid-cols-1.md\:grid-cols-2.lg\:grid-cols-4 > div .flex.justify-between.items-start,
            section > div.z-10.grid.grid-cols-1.md\:grid-cols-2.lg\:grid-cols-4 > div .mb-2.flex.items-center.gap-4,
            section > div.z-10.grid.grid-cols-1.md\:grid-cols-2.lg\:grid-cols-4 > div .flex.items-center.gap-3.mb-8 {
                margin-bottom: 0.75rem;
                gap: 0.5rem;
            }

            section > div.z-10.grid.grid-cols-1.md\:grid-cols-2.lg\:grid-cols-4 > div .text-xl,
            section > div.z-10.grid.grid-cols-1.md\:grid-cols-2.lg\:grid-cols-4 > div .text-lg,
            section > div.z-10.grid.grid-cols-1.md\:grid-cols-2.lg\:grid-cols-4 > div .text-3xl {
                font-size: 1rem;
                line-height: 1.25;
            }

            section > div.z-10.grid.grid-cols-1.md\:grid-cols-2.lg\:grid-cols-4 > div .text-[10px],
            section > div.z-10.grid.grid-cols-1.md\:grid-cols-2.lg\:grid-cols-4 > div .text-xs {
                line-height: 1.45;
            }

            section > div.z-10.grid.grid-cols-1.md\:grid-cols-2.lg\:grid-cols-4 > div#location {
                min-height: 14rem !important;
            }

            section > div.z-10.grid.grid-cols-1.md\:grid-cols-2.lg\:grid-cols-4 > div#location iframe {
                min-height: 14rem;
            }

            footer {
                padding-left: 0.75rem;
                padding-right: 0.75rem;
            }

            footer > div:nth-of-type(1) {
                padding-top: 2rem;
                padding-bottom: 2rem;
            }

            footer > div:nth-of-type(2) {
                padding: 1rem;
            }

            footer .text-5xl.md\:text-7xl {
                font-size: 2.75rem;
                line-height: 0.95;
            }

            footer .text-sm.md\:text-base {
                max-width: none;
            }

            footer .text-[18vw] {
                display: none;
            }

            .mobile-primary-cta,
            .mobile-secondary-cta {
                min-height: 3.25rem;
                border-radius: 999px;
            }

            .mobile-primary-cta {
                flex: 1 1 auto;
                box-shadow: 0 12px 30px rgba(206, 17, 38, 0.22);
            }

            .mobile-secondary-cta {
                flex: 0 0 auto;
                opacity: 0.72;
                background: rgba(255,255,255,0.04);
            }


        }

        @media (min-width: 768px) {
            main > div:first-child > div.lg\:col-span-9 > div.z-20.flex.flex-col > div.max-w-3xl > h2 {
                font-size: clamp(7rem, 6vw, 14.5rem) !important;
                line-height: 0.74 !important;
                max-width: 22ch !important;
                margin-bottom: 1rem !important;
            }

            main > div:first-child > div.lg\:col-span-9 > div.z-20.flex.flex-col > div.max-w-3xl > h2 > span {
                display: block;
            }

            main > div:first-child > div.lg\:col-span-9 > div.z-20.flex.flex-col > div.max-w-3xl > h2 > span {
                letter-spacing: 0.14em;
            }

            main > div:first-child > div.lg\:col-span-9 > div.z-20.flex.flex-col > div.max-w-3xl > h2 > span:nth-child(1),
            main > div:first-child > div.lg\:col-span-9 > div.z-20.flex.flex-col > div.max-w-3xl > h2 > span:nth-child(4) {
                font-size: 0.97em;
                line-height: 0.85;
                letter-spacing: 0.05em;
            }

            main > div:first-child > div.lg\:col-span-9 > div.z-20.flex.flex-col > div.max-w-3xl > h2 > span:nth-child(2),
            main > div:first-child > div.lg\:col-span-9 > div.z-20.flex.flex-col > div.max-w-3xl > h2 > span:nth-child(5) {
                font-size: 0.42em;
                margin-top: 0.18em;
            }

            main > div:first-child > div.lg\:col-span-9 > div.z-20.flex.flex-col > div.max-w-3xl > h2 > span:nth-child(3),
            main > div:first-child > div.lg\:col-span-9 > div.z-20.flex.flex-col > div.max-w-3xl > h2 > span:nth-child(6) {
                font-size: 0.32em;
                margin-top: 0.14em;
            }
        }
