/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */
@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800;900&display=swap";

@layer properties {
    @supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))) {

        *,
        :before,
        :after,
        ::backdrop {
            --tw-space-y-reverse: 0;
            --tw-border-style: solid;
            --tw-gradient-position: initial;
            --tw-gradient-from: #0000;
            --tw-gradient-via: #0000;
            --tw-gradient-to: #0000;
            --tw-gradient-stops: initial;
            --tw-gradient-via-stops: initial;
            --tw-gradient-from-position: 0%;
            --tw-gradient-via-position: 50%;
            --tw-gradient-to-position: 100%;
            --tw-tracking: initial;
            --tw-backdrop-blur: initial;
            --tw-backdrop-brightness: initial;
            --tw-backdrop-contrast: initial;
            --tw-backdrop-grayscale: initial;
            --tw-backdrop-hue-rotate: initial;
            --tw-backdrop-invert: initial;
            --tw-backdrop-opacity: initial;
            --tw-backdrop-saturate: initial;
            --tw-backdrop-sepia: initial
        }
    }
}

@layer theme {

    :root,
    :host {
        --font-sans: "Plus Jakarta Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
        --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
        --color-black: #000;
        --color-white: #fff;
        --spacing: .25rem;
        --container-4xl: 56rem;
        --text-xs: .75rem;
        --text-xs--line-height: calc(1 / .75);
        --text-sm: .875rem;
        --text-sm--line-height: calc(1.25 / .875);
        --text-3xl: 1.875rem;
        --text-3xl--line-height: calc(2.25 / 1.875);
        --text-4xl: 2.25rem;
        --text-4xl--line-height: calc(2.5 / 2.25);
        --radius-xs: .125rem;
        --radius-sm: .25rem;
        --radius-md: .375rem;
        --radius-lg: .5rem;
        --radius-2xl: 1rem;
        --blur-xl: 24px;
        --default-font-family: var(--font-sans);
        --default-mono-font-family: var(--font-mono)
    }
}

@layer base {

    *,
    :after,
    :before,
    ::backdrop {
        box-sizing: border-box;
        border: 0 solid;
        margin: 0;
        padding: 0
    }

    ::file-selector-button {
        box-sizing: border-box;
        border: 0 solid;
        margin: 0;
        padding: 0
    }

    html,
    :host {
        -webkit-text-size-adjust: 100%;
        tab-size: 4;
        line-height: 1.5;
        font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
        font-feature-settings: var(--default-font-feature-settings, normal);
        font-variation-settings: var(--default-font-variation-settings, normal);
        -webkit-tap-highlight-color: transparent
    }

    hr {
        height: 0;
        color: inherit;
        border-top-width: 1px
    }

    abbr:where([title]) {
        -webkit-text-decoration: underline dotted;
        text-decoration: underline dotted
    }

    h1,
    h2,
    h3,
    h4,
    h5,
    h6 {
        font-size: inherit;
        font-weight: inherit
    }

    a {
        color: inherit;
        -webkit-text-decoration: inherit;
        -webkit-text-decoration: inherit;
        -webkit-text-decoration: inherit;
        text-decoration: inherit
    }

    b,
    strong {
        font-weight: bolder
    }

    code,
    kbd,
    samp,
    pre {
        font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
        font-feature-settings: var(--default-mono-font-feature-settings, normal);
        font-variation-settings: var(--default-mono-font-variation-settings, normal);
        font-size: 1em
    }

    small {
        font-size: 80%
    }

    sub,
    sup {
        vertical-align: baseline;
        font-size: 75%;
        line-height: 0;
        position: relative
    }

    sub {
        bottom: -.25em
    }

    sup {
        top: -.5em
    }

    table {
        text-indent: 0;
        border-color: inherit;
        border-collapse: collapse
    }

    :-moz-focusring {
        outline: auto
    }

    progress {
        vertical-align: baseline
    }

    summary {
        display: list-item
    }

    ol,
    ul,
    menu {
        list-style: none
    }

    img,
    svg,
    video,
    canvas,
    audio,
    iframe,
    embed,
    object {
        vertical-align: middle;
        display: block
    }

    img,
    video {
        max-width: 100%;
        height: auto
    }

    button,
    input,
    select,
    optgroup,
    textarea {
        font: inherit;
        font-feature-settings: inherit;
        font-variation-settings: inherit;
        letter-spacing: inherit;
        color: inherit;
        opacity: 1;
        background-color: #0000;
        border-radius: 0
    }

    ::file-selector-button {
        font: inherit;
        font-feature-settings: inherit;
        font-variation-settings: inherit;
        letter-spacing: inherit;
        color: inherit;
        opacity: 1;
        background-color: #0000;
        border-radius: 0
    }

    :where(select:is([multiple], [size])) optgroup {
        font-weight: bolder
    }

    :where(select:is([multiple], [size])) optgroup option {
        padding-inline-start: 20px
    }

    ::file-selector-button {
        margin-inline-end: 4px
    }

    ::placeholder {
        opacity: 1
    }

    @supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px) {
        ::placeholder {
            color: currentColor
        }

        @supports (color:color-mix(in lab, red, red)) {
            ::placeholder {
                color: color-mix(in oklab, currentcolor 50%, transparent)
            }
        }
    }

    textarea {
        resize: vertical
    }

    ::-webkit-search-decoration {
        -webkit-appearance: none
    }

    ::-webkit-date-and-time-value {
        min-height: 1lh;
        text-align: inherit
    }

    ::-webkit-datetime-edit {
        display: inline-flex
    }

    ::-webkit-datetime-edit-fields-wrapper {
        padding: 0
    }

    ::-webkit-datetime-edit {
        padding-block: 0
    }

    ::-webkit-datetime-edit-year-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-month-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-day-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-hour-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-minute-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-second-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-millisecond-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-meridiem-field {
        padding-block: 0
    }

    ::-webkit-calendar-picker-indicator {
        line-height: 1
    }

    :-moz-ui-invalid {
        box-shadow: none
    }

    button,
    input:where([type=button], [type=reset], [type=submit]) {
        appearance: button
    }

    ::file-selector-button {
        appearance: button
    }

    ::-webkit-inner-spin-button {
        height: auto
    }

    ::-webkit-outer-spin-button {
        height: auto
    }

    [hidden]:where(:not([hidden=until-found])) {
        display: none !important
    }
}

@layer components;

@layer utilities {
    .absolute {
        position: absolute
    }

    .fixed {
        position: fixed
    }

    .inset-0 {
        inset: calc(var(--spacing) * 0)
    }

    .top-0 {
        top: calc(var(--spacing) * 0)
    }

    .right-0 {
        right: calc(var(--spacing) * 0)
    }

    .right-6 {
        right: calc(var(--spacing) * 6)
    }

    .bottom-6 {
        bottom: calc(var(--spacing) * 6)
    }

    .left-0 {
        left: calc(var(--spacing) * 0)
    }

    .left-6 {
        left: calc(var(--spacing) * 6)
    }

    .z-50 {
        z-index: 50
    }

    .z-\[110\] {
        z-index: 110
    }

    .mx-auto {
        margin-inline: auto
    }

    .mt-2 {
        margin-top: calc(var(--spacing) * 2)
    }

    .mt-3 {
        margin-top: calc(var(--spacing) * 3)
    }

    .mb-2 {
        margin-bottom: calc(var(--spacing) * 2)
    }

    .block {
        display: block
    }

    .grid {
        display: grid
    }

    .hidden {
        display: none
    }

    .inline {
        display: inline
    }

    .table {
        display: table
    }

    .h-full {
        height: 100%
    }

    .w-full {
        width: 100%
    }

    .max-w-4xl {
        max-width: var(--container-4xl)
    }

    .grow {
        flex-grow: 1
    }

    .resize {
        resize: both
    }

    .resize-none {
        resize: none
    }

    .gap-4 {
        gap: calc(var(--spacing) * 4)
    }

    :where(.space-y-5>:not(:last-child)) {
        --tw-space-y-reverse: 0;
        margin-block-start: calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));
        margin-block-end: calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))
    }

    .overflow-hidden {
        overflow: hidden
    }

    .overflow-y-auto {
        overflow-y: auto
    }

    .rounded-2xl {
        border-radius: var(--radius-2xl)
    }

    .rounded-\[28px\] {
        border-radius: 28px
    }

    .border {
        border-style: var(--tw-border-style);
        border-width: 1px
    }

    .border-\[\#C8A45D\]\/30 {
        border-color: oklab(73.6199% .011968 .098583/.3)
    }

    .bg-\[\#0A0A0A\] {
        background-color: #0a0a0a
    }

    .bg-\[\#C8A45D\]\/10 {
        background-color: oklab(73.6199% .011968 .098583/.1)
    }

    .bg-black\/80 {
        background-color: #000c
    }

    @supports (color:color-mix(in lab, red, red)) {
        .bg-black\/80 {
            background-color: color-mix(in oklab, var(--color-black) 80%, transparent)
        }
    }

    .bg-gradient-to-t {
        --tw-gradient-position: to top in oklab;
        background-image: linear-gradient(var(--tw-gradient-stops))
    }

    .from-black\/80 {
        --tw-gradient-from: #000c
    }

    @supports (color:color-mix(in lab, red, red)) {
        .from-black\/80 {
            --tw-gradient-from: color-mix(in oklab, var(--color-black) 80%, transparent)
        }
    }

    .from-black\/80 {
        --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))
    }

    .via-black\/30 {
        --tw-gradient-via: #0000004d
    }

    @supports (color:color-mix(in lab, red, red)) {
        .via-black\/30 {
            --tw-gradient-via: color-mix(in oklab, var(--color-black) 30%, transparent)
        }
    }

    .via-black\/30 {
        --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
        --tw-gradient-stops: var(--tw-gradient-via-stops)
    }

    .to-transparent {
        --tw-gradient-to: transparent;
        --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))
    }

    .object-cover {
        object-fit: cover
    }

    .px-4 {
        padding-inline: calc(var(--spacing) * 4)
    }

    .py-3 {
        padding-block: calc(var(--spacing) * 3)
    }

    .py-6 {
        padding-block: calc(var(--spacing) * 6)
    }

    .text-3xl {
        font-size: var(--text-3xl);
        line-height: var(--tw-leading, var(--text-3xl--line-height))
    }

    .text-4xl {
        font-size: var(--text-4xl);
        line-height: var(--tw-leading, var(--text-4xl--line-height))
    }

    .text-sm {
        font-size: var(--text-sm);
        line-height: var(--tw-leading, var(--text-sm--line-height))
    }

    .text-xs {
        font-size: var(--text-xs);
        line-height: var(--tw-leading, var(--text-xs--line-height))
    }

    .tracking-\[0\.2em\] {
        --tw-tracking: .2em;
        letter-spacing: .2em
    }

    .tracking-\[0\.18em\] {
        --tw-tracking: .18em;
        letter-spacing: .18em
    }

    .text-\[\#8A8A8A\] {
        color: #8a8a8a
    }

    .text-\[\#C8A45D\] {
        color: #c8a45d
    }

    .text-\[\#F5F5F5\] {
        color: #f5f5f5
    }

    .text-white {
        color: var(--color-white)
    }

    .text-white\/70 {
        color: #ffffffb3
    }

    @supports (color:color-mix(in lab, red, red)) {
        .text-white\/70 {
            color: color-mix(in oklab, var(--color-white) 70%, transparent)
        }
    }

    .uppercase {
        text-transform: uppercase
    }

    .backdrop-blur-xl {
        --tw-backdrop-blur: blur(var(--blur-xl));
        -webkit-backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
        backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, )
    }

    @media (min-width:40rem) {
        .sm\:col-span-2 {
            grid-column: span 2/span 2
        }

        .sm\:grid-cols-2 {
            grid-template-columns: repeat(2, minmax(0, 1fr))
        }

        .sm\:grid-cols-3 {
            grid-template-columns: repeat(3, minmax(0, 1fr))
        }

        .sm\:py-10 {
            padding-block: calc(var(--spacing) * 10)
        }
    }
}

:root {
    --color-bg: #050505;
    --color-bg-elevated: #0a0a0a;
    --color-surface: #121212eb;
    --color-surface-soft: #ffffff09;
    --color-surface-muted: #ffffff0f;
    --color-gold: #c8a45d;
    --color-gold-hover: #d7b76f;
    --color-gold-deep: #9f7a34;
    --color-gold-soft: #c8a45d24;
    --color-text: #f5f0e8;
    --color-text-strong: #fff;
    --color-muted: #f5f5f59e;
    --color-muted-soft: #f5f5f56b;
    --color-border: #ffffff12;
    --color-border-strong: #ffffff24;
    --color-card-border: transparent;
    --color-card-border-hover: transparent;
    --color-card-border-warm: transparent;
    --color-focus: #c8a45d47;
    --button-primary-bg: #f3e7c8;
    --button-primary-bg-hover: #fff1cd;
    --button-primary-bg-active: #e7d09b;
    --button-primary-text: #14100a;
    --button-primary-border: #d6a84f73;
    --button-primary-shadow: 0 8px 20px #0003;
    --button-secondary-bg: #ffffff04;
    --button-secondary-bg-hover: #d6a84f0b;
    --button-secondary-bg-active: #d6a84f11;
    --button-secondary-text: #f5ebdd;
    --button-secondary-text-hover: #f5ebdd;
    --button-secondary-border: #ffffff1f;
    --button-secondary-border-hover: #ffffff3d;
    --button-link-text: #d6a84f;
    --button-link-text-hover: #f1d38a;
    --action-primary-bg: var(--button-primary-bg);
    --action-primary-bg-hover: var(--button-primary-bg-hover);
    --action-primary-border: var(--button-primary-border);
    --action-primary-text: var(--button-primary-text);
    --action-primary-shadow: var(--button-primary-shadow);
    --action-secondary-bg: var(--button-secondary-bg);
    --action-secondary-bg-hover: var(--button-secondary-bg-hover);
    --action-secondary-border: var(--button-secondary-border);
    --action-secondary-border-hover: var(--button-secondary-border-hover);
    --action-secondary-text: var(--button-secondary-text);
    --action-secondary-text-hover: var(--button-secondary-text-hover);
    --action-ghost-text: var(--button-link-text);
    --action-disabled-opacity: .42;
    --bg-dark: var(--color-bg-elevated);
    --gold: var(--color-gold);
    --white: var(--color-text);
    --gray: var(--color-muted-soft);
    --font-primary: "Plus Jakarta Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --font-display: var(--font-primary);
    --font-body: var(--font-primary);
    --font-heading: var(--font-primary);
    --font-ui: var(--font-primary);
    --font-size-xs: 0.78rem;
    --font-size-sm: 0.95rem;
    --font-size-base: 1.06rem;
    --font-size-md: 1.14rem;
    --font-size-lg: clamp(1.7rem, 2.5vw, 2.45rem);
    --font-size-section: clamp(2.1rem, 4vw, 3.7rem);
    --font-size-display: clamp(4.8rem, 10vw, 9.2rem);
    --type-hero-kicker: clamp(1.02rem, 1.45vw, 1.35rem);
    --type-hero-title: clamp(2.35rem, 4vw, 3.45rem);
    --type-hero-copy: clamp(1.08rem, 1.42vw, 1.28rem);
    --type-section-eyebrow: clamp(0.76rem, 0.85vw, 0.84rem);
    --type-section-heading: clamp(2.15rem, 4vw, 3.7rem);
    --type-body: clamp(1.08rem, 1.18vw, 1.2rem);
    --type-card-title: clamp(1.45rem, 2vw, 1.85rem);
    --type-card-copy: clamp(0.98rem, 1.06vw, 1.08rem);
    --type-card-meta: clamp(0.8rem, 0.88vw, 0.9rem);
    --type-cta: 0.82rem;
    --type-nav: 0.82rem;
    --type-footer: 0.82rem;
    --line-tight: .95;
    --line-heading: 1.06;
    --line-body: 1.7;
    --tracking-label: .16em;
    --tracking-heading: .02em;
    --space-1: .25rem;
    --space-2: .5rem;
    --space-3: .75rem;
    --space-4: 1rem;
    --space-5: 1.25rem;
    --space-6: 1.5rem;
    --space-8: 2rem;
    --space-10: 2.5rem;
    --space-12: 3rem;
    --space-16: 4rem;
    --space-section: clamp(60px, 7.4vw, 112px);
    --space-section-compact: clamp(44px, 5vw, 76px);
    --space-section-mobile: 52px;
    --space-section-desktop: clamp(70px, 6.2vw, 104px);
    --space-header-gap: clamp(24px, 2.8vw, 40px);
    --space-content-gap: clamp(18px, 2.2vw, 30px);
    --space-card: clamp(20px, 2.4vw, 30px);
    --space-card-gap: clamp(18px, 2.2vw, 30px);
    --space-container: clamp(14px, 2.4vw, 36px);
    --radius-xs: 8px;
    --radius-sm: 10px;
    --radius-md: 16px;
    --radius-lg: 22px;
    --radius-xl: 30px;
    --radius-card: 20px;
    --radius-panel: 24px;
    --radius-modal: 30px;
    --radius-image: 18px;
    --radius-full: 999px;
    --shadow-soft: 0 18px 46px #00000042;
    --shadow-card: 0 24px 64px #00000057;
    --shadow-modal: 0 32px 90px #0000007a;
    --glow-gold-subtle: 0 0 32px #c8a45d14;
    --transition-fast: .18s ease;
    --transition-base: .28s ease;
    --transition-slow: .65s cubic-bezier(.2, .7, .2, 1);
    --container-wide: 1480px;
    --container-default: 1180px;
    --container-readable: 760px;
    --z-nav: 50;
    --z-modal: 100;
    --z-modal-raised: 105
}

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0
}

html {
    scroll-behavior: smooth
}

@view-transition {
    navigation: auto
}

::view-transition-old(root) {
    animation-duration: .42s;
    animation-timing-function: cubic-bezier(.2, .7, .2, 1)
}

::view-transition-new(root) {
    animation-duration: .42s;
    animation-timing-function: cubic-bezier(.2, .7, .2, 1)
}

::view-transition-old(root) {
    animation-name: pageFadeOut
}

::view-transition-new(root) {
    animation-name: pageFadeIn
}

body {
    min-height: 100vh;
    font-family: var(--font-body);
    font-size: var(--font-size-base);
    color: var(--color-text);
    background: radial-gradient(circle at 50% 0%, #c8a45d14, transparent 30%), var(--color-bg);
    text-rendering: geometricprecision;
    overflow-x: hidden
}

img,
video {
    max-width: 100%
}

button,
input,
select,
textarea {
    font: inherit
}

button,
a {
    -webkit-tap-highlight-color: transparent
}

a {
    color: inherit
}

:focus-visible {
    outline: 1px solid var(--color-gold);
    outline-offset: 4px;
    box-shadow: 0 0 0 4px var(--color-focus)
}

.hidden {
    display: none !important
}

.heading-font,
h1,
h2 {
    font-family: var(--font-heading);
    font-weight: 700
}

.display-heading {
    font-family: var(--font-heading);
    font-size: var(--font-size-display);
    letter-spacing: .12em;
    font-weight: 800;
    line-height: .9
}

.section-eyebrow,
.eyebrow,
.small-label {
    color: var(--color-gold);
    font-family: var(--font-ui);
    font-size: var(--type-section-eyebrow);
    letter-spacing: var(--tracking-label);
    text-transform: uppercase;
    font-weight: 700
}

.section-heading,
.section-title {
    font-family: var(--font-heading);
    color: var(--color-text-strong);
    font-size: var(--type-section-heading);
    line-height: var(--line-heading);
    font-weight: 800
}

.section-copy,
.body-copy,
.muted-copy {
    color: var(--color-muted);
    line-height: var(--line-body);
    font-size: var(--type-body);
    font-weight: 500
}

.small-label {
    color: var(--color-muted);
    font-size: var(--font-size-xs);
    display: inline-block
}

.lux-section,
.section {
    padding: var(--space-section) 0;
    position: relative;
    overflow: hidden
}

.section-compact {
    padding: var(--space-section-compact) 0;
    position: relative
}

.section-header {
    max-width: var(--container-readable);
    margin: 0 auto var(--space-header-gap);
    text-align: center
}

@keyframes modalIn {
    0% {
        opacity: 0;
        transform: translateY(16px)scale(.98)
    }

    to {
        opacity: 1;
        transform: translateY(0)scale(1)
    }
}

@keyframes pageFadeOut {
    to {
        opacity: 0;
        transform: translateY(-6px)
    }
}

@keyframes pageFadeIn {
    0% {
        opacity: 0;
        transform: translateY(8px)
    }
}

@media (prefers-reduced-motion:reduce) {
    html {
        scroll-behavior: auto
    }

    ::view-transition-old(root) {
        animation: none
    }

    ::view-transition-new(root) {
        animation: none
    }
}

.site-wrap,
.container {
    width: min(var(--container-wide), calc(100% - (var(--space-container) * 2)));
    margin: 0 auto
}

.container-narrow {
    width: min(var(--container-default), calc(100% - (var(--space-container) * 2)));
    margin: 0 auto
}

.split-layout,
.grid-2,
.grid-3,
.grid-4 {
    gap: clamp(18px, 3vw, 32px);
    display: grid
}

.split-layout,
.grid-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr))
}

.grid-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr))
}

.grid-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr))
}

.brand-nav {
    z-index: var(--z-nav);
    transition: background var(--transition-base), border-color var(--transition-base), backdrop-filter var(--transition-base);
    background: 0 0;
    border-bottom: 1px solid #0000;
    position: fixed;
    inset: 0 0 auto
}

.brand-nav.scrolled,
.brand-nav.menu-open {
    -webkit-backdrop-filter: blur(18px);
    backdrop-filter: blur(18px);
    background: #050505bd;
    border-bottom-color: #ffffff0f
}

.brand-nav .site-wrap,
.nav-inner {
    justify-content: space-between;
    align-items: center;
    gap: 28px;
    min-height: 62px;
    display: flex
}

.brand-logo {
    font-family: var(--font-heading);
    color: var(--color-text);
    letter-spacing: .18em;
    white-space: nowrap;
    font-size: 1.38rem;
    text-decoration: none
}

.desktop-nav {
    align-items: center;
    gap: clamp(16px, 2vw, 28px);
    display: flex
}

.desktop-nav a,
.desktop-nav button {
    color: #f5f5f5c7;
    letter-spacing: .09em;
    text-transform: uppercase;
    cursor: pointer;
    transition: color var(--transition-base), border-color var(--transition-base), background var(--transition-base);
    background: 0 0;
    border: 0;
    font-size: var(--type-nav);
    text-decoration: none
}

.desktop-nav a:hover,
.desktop-nav button:hover,
.desktop-nav .active,
.nav-link.active {
    color: var(--color-gold) !important
}

.nav-reserve {
    border-radius: var(--radius-full);
    padding: 9px 15px;
    font-weight: 800;
    box-shadow: 0 10px 24px #c8a45d24;
    border: 1px solid var(--action-primary-border) !important;
    background: var(--action-primary-bg) !important;
    color: var(--action-primary-text) !important
}

.nav-reserve:hover,
.nav-reserve:focus-visible {
    transform: translateY(-1px);
    background: var(--action-primary-bg-hover) !important;
    color: var(--action-primary-text) !important
}

.mobile-toggle {
    display: none;
    width: 42px;
    height: 42px;
    place-items: center;
    background: transparent;
    border: 0;
    border-radius: 0;
    color: rgba(245, 240, 232, 0.9);
    font-size: 1.25rem;
    line-height: 1;
}

.mobile-panel {
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-card);
    background: radial-gradient(circle at 100% 0, #c8a45d14, #0000 34%), #050505f7;
    margin: 0 14px 14px;
    padding: 16px 22px 24px;
    display: none
}

.mobile-panel a,
.mobile-panel button {
    color: #f5f5f5d1;
    text-align: left;
    text-transform: uppercase;
    letter-spacing: .12em;
    background: 0 0;
    border: 0;
    width: 100%;
    padding: 13px 0;
    font-size: .82rem;
    text-decoration: none;
    display: block
}

.mobile-panel-header,
.mobile-panel-links {
    display: none
}

.mobile-panel button:last-child {
    border: 1px solid var(--action-secondary-border);
    border-radius: var(--radius-md);
    color: var(--action-secondary-text);
    background: var(--action-secondary-bg);
    text-align: center;
    margin-top: 10px;
    padding: 13px 16px
}

.mobile-panel button.mobile-panel-close {
    width: 42px;
    height: 42px;
    min-height: 42px;
    margin-top: 0;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: rgba(245, 240, 232, 0.9);
    font-size: 1.25rem;
    line-height: 1;
    text-align: center;
    text-transform: none;
    letter-spacing: 0;
}

.mobile-action-bar,
.mobile-hero-actions,
.mobile-hero-copy,
.mobile-hero-meta,
.mobile-panel-actions {
    display: none
}

.clean-footer,
footer {
    background: var(--color-bg);
    padding: var(--space-8) 0;
    border-top: 0
}

.footer-layout {
    gap: var(--space-4);
    text-align: center;
    grid-template-columns: 1fr auto 1fr auto;
    align-items: center;
    display: grid
}

.footer-links {
    justify-content: center;
    gap: var(--space-6);
    display: flex
}

.footer-links a,
.footer-layout p,
footer p {
    color: #f5f5f58a;
    text-transform: uppercase;
    letter-spacing: .12em;
    font-size: .68rem;
    text-decoration: none
}

footer p {
    text-align: center;
    margin-top: 3px
}

.footer-contact {
    flex-direction: column;
    gap: 2px;
    display: flex
}

.footer-contact a,
.footer-contact span {
    color: #f5f5f58a;
    text-decoration: none
}

.footer-social {
    justify-content: flex-end;
    gap: 8px;
    display: flex
}

.footer-social a {
    width: 32px;
    height: 32px;
    color: var(--color-gold);
    transition: border-color var(--transition-base), transform var(--transition-base);
    border: 1px solid #ffffff1a;
    border-radius: 999px;
    justify-content: center;
    align-items: center;
    text-decoration: none;
    display: inline-flex
}

.footer-social a:hover {
    border-color: #c8a45d8c;
    transform: translateY(-2px)
}

.btn,
.btn-gold,
.btn-outline-gold,
.gold-fill,
.gold-line,
.minimal-submit {
    border-radius: var(--radius-md);
    min-height: 44px;
    font-family: var(--font-body);
    letter-spacing: .1em;
    text-transform: uppercase;
    cursor: pointer;
    box-shadow: none;
    touch-action: manipulation;
    transition: transform var(--transition-base), color var(--transition-base), background var(--transition-base), border-color var(--transition-base), box-shadow var(--transition-base), opacity var(--transition-base), filter var(--transition-base);
    border: 1px solid #0000;
    justify-content: center;
    align-items: center;
    gap: 10px;
    padding: 12px 20px;
    font-size: var(--type-cta);
    font-weight: 800;
    line-height: 1;
    text-decoration: none;
    display: inline-flex
}

.btn:hover,
.btn:focus-visible,
.btn-gold:hover,
.btn-gold:focus-visible,
.btn-outline-gold:hover,
.btn-outline-gold:focus-visible,
.gold-fill:hover,
.gold-fill:focus-visible,
.gold-line:hover,
.gold-line:focus-visible,
.minimal-submit:hover,
.minimal-submit:focus-visible {
    transform: translateY(-2px)
}

.btn:active,
.btn-gold:active,
.btn-outline-gold:active,
.gold-fill:active,
.gold-line:active,
.minimal-submit:active {
    transform: translateY(0)scale(.98)
}

.btn-primary,
.btn-gold,
.gold-fill,
.minimal-submit {
    border-color: var(--action-primary-border);
    background: var(--action-primary-bg);
    color: var(--action-primary-text);
    box-shadow: var(--action-primary-shadow)
}

.btn-primary:hover,
.btn-primary:focus-visible,
.btn-gold:hover,
.btn-gold:focus-visible,
.gold-fill:hover,
.gold-fill:focus-visible,
.minimal-submit:hover,
.minimal-submit:focus-visible {
    background: var(--action-primary-bg-hover);
    filter: none;
    box-shadow: 0 10px 24px #0000003d
}

.btn-secondary,
.btn-outline-gold,
.gold-line {
    border-color: var(--action-secondary-border);
    background: var(--action-secondary-bg);
    color: var(--action-secondary-text)
}

.btn-secondary:hover,
.btn-secondary:focus-visible,
.btn-outline-gold:hover,
.btn-outline-gold:focus-visible,
.gold-line:hover,
.gold-line:focus-visible {
    border-color: var(--action-secondary-border-hover);
    background: var(--action-secondary-bg-hover);
    color: var(--action-secondary-text-hover);
    box-shadow: 0 12px 30px #0003
}

.btn-secondary:active,
.btn-outline-gold:active,
.gold-line:active {
    background: var(--button-secondary-bg-active)
}

.btn-ghost {
    min-height: auto;
    color: var(--action-ghost-text);
    box-shadow: none;
    background: 0 0;
    border: 0;
    padding: 0
}

.btn-icon {
    border-radius: var(--radius-full);
    width: 42px;
    height: 42px;
    padding: 0
}

.btn:disabled,
.btn-gold:disabled,
.btn-outline-gold:disabled,
.gold-fill:disabled,
.gold-line:disabled,
.minimal-submit:disabled,
button:disabled {
    opacity: var(--action-disabled-opacity);
    cursor: not-allowed;
    filter: saturate(.72);
    box-shadow: none;
    transform: none
}

.btn:disabled:hover,
.btn-gold:disabled:hover,
.btn-outline-gold:disabled:hover,
.gold-fill:disabled:hover,
.gold-line:disabled:hover,
.minimal-submit:disabled:hover,
button:disabled:hover {
    transform: none
}

.hero-actions {
    flex-wrap: wrap;
    justify-content: center;
    gap: 16px;
    margin-top: 26px;
    display: flex
}

.hero-actions button,
.hero-actions a {
    min-width: 150px
}

.action-row {
    flex-wrap: wrap;
    align-items: center;
    gap: 14px;
    display: flex
}

.action-pill {
    border-radius: var(--radius-full);
    white-space: nowrap;
    min-height: 54px;
    padding-inline: 26px
}

.field,
input:not([type=file]),
select,
textarea {
    border-radius: var(--radius-md);
    width: 100%;
    color: var(--color-text);
    transition: border-color var(--transition-base), box-shadow var(--transition-base), background var(--transition-base);
    background: #0000006b;
    border: 1px solid #ffffff1a;
    outline: none;
    padding: 14px 16px
}

.field:focus,
input:not([type=file]):focus,
select:focus,
textarea:focus {
    background: #0000009e;
    border-color: #c8a45de6;
    box-shadow: 0 0 0 4px #c8a45d1a
}

input[type=file] {
    color: var(--color-muted)
}

input[type=file]::file-selector-button {
    border-radius: var(--radius-sm);
    background: var(--color-gold);
    color: var(--color-bg);
    cursor: pointer;
    transition: background var(--transition-fast);
    border: 0;
    margin-right: 12px;
    padding: 8px 16px;
    font-weight: 600
}

input[type=file]::file-selector-button:hover {
    background: var(--color-gold-hover)
}

.surface-card,
.feature-card,
.dish-card,
.contact-card,
.premium-card,
.minimal-panel {
    border: 1px solid var(--color-card-border);
    border-radius: var(--radius-card);
    box-shadow: var(--shadow-soft);
    background: linear-gradient(145deg, #ffffff0d, #ffffff05)
}

.feature-card,
.premium-card {
    box-shadow: var(--shadow-card);
    transition: transform var(--transition-base), border-color var(--transition-base), box-shadow var(--transition-base);
    background: linear-gradient(145deg, #151515, #090909)
}

.feature-card:hover,
.premium-card:hover {
    border-color: var(--color-card-border-hover);
    box-shadow: var(--shadow-card), var(--glow-gold-subtle);
    transform: translateY(-5px)
}

.glass-panel {
    border: 1px solid var(--color-card-border);
    border-radius: var(--radius-panel);
    box-shadow: var(--shadow-card);
    -webkit-backdrop-filter: blur(18px);
    backdrop-filter: blur(18px);
    background: linear-gradient(145deg, #ffffff12, #ffffff06), #111111c2
}

.media-card,
.image-frame,
.image-frame-wide {
    border: 1px solid var(--color-card-border);
    border-radius: var(--radius-image);
    background: #111;
    overflow: hidden
}

.image-frame-wide img,
.media-card img,
.media-card video {
    object-fit: cover;
    width: 100%;
    height: 100%;
    display: block
}

.image-overlay {
    pointer-events: none;
    background: linear-gradient(#0000, #000000ad);
    position: absolute;
    inset: 0
}

.menu-scroll::-webkit-scrollbar {
    width: 4px
}

.menu-scroll::-webkit-scrollbar-track {
    background: #1a1a1a
}

.menu-scroll::-webkit-scrollbar-thumb {
    background: var(--color-gold);
    border-radius: var(--radius-full)
}

.stat-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    max-width: 520px;
    display: grid
}

.menu-strip-intro {
    border-right: 1px solid #ffffff12;
    padding: 24px 28px 22px 0
}

.menu-strip-intro h2 {
    font-family: var(--font-heading);
    color: var(--color-text-strong);
    font-size: var(--font-size-lg);
    margin-top: 10px;
    font-weight: 500;
    line-height: 1.05
}

.menu-title-rule {
    width: 280px;
    color: var(--color-gold);
    align-items: center;
    gap: 14px;
    margin-top: 32px;
    display: flex
}

.menu-title-rule:before,
.menu-title-rule:after {
    content: "";
    background: #ffffff1f;
    flex: 1;
    height: 1px
}

.menu-title-rule i {
    font-size: .8rem
}

.job-grid {
    grid-template-columns: 1fr 1fr;
    gap: 18px;
    display: grid
}

.minimal-label {
    color: #f5f5f5d1;
    margin-bottom: 9px;
    font-size: .82rem;
    display: block
}

.hero-title {
    font-size: clamp(3.5rem, 6vw, 5.8rem);
    line-height: .95
}

.hero-image {
    min-height: clamp(420px, 45vw, 560px)
}

.gallery-item {
    transition: transform var(--transition-base), opacity var(--transition-base);
    cursor: pointer
}

.gallery-item:hover {
    transform: scale(1.02)
}

.page-hero {
    --page-hero-image: url(https://firebasestorage.googleapis.com/v0/b/laams-server.appspot.com/o/drive%2Forgs%2FBHIx9BPAsyeNhylNfkxN%2Fcommon%2Fideas%2FG1J7tjdppiJi3vSd4VHr%2FTjUrheeEknEy4gkGQQfj.webp?alt=media&token=5235d7dc-2d14-4134-82c0-6774b2b10cd7);
    --page-hero-position: center center;
    background-color: var(--color-bg);
    min-height: 100svh;
    color: var(--color-text);
    border-bottom: 0;
    align-items: center;
    display: flex;
    position: relative;
    overflow: hidden
}

.page-hero:before {
    content: "";
    z-index: 0;
    background: linear-gradient(180deg, #00000014, #050505bd 100%), linear-gradient(90deg, #000000d1 0%, #00000094 34%, #0000002e 64%, #0000006b 100%), var(--page-hero-image) var(--page-hero-position) / cover no-repeat;
    opacity: .9;
    pointer-events: none;
    animation: 1.6s forwards careersHeroImageIn;
    position: absolute;
    inset: 0;
    transform: scale(1.035)
}

.page-hero:after {
    content: "";
    z-index: 0;
    pointer-events: none;
    background: linear-gradient(#05050500, #050505e6);
    height: min(18vh, 160px);
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0
}

.page-hero--home {
    --page-hero-image: url(https://firebasestorage.googleapis.com/v0/b/laams-server.appspot.com/o/drive%2Forgs%2FBHIx9BPAsyeNhylNfkxN%2Fcommon%2Fideas%2FG1J7tjdppiJi3vSd4VHr%2FTjUrheeEknEy4gkGQQfj.webp?alt=media&token=5235d7dc-2d14-4134-82c0-6774b2b10cd7);
    --page-hero-position: center center
}

.page-hero--home:before {
    background: linear-gradient(180deg, #00000005, #05050561 78%, #05050599 100%), linear-gradient(90deg, #000000c7 0%, #00000080 35%, #0000001f 70%, #0003 100%), var(--page-hero-image) var(--page-hero-position) / cover no-repeat
}

.page-hero--home:after {
    content: "";
    z-index: 0;
    pointer-events: none;
    background: linear-gradient(#05050500, #050505f5);
    height: min(22vh, 190px);
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0
}

.page-hero--home .page-hero__content {
    text-align: center;
    margin-top: clamp(10px, 3.5vh, 34px);
    margin-inline: auto
}

.page-hero--home .page-hero__kicker {
    color: var(--color-gold)
}

.page-hero--home .page-hero__statement,
.page-hero--home .home-hero-copy {
    margin-inline: auto
}

.page-hero--home .page-hero__statement {
    color: var(--color-text-strong)
}

.page-hero--gallery {
    --page-hero-image: url(https://firebasestorage.googleapis.com/v0/b/laams-server.appspot.com/o/drive%2Forgs%2FBHIx9BPAsyeNhylNfkxN%2Fcommon%2Fideas%2FG1J7tjdppiJi3vSd4VHr%2FJIT8Smc7ejZvtHt4fXRt.webp?alt=media&token=884123ee-cde1-4ae4-86f6-b2b3604bca5d);
    --page-hero-position: 68% center
}

.page-hero--gallery:before {
    background: linear-gradient(180deg, #00000014, #0505059e 100%), linear-gradient(90deg, #000000d1 0%, #0000008a 38%, #0000001a 72%, #00000042 100%), var(--page-hero-image) var(--page-hero-position) / cover no-repeat
}

.page-hero--gallery .page-hero__content {
    max-width: 600px
}

.page-hero--gallery .page-hero__statement {
    max-width: 560px
}

.page-hero--gallery .page-hero__text {
    color: #f5f5f5b8;
    max-width: 520px;
    margin-top: 16px
}

.page-hero--about {
    --page-hero-image: url(https://firebasestorage.googleapis.com/v0/b/laams-server.appspot.com/o/drive%2Forgs%2FBHIx9BPAsyeNhylNfkxN%2Fcommon%2Fideas%2FG1J7tjdppiJi3vSd4VHr%2FGXFEwRmiz7sJTxU6k9wA.webp?alt=media&token=237e3e36-3c54-4193-a64a-64800dca5d3a);
    --page-hero-position: 66% center
}

.page-hero--about:before {
    background: linear-gradient(180deg, #00000014, #0505059e 100%), linear-gradient(90deg, #000000d1 0%, #0000008f 38%, #0000001f 72%, #0000004d 100%), var(--page-hero-image) var(--page-hero-position) / cover no-repeat
}

.page-hero--about .page-hero__content {
    max-width: 640px
}

.page-hero--about .page-hero__statement {
    max-width: 620px
}

.page-hero--about .page-hero__text {
    color: #f5f5f5b8;
    max-width: 560px;
    margin-top: 16px
}

.page-hero__inner {
    z-index: 1;
    min-height: inherit;
    align-items: center;
    padding-block: clamp(118px, 14vh, 168px) clamp(72px, 10vh, 118px);
    display: flex;
    position: relative
}

.page-hero__content {
    text-align: left;
    width: min(100%, 620px);
    margin-top: calc(-1*clamp(46px, 10vh, 88px))
}

.page-hero__eyebrow,
.page-hero__title,
.page-hero__text,
.page-hero__kicker,
.page-hero__statement,
.page-hero__info,
.page-hero__actions {
    opacity: 0;
    animation: .98s cubic-bezier(.2, .7, .2, 1) forwards heroContentIn;
    transform: translateY(14px)
}

.page-hero__eyebrow {
    color: var(--color-gold);
    letter-spacing: .18em;
    text-transform: uppercase;
    font-size: .72rem;
    font-weight: 700
}

.page-hero__title {
    font-family: var(--font-heading);
    letter-spacing: .095em;
    color: #f8f2e8;
    text-shadow: 0 0 16px #c8a45d3d, 0 14px 44px #000000db;
    margin-top: 18px;
    font-size: clamp(4rem, 7.6vw, 7.9rem);
    font-weight: 500;
    line-height: .88
}

.page-hero__text {
    color: #f5f5f5d1;
    letter-spacing: .025em;
    max-width: 610px;
    margin-top: 18px;
    font-size: clamp(.98rem, 1.3vw, 1.14rem);
    font-weight: 300;
    line-height: 1.72
}

.page-hero__kicker {
    color: #f8f2e8e6;
    font-family: var(--font-heading);
    letter-spacing: .04em;
    text-shadow: 0 10px 28px #000000c7;
    font-size: clamp(1.1rem, 1.45vw, 1.35rem);
    font-weight: 500;
    line-height: 1.35
}

.page-hero__statement {
    max-width: 520px;
    color: var(--color-gold);
    font-family: var(--font-heading);
    letter-spacing: .015em;
    text-shadow: 0 0 14px #c8a45d21, 0 16px 46px #000000d1;
    margin-top: 10px;
    font-size: clamp(2.4rem, 3.8vw, 3.4rem);
    font-weight: 500;
    line-height: 1.02
}

.page-hero__info {
    opacity: .92;
    border-top: 1px solid #c8a45d29;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(12px, 1.7vw, 18px);
    max-width: 580px;
    margin-top: clamp(20px, 2.6vw, 28px);
    padding-top: 13px;
    display: grid
}

.page-hero__info-item {
    gap: 4px;
    display: grid
}

.page-hero__info-label {
    color: #c8a45dc7;
    letter-spacing: .15em;
    text-transform: uppercase;
    font-size: .6rem;
    font-weight: 800;
    line-height: 1.2
}

.page-hero__info-value {
    color: #f5f5f5a3;
    font-size: .76rem;
    font-weight: 400;
    line-height: 1.4
}

.page-hero--home .page-hero__info-label {
    color: #c8a45d9e
}

.page-hero--home .page-hero__info-value {
    color: #f5f5f585
}

.page-hero__actions {
    justify-content: flex-start;
    margin-top: 30px
}

.page-hero__title {
    animation-delay: .17s
}

.page-hero__text {
    animation-delay: .32s
}

.page-hero__kicker {
    animation-delay: 0s
}

.page-hero__statement {
    animation-delay: .17s
}

.page-hero__info {
    animation-delay: .32s
}

.page-hero__actions {
    animation-delay: .47s
}

@keyframes heroContentIn {
    to {
        opacity: 1;
        transform: translateY(0)
    }
}

@media (prefers-reduced-motion:reduce) {

    .page-hero:before,
    .page-hero__eyebrow,
    .page-hero__title,
    .page-hero__text,
    .page-hero__kicker,
    .page-hero__statement,
    .page-hero__info,
    .page-hero__actions {
        opacity: 1;
        animation: none;
        transform: none
    }
}

.minimal-section {
    padding: var(--space-section-compact) 0;
    border-top: 1px solid var(--color-border);
    background: #050505f0
}

#home+.minimal-section {
    border-top: 0
}

.home-hero-copy {
    color: #f5f5f5b8;
    max-width: 520px;
    margin-top: 14px;
    font-size: clamp(.95rem, 1.3vw, 1.08rem);
    line-height: 1.65;
    display: block
}

.home-hero-actions {
    margin-inline: auto;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin-top: 18px;
    display: flex
}

.home-hero-actions a,
.home-hero-actions button {
    min-height: 44px;
    color: var(--color-gold);
    text-transform: uppercase;
    letter-spacing: .1em;
    transition: transform var(--transition-base), border-color var(--transition-base), background var(--transition-base);
    background: #00000038;
    border: 1px solid #c8a45d5c;
    border-radius: 14px;
    justify-content: center;
    align-items: center;
    padding: 0 20px;
    font-size: .7rem;
    font-weight: 800;
    text-decoration: none;
    display: inline-flex
}

.home-hero-actions a:hover,
.home-hero-actions button:hover {
    background: #c8a45d14;
    border-color: #c8a45db3;
    transform: translateY(-2px)
}

.home-hero-meta {
    color: #f5f5f594;
    max-width: 520px;
    margin-top: 14px;
    font-size: .78rem;
    line-height: 1.5;
    display: block
}

.home-hero-meta a {
    color: #f5f5f5b8;
    text-decoration: none
}

.home-section {
    border-top: 1px solid var(--color-border);
    background: #050505f0;
    padding: clamp(44px, 7vw, 88px) 0
}

.home-featured-menu {
    position: relative;
    overflow: hidden;
    --featured-menu-bg: #f6f0e6;
    --featured-menu-text: #17120c;
    --featured-menu-muted: #5e5142;
    --featured-menu-gold: var(--color-gold);
    padding-block: clamp(52px, 7.2vw, 94px);
    border-top: 0;
    background: var(--featured-menu-bg);
    color: var(--featured-menu-text);
}

.featured-menu-heading {
    max-width: 980px;
    margin-inline: auto;
    text-align: center;
}

.featured-menu-heading .section-title {
    margin: 0;
    color: var(--featured-menu-text);
    font-size: clamp(2rem, 3vw, 3rem);
    line-height: 1.04;
    white-space: nowrap;
}

.featured-menu-editorial {
    display: grid;
    gap: clamp(34px, 5.2vw, 66px);
    width: min(1180px, 100%);
    margin-top: clamp(34px, 5vw, 70px);
    margin-inline: auto;
}

.featured-menu-item {
    display: grid;
    grid-template-columns: minmax(300px, .92fr) minmax(0, 1.08fr);
    align-items: center;
    gap: clamp(32px, 5vw, 70px);
}

.featured-menu-item--reverse {
    grid-template-columns: minmax(0, 1.08fr) minmax(300px, .92fr);
}

.featured-menu-item--reverse .featured-menu-item__copy {
    order: 2;
}

.featured-menu-item--reverse .featured-menu-item__media {
    order: 1;
}

.featured-menu-item__copy {
    width: min(100%, 420px);
    justify-self: center;
}

.featured-menu-item__number {
    display: inline-flex;
    align-items: center;
    gap: var(--space-3);
    color: var(--featured-menu-gold);
    font-family: var(--font-body);
    font-size: var(--type-card-meta);
    font-weight: 850;
    line-height: 1;
    letter-spacing: .12em;
}

.featured-menu-item__number::after {
    content: "";
    width: clamp(34px, 4vw, 54px);
    height: 1px;
    background: rgba(159, 122, 52, .52);
}

.featured-menu-item h3 {
    margin-top: var(--space-3);
    color: var(--featured-menu-text);
    font-family: var(--font-heading);
    font-size: var(--type-card-title);
    font-weight: 500;
    line-height: var(--line-heading);
    letter-spacing: 0;
}

.featured-menu-item p {
    max-width: 390px;
    margin-top: var(--space-2);
    color: var(--featured-menu-muted);
    font-size: var(--type-body);
    line-height: var(--line-body);
}

.featured-menu-item a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: fit-content;
    margin-top: var(--space-4);
    border: 0;
    background: transparent;
    color: #9f6d12;
    font-family: var(--font-body);
    font-size: var(--type-cta);
    font-weight: 800;
    line-height: 1;
    letter-spacing: .08em;
    text-decoration: none;
    text-transform: uppercase;
    transition: color var(--transition-base), transform var(--transition-base);
}

.featured-menu-item a:hover,
.featured-menu-item a:focus-visible {
    color: var(--featured-menu-text);
    transform: translateX(2px);
}

.featured-menu-item__media {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
}

.featured-menu-item__media img {
    width: min(100%, clamp(380px, 42vw, 620px));
    max-height: clamp(300px, 36vw, 500px);
    display: block;
    object-fit: contain;
    border-radius: clamp(28px, 5vw, 76px);
    background: transparent;
    filter: saturate(1.03) contrast(1.02) drop-shadow(0 10px 18px rgba(23, 18, 12, .08));
}

.home-featured-menu>.site-wrap {
    z-index: 1;
    position: relative
}

/* .home-promotions {
    background: linear-gradient(#080808fa, #030303f0)
} */

.page-hero+.mobile-action-bar+.home-section {
    border-top: 0
}

.contact-panel-section {
    padding: var(--space-4) 0 var(--space-section-compact)
}

.contact-panel-grid {
    gap: var(--space-8);
    grid-template-columns: minmax(0, .98fr) minmax(0, 1.02fr);
    align-items: start;
    display: grid
}

.contact-request-card {
    border: 1px solid var(--color-border-strong);
    border-radius: var(--radius-md);
    background: linear-gradient(145deg, #ffffff0b, #ffffff04), var(--color-bg-elevated);
    box-shadow: var(--shadow-card);
    padding: clamp(var(--space-4), 1.6vw, var(--space-6));
    position: relative
}

.contact-info-panel {
    padding: clamp(10px, 1.2vw, 18px) 0;
    position: relative
}

.contact-request-card:before {
    content: "";
    border-radius: calc(var(--radius-md) - 2px);
    pointer-events: none;
    border: 1px solid #c8a45d1c;
    position: absolute;
    inset: 8px
}

.contact-card-head {
    margin-bottom: var(--space-3)
}

.contact-card-head h1,
.contact-info-head h2,
.contact-confirmation h2 {
    margin-top: var(--space-2);
    color: var(--color-text-strong);
    font-family: var(--font-heading);
    font-size: clamp(2.15rem, 3.4vw, 3.25rem);
    font-weight: 500;
    line-height: var(--line-heading)
}

.contact-info-head h2 {
    font-size: clamp(2rem, 3vw, 2.9rem)
}

.contact-card-head p:not(.eyebrow),
.contact-info-head p,
.contact-confirmation>p:not(.eyebrow) {
    max-width: 620px;
    margin-top: var(--space-2);
    color: var(--color-muted);
    font-size: var(--type-card-copy);
    line-height: 1.55
}

.contact-request-form {
    gap: var(--space-2);
    display: grid
}

.contact-field label,
.contact-method-field legend {
    margin-bottom: var(--space-1);
    color: #f5f5f5c7;
    font-size: var(--type-card-meta);
    font-weight: 700;
    display: block
}

.contact-field label span {
    color: var(--color-muted-soft);
    font-weight: 600
}

.contact-field input,
.contact-field select,
.contact-field textarea {
    border-radius: var(--radius-sm);
    padding: var(--space-2) var(--space-3);
    background: linear-gradient(145deg, #ffffff09, #ffffff03), #00000057;
    border-color: #c8a45d38
}

.contact-field select {
    appearance: auto
}

.contact-field textarea {
    min-height: calc(var(--space-16) + var(--space-2));
    resize: vertical
}

.contact-field-error {
    margin-top: var(--space-1);
    color: #e6b47b;
    font-size: var(--font-size-xs);
    line-height: 1.35
}

.contact-field-error:empty {
    display: none
}

.contact-field.has-error input,
.contact-field.has-error select,
.contact-field.has-error textarea,
.contact-method-field.has-error .contact-method-options {
    border-color: #e6b47bbf;
    box-shadow: 0 0 0 3px #e6b47b17
}

.contact-method-field {
    border: 0;
    min-width: 0
}

.contact-method-options {
    gap: var(--space-3);
    border-radius: var(--radius-sm);
    grid-template-columns: repeat(3, minmax(0, 1fr));
    display: grid
}

.contact-method-pill {
    cursor: pointer
}

.contact-method-pill input {
    opacity: 0;
    pointer-events: none;
    position: absolute
}

.contact-method-pill span {
    justify-content: center;
    align-items: center;
    gap: var(--space-2);
    border-radius: var(--radius-sm);
    color: #f5f5f5c7;
    width: 100%;
    min-height: 38px;
    font-size: var(--font-size-sm);
    transition: border-color var(--transition-base), background var(--transition-base), color var(--transition-base), transform var(--transition-base);
    background: #00000038;
    border: 1px solid #c8a45d40;
    font-weight: 700;
    display: inline-flex
}

.contact-method-pill input:checked+span {
    color: var(--color-text-strong);
    background: #c8a45d1a;
    border-color: #c8a45dbd
}

.contact-method-pill span i {
    color: var(--color-gold)
}

.contact-submit {
    width: 100%;
    margin-top: var(--space-1)
}

@media (min-width:901px) {
    .contact-request-form {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }

    .contact-method-field,
    .contact-field--message,
    .contact-submit {
        grid-column: 1/-1
    }
}

.contact-confirmation[hidden] {
    display: none
}

.contact-confirmation {
    z-index: 1;
    gap: var(--space-5);
    align-content: center;
    min-height: 100%;
    padding: clamp(10px, 1.4vw, 18px);
    display: grid;
    position: relative
}

.reservation-page-main {
    color-scheme: dark;
    min-height: 100vh;
    padding-top: calc(62px + var(--space-4))
}

.reservation-page-section {
    padding: var(--space-5) 0 var(--space-section-compact)
}

.reservation-page-shell {
    width: min(820px, 100%);
    margin: 0 auto;
    padding: 0
}

.reservation-page-head {
    max-width: 620px;
    margin: 0 auto var(--space-4);
    text-align: center
}

.reservation-page-head h1,
.reservation-page-confirmation h2 {
    margin-top: var(--space-2);
    color: var(--color-text-strong);
    font-family: var(--font-heading);
    font-size: clamp(1.8rem, 2.4vw, 2.45rem);
    font-weight: 700;
    line-height: var(--line-heading)
}

.reservation-page-head p:not(.eyebrow),
.reservation-page-confirmation p:not(.eyebrow) {
    margin-top: var(--space-2);
    color: var(--color-muted);
    font-size: var(--font-size-sm);
    line-height: 1.55
}

.reservation-page-form {
    gap: var(--space-3) var(--space-4);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    display: grid
}

.reservation-page-field {
    gap: var(--space-1);
    display: grid
}

.reservation-page-field--full,
.reservation-page-actions {
    grid-column: 1/-1
}

.reservation-page-field label {
    color: var(--color-text);
    font-size: var(--font-size-xs);
    letter-spacing: var(--tracking-label);
    text-transform: uppercase;
    font-weight: 800
}

.reservation-page-field label span {
    color: var(--color-muted-soft);
    font-weight: 700
}

.reservation-page-field input,
.reservation-page-field select,
.reservation-page-field textarea {
    background: #0000005c;
    border-color: #ffffff17;
    padding: 11px 14px
}

.reservation-page-field select {
    appearance: none;
    padding-right: var(--space-10);
    background: linear-gradient(45deg, #0000 50%, #c8a45d8f 50%) calc(100% - 18px)/6px 6px no-repeat, linear-gradient(135deg, #c8a45d8f 50%, #0000 50%) calc(100% - 14px)/6px 6px no-repeat, #0000005c
}

.reservation-page-field select option {
    background: var(--color-bg-elevated);
    color: var(--color-text)
}

.reservation-page-field select option:checked {
    color: var(--color-text-strong);
    background: #c8a45d2e
}

.reservation-page-field input:focus,
.reservation-page-field select:focus,
.reservation-page-field textarea:focus {
    background-color: #0000007a;
    border-color: #c8a45d3d;
    box-shadow: 0 0 0 3px #c8a45d09
}

.reservation-page-field select:focus,
.reservation-page-field textarea:focus {
    border-color: #c8a45d33;
    box-shadow: 0 0 0 2px #c8a45d07
}

.reservation-page-field select:focus {
    background: linear-gradient(45deg, #0000 50%, #c8a45d80 50%) calc(100% - 18px)/6px 6px no-repeat, linear-gradient(135deg, #c8a45d80 50%, #0000 50%) calc(100% - 14px)/6px 6px no-repeat, #0000007a
}

.reservation-page-field textarea {
    resize: vertical;
    min-height: 92px
}

.reservation-page-error {
    min-height: .9em;
    color: var(--color-gold-hover);
    font-size: var(--font-size-xs);
    line-height: 1
}

.reservation-page-field.has-error input,
.reservation-page-field.has-error select,
.reservation-page-field.has-error textarea {
    border-color: #c8a45d6b;
    box-shadow: 0 0 0 3px #c8a45d0e
}

.reservation-page-actions {
    padding-top: var(--space-1);
    justify-content: center;
    display: flex
}

.reservation-page-actions .btn-gold {
    min-width: min(100%, 260px)
}

.reservation-page-confirmation {
    width: min(520px, 100%);
    padding: var(--space-5) 0 var(--space-2);
    justify-items: center;
    gap: var(--space-4);
    text-align: center;
    margin: 0 auto;
    display: grid
}

.reservation-page-confirmation__icon {
    border-radius: var(--radius-full);
    width: 76px;
    height: 76px;
    color: var(--color-bg);
    background: var(--color-gold);
    place-items: center;
    font-size: 1.8rem;
    display: grid;
    box-shadow: 0 0 0 16px #c8a45d17
}

.reservation-page-summary {
    gap: var(--space-3);
    width: 100%;
    padding: var(--space-5);
    border: 1px solid var(--color-card-border);
    border-radius: var(--radius-panel);
    background: #ffffff09;
    display: grid
}

.reservation-page-summary div {
    justify-content: space-between;
    gap: var(--space-4);
    color: var(--color-muted);
    font-size: var(--font-size-sm);
    line-height: 1.35;
    display: flex
}

.reservation-page-summary dt {
    color: var(--color-muted);
    font-weight: 600
}

.reservation-page-summary dd {
    color: var(--color-text-strong);
    text-align: right;
    font-weight: 700
}

.reservation-page-home-link {
    border-radius: var(--radius-full);
    width: min(100%, 360px);
    min-height: 54px
}

@media (max-width:700px) {
    .reservation-page-main {
        padding-top: calc(58px + var(--space-5))
    }

    .reservation-page-section {
        padding: var(--space-5) 0 calc(var(--space-8) + 72px)
    }

    .reservation-page-shell {
        padding: 0
    }

    .reservation-page-form {
        gap: var(--space-3);
        grid-template-columns: 1fr
    }

    .reservation-page-head {
        margin-bottom: var(--space-5)
    }

    .reservation-page-actions {
        justify-content: stretch
    }

    .reservation-page-actions .btn-gold {
        width: 100%
    }

    .reservation-page-summary {
        padding: var(--space-4)
    }

    .reservation-page-summary div {
        gap: var(--space-3)
    }
}

.contact-confirmation-summary {
    gap: var(--space-2);
    padding: var(--space-4);
    border-radius: var(--radius-sm);
    background: #0003;
    border: 1px solid #c8a45d33;
    display: grid
}

.contact-confirmation-summary div {
    gap: var(--space-3);
    padding-bottom: var(--space-2);
    border-bottom: 1px solid #c8a45d1f;
    grid-template-columns: .8fr 1.2fr;
    display: grid
}

.contact-confirmation-summary div:last-child {
    border-bottom: 0;
    padding-bottom: 0
}

.contact-confirmation-summary dt {
    color: var(--color-gold);
    font-size: var(--type-card-meta);
    letter-spacing: var(--tracking-label);
    text-transform: uppercase;
    font-weight: 800
}

.contact-confirmation-summary dd {
    color: var(--color-text);
    font-size: var(--type-card-copy);
    line-height: 1.45
}

.contact-confirmation-actions {
    gap: var(--space-3);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    display: grid
}

.contact-info-panel>* {
    z-index: 1;
    position: relative
}

.contact-info-layout {
    gap: var(--space-6);
    margin-top: var(--space-3);
    grid-template-columns: minmax(0, 1fr) minmax(130px, .34fr);
    align-items: center;
    display: grid
}

.contact-info-list {
    display: grid
}

.contact-info-row {
    gap: var(--space-4);
    padding: var(--space-1) 0;
    border-bottom: 1px solid #c8a45d26;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    text-decoration: none;
    display: grid
}

.contact-info-row:first-child {
    padding-top: 0
}

.contact-info-icon {
    border-radius: var(--radius-full);
    width: 38px;
    height: 38px;
    color: var(--color-gold);
    background: #c8a45d0f;
    border: 1px solid #c8a45d7a;
    justify-content: center;
    align-items: center;
    display: inline-flex
}

.contact-info-row strong {
    color: var(--color-text-strong);
    font-family: var(--font-heading);
    letter-spacing: .08em;
    text-transform: uppercase;
    font-size: 1.02rem;
    display: block
}

.contact-info-row em {
    margin-top: var(--space-1);
    color: #f5f5f5b3;
    font-style: normal;
    line-height: 1.45;
    display: block
}

.contact-social-block {
    gap: var(--space-4);
    padding-left: var(--space-6);
    border-left: 1px solid #c8a45d2b;
    display: grid
}

.contact-social-block p {
    color: #f5f5f5c2;
    font-size: var(--type-card-meta);
    letter-spacing: var(--tracking-label);
    text-transform: uppercase;
    font-weight: 800
}

.contact-social-block div {
    gap: var(--space-6);
    display: flex
}

.contact-social-block a {
    color: var(--color-gold);
    transition: color var(--transition-base), transform var(--transition-base);
    font-size: 1.55rem;
    text-decoration: none
}

.contact-social-block a:hover,
.contact-social-block a:focus-visible {
    color: var(--color-gold-hover);
    transform: translateY(-2px)
}

.contact-action-row {
    gap: var(--space-3);
    margin-top: var(--space-3);
    grid-template-columns: repeat(3, minmax(0, 1fr));
    display: grid
}

.contact-action-button {
    justify-content: center;
    align-items: center;
    gap: var(--space-2);
    border-radius: var(--radius-sm);
    min-height: 44px;
    color: var(--color-gold);
    letter-spacing: .13em;
    text-align: center;
    text-transform: uppercase;
    transition: border-color var(--transition-base), background var(--transition-base), transform var(--transition-base);
    background: #0000002e;
    border: 1px solid #c8a45d7a;
    font-size: .68rem;
    font-weight: 800;
    text-decoration: none;
    display: inline-flex
}

.contact-action-button:hover,
.contact-action-button:focus-visible {
    background: #c8a45d14;
    border-color: #c8a45db8;
    transform: translateY(-2px)
}

.contact-map-card {
    gap: var(--space-4);
    margin-top: var(--space-2);
    border-radius: var(--radius-md);
    background: #00000047;
    border: 1px solid #c8a45d45;
    grid-template-columns: minmax(0, 1.15fr) minmax(230px, .85fr);
    align-items: stretch;
    display: grid;
    overflow: hidden
}

.contact-map-art {
    min-height: calc(var(--space-16) + var(--space-6));
    background: radial-gradient(circle at 68% 47%, #c8a45d33, #0000 4%), linear-gradient(32deg, #0000 0 47%, #ffffff1c 48% 49%, #0000 50%), linear-gradient(143deg, #0000 0 45%, #ffffff14 46% 47%, #0000 48%), linear-gradient(75deg, #0000 0 54%, #ffffff13 55% 56%, #0000 57%), repeating-linear-gradient(0deg, #ffffff06 0 1px, #0000 1px 26px), repeating-linear-gradient(90deg, #ffffff06 0 1px, #0000 1px 30px), #101010;
    position: relative
}

.contact-map-art:after {
    content: "";
    background: radial-gradient(circle at 50% 45%, #0000, #00000094);
    position: absolute;
    inset: 0
}

.contact-map-pin {
    z-index: 1;
    color: var(--color-gold-hover);
    filter: drop-shadow(0 12px 22px #0000006b);
    font-size: 2.6rem;
    position: absolute;
    top: 36%;
    left: 62%
}

.contact-map-copy {
    align-content: center;
    gap: var(--space-2);
    padding: var(--space-3);
    display: grid
}

.contact-map-copy h3 {
    color: var(--color-gold);
    font-family: var(--font-heading);
    font-size: clamp(1.2rem, 1.6vw, 1.55rem);
    font-weight: 600;
    line-height: var(--line-heading)
}

.contact-map-copy p {
    color: #f5f5f5b8;
    line-height: 1.4
}

.contact-map-copy .btn-outline-gold {
    width: 100%;
    min-height: 40px;
    margin-top: var(--space-1);
    padding: var(--space-2) var(--space-3)
}

.contact-page .clean-footer {
    margin-top: 0
}

.contact-page .reveal-sequence {
    opacity: 0;
    transition: opacity .68s cubic-bezier(.2, .7, .2, 1), transform .68s cubic-bezier(.2, .7, .2, 1);
    transform: translateY(18px)
}

.contact-page .reveal-sequence.revealed {
    opacity: 1;
    transform: translateY(0)
}

@media (max-width:1100px) {

    .contact-panel-grid,
    .contact-map-card {
        gap: var(--space-6)
    }

    .contact-info-layout {
        gap: var(--space-5);
        grid-template-columns: 1fr
    }

    .contact-social-block {
        padding-left: 0;
        padding-top: var(--space-4);
        border-top: 1px solid #c8a45d2b;
        border-left: 0
    }
}

@media (max-width:900px) {
    body.contact-confirmation-open .contact-action-dock {
        display: none
    }

    .contact-page .contact-main {
        padding-top: calc(var(--space-16) + var(--space-2))
    }

    .contact-panel-section {
        padding: var(--space-3) 0 var(--space-10)
    }

    .contact-panel-grid {
        gap: var(--space-4);
        grid-template-columns: 1fr
    }

    .contact-request-card {
        padding: var(--space-4)
    }

    .contact-card-head {
        margin-bottom: var(--space-2)
    }

    .contact-request-form {
        gap: var(--space-2)
    }

    .contact-field textarea {
        min-height: var(--space-16)
    }

    .contact-info-panel {
        padding: var(--space-4);
        border-radius: var(--radius-md);
        background: linear-gradient(145deg, #ffffff08, #ffffff03)
    }

    .contact-card-head h1,
    .contact-info-head h2,
    .contact-confirmation h2 {
        font-size: clamp(2rem, 9vw, 2.75rem)
    }

    .contact-card-head p:not(.eyebrow),
    .contact-info-head p {
        font-size: var(--type-card-copy)
    }

    .contact-action-row {
        display: none
    }

    .contact-info-layout {
        margin-top: var(--space-3)
    }

    .contact-info-list {
        gap: 0
    }

    .contact-info-row {
        padding: var(--space-3) 0;
        background: 0 0;
        border: 0;
        border-bottom: 1px solid #c8a45d29;
        border-radius: 0
    }

    .contact-info-row:last-child {
        border-bottom: 0
    }

    .contact-info-icon {
        width: 42px;
        height: 42px
    }

    .contact-map-card {
        text-align: center;
        grid-template-columns: 1fr;
        gap: 0
    }

    .contact-map-art {
        min-height: calc(var(--space-16) + var(--space-8))
    }

    .contact-map-pin {
        top: 27%;
        left: 50%;
        transform: translate(-50%)
    }
}

@media (max-width:560px) {
    .contact-panel-grid {
        width: min(100% - 24px, var(--container-default))
    }

    .contact-request-card,
    .contact-info-panel {
        padding: var(--space-4)
    }

    .contact-method-options {
        grid-template-columns: 1fr
    }

    .contact-method-pill span {
        padding-inline: var(--space-4);
        justify-content: flex-start
    }

    .contact-confirmation-actions,
    .contact-confirmation-summary div {
        grid-template-columns: 1fr
    }

    .contact-social-block div {
        gap: var(--space-5)
    }
}

.home-section-header {
    max-width: 620px;
    margin-bottom: clamp(18px, 3vw, 30px)
}

.home-action-grid,
.home-card-grid {
    gap: 14px;
    display: grid
}

.home-action-grid,
.home-card-grid--three,
.home-featured-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr))
}

.home-action-card,
.home-promo-card,
.home-event-card,
.home-featured-card {
    border-radius: var(--radius-md);
    background: linear-gradient(145deg, #ffffff0a, #ffffff04);
    border: 1px solid #c8a45d2e;
    box-shadow: 0 18px 50px #0000002e
}

.home-action-card {
    min-height: 132px;
    color: var(--color-text-strong);
    text-align: left;
    cursor: pointer;
    transition: transform var(--transition-base), border-color var(--transition-base), background var(--transition-base);
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    padding: 20px;
    text-decoration: none;
    display: flex
}

.home-action-card:hover,
.home-promo-card:hover,
.home-featured-card:hover {
    background: linear-gradient(145deg, #ffffff0e, #c8a45d06);
    border-color: #c8a45d66;
    transform: translateY(-4px)
}

.home-action-card i {
    width: 34px;
    height: 34px;
    color: var(--color-gold);
    background: #c8a45d0e;
    border: 1px solid #c8a45d3d;
    border-radius: 999px;
    justify-content: center;
    align-items: center;
    font-size: .95rem;
    display: inline-flex
}

.home-action-card span,
.home-promo-card span {
    font-family: var(--font-body);
    color: var(--color-text-strong);
    font-size: 1.38rem;
    font-weight: 700;
    line-height: 1
}

.home-action-card p,
.home-promo-card p,
.home-featured-card p {
    color: #f5f5f599;
    font-size: var(--type-card-copy);
    line-height: 1.58
}

.home-promo-card a,
.home-promo-card button,
.home-text-link,
.home-featured-card a {
    width: fit-content;
    color: var(--color-gold);
    text-transform: uppercase;
    letter-spacing: .14em;
    cursor: pointer;
    transition: color var(--transition-base), transform var(--transition-base);
    background: 0 0;
    border: 0;
    font-size: .68rem;
    font-weight: 800;
    text-decoration: none
}

.home-promo-card a:hover,
.home-promo-card button:hover,
.home-text-link:hover,
.home-featured-card a:hover {
    color: var(--color-gold-hover);
    transform: translate(2px)
}

.home-events-preview {
    padding-top: clamp(36px, 5vw, 68px);
    padding-bottom: clamp(36px, 5vw, 68px)
}

.home-events-head {
    max-width: 980px;
    margin-inline: auto;
    margin-bottom: clamp(calc(var(--space-10) + var(--space-2)), 6vw, calc(var(--space-12) + var(--space-8)));
    text-align: center;
    display: block;
}

.home-events-head .section-title {
    max-width: none;
    margin: 0;
    color: var(--color-text-strong);
    font-family: var(--font-heading);
    font-size: clamp(2rem, 3vw, 3rem);
    line-height: 1.04;
    white-space: nowrap;
}

.home-events-slider {
    max-width: 100%;
    min-width: 0;
}

.home-events-slider__stage {
    display: flex;
    gap: 0;
    min-width: 0;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
}

.home-events-slider__stage::-webkit-scrollbar {
    display: none;
}

.home-events-featured-card {
    flex: 0 0 100%;
    scroll-snap-align: start;
    cursor: pointer;
    transition: opacity var(--transition-base), transform var(--transition-base);
}

.home-events-featured-card[hidden] {
    display: none;
}

.home-events-featured-card:focus-visible {
    outline: 1px solid var(--color-gold);
    outline-offset: 4px;
}

.home-events-featured-card:not(.is-active) {
    opacity: 0.72;
}

.home-events-featured-card .events-featured__media img {
    transition: opacity 520ms ease, transform 700ms ease;
}

.home-events-featured-card.is-active .events-featured__media img {
    transform: scale(1.018);
}

.home-events-featured-card .events-featured__card h1 {
    margin-top: 0;
    font-size: clamp(1.72rem, 2.6vw, 2.35rem);
    line-height: 1.08;
}

@media (min-width: 1024px) {
    .home-events-preview {
        padding-top: clamp(68px, 6.4vw, 104px);
        padding-bottom: clamp(72px, 7vw, 112px);
    }

    .home-events-featured-card.events-featured__grid {
        height: clamp(390px, 34vw, 480px);
    }

    .home-events-featured-card .events-featured__card {
        padding-block: clamp(var(--space-7), 4vw, var(--space-12));
    }

}

.home-events-slider__controls {
    width: min(420px, 100%);
    display: grid;
    grid-template-columns: 44px 1fr 44px;
    align-items: center;
    gap: var(--space-4);
    margin: var(--space-5) auto 0;
}

.home-events-slider__arrow {
    width: 44px;
    height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: var(--radius-full);
    background: transparent;
    color: var(--color-gold);
    font-size: 1.12rem;
    cursor: pointer;
    transition: color var(--transition-base), transform var(--transition-base);
}

.home-events-slider__arrow:hover,
.home-events-slider__arrow:focus-visible {
    color: var(--color-gold-hover);
    transform: translateX(2px);
}

.home-events-slider__arrow:first-child:hover,
.home-events-slider__arrow:first-child:focus-visible {
    transform: translateX(-2px);
}

.home-events-slider__dots {
    display: flex;
    justify-content: center;
    gap: var(--space-2);
}

.home-events-slider__dots button {
    width: 7px;
    height: 7px;
    padding: 0;
    border: 1px solid rgba(200, 164, 93, 0.34);
    border-radius: var(--radius-full);
    background: rgba(200, 164, 93, 0.16);
    cursor: pointer;
    transition: width var(--transition-base), background var(--transition-base), border-color var(--transition-base);
}

.home-events-slider__dots button.active {
    width: 20px;
    background: var(--color-gold);
    border-color: rgba(200, 164, 93, 0.72);
}

.home-event-card,
.home-story-panel {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 24px;
    padding: clamp(22px, 3vw, 34px);
    display: grid
}

.home-event-card {
    grid-template-columns: minmax(0, .95fr) minmax(240px, .75fr);
    align-items: stretch;
    padding: 0;
    overflow: hidden
}

.home-event-copy {
    align-self: center;
    padding: clamp(22px, 3vw, 34px)
}

.home-event-media {
    border-left: 1px solid #c8a45d29;
    min-height: 240px;
    position: relative;
    overflow: hidden
}

.home-event-media img {
    object-fit: cover;
    opacity: .82;
    filter: saturate(.92)contrast(1.05);
    width: 100%;
    height: 100%;
    display: block
}

.home-event-media:after {
    content: "";
    background: linear-gradient(90deg, #05050557, #05050500);
    position: absolute;
    inset: 0
}

.home-event-media span {
    z-index: 1;
    width: 54px;
    height: 54px;
    color: var(--color-gold);
    font-family: var(--font-body);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    background: #050505ad;
    border: 1px solid #c8a45d73;
    border-radius: 999px;
    justify-content: center;
    align-items: center;
    font-size: 1.2rem;
    font-weight: 700;
    display: inline-flex;
    position: absolute;
    top: 16px;
    right: 16px
}

.home-event-date {
    color: var(--color-gold);
    text-transform: uppercase;
    letter-spacing: .14em;
    margin: 12px 0 10px;
    font-size: .72rem;
    font-weight: 800
}

.home-featured-card {
    transition: transform var(--transition-base), border-color var(--transition-base), background var(--transition-base);
    overflow: hidden
}

.home-featured-card img {
    aspect-ratio: 1.45;
    object-fit: cover;
    filter: saturate(.95)contrast(1.05);
    width: 100%;
    display: block
}

.home-featured-card div {
    padding: 18px
}

.home-featured-card h3 {
    font-family: var(--font-heading);
    color: var(--color-text-strong);
    font-size: 1.35rem;
    font-weight: 500;
    line-height: 1.05
}

.home-featured-card p {
    margin-top: 9px
}

.home-featured-card a {
    align-items: center;
    gap: 8px;
    margin-top: 16px;
    display: inline-flex
}

.dish-showcase {
    box-shadow: none;
    background: radial-gradient(circle at 50% 24%, #c8a45d1a, #0000 28%);
    border: 0;
    border-radius: 0;
    padding: clamp(10px, 2vw, 18px) 0 0;
    position: relative;
    overflow: hidden
}

.dish-showcase:before {
    content: none
}

.dish-showcase__images {
    z-index: 1;
    grid-template-columns: .78fr 1fr .78fr;
    align-items: center;
    gap: clamp(10px, 2vw, 22px);
    max-width: 680px;
    margin: 0 auto;
    display: grid;
    position: relative
}

.dish-showcase__images:before,
.dish-showcase__images:after {
    content: "";
    z-index: 2;
    pointer-events: none;
    background: #c8a45db8;
    border-radius: 999px;
    width: 6px;
    height: 6px;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    box-shadow: 0 0 0 5px #c8a45d14
}

.dish-showcase__images:before {
    left: 34.5%
}

.dish-showcase__images:after {
    left: 65.5%
}

.dish-showcase__image {
    aspect-ratio: 1;
    opacity: .58;
    cursor: pointer;
    background: #00000047;
    border: 1px solid #c8a45d38;
    border-radius: 999px;
    transition: opacity .48s, transform .48s cubic-bezier(.22, 1, .36, 1), border-color .48s, box-shadow .48s;
    overflow: hidden;
    transform: scale(.86);
    box-shadow: 0 18px 44px #00000052
}

.dish-showcase__image.is-prev {
    order: 1
}

.dish-showcase__image.is-active {
    order: 2
}

.dish-showcase__image.is-next {
    order: 3
}

.dish-showcase__image.is-active {
    opacity: 1;
    border-color: #c8a45d7a;
    transform: scale(1);
    box-shadow: 0 24px 70px #0000006b, 0 0 44px #c8a45d1a
}

.dish-showcase__image img {
    object-fit: cover;
    filter: saturate(.98)contrast(1.04);
    width: 100%;
    height: 100%;
    display: block
}

.dish-showcase__content {
    text-align: center;
    max-width: 560px;
    margin: clamp(18px, 3vw, 30px) auto 0
}

.dish-showcase__content h3 {
    font-family: var(--font-heading);
    color: var(--color-text-strong);
    justify-content: center;
    align-items: center;
    gap: 14px;
    font-size: clamp(1.75rem, 3vw, 2.45rem);
    font-weight: 500;
    line-height: 1;
    display: flex
}

.dish-showcase__content h3:before,
.dish-showcase__content h3:after {
    content: "";
    background: linear-gradient(90deg, #0000, #c8a45d7a);
    width: clamp(42px, 8vw, 82px);
    height: 1px
}

.dish-showcase__content h3:after {
    background: linear-gradient(90deg, #c8a45d7a, #0000)
}

.dish-showcase__content p:not(.eyebrow) {
    color: #f5f5f5a8;
    max-width: 460px;
    margin: 10px auto 0;
    font-size: .95rem;
    line-height: 1.65
}

.dish-showcase__content a {
    color: var(--color-gold);
    text-transform: uppercase;
    letter-spacing: .14em;
    align-items: center;
    gap: 8px;
    margin-top: 18px;
    font-size: .7rem;
    font-weight: 800;
    text-decoration: none;
    display: inline-flex
}

.home-story-teaser {
    padding-bottom: clamp(52px, 7vw, 92px)
}

.home-story-editorial {
    max-width: 980px;
    margin: 0 auto
}

.home-story-copy {
    max-width: 680px
}

.home-story-copy .section-title {
    margin-top: 14px
}

.home-story-copy .muted-copy {
    max-width: 560px;
    margin-top: 16px
}

.home-story-copy .home-text-link {
    align-items: center;
    gap: 8px;
    margin-top: 20px;
    display: inline-flex
}

.home-story-image {
    border-radius: var(--radius-md);
    background: #ffffff06;
    border: 1px solid #c8a45d29;
    margin-top: clamp(24px, 4vw, 38px);
    overflow: hidden
}

.home-story-image img {
    aspect-ratio: 1.9;
    object-fit: cover;
    opacity: .84;
    filter: saturate(.92)contrast(1.05);
    width: 100%;
    display: block
}

.home-story-panel {
    border-left: 1px solid #c8a45d47;
    grid-template-columns: minmax(0, .72fr) auto;
    align-items: end;
    gap: 28px;
    max-width: 980px;
    padding-left: clamp(18px, 3vw, 34px);
    display: grid
}

.home-section .reveal-sequence {
    opacity: 0;
    transition: opacity .76s ease, transform .76s ease, border-color var(--transition-base), background var(--transition-base);
    transform: translateY(18px)
}

.home-section .reveal-sequence.revealed {
    opacity: 1;
    transform: translateY(0)
}

.split-feature {
    grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr);
    align-items: start;
    gap: clamp(28px, 4.8vw, 72px);
    display: grid
}

.section-title {
    font-family: var(--font-heading);
    color: var(--color-text-strong);
    font-size: var(--font-size-section);
    line-height: var(--line-heading);
    font-weight: 500
}

.muted-copy {
    color: var(--color-muted);
    line-height: var(--line-body);
    font-size: var(--font-size-base)
}

.image-frame {
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    opacity: 0;
    transition: opacity var(--transition-slow), transform var(--transition-slow);
    background: #111;
    overflow: hidden;
    transform: translateY(22px)scale(.985)
}

.image-frame.revealed {
    opacity: 1;
    transform: translateY(0)scale(1)
}

.image-frame img {
    aspect-ratio: 2.15;
    object-fit: cover;
    width: 100%;
    height: 100%;
    min-height: 0;
    display: block
}

#about .reveal-sequence:not(.image-frame),
#dishes .reveal-sequence:not(.signature-card),
#contact .reveal-sequence:not(.contact-action-card) {
    opacity: 0;
    transition: opacity .76s ease, transform .76s ease, border-color var(--transition-base), background var(--transition-base);
    transform: translateY(18px)
}

#about .reveal-sequence.revealed:not(.image-frame),
#dishes .reveal-sequence.revealed:not(.signature-card),
#contact .reveal-sequence.revealed:not(.contact-action-card) {
    opacity: 1;
    transform: translateY(0)
}

.signature-grid {
    grid-template-columns: minmax(220px, .9fr) repeat(4, minmax(0, 1fr));
    gap: 16px;
    max-width: 1180px;
    margin-top: 24px;
    margin-left: auto;
    margin-right: auto;
    display: grid
}

.signature-intro {
    align-self: center;
    padding: 18px 28px 18px 0
}

.signature-intro h2 {
    font-family: var(--font-heading);
    color: var(--color-text-strong);
    font-size: var(--font-size-lg);
    margin-top: 10px;
    font-weight: 500;
    line-height: 1.05
}

.signature-card {
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    opacity: 0;
    min-width: 0;
    transition: transform var(--transition-base), border-color var(--transition-base), box-shadow var(--transition-base);
    background: linear-gradient(#ffffff0b, #ffffff04);
    overflow: hidden;
    transform: translateY(22px)
}

.signature-card.revealed {
    opacity: 1;
    transition: opacity var(--transition-slow), transform var(--transition-slow), border-color var(--transition-base), box-shadow var(--transition-base);
    transform: translateY(0)
}

.signature-card:hover {
    box-shadow: var(--glow-gold-subtle);
    border-color: #c8a45d7a;
    transform: translateY(-5px)
}

.signature-card img {
    aspect-ratio: 1.48;
    object-fit: cover;
    filter: saturate(.95)contrast(1.05);
    width: 100%;
    display: block
}

.signature-card div {
    padding: 15px 16px 16px
}

.signature-card h3 {
    font-family: var(--font-heading);
    color: var(--color-text-strong);
    font-size: 1.18rem;
    font-weight: 500
}

.signature-card p {
    color: #f5f5f594;
    margin-top: 8px;
    font-size: .78rem;
    line-height: 1.55
}

.menu-preview-grid {
    border-top: 1px solid var(--color-border);
    border-bottom: 1px solid var(--color-border);
    grid-template-columns: minmax(220px, .9fr) repeat(4, minmax(0, 1fr));
    gap: 0;
    max-width: 1180px;
    margin-top: 24px;
    margin-left: auto;
    margin-right: auto;
    display: grid
}

.menu-tile {
    min-height: 146px;
    color: var(--color-text-strong);
    transition: transform var(--transition-base), border-color var(--transition-base);
    background: 0 0;
    border: 0;
    border-right: 1px solid #c8a45d1f;
    position: relative;
    overflow: hidden
}

.menu-tile:hover {
    border-color: #c8a45d8c;
    transform: translateY(-6px)
}

#dishes .menu-tile.revealed:hover {
    transform: translateY(-6px)
}

.menu-tile-content {
    z-index: 1;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 14px;
    height: 100%;
    min-height: 146px;
    padding: 18px;
    display: flex;
    position: relative
}

.menu-tile-content h3 {
    color: var(--color-text-strong);
    letter-spacing: .16em;
    text-transform: uppercase;
    font-size: .78rem
}

.menu-icon {
    color: var(--color-gold);
    font-size: 1.65rem
}

.menu-full-link-wrap {
    text-align: center;
    margin-top: 22px
}

.menu-full-link {
    color: var(--color-gold);
    text-transform: uppercase;
    letter-spacing: .16em;
    cursor: pointer;
    transition: color var(--transition-base), transform var(--transition-base);
    background: 0 0;
    border: 0;
    font-size: .72rem;
    font-weight: 700
}

.menu-full-link:hover {
    color: var(--color-gold-hover);
    transform: translateY(-1px)
}

.info-bar {
    border: 1px solid var(--color-border);
    background: #ffffff09;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    display: grid
}

.info-item {
    border-right: 1px solid #c8a45d1f;
    align-items: flex-start;
    gap: 14px;
    padding: 22px;
    display: flex
}

.info-item:last-child {
    border-right: 0
}

.info-item i {
    color: var(--color-gold);
    margin-top: 2px
}

.info-item h4 {
    color: var(--color-text-strong);
    text-transform: uppercase;
    letter-spacing: .13em;
    font-size: .78rem
}

.info-item p,
.info-item a {
    color: #f5f5f59e;
    margin-top: 5px;
    font-size: .9rem;
    text-decoration: none
}

.gallery-grid {
    grid-template-columns: 1.1fr .9fr .9fr;
    grid-auto-rows: 168px;
    gap: 12px;
    display: grid
}

.gallery-card {
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    background: #111;
    position: relative;
    overflow: hidden
}

.gallery-card img,
.gallery-card video {
    object-fit: cover;
    opacity: .82;
    width: 100%;
    height: 100%;
    transition: transform var(--transition-slow), opacity var(--transition-slow);
    display: block
}

.gallery-card:hover img,
.gallery-card:hover video {
    opacity: 1;
    transform: scale(1.04)
}

.contact-layout {
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: linear-gradient(#ffffff09, #ffffff04);
    grid-template-columns: .82fr 1.18fr;
    align-items: stretch;
    gap: 0;
    display: grid;
    overflow: hidden
}

.contact-visual {
    background: linear-gradient(90deg, #0000000f, #05050538), url(https://firebasestorage.googleapis.com/v0/b/laams-server.appspot.com/o/drive%2Forgs%2FBHIx9BPAsyeNhylNfkxN%2Fcommon%2Fideas%2FG1J7tjdppiJi3vSd4VHr%2FGXFEwRmiz7sJTxU6k9wA.webp?alt=media&token=237e3e36-3c54-4193-a64a-64800dca5d3a) 50%/cover no-repeat;
    align-self: stretch;
    height: 100%;
    min-height: 0
}

.contact-content {
    text-align: center;
    padding: clamp(22px, 2.7vw, 36px)
}

.contact-content .muted-copy {
    font-size: .82rem;
    line-height: 1.55
}

.ornament {
    color: var(--color-gold);
    margin-bottom: 10px;
    font-size: 1.05rem
}

.contact-heading {
    font-family: var(--font-heading);
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #f8f2e8;
    font-size: clamp(1.95rem, 3.4vw, 3.15rem);
    line-height: .95
}

.contact-actions {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-top: 20px;
    display: grid
}

.contact-action-card {
    border-radius: var(--radius-md);
    opacity: 0;
    transition: opacity .68s cubic-bezier(.2, .7, .2, 1), transform .68s cubic-bezier(.2, .7, .2, 1), border-color var(--transition-base), background var(--transition-base);
    background: #ffffff08;
    border: 1px solid #c8a45d40;
    padding: 16px 14px 15px;
    transform: translateY(16px)
}

.contact-action-card.revealed {
    opacity: 1;
    transform: translateY(0)
}

.contact-action-card:hover {
    background: #ffffff0b;
    border-color: #c8a45d6b;
    transform: translateY(-2px)
}

.contact-action-card i {
    color: var(--color-gold);
    font-size: 1.22rem
}

.contact-action-card h3 {
    font-family: var(--font-heading);
    color: var(--color-text-strong);
    letter-spacing: .08em;
    text-transform: uppercase;
    margin-top: 11px;
    font-size: .98rem
}

.contact-action-card p {
    color: #f5f5f5a8;
    margin-top: 6px;
    font-size: .76rem;
    line-height: 1.5
}

.contact-action-card button,
.contact-action-card a {
    border-radius: var(--radius-sm);
    width: 100%;
    color: var(--color-gold);
    text-transform: uppercase;
    letter-spacing: .14em;
    cursor: pointer;
    background: #00000029;
    border: 1px solid #c8a45da6;
    justify-content: center;
    margin-top: 12px;
    padding: 9px 12px;
    font-size: .66rem;
    text-decoration: none;
    display: inline-flex
}

.contact-details-row {
    border-top: 1px solid #c8a45d29;
    border-bottom: 1px solid #c8a45d29;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    margin-top: 20px;
    padding: 12px 0;
    display: grid
}

.contact-info-item {
    border-right: 1px solid #c8a45d1a;
    grid-template-columns: auto 1fr;
    gap: 10px;
    padding: 12px 14px;
    display: grid
}

.contact-info-item:last-child {
    border-right: 0
}

.contact-info-item i {
    color: var(--color-gold);
    margin-top: 2px;
    font-size: .95rem
}

.contact-info-item .whatsapp-icon {
    color: #21d366
}

.contact-info-item h3 {
    color: var(--color-text-strong);
    letter-spacing: .16em;
    text-transform: uppercase;
    font-size: .66rem
}

.contact-info-item p,
.contact-info-item a {
    color: #f5f5f5b8;
    margin-top: 5px;
    font-size: .74rem;
    line-height: 1.38;
    text-decoration: none;
    display: block
}

.contact-card-list {
    gap: 14px;
    margin-top: 30px;
    display: grid
}

.contact-card {
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: #0000003d;
    padding: 20px
}

.contact-card h3 {
    color: #f5f5f594;
    letter-spacing: .18em;
    text-transform: uppercase;
    font-size: .74rem
}

.contact-card p,
.contact-card a {
    color: var(--color-text-strong);
    margin-top: 8px;
    line-height: 1.5;
    text-decoration: none;
    display: block
}

.map-frame {
    border-radius: var(--radius-md);
    border: 1px solid #c8a45d24;
    height: 178px;
    overflow: hidden
}

.contact-map-frame {
    margin-top: 16px
}

.map-frame iframe {
    width: 100%;
    height: 100%;
    display: block
}

.hours-list {
    gap: 10px;
    margin-top: 24px;
    display: grid
}

.hours-row {
    color: #f5f5f5ad;
    border-bottom: 1px solid #c8a45d1a;
    justify-content: space-between;
    gap: 18px;
    padding-bottom: 10px;
    font-size: .9rem;
    display: flex
}

.social-row {
    gap: 10px;
    margin-top: 18px;
    display: flex
}

.social-row a {
    border-radius: var(--radius-full);
    width: 38px;
    height: 38px;
    color: var(--color-gold);
    transition: border-color var(--transition-base), transform var(--transition-base);
    border: 1px solid #c8a45d2e;
    justify-content: center;
    align-items: center;
    text-decoration: none;
    display: inline-flex
}

.social-row a:hover {
    border-color: #c8a45db3;
    transform: translateY(-2px)
}

.gallery-hero {
    text-align: left
}

.muted-copy {
    color: #f5f5f5ad;
    max-width: 650px;
    margin: 16px auto 0;
    font-size: .95rem;
    line-height: 1.7
}

.gallery-section {
    border-top: 1px solid #c8a45d1f;
    padding: clamp(40px, 5vw, 70px) 0
}

.page-hero+main .gallery-section {
    border-top: 0
}

.gallery-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-auto-rows: 230px;
    gap: 14px;
    margin-top: 28px;
    display: grid
}

.gallery-card {
    opacity: 0;
    transition: opacity var(--transition-slow), transform var(--transition-slow), border-color var(--transition-base);
    background: #111;
    border: 1px solid #c8a45d24;
    overflow: hidden;
    transform: translateY(24px)
}

.gallery-card.revealed {
    opacity: 1;
    transform: translateY(0)
}

.gallery-card.large {
    grid-row: span 2
}

.gallery-card.wide {
    grid-column: span 2
}

.gallery-card.tall {
    grid-row: span 2
}

.gallery-card img {
    object-fit: cover;
    opacity: .86;
    width: 100%;
    height: 100%;
    transition: transform var(--transition-slow), opacity var(--transition-slow);
    display: block
}

.gallery-card:hover img {
    opacity: 1;
    transform: scale(1.04)
}

.video-showcase {
    grid-template-columns: .78fr 1.22fr;
    align-items: center;
    gap: clamp(24px, 4vw, 60px);
    display: grid
}

.video-showcase .reveal-sequence {
    opacity: 0;
    transition: opacity .76s ease, transform .76s ease, border-color var(--transition-base);
    transform: translateY(18px)
}

.video-showcase .reveal-sequence.revealed {
    opacity: 1;
    transform: translateY(0)
}

.video-frame {
    background: #111;
    border: 1px solid #c8a45d29;
    min-height: 360px;
    overflow: hidden
}

.video-frame video {
    object-fit: cover;
    opacity: .9;
    width: 100%;
    height: 100%;
    min-height: 360px;
    display: block
}

.about-hero {
    min-height: 100svh
}

.about-story-grid {
    align-items: center
}

.about-story-image {
    min-height: clamp(360px, 42vw, 560px)
}

.about-copy {
    color: #f5f5f5ad;
    max-width: 660px;
    margin-top: 20px;
    margin-left: 0
}

.about-philosophy-section {
    padding-block: clamp(72px, 9vw, 128px)
}

.about-editorial {
    text-align: center;
    max-width: 900px;
    margin-inline: auto
}

.about-diamond {
    width: 42px;
    height: 42px;
    color: var(--color-gold);
    justify-content: center;
    align-items: center;
    font-size: .92rem;
    display: inline-flex
}

.about-editorial h2 {
    color: var(--color-text-strong);
    font-family: var(--font-heading);
    letter-spacing: .01em;
    margin-top: 12px;
    font-size: clamp(2.4rem, 5vw, 5.4rem);
    font-weight: 500;
    line-height: .98
}

.about-editorial p {
    color: #f5f5f5ad;
    max-width: 760px;
    margin: 22px auto 0;
    font-size: clamp(.98rem, 1.4vw, 1.16rem);
    line-height: 1.8
}

.about-section-header {
    max-width: 760px;
    margin-bottom: clamp(24px, 4vw, 44px)
}

.about-values-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(14px, 2vw, 22px);
    display: grid
}

.about-value-card {
    border-radius: var(--radius-md);
    min-height: 250px;
    box-shadow: var(--shadow-soft);
    background: linear-gradient(145deg, #ffffff0e, #ffffff04), #121212d1;
    border: 1px solid #c8a45d33;
    padding: clamp(22px, 3vw, 34px)
}

.about-value-card span {
    width: 38px;
    height: 38px;
    color: var(--color-gold);
    border-radius: var(--radius-full);
    border: 1px solid #c8a45d42;
    justify-content: center;
    align-items: center;
    display: inline-flex
}

.about-value-card h3 {
    color: var(--color-text-strong);
    font-family: var(--font-heading);
    margin-top: 42px;
    font-size: clamp(1.55rem, 2.5vw, 2.2rem);
    font-weight: 500;
    line-height: 1
}

.about-value-card p {
    color: #f5f5f59e;
    margin-top: 12px;
    font-size: .9rem;
    line-height: 1.68
}

.about-atmosphere-grid {
    grid-template-columns: minmax(260px, .72fr) minmax(0, 1.28fr);
    align-items: center;
    gap: clamp(24px, 4vw, 54px);
    display: grid
}

.about-atmosphere-copy {
    max-width: 440px
}

.about-image-mosaic {
    grid-template-rows: repeat(2, minmax(160px, 1fr));
    grid-template-columns: 1.15fr .85fr;
    gap: clamp(12px, 1.5vw, 18px);
    display: grid
}

.about-mosaic-large {
    grid-row: span 2;
    min-height: clamp(380px, 42vw, 560px)
}

.about-mosaic-small {
    min-height: clamp(180px, 20vw, 270px)
}

.about-cta-section {
    padding-top: clamp(56px, 7vw, 92px)
}

.about-cta-panel {
    border-radius: var(--radius-lg);
    text-align: center;
    max-width: 920px;
    box-shadow: var(--shadow-soft);
    background: radial-gradient(circle at 50% 0, #c8a45d1f, #0000 38%), linear-gradient(145deg, #ffffff0e, #ffffff04), #0e0e0eeb;
    border: 1px solid #c8a45d33;
    margin-inline: auto;
    padding: clamp(28px, 5vw, 58px)
}

.about-cta-panel h2 {
    color: var(--color-text-strong);
    font-family: var(--font-heading);
    margin-top: 12px;
    font-size: clamp(2.4rem, 5vw, 4.9rem);
    font-weight: 500;
    line-height: .98
}

.about-cta-panel p:not(.eyebrow) {
    color: #f5f5f5a8;
    max-width: 520px;
    margin: 16px auto 0;
    line-height: 1.7
}

.about-cta-actions {
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
    margin-top: 28px;
    display: flex
}

.about-cta-actions .btn {
    min-width: 160px
}

.about-values-section .reveal-sequence,
.about-story-section .reveal-sequence,
.about-philosophy-section .reveal-sequence,
.about-atmosphere-section .reveal-sequence,
.about-cta-section .reveal-sequence {
    opacity: 0;
    transition: opacity .9s cubic-bezier(.2, .7, .2, 1), transform .9s cubic-bezier(.2, .7, .2, 1);
    transform: translateY(22px)
}

.about-values-section .reveal-sequence.revealed,
.about-story-section .reveal-sequence.revealed,
.about-philosophy-section .reveal-sequence.revealed,
.about-atmosphere-section .reveal-sequence.revealed,
.about-cta-section .reveal-sequence.revealed {
    opacity: 1;
    transform: translateY(0)
}


.story-simple-hero {
  height: 100svh;
  min-height: 620px;
  position: relative;
  overflow: hidden;
  border-bottom: 0;
  background: radial-gradient(circle at 50% 16%, rgba(200, 164, 93, 0.08), transparent 34%), linear-gradient(180deg, rgba(8, 8, 8, 0.98), rgba(4, 4, 4, 0.98));
  color: var(--color-text);
}
.story-simple-hero::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: min(12vh, 96px);
  background: linear-gradient(180deg, rgba(5, 5, 5, 0), rgba(5, 5, 5, 0.82));
  pointer-events: none;
}
.story-simple-hero__inner {
  position: relative;
  z-index: 1;
  height: 100%;
  min-height: 0;
  display: grid;
  align-content: center;
  gap: var(--space-5);
  padding-block: calc(var(--space-5) + 56px) var(--space-6);
}
.story-simple-hero__copy {
  max-width: 940px;
  margin-inline: auto;
  align-self: end;
  text-align: center;
}
.story-simple-hero__copy h1 {
  max-width: 860px;
  margin: 0 auto;
  color: var(--color-text-strong);
  font-family: var(--font-heading);
  font-size: var(--font-size-section);
  font-weight: 500;
  line-height: var(--line-heading);
  letter-spacing: 0;
}
.story-simple-hero__copy>p:not(.eyebrow) {
  max-width: 620px;
  margin: var(--space-3) auto 0;
  color: var(--color-muted);
  font-size: var(--font-size-base);
  line-height: var(--line-body);
}
.story-simple-hero__actions {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: var(--space-3);
  margin-top: var(--space-3);
}
.story-simple-hero__actions .btn {
  min-height: 42px;
  padding-inline: 18px;
}
.story-simple-hero__images {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: end;
  gap: var(--space-4);
  width: min(100%, 1120px);
  margin-inline: auto;
}
.story-simple-hero__card {
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border: 1px solid rgba(200, 164, 93, 0.22);
  border-radius: var(--radius-lg);
  background: rgba(255, 255, 255, 0.03);
  box-shadow: 0 22px 70px rgba(0, 0, 0, 0.32);
}
.story-simple-hero__card--featured {
  aspect-ratio: 1.15 / 1;
}
.story-simple-hero__card img, .story-rooted-card img, .story-rooted-chef img, .story-contact-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.story-simple-hero__card img {
  filter: brightness(0.86) saturate(0.94) contrast(0.98);
}
.story-simple-hero__card:first-child img {
  object-position: center 42%;
}
.story-rooted-grid {
  display: grid;
  grid-template-columns: minmax(320px, 0.9fr) minmax(360px, 1fr);
  gap: var(--space-6);
  align-items: center;
}
.story-rooted-section {
  --story-rooted-bg: #f6f0e6;
  --story-rooted-text: #17120c;
  --story-rooted-muted: #5e5142;
  padding-block: clamp(70px, 8vw, 118px);
  background: var(--story-rooted-bg);
  color: var(--story-rooted-text);
}
.story-rooted-section .story-rooted-grid {
  gap: clamp(var(--space-6), 5vw, var(--space-12));
}
.story-rooted-media {
  position: relative;
  width: min(100%, 500px);
}
.story-rooted-card {
  position: relative;
  height: clamp(360px, 38vw, 480px);
  overflow: hidden;
  border: 1px solid rgba(200, 164, 93, 0.34);
  border-radius: var(--radius-md);
  background: var(--color-bg-elevated);
  box-shadow: var(--shadow-card);
}
.story-rooted-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 58%, rgba(0, 0, 0, 0.48));
  pointer-events: none;
}
.story-rooted-chef {
  position: absolute;
  right: clamp(-28px, -2vw, -14px);
  bottom: clamp(-24px, -2vw, -12px);
  width: clamp(150px, 13vw, 210px);
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border: 1px solid rgba(200, 164, 93, 0.35);
  border-radius: 50%;
  background: var(--color-bg-elevated);
  box-shadow: var(--shadow-card);
}
.story-rooted-copy {
  max-width: 560px;
}
.story-rooted-copy .section-title,
.story-section-header .section-title,
.story-reviews-header .section-title {
  margin-top: var(--space-3);
  font-family: var(--font-heading);
  font-size: clamp(2rem, 3vw, 3rem);
  line-height: 1.04;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: uppercase;
}
.story-rooted-copy .section-title {
  color: var(--story-rooted-text);
  white-space: nowrap;
}
.story-section-header .section-title {
  max-width: none;
}
.story-rooted-copy .muted-copy {
  margin-top: var(--space-5);
  color: var(--story-rooted-muted);
}
.story-reviews-section {
  --story-reviews-bg: #f6f0e6;
  --story-reviews-text: #17120c;
  --story-reviews-muted: #5e5142;
  padding-block: clamp(70px, 8vw, 118px);
  background: var(--story-reviews-bg);
  color: var(--story-reviews-text);
}
.story-reviews-header .section-title {
  color: var(--story-reviews-text);
}
.story-section-header .muted-copy, .story-reviews-header .muted-copy {
  max-width: 620px;
  margin: var(--space-4) auto 0;
}
.story-reviews-header {
  max-width: 760px;
  margin-inline: auto;
  text-align: center;
}
.story-reviews-overview {
  max-width: 1180px;
  margin: clamp(var(--space-10), 8vw, var(--space-16)) auto 0;
  overflow-x: auto;
  scrollbar-width: none;
}
.story-reviews-overview::-webkit-scrollbar {
  display: none;
}
.story-review-metrics {
  display: grid;
  grid-template-columns: minmax(170px, 0.85fr) repeat(8, minmax(190px, 1fr));
  gap: 0;
  min-width: 1780px;
}
.story-review-overall,
.story-review-metric {
  min-height: 118px;
  padding: var(--space-4) var(--space-8);
  border-right: 1px solid rgba(23, 18, 12, 0.12);
}
.story-review-metric:last-child {
  border-right: 0;
}
.story-review-overall p,
.story-review-metric p {
  margin: 0;
  color: var(--story-reviews-text);
  font-size: var(--type-card-copy);
  font-weight: 800;
  line-height: var(--line-tight);
}
.story-review-overall {
  display: grid;
  align-content: start;
  gap: var(--space-2);
}
.story-review-overall strong {
  color: var(--story-reviews-text);
  font-size: clamp(2.1rem, 3.5vw, 3.2rem);
  line-height: var(--line-tight);
}
.story-review-overall span {
  max-width: 160px;
  color: var(--story-reviews-muted);
  font-size: var(--type-card-copy);
  line-height: var(--line-body);
}
.story-review-metric {
  display: grid;
  grid-template-rows: auto auto 1fr;
  align-content: stretch;
  gap: var(--space-3);
}
.story-review-metric strong {
  color: var(--story-reviews-text);
  font-size: clamp(1.22rem, 1.45vw, 1.55rem);
  line-height: var(--line-tight);
}
.story-review-metric i {
  align-self: end;
  color: var(--story-reviews-text);
  font-size: clamp(1.45rem, 1.8vw, 1.9rem);
}
.story-customer-reviews {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(var(--space-6), 6vw, var(--space-12));
  max-width: 1180px;
  margin: clamp(var(--space-8), 6vw, var(--space-12)) auto 0;
  padding-top: clamp(var(--space-6), 4vw, var(--space-8));
  border-top: 1px solid rgba(23, 18, 12, 0.12);
}
.story-customer-review {
  min-width: 0;
}
.story-customer-review__guest {
  display: flex;
  align-items: center;
  gap: var(--space-3);
}
.story-customer-review__guest>span {
  width: 52px;
  height: 52px;
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  border-radius: var(--radius-full);
  background: rgba(23, 18, 12, 0.1);
  color: var(--story-reviews-text);
  font-family: var(--font-ui);
  font-size: var(--type-card-meta);
  font-weight: 800;
}
.story-customer-review h3 {
  margin: 0;
  color: var(--story-reviews-text);
  font-family: var(--font-body);
  font-size: var(--type-body);
  font-weight: 800;
  line-height: var(--line-tight);
}
.story-customer-review__stars {
  margin-top: 0.35rem;
  color: var(--story-reviews-text);
  font-size: var(--type-card-copy);
  letter-spacing: 0.08em;
  line-height: 1;
}
.story-customer-review__copy {
  max-width: 560px;
  margin: var(--space-2) 0 0;
  color: var(--story-reviews-text);
  font-size: var(--type-body);
  line-height: var(--line-body);
}
.story-reviews-action {
  max-width: 1180px;
  margin: clamp(var(--space-8), 6vw, var(--space-12)) auto 0;
  text-align: center;
}
.story-reviews-link {
  color: var(--button-primary-text);
}
.story-reviews-link:hover,
.story-reviews-link:focus-visible {
  color: var(--button-primary-text);
}
.story-reviews-modal {
  --story-reviews-modal-bg: #f6f0e6;
  position: fixed;
  inset: 0;
  z-index: var(--z-modal);
  display: grid;
  place-items: center;
  padding: var(--space-5);
}
.story-reviews-modal.hidden {
  display: none;
}
.story-reviews-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(5, 5, 5, 0.54);
}
.story-reviews-modal__panel {
  position: relative;
  width: min(900px, calc(100vw - (var(--space-5) * 2)));
  max-height: min(86vh, 860px);
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  overflow: hidden;
  border-radius: var(--radius-modal);
  background: var(--story-reviews-modal-bg);
  color: #17120c;
  box-shadow: var(--shadow-modal);
}
.story-reviews-modal__header {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: var(--space-4);
  padding: var(--space-5) var(--space-6) var(--space-3);
}
.story-reviews-modal__close {
  width: 42px;
  height: 42px;
  display: inline-grid;
  place-items: center;
  border: 0;
  border-radius: var(--radius-full);
  background: transparent;
  color: #17120c;
  cursor: pointer;
  transition: background var(--transition-base), transform var(--transition-base);
}
.story-reviews-modal__close:hover,
.story-reviews-modal__close:focus-visible {
  background: rgba(23, 18, 12, 0.08);
  transform: translateY(-1px);
}
.story-reviews-modal__header h2 {
  margin: 0;
  color: #17120c;
  font-family: var(--font-body);
  font-size: var(--type-body);
  font-weight: 800;
  line-height: var(--line-tight);
}
.story-reviews-modal__body {
  min-height: 0;
  overflow-y: auto;
  padding: var(--space-4) var(--space-6) var(--space-6);
}
.story-reviews-modal__body::-webkit-scrollbar {
  width: 8px;
}
.story-reviews-modal__body::-webkit-scrollbar-track {
  background: transparent;
}
.story-reviews-modal__body::-webkit-scrollbar-thumb {
  border-radius: var(--radius-full);
  background: rgba(23, 18, 12, 0.24);
}
.story-reviews-modal__list {
  display: grid;
  gap: 0;
}
.story-reviews-modal__item {
  padding: var(--space-6) 0;
  border-bottom: 1px solid rgba(23, 18, 12, 0.12);
}
.story-reviews-modal__item:first-child {
  padding-top: 0;
}
.story-reviews-modal__item:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}
.story-reviews-modal__item .story-customer-review__copy {
  max-width: 760px;
}
.story-guests-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(var(--space-4), 2.2vw, var(--space-6));
}
.story-guests-gallery {
  min-width: 0;
}
.story-guest-card {
  min-height: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 0;
  overflow: hidden;
  border: 0;
  border-radius: var(--radius-card);
  background: transparent;
  box-shadow: none;
  color: var(--color-text-strong);
  text-align: center;
  text-decoration: none;
  scroll-snap-align: center;
  transition: transform var(--transition-base), opacity var(--transition-base);
}
.story-guests-section .story-guest-card, .story-guests-section .story-guest-card:hover, .story-guests-section .story-guest-card:focus-visible {
  background: transparent;
  box-shadow: none;
}
.story-guest-card:hover, .story-guest-card:focus-visible {
  transform: translateY(-4px);
  background: transparent;
}
.story-guest-card img {
  width: 100%;
  aspect-ratio: 1.08 / 1;
  display: block;
  object-fit: cover;
  border-radius: var(--radius-image);
  transition: transform var(--transition-base), filter var(--transition-base);
}
.story-guest-card:hover img, .story-guest-card:focus-visible img {
  transform: scale(1.018);
  filter: saturate(1.05);
}
.story-guest-card h3 {
  margin-top: var(--space-5);
  color: var(--color-text-strong);
  font-family: var(--font-body);
  font-size: clamp(1.18rem, 1.6vw, 1.48rem);
  line-height: 1.08;
  font-weight: 800;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}
.story-guest-card p {
  max-width: 300px;
  margin: var(--space-3) auto 0;
  color: rgba(245, 245, 245, 0.62);
  font-size: var(--type-card-copy);
  line-height: 1.54;
}
.story-guest-action {
  width: fit-content;
  display: inline-flex;
  margin-top: auto;
  padding-top: var(--space-5);
  border: 0;
  background: transparent;
  color: var(--color-gold);
  cursor: pointer;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-decoration: none;
  text-transform: uppercase;
}
.story-guests-controls {
  display: none;
  width: min(420px, 100%);
  grid-template-columns: 44px 1fr 44px;
  align-items: center;
  gap: var(--space-4);
  margin: var(--space-5) auto 0;
}
.story-guests-arrow {
  width: 44px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: var(--radius-full);
  background: transparent;
  color: var(--color-gold);
  font-size: 1.12rem;
  cursor: pointer;
  transition: color var(--transition-base), transform var(--transition-base);
}
.story-guests-arrow:hover, .story-guests-arrow:focus-visible {
  color: var(--color-gold-hover);
  transform: translateX(2px);
}
.story-guests-arrow:first-child:hover, .story-guests-arrow:first-child:focus-visible {
  transform: translateX(-2px);
}
.story-guests-dots {
  display: flex;
  justify-content: center;
  gap: var(--space-2);
}
.story-guests-dots button {
  width: 7px;
  height: 7px;
  padding: 0;
  border: 1px solid rgba(200, 164, 93, 0.34);
  border-radius: var(--radius-full);
  background: rgba(200, 164, 93, 0.16);
  cursor: pointer;
  transition: width var(--transition-base), background var(--transition-base), border-color var(--transition-base);
}
.story-guests-dots button.active {
  width: 20px;
  background: var(--color-gold);
  border-color: rgba(200, 164, 93, 0.72);
}
.story-contact-panel {
  display: grid;
  grid-template-columns: minmax(320px, 0.82fr) minmax(420px, 1fr);
  max-width: 1180px;
  margin-inline: auto;
  overflow: hidden;
  border: 1px solid rgba(200, 164, 93, 0.34);
  border-radius: var(--radius-lg);
  background: radial-gradient(circle at 72% 30%, rgba(200, 164, 93, 0.09), transparent 36%), linear-gradient(135deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0.014)), rgba(10, 10, 10, 0.96);
  box-shadow: 0 28px 90px rgba(0, 0, 0, 0.38);
}
.story-contact-media {
  min-height: 0;
  height: clamp(300px, 30vw, 420px);
  position: relative;
  border-right: 1px solid rgba(200, 164, 93, 0.18);
}
.story-contact-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent 58%, rgba(0, 0, 0, 0.36)), linear-gradient(180deg, rgba(0, 0, 0, 0.08), rgba(0, 0, 0, 0.2));
  pointer-events: none;
}
.story-contact-media img {
  object-position: center center;
  filter: brightness(0.82) saturate(0.94) contrast(1);
}
.story-contact-content {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(2rem, 3.5vw, 3.25rem);
}
.story-contact-content-inner {
  width: 100%;
  max-width: 560px;
}
.story-contact-content .eyebrow {
  margin-bottom: var(--space-2);
}
.story-contact-content .section-title {
  margin: 0;
  color: var(--color-text-strong);
  font-family: var(--font-heading);
  font-size: clamp(2.35rem, 3.4vw, 3.75rem);
  font-weight: 500;
  letter-spacing: -0.025em;
  line-height: 1.02;
}
.story-contact-content .muted-copy {
  max-width: 500px;
  margin-top: var(--space-3);
  color: rgba(245, 241, 232, 0.72);
  font-size: clamp(0.98rem, 1vw, 1.08rem);
  line-height: 1.65;
}
.story-contact-divider {
  position: relative;
  width: 100%;
  max-width: 520px;
  height: 1px;
  margin: var(--space-3) 0;
  background: linear-gradient(90deg, rgba(200, 164, 93, 0.55), rgba(200, 164, 93, 0.18), transparent);
}
.story-contact-divider::after {
  content: "";
  position: absolute;
  left: 42%;
  top: 50%;
  width: 8px;
  height: 8px;
  border: 1px solid rgba(200, 164, 93, 0.7);
  background: #0a0a0a;
  transform: translate(-50%, -50%) rotate(45deg);
}
.story-contact-list {
  display: grid;
  gap: 0.65rem;
  margin-top: 0;
}
.story-contact-row {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  color: rgba(245, 241, 232, 0.76);
  font-size: 0.98rem;
  line-height: 1.35;
  text-decoration: none;
}
.story-contact-row i {
  color: var(--color-gold);
  width: 1.1rem;
  flex: 0 0 1.1rem;
  text-align: center;
}
.story-contact-row a {
  color: inherit;
  text-decoration: none;
}
.story-contact-row:hover, .story-contact-row a:hover {
  color: var(--color-gold);
}
.story-contact-actions {
  display: grid;
  grid-template-columns: 1fr 1.05fr 1fr;
  gap: 0.8rem;
  max-width: 540px;
  margin-top: var(--space-4);
}
.story-contact-action {
  min-height: 54px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  padding: 0 1rem;
  border: 1px solid rgba(200, 164, 93, 0.4);
  border-radius: var(--radius-sm);
  background: rgba(255, 255, 255, 0.012);
  color: var(--color-text-strong);
  cursor: pointer;
  font: inherit;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.11em;
  line-height: 1.25;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  transition: border-color 180ms ease, background 180ms ease, color 180ms ease, transform 180ms ease;
}
.story-contact-action:hover, .story-contact-action:focus-visible {
  border-color: rgba(200, 164, 93, 0.72);
  background: rgba(200, 164, 93, 0.06);
  transform: translateY(-1px);
}
.story-contact-action i {
  color: var(--color-gold);
  font-size: 0.9rem;
}
.story-contact-action--primary {
  border-color: var(--button-primary-border);
  background: var(--button-primary-bg);
  color: var(--button-primary-text);
  box-shadow: var(--button-primary-shadow);
}
.story-contact-action--primary:hover, .story-contact-action--primary:focus-visible {
  background: var(--button-primary-bg-hover);
  color: var(--button-primary-text);
}
.story-contact-action--primary i {
  color: currentColor;
}
.story-reviews-section .reveal-sequence, .story-rooted-section .reveal-sequence, .story-guests-section .reveal-sequence, .story-contact-section .reveal-sequence {
  opacity: 0;
  transform: translateY(22px);
  transition: opacity 900ms cubic-bezier(.2, .7, .2, 1), transform 900ms cubic-bezier(.2, .7, .2, 1);
}
.story-reviews-section .reveal-sequence.revealed, .story-rooted-section .reveal-sequence.revealed, .story-guests-section .reveal-sequence.revealed, .story-contact-section .reveal-sequence.revealed {
  opacity: 1;
  transform: translateY(0);
}
@media (max-width: 1100px) {
  .story-guests-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 900px) {
  .story-simple-hero {
    height: auto;
    min-height: auto;
  }
  .story-simple-hero__inner {
    min-height: auto;
    height: auto;
    gap: var(--space-5);
    padding-block: calc(var(--space-5) + 56px) var(--space-6);
  }
  .story-simple-hero__copy h1 {
    color: var(--color-text-strong);
    font-size: var(--font-size-section);
    line-height: var(--line-heading);
  }
  .story-simple-hero__images {
    gap: var(--space-3);
    height: auto;
  }
  .story-simple-hero__actions {
    display: none;
  }
  .story-simple-hero__card {
    height: auto;
    aspect-ratio: 4 / 5;
    border-radius: var(--radius-md);
  }
  .story-simple-hero__card--featured {
    height: auto;
  }
  .story-rooted-grid, .story-contact-panel {
    grid-template-columns: 1fr;
  }
  .story-rooted-media {
    width: min(100%, 500px);
    margin-inline: auto;
    padding-right: var(--space-8);
  }
  .story-rooted-card {
    min-height: clamp(390px, 82vw, 560px);
  }
  .story-rooted-copy {
    max-width: none;
    text-align: center;
  }
  .story-rooted-copy .section-title {
    margin-inline: auto;
  }
  .story-review-metrics {
    min-width: 1080px;
  }
  .story-review-overall,
  .story-review-metric {
    min-height: 112px;
  }
  .story-contact-media {
    min-height: 0;
    height: clamp(210px, 56vw, 300px);
    border-right: 0;
    border-bottom: 1px solid rgba(200, 164, 93, 0.18);
  }
}
@media (max-width: 767px) {
  .story-simple-hero {
    margin-bottom: 34px;
    border-bottom: 0;
  }
  .story-simple-hero__inner {
    gap: var(--space-6);
  }
  .story-simple-hero+main .story-rooted-section {
    padding-top: clamp(54px, 14vw, 72px);
  }
  .story-rooted-copy .section-title,
  .story-section-header .section-title,
  .story-reviews-header .section-title {
    font-size: clamp(1.78rem, 8vw, 2.38rem);
    white-space: normal;
  }
  .story-rooted-media {
    width: 100%;
    padding-right: 0;
  }
  .story-rooted-card {
    height: clamp(220px, 56vw, 300px);
    min-height: 0;
  }
  .story-rooted-chef {
    display: none;
  }
  .story-guests-section {
    padding-top: clamp(58px, 15vw, 84px);
    padding-bottom: clamp(62px, 16vw, 92px);
  }
  .story-guests-section .story-section-header {
    margin-bottom: clamp(var(--space-8), 10vw, calc(var(--space-10) + var(--space-4)));
  }
  .story-reviews-section {
    padding-top: clamp(58px, 15vw, 84px);
    padding-bottom: clamp(62px, 16vw, 92px);
  }
  .story-reviews-overview {
    margin-top: clamp(var(--space-8), 12vw, var(--space-12));
  }
  .story-review-metrics {
    min-width: 1420px;
  }
  .story-review-overall,
  .story-review-metric {
    min-height: 112px;
    padding: var(--space-4) var(--space-6);
    border-right: 1px solid rgba(23, 18, 12, 0.12);
  }
  .story-review-metric {
    grid-template-columns: 1fr;
    align-items: stretch;
  }
  .story-review-metric i {
    grid-row: auto;
    margin-top: auto;
  }
  .story-customer-reviews {
    display: flex;
    gap: clamp(var(--space-8), 12vw, var(--space-12));
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    margin-top: var(--space-8);
    padding-top: var(--space-6);
    padding-bottom: var(--space-2);
  }
  .story-customer-reviews::-webkit-scrollbar {
    display: none;
  }
  .story-customer-review {
    flex: 0 0 min(100%, 360px);
    scroll-snap-align: center;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    text-align: center;
  }
  .story-customer-review__guest {
    flex-direction: column;
    justify-content: center;
    text-align: center;
  }
  .story-customer-review__copy {
    max-width: none;
    margin-inline: auto;
  }
  .story-reviews-modal {
    padding: 0;
    place-items: stretch;
  }
  .story-reviews-modal__backdrop {
    display: none;
  }
  .story-reviews-modal__panel {
    width: 100%;
    max-height: none;
    min-height: 100svh;
    border-radius: 0;
    box-shadow: none;
  }
  .story-reviews-modal__header {
    padding: var(--space-4) var(--space-4) var(--space-3);
  }
  .story-reviews-modal__body {
    padding: var(--space-4) var(--space-5) calc(var(--space-8) + env(safe-area-inset-bottom));
  }
  .story-reviews-modal__item {
    padding: var(--space-8) 0;
    text-align: left;
  }
  .story-reviews-modal__item .story-customer-review__guest {
    flex-direction: row;
    align-items: flex-start;
    justify-content: flex-start;
    text-align: left;
  }
  .story-reviews-modal__item .story-customer-review__copy {
    margin-inline: 0;
    text-align: left;
  }
  .story-contact-panel {
    border-radius: var(--radius-lg);
  }
  .story-contact-content {
    padding: var(--space-5) var(--space-4);
  }
  .story-contact-content .section-title {
    font-size: clamp(2.1rem, 9vw, 3.1rem);
  }
  .story-contact-content .muted-copy {
    font-size: 0.95rem;
    line-height: 1.75;
  }
  .story-contact-list {
    gap: 0;
  }
  .story-contact-row {
    padding: var(--space-3) 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  }
  .story-contact-actions {
    display: none;
  }
  .story-contact-action {
    min-height: 54px;
    flex-direction: column;
    gap: 0.35rem;
    padding: 0.75rem 0.5rem;
    font-size: 0.68rem;
    letter-spacing: 0.1em;
  }
}
@media (max-width: 640px) {
  .story-simple-hero__inner {
    gap: var(--space-6);
    padding-block: calc(var(--space-5) + 48px) var(--space-6);
  }
  .story-simple-hero__copy h1 {
    font-size: clamp(1.9rem, 10vw, 2.75rem);
    line-height: 1.02;
  }
  .story-simple-hero__copy>p:not(.eyebrow) {
    max-width: 34ch;
    margin-top: var(--space-3);
    font-size: var(--font-size-base);
    line-height: var(--line-body);
  }
  .story-simple-hero__images {
    grid-template-columns: repeat(3, minmax(86px, 1fr));
    gap: 10px;
    padding-top: 0;
    align-items: center;
  }
  .story-simple-hero__card {
    aspect-ratio: 4 / 5;
    box-shadow: 0 14px 42px rgba(0, 0, 0, 0.26);
  }
  .story-simple-hero__card:nth-child(1) {
    transform: translateY(14px) rotate(-6deg);
  }
  .story-simple-hero__card:nth-child(2) {
    transform: translateY(-6px);
  }
  .story-simple-hero__card:nth-child(3) {
    transform: translateY(14px) rotate(6deg);
  }
  .story-guests-grid {
    display: flex;
    grid-template-columns: none;
    gap: var(--space-4);
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    scrollbar-width: none;
  }
  .story-guests-grid::-webkit-scrollbar {
    display: none;
  }
  .story-guest-card {
    flex: 0 0 100%;
    width: 100%;
    min-height: auto;
  }
  .story-guest-card img {
    aspect-ratio: 1.2 / 1;
  }
  .story-guest-card h3 {
    margin-top: var(--space-4);
  }
  .story-guest-card p {
    max-width: 320px;
    font-size: var(--type-body);
    line-height: var(--line-body);
  }
  .story-guest-action {
    display: none;
  }
  .story-guests-controls {
    display: grid;
  }
  .story-contact-row {
    font-size: 0.82rem;
    word-break: break-word;
  }
}
@media (max-width: 360px) {
  .story-contact-actions {
    grid-template-columns: 1fr;
  }
  .story-contact-action {
    flex-direction: row;
  }
}
.career-empty-state {
    max-width: 640px;
    margin-inline: auto;
    padding: var(--space-section-sm, 3rem) var(--space-content-gap, 1.5rem);
    text-align: center;
    background: var(--surface-card, rgba(255, 255, 255, 0.035));
    border-radius: var(--radius-card, 28px);
}

.career-empty-state i {
    color: var(--color-gold, #c8a45d);
    font-size: 1.35rem;
    margin-bottom: 1rem;
}

.career-empty-state h3 {
    color: var(--text-strong, #fff);
    font-size: clamp(1.35rem, 2vw, 1.8rem);
    margin-bottom: 0.75rem;
}

.career-empty-state p {
    color: var(--text-muted, rgba(255, 255, 255, 0.68));
    max-width: 420px;
    margin-inline: auto;
}

.careers-hero {
    --careers-hero-image: url(https://firebasestorage.googleapis.com/v0/b/laams-server.appspot.com/o/drive%2Forgs%2FBHIx9BPAsyeNhylNfkxN%2Fcommon%2Fideas%2FG1J7tjdppiJi3vSd4VHr%2FzNAgzpSxP76KazyAVT62.webp?alt=media&token=36b018b2-1776-4f21-bcef-cf34d48f9da4);
    isolation: isolate;
    background: var(--color-bg);
    border-bottom: 0;
    align-items: center;
    min-height: 100svh;
    display: flex;
    position: relative;
    overflow: hidden
}

.careers-hero:before {
    content: "";
    z-index: -2;
    background: linear-gradient(180deg, #0000000a, #0505058a 86%, #050505b3 100%), linear-gradient(90deg, #000000c7, #00000080 42%, #00000024), var(--careers-hero-image) 72% center / cover no-repeat;
    opacity: .9;
    animation: 1.6s forwards careersHeroImageIn;
    position: absolute;
    inset: 0;
    transform: scale(1.035)
}

.careers-hero:after {
    content: "";
    z-index: -1;
    opacity: .62;
    background: radial-gradient(circle at 28% 48%, #c8a45d21, #0000 34%), linear-gradient(#05050500 76%, #050505d1 100%);
    position: absolute;
    inset: 0
}

.careers-hero__inner {
    padding-block: 132px 80px
}

.careers-hero__content {
    max-width: 600px
}

.careers-hero .page-hero__statement {
    letter-spacing: .015em;
    max-width: 560px;
    font-size: clamp(2.55rem, 4.3vw, 4rem);
    line-height: 1
}

.careers-hero .page-hero__text {
    color: #f5f5f5b8;
    max-width: 520px;
    margin-top: 16px
}

.careers-hero__actions {
    opacity: 0;
    flex-wrap: wrap;
    gap: 18px;
    margin-top: 30px;
    animation: .98s cubic-bezier(.2, .7, .2, 1) .47s forwards heroContentIn;
    display: flex;
    transform: translateY(14px)
}

.careers-hero__link i {
    font-size: .72rem
}

.careers-intro-grid,
.careers-application-grid {
    gap: clamp(26px, 5vw, 72px);
    display: grid
}

.careers-intro-grid {
    grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr);
    align-items: start
}

.careers-application-grid {
    grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
    align-items: center
}

.careers-intro-copy {
    text-align: left;
    max-width: 620px;
    margin: 18px 0 0
}

.careers-highlight-card,
.expect-panel,
.application-panel,
.role-card {
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: linear-gradient(145deg, #ffffff0b, #ffffff04)
}

.careers-team-panel {
    min-height: 0
}

.careers-team-panel img {
    object-fit: cover;
    filter: brightness(.72)saturate(1.03);
    width: 100%;
    height: 100%;
    min-height: 0;
    transition: transform .9s ease, filter var(--transition-base);
    display: block
}

.careers-team-panel:after {
    display: none
}

.careers-team-panel:hover img {
    filter: brightness(.8)saturate(1.05);
    transform: scale(1.035)
}

.careers-highlight-card {
    -webkit-backdrop-filter: blur(16px);
    backdrop-filter: blur(16px);
    background: linear-gradient(145deg, #0e0e0dc2, #0e0e0d70);
    margin-top: 24px;
    padding: clamp(18px, 2.4vw, 26px)
}

.careers-highlight-card p {
    color: var(--color-gold);
    letter-spacing: .16em;
    text-transform: uppercase;
    font-size: .72rem;
    font-weight: 800
}

.careers-highlight-card h3 {
    font-family: var(--font-heading);
    color: var(--color-text-strong);
    margin-top: 14px;
    font-size: clamp(1.35rem, 2.2vw, 2rem);
    font-weight: 500;
    line-height: 1.12
}

.careers-section-header {
    text-align: center;
    margin-inline: auto;
    max-width: 720px;
    margin-bottom: 28px
}

.careers-section-header .section-title {
    margin-top: 10px
}

.role-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 14px;
    display: grid
}

.role-card {
    min-height: 230px;
    transition: transform var(--transition-base), border-color var(--transition-base), background var(--transition-base);
    flex-direction: column;
    padding: 18px;
    display: flex
}

.role-card:hover {
    background: #ffffff0b;
    border-color: #c8a45d61;
    transform: translateY(-4px)
}

.role-card span {
    color: var(--color-gold);
    letter-spacing: .14em;
    text-transform: uppercase;
    font-size: .66rem;
    font-weight: 800
}

.role-card h3 {
    font-family: var(--font-heading);
    color: var(--color-text-strong);
    margin-top: 14px;
    font-size: 1.45rem;
    font-weight: 500;
    line-height: 1.05
}

.role-card p {
    color: var(--color-muted);
    margin-top: 10px;
    font-size: .84rem;
    line-height: 1.55
}

.role-card a {
    color: var(--color-gold);
    text-transform: uppercase;
    letter-spacing: .14em;
    margin-top: auto;
    font-size: .7rem;
    font-weight: 800;
    text-decoration: none
}

.application-panel {
    padding: clamp(22px, 3vw, 34px)
}

.careers-application-copy {
    align-self: start
}

.expect-panel {
    margin-top: 28px;
    padding: clamp(18px, 2.4vw, 26px)
}

.expect-panel h3 {
    font-family: var(--font-heading);
    color: var(--color-text-strong);
    font-size: clamp(1.6rem, 2.4vw, 2.2rem);
    font-weight: 500;
    line-height: 1.08
}

.expect-panel ol {
    counter-reset: expect-step;
    gap: 12px;
    margin: 18px 0 0;
    padding: 0;
    list-style: none;
    display: grid
}

.expect-panel li {
    counter-increment: expect-step;
    color: var(--color-muted);
    grid-template-columns: 32px 1fr;
    align-items: center;
    gap: 12px;
    font-size: .9rem;
    line-height: 1.45;
    display: grid
}

.expect-panel li:before {
    content: counter(expect-step);
    width: 32px;
    height: 32px;
    color: var(--color-gold);
    border: 1px solid #c8a45d52;
    border-radius: 50%;
    place-items: center;
    font-size: .72rem;
    font-weight: 800;
    display: inline-grid
}

.expect-panel p {
    color: #f5f5f59e;
    margin-top: 18px;
    font-size: .82rem;
    line-height: 1.5
}

.application-form {
    gap: 18px;
    display: grid
}

.application-form textarea {
    resize: vertical;
    min-height: 120px
}

.application-feedback {
    border-radius: var(--radius-md);
    color: var(--color-gold);
    text-align: center;
    background: #c8a45d14;
    border: 1px solid #c8a45d47;
    margin-top: 16px;
    padding: 13px 15px;
    font-size: .88rem;
    line-height: 1.5
}

.careers-intro-section .reveal-sequence,
.careers-positions-section .reveal-sequence,
.careers-application-section .reveal-sequence {
    opacity: 0;
    transition: opacity .76s ease, transform .76s ease, border-color var(--transition-base), background var(--transition-base);
    transform: translateY(18px)
}

.careers-intro-section .reveal-sequence.revealed,
.careers-positions-section .reveal-sequence.revealed,
.careers-application-section .reveal-sequence.revealed {
    opacity: 1;
    transform: translateY(0)
}

.careers-positions-section .role-card.revealed:hover {
    transform: translateY(-4px)
}

@keyframes careersHeroContentIn {
    0% {
        opacity: 0;
        transform: translateY(18px)
    }

    to {
        opacity: 1;
        transform: translateY(0)
    }
}

@keyframes careersHeroImageIn {
    0% {
        opacity: .74;
        transform: scale(1.06)
    }

    to {
        opacity: .9;
        transform: scale(1.035)
    }
}

@media (prefers-reduced-motion:reduce) {

    .careers-hero:before,
    .careers-hero__content,
    .careers-hero__actions,
    .careers-team-panel img,
    .about-values-section .reveal-sequence,
    .about-story-section .reveal-sequence,
    .about-philosophy-section .reveal-sequence,
    .about-atmosphere-section .reveal-sequence,
    .about-cta-section .reveal-sequence,
    .careers-intro-section .reveal-sequence,
    .careers-positions-section .reveal-sequence,
    .careers-application-section .reveal-sequence {
        opacity: 1;
        transition: none;
        animation: none;
        transform: none
    }
}

.careers-hero {
    min-height: clamp(430px, 58svh, 620px)
}

.careers-hero__inner {
    min-height: inherit;
    padding-block: calc(62px + var(--space-12)) var(--space-12);
    align-items: center;
    display: flex
}

.careers-hero__content .eyebrow {
    margin-top: var(--space-3);
    display: block
}

.careers-hero .page-hero__statement {
    max-width: 680px;
    margin-top: var(--space-3);
    font-size: clamp(2.35rem, 4.1vw, 4.05rem)
}

.careers-hero .page-hero__text {
    max-width: 650px;
    font-size: var(--type-body)
}

.careers-hero__actions {
    gap: var(--space-4);
    margin-top: var(--space-6)
}

.career-benefit-grid {
    gap: var(--space-card-gap);
    grid-template-columns: repeat(3, minmax(0, 1fr));
    display: grid
}

.career-benefit-dots {
    display: none
}

.career-benefit-card,
.career-general-panel,
.career-application-panel,
.career-role-summary,
.career-mobile-selected,
.career-review-card,
.career-confirmation {
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: linear-gradient(145deg, #ffffff0b, #ffffff04), #080808f5
}

.career-benefit-card {
    min-height: 172px;
    padding: var(--space-card);
    text-align: center;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    display: flex
}

.career-benefit-card i,
.role-card__icon,
.career-confirmation__icon {
    border-radius: var(--radius-full);
    width: 38px;
    height: 38px;
    color: var(--color-gold);
    background: #c8a45d14;
    border: 1px solid #c8a45d4d;
    place-items: center;
    display: inline-grid
}

.career-role-list .role-card__icon {
    background: radial-gradient(circle, #c8a45d21, #c8a45d0a), #00000047;
    border-color: #c8a45d70;
    width: 64px;
    height: 64px;
    font-size: 1.42rem
}

.career-benefit-card h3 {
    margin-top: var(--space-5);
    color: var(--color-text-strong);
    font-family: var(--font-heading);
    font-size: var(--type-card-title);
    line-height: var(--line-heading);
    font-weight: 500
}

.career-benefit-card p {
    margin-top: var(--space-3);
    color: var(--color-muted);
    font-size: var(--type-card-copy);
    line-height: 1.6
}

.career-role-list {
    gap: var(--space-4);
    grid-template-columns: 1fr;
    display: grid
}

.career-role-list .role-card {
    gap: var(--space-5);
    min-height: auto;
    padding: var(--space-card);
    background: linear-gradient(145deg, #ffffff0d, #ffffff04), #080808f5;
    border-left: 0;
    grid-template-columns: 82px minmax(0, 1fr) minmax(220px, .46fr) auto;
    align-items: center;
    display: grid
}

.role-card__content {
    min-width: 0
}

.role-card__meta {
    margin-top: var(--space-2);
    color: #c8a45dcc;
    font-size: var(--type-card-meta);
    letter-spacing: .02em;
    text-transform: none;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    font-weight: 800;
    display: flex
}

.role-card__meta span {
    color: inherit;
    font-size: inherit;
    font-weight: inherit;
    letter-spacing: inherit;
    text-transform: inherit
}

.role-card__meta span+span:before {
    content: "•";
    color: #c8a45db8;
    margin-right: 10px
}

.role-card__content h3 {
    margin-top: 0;
    font-size: clamp(1.5rem, 2.2vw, 2rem)
}

.role-card__content p {
    max-width: 820px;
    margin-top: var(--space-3)
}

.role-card__requirements {
    min-height: 94px;
    padding-left: var(--space-5);
    border-left: 1px solid #c8a45d24
}

.role-card__requirements h4 {
    color: var(--color-text-strong);
    font-family: var(--font-ui);
    letter-spacing: .02em;
    font-size: .78rem;
    font-weight: 850
}

.role-requirements {
    margin-top: var(--space-2);
    gap: 5px;
    padding-left: 14px;
    list-style: outside;
    display: grid
}

.role-requirements li {
    color: #f5f5f5b8;
    background: 0 0;
    border: 0;
    border-radius: 0;
    padding: 0;
    font-size: .76rem;
    line-height: 1.35
}

.role-card__actions {
    gap: var(--space-3);
    align-self: end;
    justify-items: end;
    display: grid
}

.role-card__action {
    border-radius: var(--radius-xs);
    min-height: 42px;
    color: var(--color-gold);
    padding: 0 var(--space-4);
    text-transform: uppercase;
    letter-spacing: .08em;
    cursor: pointer;
    white-space: nowrap;
    background: #c8a45d1a;
    border: 1px solid #c8a45d57;
    justify-content: center;
    align-items: center;
    gap: 9px;
    font-size: .7rem;
    font-weight: 850;
    text-decoration: none;
    display: inline-flex
}

.role-card__action-short {
    display: none
}

.career-text-action {
    color: var(--color-gold);
    text-transform: uppercase;
    letter-spacing: .12em;
    cursor: pointer;
    white-space: nowrap;
    background: 0 0;
    border: 0;
    font-size: .7rem;
    font-weight: 850;
    text-decoration: none
}

.role-card__details {
    display: none
}

.career-general-panel {
    justify-content: space-between;
    align-items: center;
    gap: var(--space-6);
    padding: clamp(20px, 3vw, 34px);
    display: flex
}

.career-general-panel .section-title {
    margin-top: var(--space-2);
    font-size: clamp(2rem, 3vw, 3rem)
}

.career-general-panel .muted-copy {
    max-width: 620px;
    margin-top: var(--space-3)
}

.career-application-overlay {
    z-index: var(--z-modal);
    padding: var(--space-4);
    justify-content: center;
    align-items: center;
    display: flex;
    position: fixed;
    inset: 0
}

.career-application-backdrop {
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    background: #000000c2;
    position: absolute;
    inset: 0
}

.career-application-panel {
    width: min(1120px, 100%);
    max-height: min(88dvh, 820px);
    box-shadow: var(--shadow-modal);
    animation: modalIn var(--transition-base) both;
    position: relative;
    overflow: hidden
}

.career-application-header {
    justify-content: space-between;
    align-items: flex-start;
    gap: var(--space-5);
    padding: var(--space-5) var(--space-5) var(--space-4);
    background: #070707eb;
    border-bottom: 1px solid #c8a45d24;
    display: flex
}

.career-application-header h2 {
    margin-top: var(--space-2);
    color: var(--color-text-strong);
    font-size: clamp(2rem, 3vw, 3rem);
    line-height: var(--line-heading)
}

.career-application-body {
    max-height: calc(min(88dvh, 820px) - 104px);
    overflow: hidden
}

.career-application-layout {
    grid-template-columns: minmax(280px, .76fr) minmax(0, 1.24fr);
    height: calc(min(88dvh, 820px) - 104px);
    min-height: 0;
    display: grid
}

.career-role-summary {
    padding: var(--space-6);
    background: radial-gradient(circle at 20% 0, #c8a45d1a, #0000 32%), #090909f5;
    border-width: 0 1px 0 0;
    border-radius: 0;
    overflow: hidden
}

.career-role-summary h3,
.career-mobile-selected h3,
.career-confirmation h3 {
    margin-top: var(--space-3);
    color: var(--color-text-strong);
    font-family: var(--font-heading);
    font-size: clamp(1.7rem, 2.6vw, 2.55rem);
    line-height: var(--line-heading);
    font-weight: 500
}

.career-role-summary p,
.career-mobile-selected p,
.career-confirmation>p:not(.eyebrow) {
    margin-top: var(--space-3);
    color: var(--color-muted);
    font-size: var(--type-card-copy);
    line-height: 1.65
}

.career-role-summary ul,
.career-mobile-selected ul {
    gap: var(--space-2);
    margin-top: var(--space-5);
    padding: 0;
    list-style: none;
    display: grid
}

.career-role-summary li,
.career-mobile-selected li {
    color: #f5f5f5ad;
    font-size: .84rem;
    line-height: 1.45
}

.career-role-summary li:before,
.career-mobile-selected li:before {
    content: "";
    background: var(--color-gold);
    vertical-align: middle;
    border-radius: 50%;
    width: 5px;
    height: 5px;
    margin-right: 9px;
    display: inline-block
}

.career-form {
    gap: var(--space-4);
    padding: var(--space-6);
    min-height: 0;
    display: grid;
    overflow-y: auto
}

.career-form-grid {
    gap: var(--space-4);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    display: grid
}

.career-form-field--full {
    grid-column: 1/-1
}

.career-error {
    min-height: 18px;
    margin-top: var(--space-2);
    color: var(--color-gold);
    font-size: .72rem;
    line-height: 1.3;
    display: block
}

.career-field-invalid {
    box-shadow: 0 0 0 3px #c8a45d1a;
    border-color: #c8a45dd1 !important
}

.career-weekend-group {
    gap: var(--space-2);
    flex-wrap: wrap;
    display: flex
}

.career-radio-pill {
    align-items: center;
    gap: var(--space-2);
    border-radius: var(--radius-sm);
    min-height: 42px;
    padding: 0 var(--space-3);
    color: #f5f5f5bd;
    cursor: pointer;
    transition: border-color var(--transition-base), box-shadow var(--transition-base), background var(--transition-base), color var(--transition-base);
    background: #ffffff06;
    border: 1px solid #c8a45d29;
    font-size: .82rem;
    font-weight: 800;
    display: inline-flex
}

.career-radio-pill input {
    opacity: 0;
    pointer-events: none;
    position: absolute
}

.career-radio-pill:has(input:checked) {
    color: var(--color-gold);
    background: #c8a45d1a;
    border-color: #c8a45d9e;
    box-shadow: 0 0 0 3px #c8a45d1a
}

.career-radio-pill:focus-within {
    border-color: #c8a45d8f;
    box-shadow: 0 0 0 3px #c8a45d1f
}

.career-mobile-flow {
    display: none
}

.career-stepper {
    gap: var(--space-2);
    padding: var(--space-3);
    background: #060606f0;
    border-bottom: 1px solid #c8a45d24;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    display: grid
}

.career-step {
    border-radius: var(--radius-xs);
    color: #f5f5f580;
    letter-spacing: .07em;
    text-transform: uppercase;
    background: #ffffff06;
    border: 1px solid #c8a45d1f;
    justify-content: center;
    align-items: center;
    gap: 6px;
    min-height: 32px;
    font-size: .62rem;
    font-weight: 850;
    display: inline-flex
}

.career-step span {
    border-radius: var(--radius-full);
    border: 1px solid;
    place-items: center;
    width: 17px;
    height: 17px;
    font-size: .58rem;
    line-height: 1;
    display: inline-grid
}

.career-mobile-content {
    padding: var(--space-4) var(--space-4) calc(92px + env(safe-area-inset-bottom))
}

.career-step-actions {
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4) calc(var(--space-3) + env(safe-area-inset-bottom));
    -webkit-backdrop-filter: blur(18px);
    backdrop-filter: blur(18px);
    background: #050505f0;
    border-top: 1px solid #c8a45d29;
    grid-template-columns: minmax(92px, .4fr) minmax(0, 1fr);
    display: grid;
    position: sticky;
    bottom: 0
}

.career-step-actions .btn:only-child {
    grid-column: 1/-1
}

.career-role-select {
    margin-top: var(--space-4)
}

.career-review-card {
    gap: var(--space-3);
    padding: var(--space-4);
    display: grid
}

.career-summary-rows {
    gap: var(--space-2);
    margin-top: var(--space-5);
    padding-top: var(--space-4);
    border-top: 1px solid #c8a45d24;
    display: grid
}

.career-summary-rows div {
    justify-content: space-between;
    gap: var(--space-4);
    color: #f5f5f594;
    font-size: .86rem;
    display: flex
}

.career-summary-rows strong {
    color: var(--color-text-strong);
    text-align: right
}

.career-confirmation {
    max-width: 620px;
    margin: var(--space-8) auto;
    text-align: center;
    padding: clamp(24px, 4vw, 42px)
}

.career-confirmation__icon {
    margin-inline: auto
}

.career-confirmation-actions {
    gap: var(--space-3);
    margin-top: var(--space-6);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    display: grid
}

.career-confirmation-actions a,
.career-confirmation-actions button {
    text-decoration: none
}

.career-no-scroll {
    overflow: hidden
}

.careers-hero {
    --careers-hero-image: url(https://firebasestorage.googleapis.com/v0/b/laams-server.appspot.com/o/drive%2Forgs%2FBHIx9BPAsyeNhylNfkxN%2Fcommon%2Fideas%2FG1J7tjdppiJi3vSd4VHr%2Fko5vzxU1TlZSPoSikCDr.webp?alt=media&token=de19a0fd-72b9-4a35-8e68-4b258926cb64);
    min-height: 100svh;
    padding: calc(62px + var(--space-6)) 0 var(--space-8);
    background: radial-gradient(circle at 50% 0%, #c8a45d14, transparent 34%), var(--color-bg);
    align-items: center;
    display: flex
}

.careers-hero:before {
    content: none
}

.careers-hero:after {
    content: "";
    z-index: -1;
    pointer-events: none;
    background: linear-gradient(#05050500, #050505db 100%);
    position: absolute;
    inset: 0
}

.careers-hero__inner {
    isolation: isolate;
    min-height: clamp(560px, 100svh - 150px, 760px);
    padding: clamp(var(--space-8), 5vw, var(--space-16));
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-card);
    background: #060606fa;
    border: 1px solid #c8a45d3d;
    align-items: center;
    display: flex;
    position: relative;
    overflow: hidden
}

.careers-hero__inner:before {
    content: "";
    z-index: -2;
    background: var(--careers-hero-image) right center / cover no-repeat;
    pointer-events: none;
    position: absolute;
    inset: 0
}

.careers-hero__inner:after {
    content: "";
    z-index: -1;
    pointer-events: none;
    background: linear-gradient(90deg, #050505f0 0%, #050505e6 30%, #050505bd 46%, #0505054d 64%, #0505050f 84%, #0505052e 100%), linear-gradient(#00000005 0%, #0000000f 42%, #00000085 100%), radial-gradient(circle at 84% 42%, #0000 42%, #0003 100%);
    position: absolute;
    inset: 0
}

.careers-hero__content {
    z-index: 1;
    max-width: min(54%, 640px);
    position: relative
}

.careers-hero__content .eyebrow {
    width: fit-content;
    padding-bottom: var(--space-3);
    margin-top: 0;
    position: relative
}

.careers-hero__content .eyebrow:after {
    content: "";
    background: linear-gradient(90deg, #c8a45db8, #c8a45d00);
    width: clamp(72px, 8vw, 116px);
    height: 1px;
    position: absolute;
    bottom: 0;
    left: 0
}

.careers-hero .page-hero__statement {
    max-width: 610px;
    margin-top: var(--space-5);
    color: var(--color-text-strong);
    letter-spacing: 0;
    text-shadow: 0 18px 52px #000000c7;
    font-size: clamp(3.1rem, 5.4vw, 5.9rem);
    line-height: .94
}

.careers-hero .page-hero__text {
    max-width: 520px;
    margin-top: var(--space-5);
    color: #f5f5f5c2;
    font-size: var(--type-body);
    line-height: var(--line-body);
    letter-spacing: 0
}

.careers-hero__actions {
    gap: var(--space-3);
    margin-top: var(--space-8);
    flex-wrap: wrap;
    display: flex
}

.events-page {
    background: radial-gradient(circle at 50% 0%, #c8a45d0f, transparent 28%), var(--color-bg)
}

.events-main {
    background: #050505f5
}

.events-featured {
    padding: calc(62px + var(--space-5)) 0 var(--space-section-mobile);
    background: radial-gradient(circle at 80% 8%, #c8a45d12, #0000 32%), linear-gradient(#050505d1, #050505fa);
    border-bottom: 1px solid #c8a45d1f
}

.events-featured__grid {
    border-radius: var(--radius-xs);
    background: radial-gradient(circle at 72% 12%, #c8a45d0b, #0000 34%), linear-gradient(145deg, #ffffff09, #ffffff03), #050504;
    border: 1px solid #c8a45d3d;
    gap: 0;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    display: grid;
    position: relative;
    overflow: hidden;
    box-shadow: 0 22px 62px #00000047
}

.events-featured__media,
.event-card,
.events-private-panel {
    border-radius: var(--radius-sm);
    background: linear-gradient(145deg, #ffffff0b, #ffffff04), #090909f5;
    border: 1px solid #c8a45d2e;
    box-shadow: 0 18px 50px #0003
}

.events-featured__media {
    aspect-ratio: 1.72;
    background: 0 0;
    border: 0;
    border-radius: 0;
    min-width: 0;
    min-height: clamp(170px, 44vw, 230px);
    margin: 0;
    position: relative;
    overflow: hidden
}

.events-featured__media:after {
    content: "";
    pointer-events: none;
    background: linear-gradient(#0000 50%, #050504a6 82%, #050504f5 100%);
    position: absolute;
    inset: 0
}

.events-featured__media img {
    object-fit: cover;
    object-position: center;
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    inset: 0
}

.events-featured__card {
    min-width: 0;
    padding: var(--space-card);
    background: linear-gradient(#050504f5 0%, #080807 24%, #0a0a09 100%);
    flex-direction: column;
    justify-content: center;
    display: flex
}

.events-featured__eyebrow {
    color: var(--color-gold);
    font-size: var(--type-section-eyebrow);
    letter-spacing: var(--tracking-label);
    text-transform: uppercase;
    font-weight: 800
}

.events-featured__accent {
    width: 46px;
    height: 1px;
    margin-top: var(--space-2);
    background: #c8a45dad
}

.events-featured__card h1 {
    max-width: 440px;
    margin-top: var(--space-4);
    color: var(--color-text-strong);
    font-size: clamp(2.2rem, 8vw, 3rem);
    line-height: var(--line-heading);
    letter-spacing: 0
}

.events-featured__time {
    margin-top: var(--space-2);
    color: var(--color-gold);
    font-size: var(--font-size-sm);
    letter-spacing: .02em;
    font-weight: 700
}

.events-featured__copy {
    max-width: 520px;
    margin-top: var(--space-3);
    color: #f5f5f5ad;
    font-size: var(--font-size-base);
    overflow-wrap: anywhere;
    line-height: 1.58
}

.events-featured__divider {
    height: 1px;
    margin-top: var(--space-4);
    background: #c8a45d2e
}

.events-featured__meta {
    margin-top: var(--space-4);
    color: #f5f5f5c7;
    font-size: var(--font-size-sm);
    font-weight: 600;
    line-height: 1.4
}

.events-featured__actions {
    align-items: center;
    gap: var(--space-4);
    margin-top: var(--space-5);
    flex-wrap: wrap;
    display: flex
}

.events-featured__primary,
.events-featured__secondary {
    min-height: 44px;
    color: var(--color-gold);
    transition: color var(--transition-base), border-color var(--transition-base), background var(--transition-base), transform var(--transition-base);
    justify-content: center;
    align-items: center;
    gap: 10px;
    text-decoration: none;
    display: inline-flex
}

.events-featured__primary {
    min-width: 168px;
    padding: 0 var(--space-5);
    border-radius: var(--radius-xs);
    text-transform: uppercase;
    letter-spacing: .14em;
    background: #c8a45d14;
    border: 1px solid #c8a45d85;
    font-size: .74rem;
    font-weight: 800
}

.events-featured__secondary {
    border-bottom: 1px solid #c8a45d73;
    min-height: 34px;
    padding-bottom: 2px;
    font-size: .9rem;
    font-weight: 600
}

.events-featured__primary:hover,
.events-featured__secondary:hover {
    color: var(--color-gold-hover);
    transform: translate(2px)
}

.events-featured__primary:hover {
    background: #c8a45d1f;
    border-color: #c8a45dbd
}

.events-upcoming {
    padding: var(--space-section-mobile) 0
}

.events-section-head {
    max-width: 680px;
    margin-bottom: var(--space-4)
}

.events-section-head .eyebrow {
    display: none
}

.events-section-head .section-title {
    color: var(--color-gold);
    font-size: clamp(1.42rem, 7vw, 1.9rem);
    line-height: var(--line-heading)
}

.events-grid {
    gap: var(--space-3);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
    display: grid
}

.event-card {
    border: 1px solid var(--color-card-border);
    border-radius: var(--radius-card);
    background: linear-gradient(180deg, var(--color-surface-soft), var(--color-surface));
    width: 100%;
    max-width: 280px;
    min-height: 0;
    box-shadow: var(--shadow-card);
    transition: transform var(--transition-base), border-color var(--transition-base), background var(--transition-base), box-shadow var(--transition-base);
    flex-direction: column;
    display: flex;
    position: relative;
    overflow: hidden
}

.event-card:hover {
    border-color: var(--color-card-border);
    background: linear-gradient(180deg, #ffffff0d, var(--color-surface));
    transform: translateY(-2px)
}

.event-card__media-link {
    color: inherit;
    background: #ffffff08;
    text-decoration: none;
    display: block;
    overflow: hidden
}

.event-card__image {
    aspect-ratio: 16/9;
    object-fit: cover;
    width: 100%;
    height: clamp(105px, 24vw, 150px);
    transition: transform var(--transition-base), opacity var(--transition-base);
    display: block
}

.event-card:hover .event-card__image {
    opacity: .94;
    transform: scale(1.025)
}

.event-date-badge,
.event-card__mobile-date {
    display: none
}

.event-card__body {
    gap: var(--space-1);
    min-width: 0;
    padding: var(--space-3) var(--space-3) 0;
    display: grid
}

.event-card h3 {
    color: var(--color-text-strong);
    font-family: var(--font-heading);
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    font-size: clamp(.95rem, 1vw, 1.12rem);
    font-weight: 500;
    line-height: 1.16;
    display: -webkit-box;
    overflow: hidden
}

.event-card__meta {
    color: var(--color-gold);
    font-size: clamp(.72rem, .78vw, .82rem);
    font-weight: 600;
    line-height: 1.35
}

.event-card__footer {
    justify-content: space-between;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3);
    margin-top: auto;
    display: flex
}

.event-card__price {
    min-width: 0;
    color: var(--color-text);
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: clamp(.72rem, .78vw, .82rem);
    font-weight: 600;
    line-height: 1.2;
    overflow: hidden
}

.event-card__link {
    color: var(--color-gold);
    text-transform: uppercase;
    letter-spacing: .14em;
    white-space: nowrap;
    transition: color var(--transition-base), transform var(--transition-base);
    flex: none;
    justify-content: flex-end;
    align-items: center;
    gap: 6px;
    font-size: .68rem;
    font-weight: 800;
    text-decoration: none;
    display: inline-flex
}

.event-card__link:hover {
    color: var(--color-gold-hover);
    transform: translate(2px)
}

.events-private-cta {
    padding: 0 0 calc(var(--space-section-mobile) + var(--space-6))
}

.events-private-panel {
    gap: var(--space-4);
    padding: var(--space-card);
    border-radius: var(--radius-xs);
    background: radial-gradient(circle at 10% 0, #c8a45d14, #0000 36%), linear-gradient(145deg, #ffffff0a, #ffffff03), #0c0c0cf5;
    border-color: #c8a45d3d;
    display: grid
}

.events-private-icon {
    width: 54px;
    height: 54px;
    color: var(--color-gold);
    background: #c8a45d0b;
    border: 1px solid #c8a45d4d;
    border-radius: 50%;
    place-items: center;
    display: inline-grid
}

.events-private-icon__mark {
    border-top: 1px solid;
    border-bottom: 1px solid;
    width: 25px;
    height: 18px;
    position: relative
}

.events-private-icon__mark:before,
.events-private-icon__mark:after {
    content: "";
    background: currentColor;
    width: 1px;
    height: 8px;
    position: absolute;
    bottom: -8px
}

.events-private-icon__mark:before {
    left: 5px
}

.events-private-icon__mark:after {
    right: 5px
}

.events-private-copy {
    min-width: 0
}

.events-private-panel h2 {
    color: var(--color-text-strong);
    margin-top: 6px;
    font-size: clamp(1.75rem, 3vw, 2.65rem);
    line-height: 1
}

.events-private-panel p:not(.eyebrow) {
    color: #f5f5f59e;
    margin-top: 8px;
    font-size: .92rem;
    line-height: 1.56
}

.events-private-link {
    width: fit-content
}

@media (min-width:901px) {
    .events-featured {
        padding: calc(62px + var(--space-8)) 0 clamp(52px, 4.8vw, 72px);
        border-bottom-color: #c8a45d29;
        margin-top: 0;
        display: block;
        overflow: visible
    }

    .events-featured>.site-wrap {
        width: min(var(--container-wide), calc(100% - (var(--space-container) * 2)));
        margin: 0 auto
    }

    .events-featured__grid {
        border-radius: var(--radius-xs);
        background: radial-gradient(circle at 76% 12%, #c8a45d0a, #0000 34%), linear-gradient(145deg, #ffffff09, #ffffff03), #050504;
        border: 1px solid #c8a45d38;
        grid-template-columns: minmax(0, 1.35fr) minmax(390px, .95fr);
        align-items: stretch;
        gap: 0;
        height: clamp(300px, 28vw, 360px);
        min-height: 0;
        overflow: hidden;
        box-shadow: 0 20px 56px #00000038
    }

    .events-featured__media {
        aspect-ratio: auto;
        height: 100%;
        min-height: 0;
        box-shadow: none;
        background: 0 0;
        border: 0;
        border-radius: 0;
        align-self: stretch;
        overflow: hidden
    }

    .events-featured__media:after {
        background: linear-gradient(90deg, #0000 55%, #0505048c 78%, #050504f2 100%);
        inset: 0
    }

    .events-featured__card {
        height: 100%;
        min-height: 0;
        box-shadow: none;
        background: linear-gradient(90deg, #050504f2 0%, #080807fa 28%, #0a0a09 100%);
        border-radius: 0;
        justify-content: center;
        align-self: stretch;
        padding: clamp(24px, 3vw, 42px) clamp(34px, 4.4vw, 64px);
        position: relative
    }

    .events-featured__eyebrow {
        margin-bottom: var(--space-1)
    }

    .events-featured__eyebrow:after {
        content: "";
        width: 46px;
        height: 1px;
        margin-top: var(--space-2);
        margin-bottom: var(--space-4);
        background: #c8a45dad;
        display: block
    }

    .events-featured__accent {
        display: none
    }

    .events-featured__card h1 {
        max-width: 520px;
        margin-top: 0;
        font-size: clamp(2.7rem, 3.5vw, 4.05rem)
    }

    .events-featured__time {
        margin-top: var(--space-3)
    }

    .events-featured__copy {
        margin-top: var(--space-5);
        font-size: var(--font-size-base);
        line-height: 1.58
    }

    .events-featured__divider {
        margin-top: var(--space-4)
    }

    .events-featured__booking {
        gap: var(--space-4);
        margin-top: 0;
        display: grid
    }

    .events-featured__meta {
        margin-top: var(--space-4)
    }

    .events-featured__actions {
        gap: var(--space-5);
        flex-wrap: wrap;
        margin-top: 0;
        display: flex
    }

    .events-upcoming {
        padding: clamp(40px, 4vw, 56px) 0 var(--space-section-compact)
    }

    .events-section-head {
        margin-bottom: clamp(18px, 3vw, 28px)
    }

    .events-section-head .section-title {
        font-size: clamp(1.85rem, 3vw, 2.6rem)
    }

    .events-grid {
        grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
        gap: clamp(14px, 1.6vw, 20px)
    }

    .event-card {
        justify-self: center
    }

    .event-card__image {
        height: clamp(140px, 12vw, 165px)
    }

    .event-card__body {
        padding: var(--space-3) var(--space-3) 0
    }

    .event-card__meta {
        font-size: .8rem;
        line-height: 1.4
    }

    .event-card__link {
        letter-spacing: .14em;
        font-size: .68rem
    }

    .events-private-cta {
        padding-bottom: var(--space-section-compact)
    }

    .events-private-panel {
        grid-template-columns: auto minmax(0, 1fr) auto;
        align-items: center;
        gap: clamp(18px, 3vw, 34px);
        padding: clamp(22px, 3vw, 34px);
        display: grid
    }

    .events-private-icon {
        width: 76px;
        height: 76px;
        font-size: 1.15rem
    }

    .events-private-link {
        min-width: 190px;
        min-height: 48px
    }
}

@media (max-width:900px) {
    .events-featured>.site-wrap {
        width: min(var(--container-wide), calc(100% - (var(--space-container) * 2)));
        margin-inline: auto
    }

    .events-featured__grid,
    .events-featured__card,
    .events-featured__media,
    .events-featured__card h1,
    .events-featured__time,
    .events-featured__meta {
        width: 100%;
        max-width: 100%
    }

    .events-featured__copy {
        max-width: 300px
    }
}

@media (min-width:1180px) {
    .events-grid {
        grid-template-columns: repeat(auto-fit, minmax(220px, 1fr))
    }
}

@media (prefers-reduced-motion:reduce) {
    .event-card {
        transition: none
    }

    .event-card:hover {
        transform: none
    }
}

.event-overlay {
    z-index: var(--z-modal);
    padding: var(--space-container);
    place-items: center;
    display: grid;
    position: fixed;
    inset: 0
}

.event-overlay.hidden {
    display: none !important
}

.event-overlay__backdrop {
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
    background: #000000b8;
    position: absolute;
    inset: 0
}

.event-panel {
    border-radius: var(--radius-md);
    width: min(1120px, 100%);
    max-height: min(88svh, 820px);
    box-shadow: var(--shadow-modal);
    background: radial-gradient(circle at 16% 0, #c8a45d14, #0000 28%), linear-gradient(145deg, #121212, #040404);
    border: 1px solid #c8a45d3d;
    flex-direction: column;
    display: flex;
    position: relative;
    overflow: hidden
}

.event-panel__header {
    z-index: 2;
    min-height: 82px;
    padding: var(--space-5) var(--space-6);
    -webkit-backdrop-filter: blur(18px);
    backdrop-filter: blur(18px);
    background: #080808eb;
    border-bottom: 1px solid #c8a45d24;
    justify-content: space-between;
    align-items: center;
    gap: 18px;
    display: flex;
    position: sticky;
    top: 0
}

.event-panel__header h2 {
    color: var(--color-text-strong);
    font-size: var(--type-card-title);
    line-height: var(--line-heading);
    margin-top: 4px
}

.event-panel__close {
    flex: none
}

.event-panel__body {
    scrollbar-width: thin;
    scrollbar-color: #c8a45d8c #ffffff09;
    overflow-y: auto
}

.event-detail-layout {
    align-items: start;
    gap: var(--space-5);
    padding: var(--space-6);
    grid-template-columns: minmax(0, 1.45fr) minmax(320px, .7fr);
    display: grid
}

.event-detail-profile,
.event-booking-card,
.event-detail-extra {
    border-radius: var(--radius-xs);
    background: #ffffff06;
    border: 1px solid #c8a45d29;
    min-width: 0
}

.event-detail-profile {
    grid-column: 1;
    overflow: hidden
}

.event-detail-extra {
    padding: var(--space-5);
    grid-column: 1
}

.event-detail-image {
    background: #050504f5;
    min-height: 260px;
    margin: 0;
    position: relative;
    overflow: hidden
}

.event-detail-image img {
    object-fit: cover;
    width: 100%;
    height: 100%;
    min-height: 260px;
    display: block
}

.event-detail-image:after {
    content: "";
    pointer-events: none;
    background: linear-gradient(#00000005, #05050480);
    position: absolute;
    inset: 0
}

.event-detail-image span {
    left: var(--space-4);
    bottom: var(--space-4);
    z-index: 1;
    color: var(--color-gold);
    letter-spacing: .14em;
    text-transform: uppercase;
    font-size: .66rem;
    font-weight: 850;
    position: absolute
}

.event-detail-copy {
    padding: var(--space-5)
}

.event-detail-mobile-title {
    display: none
}

.event-detail-facts {
    gap: var(--space-3) var(--space-4);
    color: #f5f5f5b8;
    font-size: var(--font-size-sm);
    flex-wrap: wrap;
    line-height: 1.35;
    display: flex
}

.event-detail-facts span {
    align-items: center;
    gap: 7px;
    display: inline-flex
}

.event-detail-facts i {
    color: var(--color-gold)
}

.event-detail-description {
    margin-top: var(--space-5);
    color: #f5f5f5ad;
    max-width: 680px;
    font-size: var(--font-size-base);
    line-height: 1.7
}

.event-detail-section {
    margin-top: var(--space-5);
    padding-top: var(--space-5);
    border-top: 1px solid #c8a45d24
}

.event-detail-section h4 {
    color: var(--color-text-strong);
    font-family: var(--font-heading);
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 1
}

.event-detail-section ul {
    gap: var(--space-2);
    margin-top: var(--space-3);
    color: #f5f5f5a3;
    font-size: var(--font-size-sm);
    line-height: 1.5;
    display: grid
}

.event-detail-section li:before {
    content: "";
    background: var(--color-gold);
    vertical-align: middle;
    border-radius: 50%;
    width: 5px;
    height: 5px;
    margin-right: 9px;
    display: inline-block
}

.event-booking-card {
    top: var(--space-5);
    align-self: start;
    gap: var(--space-5);
    padding: var(--space-5);
    background: linear-gradient(145deg, #ffffff0a, #ffffff03), #080808eb;
    grid-area: 1/2/span 2;
    display: grid;
    position: sticky
}

.event-booking-card h3 {
    margin-top: var(--space-2);
    color: var(--color-text-strong);
    font-family: var(--font-heading);
    font-size: 1.75rem;
    font-weight: 500;
    line-height: 1
}

.event-booking-card p:not(.eyebrow) {
    margin-top: var(--space-2);
    color: #f5f5f599;
    font-size: var(--font-size-sm)
}

.event-guest-row,
.event-total-row {
    justify-content: space-between;
    align-items: center;
    gap: var(--space-4);
    padding-top: var(--space-4);
    color: #f5f5f5ad;
    font-size: var(--font-size-sm);
    border-top: 1px solid #c8a45d24;
    display: flex
}

.event-total-row strong {
    color: var(--color-text-strong);
    font-size: 1rem
}

.event-guest-stepper {
    border-radius: var(--radius-xs);
    border: 1px solid #c8a45d42;
    align-items: center;
    display: inline-flex;
    overflow: hidden
}

.event-guest-stepper button {
    width: 38px;
    height: 38px;
    color: var(--color-gold);
    cursor: pointer;
    place-items: center;
    display: inline-grid
}

.event-guest-stepper strong {
    text-align: center;
    min-width: 42px;
    color: var(--color-text-strong)
}

.event-booking-note,
.event-booking-next {
    padding: var(--space-3);
    border-radius: var(--radius-xs);
    background: #c8a45d0e;
    border: 1px solid #c8a45d29;
    line-height: 1.45
}

.event-booking-next {
    color: var(--color-gold) !important
}

.event-booking-actions {
    gap: var(--space-3);
    display: grid
}

.event-booking-actions button,
.event-mobile-step-actions button,
.event-placeholder-card button {
    border-radius: var(--radius-xs);
    min-height: 44px;
    color: var(--color-gold);
    text-transform: uppercase;
    letter-spacing: .1em;
    cursor: pointer;
    background: #c8a45d1a;
    border: 1px solid #c8a45d7a;
    font-size: .72rem;
    font-weight: 850
}

.event-booking-actions a {
    color: #f5f5f5b8;
    min-height: 40px;
    font-size: var(--font-size-sm);
    justify-content: center;
    align-items: center;
    text-decoration: none;
    display: inline-flex
}

.event-detail-layout--form {
    grid-template-columns: minmax(0, 1.2fr) minmax(320px, .58fr)
}

.event-desktop-form,
.event-booking-form {
    min-width: 0
}

.event-booking-form {
    gap: var(--space-4);
    display: grid
}

.event-form-section,
.event-request-summary,
.event-confirmation {
    border-radius: var(--radius-sm);
    background: #ffffff08;
    border: 1px solid #c8a45d24
}

.event-form-section {
    gap: var(--space-3);
    padding: var(--space-4);
    display: grid
}

.event-form-section h3,
.event-form-section h4,
.event-request-summary h3,
.event-confirmation h3 {
    color: var(--color-text-strong);
    font-family: var(--font-heading);
    font-weight: 500;
    line-height: 1
}

.event-form-section h3 {
    font-size: clamp(2rem, 3vw, 2.7rem)
}

.event-form-section h4,
.event-request-summary h3 {
    font-size: 1.45rem
}

.event-form-section p:not(.eyebrow) {
    color: #f5f5f59e;
    max-width: 520px;
    font-size: var(--font-size-sm);
    line-height: 1.55
}

.event-field-grid {
    gap: var(--space-3);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    display: grid
}

.event-field {
    color: #f5f5f5ad;
    letter-spacing: .08em;
    text-transform: uppercase;
    gap: 7px;
    font-size: .72rem;
    font-weight: 800;
    display: grid
}

.event-field span {
    color: #f5f5f57a
}

.event-field small {
    color: #f5f5f55c;
    font-size: .62rem;
    font-weight: 700
}

.event-field--full {
    grid-column: 1/-1
}

.event-field input,
.event-field textarea {
    border-radius: var(--radius-xs);
    width: 100%;
    min-height: 44px;
    color: var(--color-text);
    letter-spacing: 0;
    text-transform: none;
    background: #00000038;
    border: 1px solid #c8a45d29;
    padding: 11px 12px;
    font-size: .9rem
}

.event-field input::placeholder,
.event-field textarea::placeholder {
    color: #f5f5f552
}

.event-field textarea {
    resize: vertical;
    min-height: 96px;
    line-height: 1.5
}

.event-field input:focus,
.event-field textarea:focus {
    border-color: #c8a45d8a;
    outline: 0;
    box-shadow: 0 0 0 3px #c8a45d1f
}

.event-field-error {
    color: var(--color-gold);
    letter-spacing: 0;
    text-transform: none;
    font-size: .74rem;
    font-weight: 700;
    line-height: 1.35
}

.event-payment-options {
    gap: var(--space-2);
    display: grid
}

.event-payment-option {
    gap: var(--space-2);
    padding: var(--space-3);
    border-radius: var(--radius-xs);
    color: var(--color-text);
    cursor: pointer;
    background: #00000029;
    border: 1px solid #c8a45d24;
    grid-template-columns: 1fr;
    align-items: center;
    display: grid;
    position: relative
}

.event-payment-option input {
    opacity: 0;
    pointer-events: none;
    position: absolute
}

.event-payment-option strong,
.event-payment-option small {
    display: block
}

.event-payment-option strong {
    color: var(--color-text-strong);
    font-size: .9rem
}

.event-payment-option small {
    color: #f5f5f580;
    margin-top: 2px;
    font-size: .76rem;
    line-height: 1.35
}

.event-payment-option.is-selected {
    background: #c8a45d14;
    border-color: #c8a45d75;
    box-shadow: 0 0 0 1px #c8a45d1f, 0 12px 28px #c8a45d14
}

.event-payment-option:focus-within {
    border-color: #c8a45d8a;
    box-shadow: 0 0 0 3px #c8a45d1f
}

.event-payment-option.is-disabled {
    opacity: .48;
    cursor: not-allowed
}

.event-request-summary {
    top: var(--space-5);
    align-self: start;
    gap: var(--space-4);
    padding: var(--space-4);
    background: linear-gradient(145deg, #ffffff0a, #ffffff03), #080808f0;
    display: grid;
    position: sticky
}

.event-summary-rows {
    gap: var(--space-2);
    padding-top: var(--space-3);
    border-top: 1px solid #c8a45d24;
    display: grid
}

.event-summary-rows div {
    justify-content: space-between;
    align-items: flex-start;
    gap: var(--space-4);
    color: #f5f5f594;
    font-size: .82rem;
    line-height: 1.35;
    display: flex
}

.event-summary-rows strong {
    max-width: 62%;
    color: var(--color-text-strong);
    text-align: right;
    overflow-wrap: anywhere
}

.event-request-summary button,
.event-confirmation__actions button,
.event-confirmation__actions a {
    border-radius: var(--radius-xs);
    background: var(--button-primary-bg);
    min-height: 44px;
    color: var(--color-gold);
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: .08em;
    border: 1px solid #c8a45d6b;
    justify-content: center;
    align-items: center;
    font-size: .72rem;
    font-weight: 900;
    text-decoration: none;
    display: inline-flex
}

.event-request-summary .event-booking-back {
    color: #f5f5f5b3;
    background: #ffffff09;
    border-color: #c8a45d2e
}

.event-confirmation {
    max-width: 620px;
    margin: var(--space-6) auto;
    text-align: center;
    padding: clamp(24px, 4vw, 42px)
}

.event-confirmation h3 {
    margin-top: var(--space-2);
    font-size: clamp(2rem, 4vw, 3rem)
}

.event-confirmation>p:not(.eyebrow) {
    max-width: 460px;
    margin: var(--space-3) auto 0;
    color: #f5f5f5a3;
    line-height: 1.62
}

.event-confirmation .event-summary-rows {
    margin-top: var(--space-5);
    text-align: left
}

.event-confirmation__actions {
    gap: var(--space-3);
    margin-top: var(--space-5);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    display: grid
}

.event-mobile-booking-bar,
.event-mobile-flow {
    display: none
}

@media (max-width:900px) {
    .event-overlay {
        place-items: stretch stretch;
        padding: 0
    }

    .event-overlay__backdrop {
        display: none
    }

    .event-panel {
        border: 0;
        border-radius: 0;
        width: 100%;
        max-width: 100%;
        height: 100dvh;
        max-height: none
    }

    .event-panel__header {
        min-height: 62px;
        padding: calc(10px + env(safe-area-inset-top)) var(--space-4) 10px
    }

    .event-panel__header .eyebrow {
        display: none
    }

    .event-panel__header h2 {
        text-overflow: ellipsis;
        white-space: nowrap;
        max-width: 250px;
        font-size: var(--type-card-title);
        overflow: hidden
    }

    .event-panel__body {
        padding-bottom: env(safe-area-inset-bottom);
        overflow-x: hidden
    }

    .event-detail-layout {
        display: none
    }

    .event-mobile-flow {
        width: 100%;
        max-width: 100%;
        display: block
    }

    .event-step-indicator {
        z-index: 2;
        padding: 9px var(--space-4);
        -webkit-backdrop-filter: blur(18px);
        backdrop-filter: blur(18px);
        background: #050505eb;
        border-bottom: 1px solid #c8a45d1f;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 7px;
        display: grid;
        position: sticky;
        top: 0
    }

    .event-step-pill {
        border-radius: var(--radius-xs);
        color: #f5f5f585;
        letter-spacing: .07em;
        text-transform: uppercase;
        background: #ffffff06;
        border: 1px solid #c8a45d24;
        justify-content: center;
        align-items: center;
        gap: 5px;
        min-width: 0;
        min-height: 32px;
        font-size: .62rem;
        font-weight: 850;
        display: inline-flex
    }

    .event-step-pill span {
        border: 1px solid;
        border-radius: 50%;
        flex: none;
        place-items: center;
        width: 17px;
        height: 17px;
        font-size: .58rem;
        line-height: 1;
        display: inline-grid
    }

    .event-step-pill.is-active {
        color: var(--color-gold);
        background: #c8a45d1a;
        border-color: #c8a45d85
    }

    .event-detail-image,
    .event-detail-image img {
        min-height: 176px;
        max-height: 250px
    }

    .event-detail-copy {
        padding: var(--space-4)
    }

    .event-detail-mobile-title {
        margin-bottom: var(--space-4);
        display: block
    }

    .event-detail-mobile-title h3 {
        margin-top: var(--space-2);
        color: var(--color-text-strong);
        font-family: var(--font-heading);
        font-size: clamp(2rem, 10vw, 2.8rem);
        font-weight: 500;
        line-height: 1
    }

    .event-detail-facts {
        gap: var(--space-2);
        display: grid
    }

    .event-detail-description {
        margin-top: var(--space-4);
        overflow-wrap: anywhere;
        max-width: 340px;
        font-size: .92rem;
        line-height: 1.6
    }

    .event-detail-section {
        margin-top: var(--space-4);
        padding-top: var(--space-4)
    }

    .event-booking-card {
        gap: var(--space-4);
        width: auto;
        margin: var(--space-4);
        padding: var(--space-4);
        border-radius: var(--radius-xs);
        background: linear-gradient(145deg, #ffffff0a, #ffffff03), #080808eb;
        border: 1px solid #c8a45d29;
        display: grid;
        position: static
    }

    .event-guest-row,
    .event-total-row {
        min-width: 0
    }

    .event-total-row {
        align-items: flex-start;
        gap: var(--space-2);
        flex-direction: column
    }

    .event-total-row strong {
        overflow-wrap: anywhere;
        max-width: 100%
    }

    .event-mobile-summary-card,
    .event-placeholder-card {
        margin: var(--space-4) var(--space-4) 0;
        padding: var(--space-4);
        border-radius: var(--radius-xs);
        background: #ffffff06;
        border: 1px solid #c8a45d29
    }

    .event-mobile-summary-card h3,
    .event-placeholder-card h3 {
        margin-top: var(--space-2);
        color: var(--color-text-strong);
        font-family: var(--font-heading);
        font-size: clamp(1.65rem, 8vw, 2.2rem);
        font-weight: 500;
        line-height: 1
    }

    .event-mobile-summary-card p:not(.eyebrow),
    .event-placeholder-card p:not(.eyebrow) {
        margin-top: var(--space-2);
        color: #f5f5f59e;
        font-size: var(--font-size-sm);
        line-height: 1.45
    }

    .event-mobile-step--details {
        padding-bottom: calc(var(--space-6) + env(safe-area-inset-bottom))
    }

    .event-mobile-step--details .event-booking-form {
        gap: var(--space-3);
        margin: var(--space-4)
    }

    .event-mobile-step--details .event-form-section {
        padding: var(--space-4);
        border-radius: var(--radius-xs)
    }

    .event-mobile-step--details .event-form-section h3 {
        font-size: clamp(1.85rem, 9vw, 2.45rem)
    }

    .event-mobile-step--details .event-form-section h4,
    .event-mobile-step--details .event-request-summary h3 {
        font-size: 1.35rem
    }

    .event-field-grid {
        grid-template-columns: 1fr
    }

    .event-payment-option {
        padding: 12px
    }

    .event-request-summary {
        margin: var(--space-4);
        padding: var(--space-4);
        border-radius: var(--radius-xs);
        position: static
    }

    .event-summary-rows div {
        gap: var(--space-3)
    }

    .event-summary-rows strong {
        max-width: 58%
    }

    .event-confirmation {
        width: auto;
        margin: var(--space-4);
        padding: var(--space-5) var(--space-4);
        border-radius: var(--radius-xs)
    }

    .event-confirmation__actions {
        grid-template-columns: 1fr
    }

    .event-mobile-step-actions,
    .event-placeholder-card button {
        gap: var(--space-3);
        margin: var(--space-4);
        display: grid
    }

    .event-booking-actions a {
        display: none
    }

    .event-booking-back,
    .event-placeholder-card button {
        color: #f5f5f5b8 !important;
        background: #ffffff09 !important;
        border-color: #c8a45d2e !important
    }
}

.event-detail-page {
    background: var(--color-bg);
    color: var(--color-text);
    --event-detail-surface: linear-gradient(145deg, #ffffff08, #ffffff03), #080808e6;
    --event-detail-border: #ffffff14;
    --event-detail-border-soft: #ffffff0b;
    --event-detail-muted: #f5f5f5a3;
    --event-detail-muted-soft: #f5f5f580;
    --event-detail-accent: var(--color-gold);
    --event-detail-radius: var(--radius-panel);
    --event-detail-card-shadow: var(--shadow-soft);
    --event-detail-hero-height: clamp(260px, 26vw, 380px);
    --event-detail-hero-mobile-height: clamp(250px, 72vw, 350px)
}

.event-detail-main {
    min-height: 70svh;
    position: relative
}

.event-detail-page-head {
    z-index: 6;
    padding: calc(var(--space-5) + var(--space-3)) 0 0;
    position: absolute;
    top: 0;
    left: 0;
    right: 0
}

.event-detail-back-link {
    width: 44px;
    height: 44px;
    margin-left: var(--space-3);
    border: 1px solid var(--action-secondary-border);
    border-radius: var(--radius-full);
    background: var(--action-secondary-bg);
    color: var(--action-secondary-text);
    letter-spacing: 0;
    text-transform: uppercase;
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
    box-shadow: var(--shadow-soft);
    justify-content: center;
    align-items: center;
    gap: 0;
    font-size: 0;
    font-weight: 850;
    text-decoration: none;
    display: inline-flex
}

.event-detail-back-link i {
    color: currentColor;
    font-size: .95rem
}

.event-detail-page-content {
    padding-top: var(--space-5);
    padding-bottom: clamp(58px, 8vw, 104px)
}

.event-page-layout {
    margin-top: var(--space-5);
    grid-template-columns: minmax(0, 1.65fr) minmax(280px, .85fr);
    align-items: start;
    gap: clamp(28px, 4vw, 52px);
    display: grid
}

.event-page-content {
    min-width: 0
}

.event-page-primary h1 {
    max-width: 760px;
    margin-top: var(--space-6);
    color: var(--color-text-strong);
    font-family: var(--font-heading);
    letter-spacing: 0;
    font-size: clamp(1.9rem, 2.6vw, 2.8rem);
    font-weight: 600;
    line-height: 1.12
}

.event-page-hero-image {
    border-radius: var(--event-detail-radius);
    background: #ffffff06;
    width: 100%;
    margin: 0;
    position: relative;
    overflow: hidden
}

.event-page-hero-image img {
    object-fit: cover;
    width: 100%;
    height: clamp(340px, 36vw, 430px)
}

.event-page-hero-image:after {
    content: "";
    pointer-events: none;
    background: linear-gradient(#05050500, #050505b8);
    height: 42%;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0
}

.event-page-summary {
    max-width: 700px;
    margin-top: var(--space-3);
    color: var(--color-text-strong);
    font-size: clamp(.98rem, 1.1vw, 1.08rem);
    line-height: 1.62
}

.event-page-hero-time {
    left: var(--space-6);
    bottom: var(--space-6);
    z-index: 1;
    color: var(--color-text-strong);
    gap: 2px;
    font-style: normal;
    line-height: 1.35;
    display: grid;
    position: absolute
}

.event-page-hero-time strong,
.event-page-hero-time span {
    display: block
}

.event-page-hero-time strong {
    font-size: var(--font-size-sm);
    font-weight: 850
}

.event-page-hero-time span {
    color: #f5f5f5c2;
    font-size: var(--font-size-sm);
    font-weight: 650
}

.event-page-intro>.event-page-meta {
    display: none
}

.event-page-meta {
    gap: 3px;
    display: grid
}

.event-page-meta p,
.event-page-meta strong,
.event-page-meta span,
.event-page-meta small {
    display: block
}

.event-page-meta strong {
    color: var(--color-text-strong);
    font-size: clamp(1.06rem, 1.25vw, 1.18rem);
    font-weight: 750;
    line-height: 1.35
}

.event-page-meta span,
.event-page-meta small {
    color: var(--event-detail-muted-soft);
    font-size: var(--font-size-sm);
    line-height: 1.5
}

.event-page-section {
    border-top: 1px solid var(--event-detail-border-soft);
    margin-top: clamp(24px, 3vw, 34px);
    padding-top: clamp(22px, 2.8vw, 30px)
}

.event-page-intro+.event-page-section {
    margin-top: clamp(24px, 3vw, 36px)
}

.event-page-section h2 {
    color: var(--color-text-strong);
    font-family: var(--font-heading);
    letter-spacing: 0;
    font-size: clamp(1.18rem, 1.7vw, 1.45rem);
    font-weight: 650;
    line-height: 1.15
}

.event-page-section>p {
    max-width: 760px;
    margin-top: var(--space-3);
    color: var(--event-detail-muted);
    line-height: 1.7
}

.event-page-subsection {
    margin-top: var(--space-5)
}

.event-page-subsection h3 {
    color: var(--color-text-strong);
    font-family: var(--font-heading);
    letter-spacing: 0;
    font-size: clamp(1.02rem, 1.3vw, 1.18rem);
    font-weight: 650;
    line-height: 1.2
}

.event-page-subsection p {
    max-width: 760px;
    margin-top: var(--space-2);
    color: var(--event-detail-muted);
    line-height: 1.7
}

.event-page-info-grid {
    gap: var(--space-3);
    display: grid
}

.event-page-info-list {
    gap: var(--space-5) clamp(34px, 4vw, 56px);
    margin-top: var(--space-4);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    display: grid
}

.event-page-info-row {
    align-items: start;
    gap: var(--space-3);
    grid-template-columns: 38px minmax(0, 1fr);
    min-width: 0;
    display: grid
}

.event-page-info-row>i {
    width: 38px;
    height: 38px;
    color: var(--event-detail-accent);
    place-items: center;
    font-size: 1.02rem;
    display: inline-grid
}

.event-page-info-row span {
    color: var(--event-detail-muted-soft);
    letter-spacing: .1em;
    text-transform: uppercase;
    font-size: .72rem;
    font-weight: 850;
    display: block
}

.event-page-info-row strong {
    color: var(--color-text-strong);
    text-align: left;
    margin-top: 3px;
    font-size: .98rem;
    font-weight: 650;
    line-height: 1.55;
    display: block
}

.event-page-info-meta {
    display: none
}

.event-page-metadata-strip {
    margin-top: var(--space-8);
    padding: var(--space-2) 0;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: center;
    display: grid
}

.event-page-mobile-intro {
    gap: var(--space-3);
    display: grid
}

.event-page-mobile-intro h1 {
    max-width: 760px;
    color: var(--color-text-strong);
    font-family: var(--font-heading);
    letter-spacing: 0;
    font-size: clamp(1.9rem, 2.6vw, 2.8rem);
    font-weight: 600;
    line-height: 1.12
}

.event-page-intro-summary {
    max-width: 700px;
    color: var(--color-text-strong);
    font-size: clamp(.98rem, 1.1vw, 1.08rem);
    line-height: 1.62
}

.event-page-intro-location {
    display: none
}

.event-page-metadata-strip span {
    min-width: 0;
    padding-inline: var(--space-3);
    color: var(--color-text-strong);
    font-size: var(--font-size-sm);
    text-align: center;
    font-weight: 750;
    line-height: 1.35
}

.event-page-metadata-strip span+span {
    border-left: 1px solid #ffffff12
}

.event-page-list-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(18px, 2.4vw, 32px);
    display: grid
}

.event-page-list-grid ul,
.event-page-simple-list {
    gap: var(--space-2);
    margin-top: var(--space-3);
    color: #f5f5f5a3;
    font-size: var(--font-size-sm);
    line-height: 1.5;
    display: grid
}

.event-page-simple-list li:before {
    content: "";
    background: var(--color-gold);
    vertical-align: middle;
    border-radius: 50%;
    width: 5px;
    height: 5px;
    margin-right: 9px;
    display: inline-block
}

.event-page-faq {
    gap: var(--space-4);
    display: grid
}

.event-page-faq h2 {
    margin-bottom: var(--space-1)
}

.event-page-faq div {
    padding-top: var(--space-4);
    border-top: 1px solid #ffffff12
}

.event-page-faq h3 {
    color: var(--color-text-strong);
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.35
}

.event-page-faq p {
    margin-top: var(--space-2);
    color: #f5f5f5a3;
    font-size: var(--font-size-sm);
    line-height: 1.6
}

.event-page-list-grid li:before {
    content: "";
    background: var(--color-gold);
    vertical-align: middle;
    border-radius: 50%;
    width: 5px;
    height: 5px;
    margin-right: 9px;
    display: inline-block
}

.event-page-booking-card,
.event-page-booking-form,
.event-detail-page .event-form-section,
.event-detail-page .event-request-summary,
.event-detail-page .event-confirmation {
    border-color: var(--event-detail-border)
}

.event-page-booking-card,
.event-page-booking-form {
    gap: var(--space-3);
    padding: var(--space-4);
    border-radius: var(--event-detail-radius);
    background: var(--event-detail-surface);
    box-shadow: var(--event-detail-card-shadow);
    display: grid;
    position: sticky;
    top: clamp(18px, 3vw, 34px)
}

.event-page-booking-form {
    gap: var(--space-3);
    padding: var(--space-4)
}

.event-page-booking-form .event-booking-form {
    gap: var(--space-3)
}

.event-page-booking-form .event-form-section,
.event-page-booking-form .event-request-summary {
    padding: var(--space-4);
    border-radius: var(--radius-md);
    position: static
}

.event-page-booking-card__head {
    gap: 4px;
    display: grid
}

.event-page-booking-card__head span {
    color: var(--color-text-strong);
    font-family: var(--font-heading);
    font-size: clamp(1.28rem, 1.6vw, 1.62rem);
    font-weight: 650;
    line-height: 1
}

.event-page-booking-card__head strong {
    color: #f5f5f58f;
    font-size: var(--font-size-sm);
    font-weight: 700
}

.event-page-booking-card__cta {
    border: 1px solid var(--action-primary-border);
    border-radius: var(--radius-md);
    background: var(--action-primary-bg);
    min-height: 46px;
    color: var(--action-primary-text);
    cursor: pointer;
    letter-spacing: .08em;
    text-transform: uppercase;
    font-size: var(--type-cta);
    font-weight: 900
}

.event-page-booking-card__cta:disabled {
    opacity: .52;
    cursor: not-allowed;
    box-shadow: none;
    transform: none
}

.event-page-booking-card__notes {
    padding-top: var(--space-2);
    gap: 8px;
    display: grid
}

.event-page-booking-note {
    gap: var(--space-2);
    grid-template-columns: 28px minmax(0, 1fr);
    align-items: start;
    display: grid
}

.event-page-booking-note>i {
    width: 28px;
    height: 28px;
    color: var(--color-gold);
    opacity: .78;
    place-items: center;
    font-size: .82rem;
    display: inline-grid
}

.event-page-booking-note p,
.event-page-booking-note span,
.event-page-booking-note strong {
    display: block
}

.event-page-booking-note span {
    color: #f5f5f57a;
    letter-spacing: .08em;
    text-transform: uppercase;
    font-size: .68rem;
    font-weight: 850;
    line-height: 1.35
}

.event-page-booking-note strong {
    color: #f5f5f59e;
    font-size: var(--font-size-sm);
    margin-top: 3px;
    font-weight: 650;
    line-height: 1.45
}

.event-mobile-booking-dock {
    display: none
}

.event-mobile-booking-dock__meta time {
    display: inline;
}

.event-booking-modal {
    z-index: var(--z-modal);
    padding: var(--space-container);
    place-items: center;
    display: grid;
    position: fixed;
    inset: 0
}

.event-booking-modal.hidden {
    display: none !important
}

.event-booking-modal__backdrop {
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
    background: #000000ad;
    position: absolute;
    inset: 0
}

.event-booking-modal__panel {
    border-radius: var(--radius-panel);
    width: min(880px, 100%);
    max-height: min(86svh, 760px);
    box-shadow: var(--shadow-modal);
    background: linear-gradient(145deg, #ffffff0b, #ffffff04), #080808fa;
    flex-direction: column;
    display: flex;
    position: relative;
    overflow: hidden
}

.event-booking-modal__header {
    justify-content: space-between;
    align-items: center;
    gap: var(--space-4);
    padding: var(--space-5) var(--space-5) var(--space-4);
    border-bottom: 1px solid #ffffff0e;
    display: flex
}

.event-booking-modal__header span {
    color: #f5f5f57a;
    letter-spacing: .1em;
    text-transform: uppercase;
    font-size: .72rem;
    font-weight: 850
}

.event-booking-modal__header h2 {
    color: var(--color-text-strong);
    font-family: var(--font-heading);
    margin-top: 4px;
    font-size: clamp(1.35rem, 2.4vw, 1.9rem);
    font-weight: 650;
    line-height: 1.08
}

.event-booking-modal__close {
    border: 1px solid var(--action-secondary-border);
    border-radius: var(--radius-full);
    background: var(--action-secondary-bg);
    width: 40px;
    height: 40px;
    color: var(--action-secondary-text);
    cursor: pointer;
    place-items: center;
    display: inline-grid
}

.event-booking-modal__body {
    overscroll-behavior: contain;
    padding: var(--space-4) var(--space-5) var(--space-5);
    scrollbar-width: thin;
    scrollbar-color: #c8a45d94 #ffffff05;
    overflow-y: auto
}

.event-booking-modal__body::-webkit-scrollbar {
    width: 6px
}

.event-booking-modal__body::-webkit-scrollbar-track {
    background: #ffffff06;
    border-radius: 999px
}

.event-booking-modal__body::-webkit-scrollbar-thumb {
    background: #c8a45d9e;
    border-radius: 999px
}

.event-booking-modal__body::-webkit-scrollbar-thumb:hover {
    background: #c8a45dd6
}

.event-booking-modal-flow {
    gap: var(--space-4);
    display: grid
}

.event-booking-modal-flow .event-step-indicator {
    gap: var(--space-2);
    background: 0 0;
    border: 0;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    padding: 0;
    display: grid;
    position: static
}

.event-booking-modal-flow .event-step-pill {
    border-radius: var(--radius-md);
    color: #f5f5f58f;
    letter-spacing: .07em;
    text-transform: uppercase;
    background: #ffffff06;
    border: 1px solid #ffffff1a;
    justify-content: center;
    align-items: center;
    gap: 6px;
    min-width: 0;
    min-height: 34px;
    font-size: .64rem;
    font-weight: 850;
    display: inline-flex
}

.event-booking-modal-flow .event-step-pill span {
    border: 1px solid;
    border-radius: 50%;
    flex: none;
    place-items: center;
    width: 18px;
    height: 18px;
    font-size: .58rem;
    line-height: 1;
    display: inline-grid
}

.event-booking-modal-flow .event-step-pill.is-active {
    color: var(--color-gold);
    background: #c8a45d14;
    border-color: #c8a45d6b
}

.event-booking-modal-flow .event-modal-step,
.event-booking-modal-flow .event-mobile-step--review,
.event-booking-modal-flow .event-mobile-step--tickets,
.event-booking-modal-flow .event-mobile-step--details {
    gap: var(--space-4);
    display: grid
}

.event-booking-modal-flow .event-modal-step--details,
.event-booking-modal-flow .event-mobile-step--details {
    align-items: start;
    gap: var(--space-6);
    grid-template-columns: minmax(240px, .58fr) minmax(0, 1fr)
}

.event-booking-modal-flow .event-booking-form {
    gap: var(--space-4)
}

.event-booking-modal-flow .event-field-grid {
    gap: var(--space-3)
}

.event-booking-actions--split {
    grid-template-columns: repeat(2, minmax(0, 1fr))
}

.event-booking-modal-flow .event-booking-card,
.event-booking-modal-flow .event-request-summary {
    box-shadow: none;
    grid-area: auto;
    margin: 0;
    position: static
}

.event-booking-modal-flow .event-mobile-summary-card {
    box-shadow: none;
    margin: 0
}

.event-booking-modal-flow .event-form-section {
    box-shadow: none
}

.event-booking-modal-flow .event-detail-image,
.event-booking-modal-flow .event-detail-copy {
    display: none
}

.event-not-found {
    border-radius: var(--radius-card);
    background: #ffffff08;
    border: 1px solid #c8a45d29;
    max-width: 620px;
    margin: clamp(32px, 6vw, 72px) 0;
    padding: clamp(26px, 4vw, 44px)
}

.event-not-found h2 {
    margin-top: var(--space-2);
    color: var(--color-text-strong);
    font-family: var(--font-heading);
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 500;
    line-height: 1
}

.event-not-found p:not(.eyebrow) {
    margin-top: var(--space-3);
    color: #f5f5f5a3;
    line-height: 1.6
}

.event-not-found a {
    min-height: 44px;
    margin-top: var(--space-5);
    padding-inline: var(--space-5);
    border-radius: var(--radius-md);
    background: var(--action-primary-bg);
    color: var(--action-primary-text);
    letter-spacing: .08em;
    text-transform: uppercase;
    border: 1px solid #c8a45d6b;
    justify-content: center;
    align-items: center;
    font-size: .72rem;
    font-weight: 900;
    text-decoration: none;
    display: inline-flex
}

@media (min-width:901px) {
    .event-page-info-row--confirmation {
        display: none
    }

    .event-page-intro+.event-page-section {
        margin-top: var(--space-5);
        padding-top: var(--space-5)
    }
}

@media (max-width:900px) {
    .event-detail-page-head {
        padding: calc(var(--space-5) + var(--space-6) + env(safe-area-inset-top)) calc(var(--space-container) + var(--space-3)) 0
    }

    .event-detail-page-head .site-wrap {
        width: 100%
    }

    .event-detail-back-link {
        margin-left: 0
    }

    .event-detail-page-content>.site-wrap {
        width: 100%
    }

    .event-detail-page-content {
        padding-bottom: calc(124px + env(safe-area-inset-bottom))
    }

    .event-page-layout {
        gap: var(--space-8);
        margin-top: var(--space-6);
        padding: 0 var(--space-container);
        grid-template-columns: 1fr
    }

    .event-page-primary {
        padding: var(--space-3) var(--space-container) 0;
        flex-direction: column;
        margin: 0;
        display: flex
    }

    .event-page-primary h1,
    .event-page-summary {
        display: none
    }

    .event-page-hero-image {
        border-radius: var(--radius-panel);
        order: -1;
        margin: 0
    }

    .event-page-hero-image img {
        height: clamp(300px, 78vw, 360px)
    }

    .event-page-hero-time {
        left: var(--space-5);
        bottom: var(--space-5)
    }

    .event-page-meta {
        grid-template-columns: 1fr;
        margin-top: 0
    }

    .event-page-intro>.event-page-meta {
        display: none
    }

    .event-page-mobile-intro {
        gap: var(--space-2)
    }

    .event-page-mobile-intro h1 {
        font-size: clamp(1.65rem, 7vw, 2.18rem);
        line-height: 1.16
    }

    .event-page-intro-summary {
        display: none
    }

    .event-page-intro-location {
        color: #f5f5f594;
        font-size: var(--font-size-sm);
        font-weight: 650;
        line-height: 1.45;
        display: block
    }

    .event-page-section {
        margin-top: var(--space-10);
        padding-top: var(--space-8)
    }

    .event-page-about-location+.event-page-info-grid {
        margin-top: var(--space-12)
    }

    .event-page-metadata-strip {
        margin-top: var(--space-6)
    }

    .event-page-subsection {
        margin-top: var(--space-5)
    }

    .event-page-about-location .event-page-subsection {
        display: none
    }

    .event-page-info-list {
        gap: var(--space-6);
        margin-top: var(--space-5);
        grid-template-columns: 1fr
    }

    .event-page-info-row {
        grid-template-columns: 38px minmax(0, 1fr)
    }

    .event-page-list-grid {
        grid-template-columns: 1fr
    }

    .event-page-booking-card,
    .event-page-booking-form,
    .event-detail-page .event-request-summary {
        position: static
    }

    .event-page-booking-card {
        display: none
    }

    .event-mobile-booking-dock {
        left: var(--space-3);
        right: var(--space-3);
        bottom: calc(var(--space-3) + env(safe-area-inset-bottom));
        z-index: 48;
        align-items: center;
        gap: var(--space-3);
        border-radius: var(--radius-panel);
        box-shadow: var(--shadow-soft);
        -webkit-backdrop-filter: blur(14px);
        backdrop-filter: blur(14px);
        background: linear-gradient(145deg, #ffffff0e, #ffffff05), #050505f0;
        grid-template-columns: minmax(0, 1fr) auto;
        padding: 12px;
        display: grid;
        position: fixed
    }

    .event-mobile-booking-dock strong,
    .event-mobile-booking-dock span {
        display: block
    }

    .event-mobile-booking-dock strong {
        color: var(--color-text-strong);
        font-size: .98rem;
        line-height: 1.2
    }

    .event-mobile-booking-dock span {
        color: #f5f5f58f;
        white-space: nowrap;
        text-overflow: ellipsis;
        margin-top: 2px;
        font-size: .72rem;
        line-height: 1.25;
        overflow: hidden
    }

    .event-mobile-booking-dock button {
        min-height: 42px;
        padding-inline: var(--space-4);
        border: 1px solid var(--action-primary-border);
        border-radius: var(--radius-md);
        background: var(--action-primary-bg);
        color: var(--action-primary-text);
        letter-spacing: .08em;
        text-transform: uppercase;
        font-size: .7rem;
        font-weight: 900
    }

    .event-booking-modal {
        place-items: stretch stretch;
        padding: 0
    }

    .event-booking-modal__panel {
        border-radius: 0;
        width: 100%;
        height: 100dvh;
        max-height: none
    }

    .event-booking-modal__header {
        padding: calc(var(--space-4) + env(safe-area-inset-top)) var(--space-4) var(--space-3)
    }

    .event-booking-modal__header h2 {
        font-size: clamp(1.2rem, 6vw, 1.55rem)
    }

    .event-booking-modal__body {
        padding: var(--space-4) var(--space-4) calc(var(--space-5) + env(safe-area-inset-bottom))
    }

    .event-booking-modal-flow .event-step-indicator {
        gap: 6px
    }

    .event-booking-modal-flow .event-step-pill {
        letter-spacing: .045em;
        gap: 4px;
        min-height: 32px;
        padding-inline: 4px;
        font-size: .56rem
    }

    .event-booking-modal-flow .event-step-pill span {
        width: 16px;
        height: 16px;
        font-size: .52rem
    }

    .event-booking-modal-flow .event-modal-step--details,
    .event-booking-modal-flow .event-mobile-step--details,
    .event-booking-actions--split {
        grid-template-columns: 1fr
    }

    .event-booking-modal-flow .event-form-section,
    .event-booking-modal-flow .event-request-summary,
    .event-booking-modal-flow .event-booking-card,
    .event-booking-modal-flow .event-mobile-summary-card {
        border-radius: var(--radius-md)
    }

    .event-detail-page .event-field-grid {
        grid-template-columns: 1fr
    }

    .event-detail-page .event-booking-actions button,
    .event-detail-page .event-booking-actions a {
        width: 100%
    }
}

@media (max-width:430px) {
    .event-page-mobile-intro {
        grid-template-columns: 1fr
    }

    .event-page-mobile-intro>p {
        text-align: left
    }

    .event-page-metadata-strip span {
        padding-inline: var(--space-2);
        font-size: .78rem
    }
}

.event-detail-page .site-wrap {
    width: min(1080px, calc(100% - (var(--space-container) * 2)))
}

.event-detail-page-content {
    padding-top: clamp(var(--space-6), 4vw, var(--space-10))
}

.event-page-primary {
    position: relative
}

.event-page-hero-gallery {
    height: var(--event-detail-hero-height);
    border-radius: var(--radius-panel);
    background: var(--color-surface-soft);
    min-height: 0;
    box-shadow: var(--shadow-soft);
    margin: 0;
    position: relative;
    overflow: hidden
}

.event-page-hero-gallery:after {
    content: "";
    pointer-events: none;
    background: linear-gradient(#05050500, #050505b8);
    height: 44%;
    position: absolute;
    inset: auto 0 0
}

.event-page-hero-gallery__track {
    gap: 8px;
    height: 100%;
    display: grid
}

.event-page-hero-gallery[data-image-count="1"] .event-page-hero-gallery__track {
    grid-template-columns: 1fr
}

.event-page-hero-gallery[data-image-count="2"] .event-page-hero-gallery__track,
.event-page-hero-gallery[data-image-count="3"] .event-page-hero-gallery__track {
    grid-template-columns: minmax(0, 7fr) minmax(220px, 3fr)
}

.event-page-hero-gallery[data-image-count="3"] .event-page-hero-gallery__track {
    grid-template-rows: repeat(2, minmax(0, 1fr))
}

.event-page-hero-gallery[data-image-count="3"] .event-page-hero-gallery__item:first-child {
    grid-row: span 2
}

.event-page-hero-gallery__item {
    min-width: 0;
    height: 100%;
    overflow: hidden
}

.event-page-hero-gallery__item img {
    object-fit: cover;
    width: 100%;
    height: 100%;
    display: block
}

.event-detail-page .event-page-hero-image,
.event-detail-page .event-page-hero-slide {
    height: var(--event-detail-hero-height);
    min-height: 0
}

.event-detail-page .event-page-hero-image img,
.event-detail-page .event-page-hero-slide img {
    object-fit: cover;
    width: 100%;
    height: 100%
}

.event-detail-back-link {
    top: var(--space-4);
    left: var(--space-4);
    z-index: 3;
    margin: 0;
    position: absolute
}

.event-page-hero-time {
    z-index: 2
}

.event-page-hero-time strong {
    letter-spacing: 0;
    font-size: .72rem
}

.event-page-hero-time span {
    color: var(--color-text-strong)
}

.event-page-hero-count {
    display: none
}

.event-page-layout {
    gap: clamp(var(--space-8), 4vw, var(--space-12));
    margin-top: clamp(var(--space-5), 2.6vw, var(--space-8));
    grid-template-columns: minmax(0, 1fr) 360px
}

.event-page-content {
    align-content: start;
    gap: var(--space-8);
    display: grid
}

.event-page-intro,
.event-page-section,
.event-page-metadata-strip {
    margin-top: 0
}

.event-page-section {
    border-top: 0;
    padding-top: 0
}

.event-page-mobile-intro h1 {
    max-width: 780px;
    font-size: clamp(2.05rem, 3.1vw, 3.2rem)
}

.event-page-mobile-intro .eyebrow {
    display: none
}

.event-page-intro-summary {
    margin-top: var(--space-2);
    color: var(--event-detail-muted)
}

.event-page-section h2 {
    font-size: clamp(1.18rem, 1.45vw, 1.42rem)
}

.event-page-section>p {
    max-width: 760px;
    margin-top: var(--space-3)
}

.event-page-metadata-strip {
    padding: var(--space-4) 0;
    border-top: 1px solid var(--event-detail-border-soft);
    border-bottom: 1px solid var(--event-detail-border-soft);
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    display: grid
}

.event-page-metadata-strip span {
    color: var(--color-text);
    justify-items: center;
    gap: 6px;
    display: grid
}

.event-page-metadata-strip i {
    color: var(--color-gold);
    font-size: 1rem
}

.event-page-metadata-strip strong {
    font-size: var(--font-size-sm);
    font-weight: 700;
    line-height: 1.35
}

.event-page-info-list {
    gap: 0 clamp(var(--space-6), 4vw, var(--space-10))
}

.event-page-info-row {
    min-height: 72px;
    padding-block: var(--space-3);
    border-bottom: 1px solid var(--event-detail-border-soft)
}

.event-page-info-row>i {
    color: var(--color-gold)
}

.event-page-info-row span {
    letter-spacing: .08em
}

.event-page-info-row strong {
    color: #f5f0e8c7;
    font-size: var(--font-size-sm)
}

.event-page-performer-list {
    gap: 0 clamp(var(--space-6), 4vw, var(--space-10));
    margin-top: var(--space-3);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    display: grid
}

.event-page-performer {
    align-items: center;
    gap: var(--space-3);
    padding-block: var(--space-3);
    border-bottom: 1px solid var(--event-detail-border-soft);
    grid-template-columns: 48px minmax(0, 1fr);
    display: grid
}

.event-page-performer img,
.event-page-performer>span {
    border-radius: 50%;
    width: 42px;
    height: 42px
}

.event-page-performer img {
    object-fit: cover
}

.event-page-performer>span {
    background: var(--color-surface-soft);
    color: var(--color-gold);
    place-items: center;
    display: inline-grid
}

.event-page-performer h3,
.event-page-agenda-item p {
    color: var(--color-text-strong);
    font-size: var(--font-size-sm);
    font-weight: 750;
    line-height: 1.35
}

.event-page-performer p {
    color: var(--event-detail-muted-soft);
    margin-top: 2px;
    font-size: .78rem;
    line-height: 1.4
}

.event-page-secondary-grid {
    gap: clamp(var(--space-6), 4vw, var(--space-10));
    grid-template-columns: repeat(2, minmax(0, 1fr));
    display: grid
}

.event-page-agenda-list,
.event-page-faq-list {
    gap: var(--space-2);
    margin-top: var(--space-3);
    display: grid
}

.event-page-agenda-item {
    gap: var(--space-3);
    padding-bottom: var(--space-3);
    grid-template-columns: 70px minmax(0, 1fr);
    display: grid;
    position: relative
}

.event-page-agenda-item:before {
    content: none;
    border: 1px solid var(--color-text);
    background: var(--color-bg);
    border-radius: 50%;
    width: 10px;
    height: 10px;
    position: absolute;
    top: 5px;
    left: 2px
}

.event-page-agenda-item span {
    color: var(--event-detail-muted-soft);
    font-size: var(--font-size-sm);
    padding-left: 0
}

@media (min-width:901px) {
    .event-page-mobile-intro h1 {
        font-size: clamp(1.18rem, 1.45vw, 1.42rem);
        font-weight: 650;
        line-height: 1.15
    }
}

.event-page-faq-item {
    border: 1px solid var(--event-detail-border-soft);
    border-radius: var(--radius-md);
    background: #ffffff03
}

.event-page-faq-item summary {
    cursor: pointer;
    padding: var(--space-3) var(--space-4);
    color: var(--color-text);
    font-size: var(--font-size-sm);
    font-weight: 700
}

.event-page-faq-item p {
    padding: 0 var(--space-4) var(--space-4);
    color: var(--event-detail-muted);
    font-size: var(--font-size-sm);
    line-height: 1.6
}

.event-page-booking-card {
    gap: var(--space-4);
    padding: var(--space-5);
    border: 1px solid var(--event-detail-border);
    border-radius: var(--event-detail-radius);
    background: var(--event-detail-surface);
    box-shadow: var(--event-detail-card-shadow);
    display: grid;
    position: sticky;
    top: clamp(18px, 3vw, 34px);
}

.event-page-booking-card__head {
    gap: var(--space-2);
    display: grid;
}

.event-page-booking-card__head span {
    color: var(--color-gold);
    font-family: var(--font-heading);
    font-size: clamp(1.3rem, 1.7vw, 1.68rem);
    font-weight: 650;
    line-height: 1.05;
}

.event-page-booking-card__head strong {
    color: #f5f5f594;
    font-size: var(--font-size-sm);
    font-weight: 700;
}

.event-page-booking-card__grid {
    border: 1px solid var(--event-detail-border-soft);
    border-radius: var(--radius-md);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    display: grid;
    overflow: hidden;
}

.event-page-booking-card__grid div {
    gap: var(--space-2);
    min-width: 0;
    padding: var(--space-4);
    border-bottom: 1px solid var(--event-detail-border-soft);
    display: grid;
}

.event-page-booking-card__grid div:nth-child(odd) {
    border-right: 1px solid var(--event-detail-border-soft);
}

.event-page-booking-card__grid div:nth-last-child(-n + 2) {
    border-bottom: 0;
}

.event-page-booking-card__grid span {
    color: var(--event-detail-muted-soft);
    font-size: var(--font-size-xs);
    font-weight: 650;
    line-height: 1.5;
}

.event-page-booking-card__grid strong {
    color: var(--color-text-strong);
    font-size: var(--font-size-xs);
    font-weight: 650;
    line-height: 1.4;
}

.event-page-booking-card__cta {
    border: 1px solid var(--action-primary-border);
    border-radius: var(--radius-md);
    background: var(--action-primary-bg);
    min-height: 48px;
    color: var(--action-primary-text);
    letter-spacing: .12em;
    text-transform: uppercase;
    justify-content: center;
    align-items: center;
    font-size: .74rem;
    font-weight: 900;
    text-decoration: none;
    display: inline-flex;
}

.event-page-booking-card__fineprint {
    justify-content: center;
    align-items: center;
    gap: var(--space-2);
    color: var(--event-detail-muted-soft);
    font-size: var(--font-size-sm);
    text-align: center;
    line-height: 1.5;
    display: flex;
}

@media (max-width:900px) {
    .event-detail-page {
        padding-bottom: calc(94px + env(safe-area-inset-bottom))
    }

    .event-detail-page-content {
        padding-top: var(--space-3);
        padding-bottom: calc(132px + env(safe-area-inset-bottom))
    }

    .event-detail-page-content>.site-wrap {
        width: 100%
    }

    .event-page-primary {
        padding: var(--space-3) var(--space-4) 0
    }

    .event-page-hero-gallery {
        height: var(--event-detail-hero-mobile-height);
        border-radius: var(--radius-panel);
        min-height: 0
    }

    .event-page-hero-gallery__track {
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
        gap: 0;
        height: 100%;
        display: flex;
        overflow-x: auto
    }

    .event-page-hero-gallery__track::-webkit-scrollbar {
        display: none
    }

    .event-page-hero-gallery__item {
        scroll-snap-align: start;
        min-width: 100%;
        height: 100%
    }

    .event-page-hero-count {
        right: var(--space-4);
        bottom: var(--space-4);
        z-index: 2;
        color: var(--color-text-strong);
        font-size: .78rem;
        font-weight: 800;
        display: block;
        position: absolute
    }

    .event-page-layout {
        padding-inline: var(--space-4);
        gap: var(--space-8);
        margin-top: var(--space-7)
    }

    .event-page-content {
        gap: var(--space-7);
        width: 100%
    }

    .event-page-mobile-intro>div {
        width: 100%
    }

    .event-page-intro-summary {
        max-width: none;
        font-size: var(--font-size-sm);
        line-height: 1.55;
        display: block
    }

    .event-page-intro-location {
        max-width: none;
        color: var(--event-detail-muted);
        font-size: var(--font-size-sm);
        font-weight: 700;
        line-height: 1.45;
        display: block
    }

    .event-page-section h2 {
        max-width: none;
        font-size: clamp(1.22rem, 5vw, 1.55rem);
        line-height: 1.05
    }

    .event-page-section>p {
        max-width: none;
        font-size: .98rem;
        line-height: 1.65
    }

    .event-page-metadata-strip {
        align-items: start;
        gap: var(--space-2);
        padding-block: var(--space-3);
        grid-template-columns: repeat(3, minmax(0, 1fr));
        margin-top: 0
    }

    .event-page-metadata-strip span {
        gap: 7px;
        padding-inline: 0
    }

    .event-page-metadata-strip i {
        font-size: 1rem
    }

    .event-page-metadata-strip strong {
        text-align: center;
        max-width: 8ch;
        font-size: clamp(.66rem, 2.7vw, .78rem);
        line-height: 1.15
    }

    .event-page-info-row {
        gap: var(--space-3);
        grid-template-columns: 34px minmax(0, 1fr);
        min-height: 72px
    }

    .event-page-info-row>i {
        justify-content: start;
        width: 34px;
        height: 34px
    }

    .event-page-info-row strong {
        max-width: 24ch;
        font-size: .9rem;
        line-height: 1.45
    }

    .event-page-performer {
        grid-template-columns: 42px minmax(0, 1fr)
    }

    .event-page-secondary-grid {
        gap: var(--space-8)
    }

    .event-page-booking-card {
        display: none
    }

    .event-mobile-booking-dock {
        border: 1px solid var(--event-detail-border)
    }

    .event-mobile-booking-dock a {
        min-height: 42px;
        padding-inline: var(--space-4);
        border: 1px solid var(--action-primary-border);
        border-radius: var(--radius-md);
        background: var(--action-primary-bg);
        color: var(--action-primary-text);
        letter-spacing: .08em;
        text-transform: uppercase;
        justify-content: center;
        align-items: center;
        font-size: .7rem;
        font-weight: 900;
        text-decoration: none;
        display: inline-flex
    }

    .event-detail-page-content>.site-wrap,
    .event-page-layout,
    .event-page-content,
    .event-page-intro,
    .event-page-mobile-intro,
    .event-page-mobile-intro>div,
    .event-page-section,
    .event-page-about,
    .event-page-info-grid,
    .event-page-performers,
    .event-page-agenda,
    .event-page-faq,
    .event-page-metadata-strip,
    .event-page-info-list,
    .event-page-info-row,
    .event-page-performer-list,
    .event-page-performer,
    .event-page-secondary-grid,
    .event-page-agenda-list,
    .event-page-agenda-item,
    .event-page-faq-list,
    .event-page-faq-item {
        box-sizing: border-box;
        width: 100%;
        min-width: 0;
        max-width: none
    }

    .event-page-layout {
        padding-inline: var(--space-4);
        margin-top: var(--space-6);
        grid-template-columns: 1fr;
        display: grid
    }

    .event-page-content {
        gap: var(--space-8);
        grid-template-columns: 1fr;
        display: grid
    }

    .event-page-mobile-intro h1 {
        max-width: none;
        font-size: clamp(1.65rem, 6.1vw, 2.15rem);
        line-height: 1.1
    }

    .event-page-intro-summary,
    .event-page-intro-location,
    .event-page-section>p {
        width: 100%;
        max-width: none
    }

    .event-page-section>p {
        font-size: .96rem;
        line-height: 1.68
    }

    .event-page-intro,
    .event-page-section,
    .event-page-metadata-strip {
        margin-top: 0;
        padding-top: 0
    }

    .event-page-mobile-intro {
        gap: var(--space-3)
    }

    .event-page-about {
        margin-top: var(--space-1)
    }

    .event-page-metadata-strip {
        margin-block: var(--space-1) 0;
        padding-block: var(--space-4)
    }

    .event-page-metadata-strip,
    .event-page-info-list,
    .event-page-performer-list,
    .event-page-secondary-grid {
        display: grid
    }

    .event-page-info-list,
    .event-page-performer-list,
    .event-page-secondary-grid {
        grid-template-columns: 1fr
    }

    .event-page-info-list,
    .event-page-performer-list,
    .event-page-agenda-list,
    .event-page-faq-list {
        margin-top: var(--space-4)
    }

    .event-page-metadata-strip strong {
        max-width: none
    }

    .event-page-info-row {
        min-height: auto;
        padding-block: var(--space-4);
        grid-template-columns: 34px minmax(0, 1fr)
    }

    .event-page-info-row strong {
        max-width: none
    }

    .event-page-performer {
        padding-block: var(--space-4);
        grid-template-columns: 42px minmax(0, 1fr)
    }

    .event-page-agenda-item {
        padding-bottom: var(--space-4);
        grid-template-columns: minmax(64px, auto) minmax(0, 1fr);
        align-items: start
    }

    .event-page-agenda-item p {
        min-width: 0
    }

    .event-page-faq-item summary {
        padding-block: var(--space-4)
    }

    .event-detail-page .event-page-hero-image,
    .event-detail-page .event-page-hero-slide {
        height: var(--event-detail-hero-mobile-height)
    }
}

.event-page-content {
    min-width: 0;
    display: block;
}

.event-page-mobile-intro h1 {
    max-width: 760px;
    color: var(--color-gold);
    font-size: clamp(2rem, 3.2vw, 3.1rem);
    font-weight: 650;
    line-height: 1.05;
}

.event-page-intro-summary {
    max-width: 740px;
    margin-top: var(--space-3);
    color: #f5f5f5c7;
    font-size: clamp(.98rem, 1.1vw, 1.08rem);
    line-height: 1.62;
}

.event-page-section {
    border-top: 0;
    margin-top: clamp(24px, 3vw, 34px);
    padding-top: clamp(22px, 2.8vw, 30px);
}

.event-page-section h2 {
    color: var(--color-gold);
    font-size: clamp(1.12rem, 1.6vw, 1.35rem);
    line-height: 1.15;
}

.event-page-section>p {
    max-width: 760px;
    margin-top: var(--space-3);
    color: var(--event-detail-muted);
    line-height: 1.7;
}

.event-page-metadata-strip {
    display: none;
}

.event-page-info-list {
    gap: var(--space-2);
    margin-top: var(--space-3);
    color: var(--event-detail-muted);
    font-size: var(--font-size-sm);
    grid-template-columns: 1fr;
    line-height: 1.55;
    display: grid;
}

.event-page-info-row {
    border-bottom: 0;
    align-items: baseline;
    gap: 0;
    min-width: 0;
    min-height: 0;
    padding-block: 0;
    display: flex;
}

.event-page-info-row+.event-page-info-row {
    padding-left: 0;
}

.event-page-info-row>i,
.event-page-info-row span {
    display: none;
}

.event-page-info-row strong {
    color: inherit;
    font-size: inherit;
    font-weight: 500;
    line-height: inherit;
    margin-top: 0;
    display: inline;
}

.event-page-info-row:before {
    content: "";
    border-radius: var(--radius-full);
    background: var(--event-detail-accent);
    flex: none;
    width: 5px;
    height: 5px;
    margin: 0 10px 2px 0;
    display: inline-block;
}

@media (max-width:900px) {
    .event-page-content {
        display: block;
    }

    .event-page-layout {
        margin-top: var(--space-6);
    }

    .event-page-mobile-intro h1 {
        max-width: none;
        font-size: clamp(1.65rem, 7vw, 2.18rem);
        line-height: 1.16;
    }

    .event-page-intro-summary,
    .event-page-section>p {
        max-width: none;
    }

    .event-page-section {
        margin-top: var(--space-8);
        padding-top: 0;
    }

    .event-page-info-list {
        gap: var(--space-2);
        margin-top: var(--space-3);
        grid-template-columns: 1fr;
    }

    .event-page-info-row,
    .event-page-info-row+.event-page-info-row {
        padding-left: 0;
    }

    .event-page-info-row {
        align-items: baseline;
        gap: 0;
        display: flex;
    }
}

.position-detail-page {
    background: var(--color-bg);
    color: var(--color-text);
    --position-detail-surface: linear-gradient(145deg, #ffffff08, #ffffff03), #080808e6;
    --position-detail-border: #ffffff14;
    --position-detail-border-soft: #ffffff0b;
    --position-detail-muted: #f5f5f5a3;
    --position-detail-muted-soft: #f5f5f580;
    --position-detail-accent: var(--color-gold);
    --position-detail-radius: var(--radius-panel);
    --position-detail-card-shadow: var(--shadow-soft);
    --position-detail-hero-height: clamp(260px, 26vw, 380px);
    --position-detail-hero-mobile-height: clamp(220px, 58vw, 310px)
}

.position-detail-main {
    min-height: 70svh;
    position: relative
}

.position-detail-page-content {
    padding-top: var(--space-5);
    padding-bottom: clamp(58px, 8vw, 104px)
}

.position-detail-page .site-wrap {
    width: min(1080px, calc(100% - (var(--space-container) * 2)))
}

.position-page-hero {
    min-height: var(--position-detail-hero-height);
    border-radius: var(--position-detail-radius);
    box-shadow: var(--position-detail-card-shadow);
    background: radial-gradient(circle at 70% 12%, #c8a45d1f, #0000 34%), #ffffff06;
    position: relative;
    overflow: hidden
}

.position-page-hero img {
    width: 100%;
    height: var(--position-detail-hero-height);
    object-fit: cover;
    display: block
}

.position-page-hero:after {
    content: "";
    pointer-events: none;
    background: linear-gradient(#0505051f, #0505053d 42%, #050505b8), linear-gradient(90deg, #05050585, #05050514 52%, #05050538);
    position: absolute;
    inset: 0
}

.position-page-hero--empty {
    min-height: var(--position-detail-hero-height);
    display: grid
}

.position-page-hero--empty img {
    display: none
}

.position-detail-back-link {
    top: var(--space-5);
    left: var(--space-5);
    z-index: 2;
    border: 1px solid var(--action-secondary-border);
    border-radius: var(--radius-full);
    background: var(--action-secondary-bg);
    width: 44px;
    height: 44px;
    color: var(--action-secondary-text);
    letter-spacing: 0;
    text-transform: uppercase;
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
    box-shadow: var(--shadow-soft);
    justify-content: center;
    align-items: center;
    gap: 0;
    font-size: 0;
    font-weight: 850;
    text-decoration: none;
    display: inline-flex;
    position: absolute
}

.position-detail-back-link i {
    color: currentColor;
    font-size: .95rem
}

.position-page-hero__overlay {
    left: var(--space-6);
    bottom: var(--space-5);
    z-index: 2;
    color: var(--color-text-strong);
    gap: 4px;
    line-height: 1.35;
    display: grid;
    position: absolute
}

.position-page-hero__overlay strong,
.position-page-hero__overlay span {
    display: block
}

.position-page-hero__overlay strong {
    font-size: var(--font-size-sm);
    font-weight: 850
}

.position-page-hero__overlay span {
    color: #f5f5f5c7;
    font-size: var(--font-size-sm);
    font-weight: 650
}

.position-page-layout {
    margin-top: var(--space-5);
    grid-template-columns: minmax(0, 1fr) 360px;
    align-items: start;
    gap: clamp(28px, 4vw, 52px);
    display: grid
}

.position-page-content {
    min-width: 0
}

.position-page-intro h1 {
    max-width: 760px;
    color: var(--color-gold);
    font-family: var(--font-heading);
    letter-spacing: 0;
    font-size: clamp(2rem, 3.2vw, 3.1rem);
    font-weight: 650;
    line-height: 1.05
}

.position-page-intro p {
    max-width: 740px;
    margin-top: var(--space-3);
    color: #f5f5f5c7;
    font-size: clamp(.98rem, 1.1vw, 1.08rem);
    line-height: 1.62
}

.position-page-section {
    margin-top: clamp(24px, 3vw, 34px);
    padding-top: clamp(22px, 2.8vw, 30px)
}

.position-page-section h2 {
    color: var(--color-gold);
    font-family: var(--font-heading);
    letter-spacing: 0;
    font-size: clamp(1.12rem, 1.6vw, 1.35rem);
    font-weight: 650;
    line-height: 1.15
}

.position-page-section>p {
    max-width: 760px;
    margin-top: var(--space-3);
    color: var(--position-detail-muted);
    line-height: 1.7
}

.position-page-list {
    gap: var(--space-2);
    margin-top: var(--space-3);
    color: var(--position-detail-muted);
    font-size: var(--font-size-sm);
    line-height: 1.55;
    display: grid
}

.position-page-list li:before {
    content: "";
    border-radius: var(--radius-full);
    background: var(--position-detail-accent);
    vertical-align: middle;
    width: 5px;
    height: 5px;
    margin-right: 10px;
    display: inline-block
}

.position-page-things__list {
    margin-top: var(--space-4);
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(22px, 4vw, 44px);
}

.position-page-things__list div {
    min-width: 0;
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    grid-template-areas:
        "icon label"
        "icon value";
    column-gap: var(--space-3);
    row-gap: 4px;
    align-items: start;
}

.position-page-things__list div+div {
    padding-left: clamp(12px, 2vw, 24px);
}

.position-page-things__list i {
    grid-area: icon;
    width: 34px;
    height: 34px;
    color: var(--position-detail-accent);
    display: inline-grid;
    place-items: center;
    font-size: 1rem;
    margin-top: 2px;
}

.position-page-things__list span {
    grid-area: label;
    color: var(--position-detail-muted-soft);
    font-size: var(--font-size-xs);
    font-weight: 650;
    line-height: 1.5;
}

.position-page-things__list strong {
    grid-area: value;
    color: var(--color-text-strong);
    font-size: var(--font-size-xs);
    font-weight: 650;
    line-height: 1.5;
}

@media (max-width: 760px) {
    .position-page-things__list {
        grid-template-columns: 1fr;
        gap: var(--space-4);
    }

    .position-page-things__list div+div {
        padding-left: 0;
    }
}

.position-page-apply-card {
    gap: var(--space-4);
    padding: var(--space-5);
    border: 1px solid var(--position-detail-border);
    border-radius: var(--position-detail-radius);
    background: var(--position-detail-surface);
    box-shadow: var(--position-detail-card-shadow);
    display: grid;
    position: sticky;
    top: clamp(18px, 3vw, 34px)
}

.position-page-apply-card__head {
    gap: var(--space-2);
    display: grid
}

.position-page-apply-card__head strong {
    color: var(--color-gold);
    font-family: var(--font-heading);
    font-size: clamp(1.3rem, 1.7vw, 1.68rem);
    font-weight: 650;
    line-height: 1.05
}

.position-page-apply-card__head span {
    color: #f5f5f594;
    font-size: var(--font-size-sm);
    font-weight: 700
}

.position-page-apply-card__grid {
    border: 1px solid var(--position-detail-border-soft);
    border-radius: var(--radius-md);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    display: grid;
    overflow: hidden
}

.position-page-apply-card__grid div {
    gap: var(--space-2);
    min-width: 0;
    padding: var(--space-4);
    border-bottom: 1px solid var(--position-detail-border-soft);
    display: grid
}

.position-page-apply-card__grid div:nth-child(odd) {
    border-right: 1px solid var(--position-detail-border-soft)
}

.position-page-apply-card__grid div:nth-last-child(-n+2) {
    border-bottom: 0
}

.position-page-apply-card__grid span {
    color: var(--position-detail-muted-soft);
    /* letter-spacing: .1em; */
    font-size: var(--font-size-xs);
    font-weight: 650;
    line-height: 1.10
}

.position-page-apply-card__grid strong {
    color: var(--color-text-strong);
    font-size: var(--font-size-xs);
    font-weight: 650;
    line-height: 1.4
}

.position-page-apply-card__cta {
    border: 1px solid var(--action-primary-border);
    border-radius: var(--radius-md);
    background: var(--action-primary-bg);
    min-height: 48px;
    color: var(--action-primary-text);
    letter-spacing: .12em;
    text-transform: uppercase;
    justify-content: center;
    align-items: center;
    font-size: var(--type-cta);
    font-weight: 900;
    text-decoration: none;
    display: inline-flex
}

.position-page-apply-card p {
    color: var(--position-detail-muted-soft);
    font-size: var(--font-size-xs);
    text-align: center;
    line-height: 1.5
}

.position-mobile-apply-dock {
    display: none
}

.position-not-found {
    border-radius: var(--radius-card);
    background: #ffffff08;
    border: 1px solid #c8a45d29;
    max-width: 620px;
    margin: clamp(32px, 6vw, 72px) 0;
    padding: clamp(26px, 4vw, 44px)
}

.position-not-found h1 {
    color: var(--color-text-strong);
    font-family: var(--font-heading);
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 600;
    line-height: 1
}

.position-not-found p {
    margin-top: var(--space-3);
    color: #f5f5f5a3;
    line-height: 1.6
}

.position-not-found a {
    min-height: 44px;
    margin-top: var(--space-5);
    padding-inline: var(--space-5);
    border-radius: var(--radius-md);
    background: var(--action-primary-bg);
    color: var(--action-primary-text);
    letter-spacing: .08em;
    text-transform: uppercase;
    border: 1px solid #c8a45d6b;
    justify-content: center;
    align-items: center;
    font-size: .72rem;
    font-weight: 900;
    text-decoration: none;
    display: inline-flex
}

@media (max-width:900px) {
    .position-detail-page {
        --position-detail-hero-height: var(--position-detail-hero-mobile-height)
    }

    .position-detail-page-content {
        padding-top: var(--space-4);
        padding-bottom: calc(var(--space-section-mobile) + 112px + env(safe-area-inset-bottom))
    }

    .position-detail-page .site-wrap {
        width: min(var(--container-wide), calc(100% - (var(--space-container) * 2)))
    }

    .position-page-hero {
        border-radius: var(--radius-card)
    }

    .position-detail-back-link {
        top: var(--space-3);
        left: var(--space-3);
        width: 40px;
        height: 40px
    }

    .position-page-hero__overlay {
        left: var(--space-4);
        bottom: var(--space-4)
    }

    .position-page-layout {
        gap: var(--space-6);
        margin-top: var(--space-5);
        grid-template-columns: 1fr
    }

    .position-page-content {
        max-width: 720px;
        margin-inline: auto
    }

    .position-page-intro h1 {
        font-size: clamp(2rem, 10vw, 2.8rem)
    }

    .position-page-intro p,
    .position-page-section>p {
        font-size: .96rem;
        line-height: 1.68
    }

    .position-page-section {
        margin-top: var(--space-6);
        padding-top: var(--space-5)
    }

    .position-page-things__list {
        gap: var(--space-4);
        grid-template-columns: 1fr
    }

    .position-page-things__list div+div {
        padding-left: 0;
        padding-top: var(--space-4)
    }

    .position-page-apply-card {
        display: none
    }

    .position-mobile-apply-dock {
        left: var(--space-container);
        right: var(--space-container);
        bottom: calc(var(--space-3) + env(safe-area-inset-bottom));
        z-index: 40;
        align-items: center;
        gap: var(--space-3);
        padding: var(--space-3);
        border: 1px solid var(--position-detail-border);
        border-radius: var(--radius-card);
        box-shadow: var(--shadow-modal);
        -webkit-backdrop-filter: blur(16px);
        backdrop-filter: blur(16px);
        background: linear-gradient(145deg, #ffffff0e, #ffffff04), #050505f0;
        grid-template-columns: minmax(0, 1fr) auto;
        display: grid;
        position: fixed
    }

    .position-mobile-apply-dock strong,
    .position-mobile-apply-dock span {
        min-width: 0;
        display: block
    }

    .position-mobile-apply-dock strong {
        color: var(--color-text-strong);
        text-overflow: ellipsis;
        white-space: nowrap;
        font-size: .9rem;
        font-weight: 800;
        line-height: 1.25;
        overflow: hidden
    }

    .position-mobile-apply-dock span {
        color: var(--position-detail-muted-soft);
        text-overflow: ellipsis;
        white-space: nowrap;
        margin-top: 2px;
        font-size: .72rem;
        line-height: 1.25;
        overflow: hidden
    }

    .position-mobile-apply-dock a {
        min-height: 42px;
        padding-inline: var(--space-4);
        border: 1px solid var(--action-primary-border);
        border-radius: var(--radius-md);
        background: var(--action-primary-bg);
        color: var(--action-primary-text);
        letter-spacing: .1em;
        text-transform: uppercase;
        justify-content: center;
        align-items: center;
        font-size: .72rem;
        font-weight: 900;
        text-decoration: none;
        display: inline-flex
    }
}

@media (max-width:430px) {

    .position-page-hero img,
    .position-page-hero {
        min-height: 218px
    }

    .position-page-intro h1 {
        font-size: clamp(1.86rem, 10vw, 2.38rem)
    }

    .position-page-list {
        font-size: .82rem
    }

    .position-mobile-apply-dock {
        gap: var(--space-2);
        left: 12px;
        right: 12px
    }
}

.menu-page {
    background: radial-gradient(circle at 50% 0%, #c8a45d12, transparent 28%), var(--color-bg)
}

.menu-page .mobile-action-bar,
.menu-page .mobile-action-dock {
    display: none !important
}

.menu-hero {
    background: linear-gradient(#0000001f, #050505d1), linear-gradient(90deg, #000000d6, #00000070, #000000b8), url(https://firebasestorage.googleapis.com/v0/b/laams-server.appspot.com/o/drive%2Forgs%2FBHIx9BPAsyeNhylNfkxN%2Fcommon%2Fideas%2FG1J7tjdppiJi3vSd4VHr%2FbNVajgqPkzx56xyC9jvN.webp?alt=media&token=ae81b9a4-4469-4508-bec5-a2fd5a0bf660) 76%/cover no-repeat;
    align-items: center;
    min-height: clamp(230px, 25svh, 330px);
    display: flex;
    position: relative;
    overflow: hidden
}

.menu-hero:after {
    content: "";
    pointer-events: none;
    background: linear-gradient(#05050500, #050505f5);
    height: 94px;
    position: absolute;
    inset: auto 0 0
}

.menu-hero .page-hero__inner {
    z-index: 1;
    min-height: inherit;
    padding-block: clamp(82px, 9vh, 110px) clamp(28px, 4vh, 46px);
    position: relative
}

.menu-hero__content {
    width: min(100%, 620px)
}

.menu-hero .page-hero__kicker {
    color: var(--color-gold)
}

.menu-hero .page-hero__statement {
    max-width: 500px;
    color: var(--color-text-strong);
    font-size: clamp(2rem, 3.4vw, 3rem)
}

.menu-status-chips {
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 18px;
    display: flex
}

.menu-status-chip {
    border-radius: var(--radius-xs);
    color: #f5f5f5b8;
    cursor: pointer;
    letter-spacing: .1em;
    text-transform: uppercase;
    min-height: 34px;
    transition: color var(--transition-base), border-color var(--transition-base), background var(--transition-base);
    background: #ffffff09;
    border: 1px solid #c8a45d2e;
    justify-content: center;
    align-items: center;
    gap: 7px;
    padding: 0 14px;
    font-size: .72rem;
    font-weight: 800;
    display: inline-flex
}

.menu-status-chip:hover,
.menu-status-chip:focus-visible,
.menu-status-chip.is-active,
.menu-status-chip[aria-pressed=true] {
    color: var(--color-gold);
    background: #c8a45d1f;
    border-color: #c8a45d85
}

.menu-order-page {
    background: #050505f5;
    padding-bottom: clamp(52px, 7vw, 86px)
}

.menu-category-nav {
    z-index: 30;
    -webkit-backdrop-filter: blur(18px);
    backdrop-filter: blur(18px);
    background: #050505e6;
    border-bottom: 1px solid #c8a45d21;
    position: sticky;
    top: 62px
}

.menu-content {
    min-width: 0
}

.menu-category-scroll {
    scrollbar-width: none;
    gap: clamp(18px, 2.4vw, 30px);
    padding-block: 13px 11px;
    display: flex;
    overflow-x: auto
}

.menu-category-scroll::-webkit-scrollbar {
    display: none
}

.menu-pill {
    color: #f5f5f594;
    cursor: pointer;
    letter-spacing: .1em;
    text-transform: uppercase;
    white-space: nowrap;
    min-height: 28px;
    transition: color var(--transition-base), border-color var(--transition-base), background var(--transition-base);
    background: 0 0;
    border: 0;
    border-radius: 0;
    flex: none;
    padding: 0 0 7px;
    font-size: .72rem;
    font-weight: 800;
    position: relative
}

.menu-pill:hover,
.menu-pill:focus-visible,
.menu-pill.is-active {
    color: var(--color-gold)
}

.menu-pill:after {
    content: "";
    background: var(--color-gold);
    opacity: 0;
    height: 1px;
    transition: opacity var(--transition-base), transform var(--transition-base);
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    transform: scaleX(.45)
}

.menu-pill.is-active:after {
    opacity: 1;
    transform: scaleX(1)
}

.menu-order-layout {
    grid-template-columns: minmax(0, 3fr) minmax(330px, 1.12fr);
    align-items: start;
    gap: clamp(18px, 2.5vw, 30px);
    min-height: clamp(420px, 58svh, 640px);
    padding-top: clamp(20px, 3vw, 36px);
    display: grid
}

.menu-sections {
    display: block
}

.menu-category-section {
    opacity: 0;
    scroll-margin-top: 138px;
    transition: opacity .22s, transform .22s;
    transform: translateY(8px)
}

.menu-category-section.is-active,
.menu-category-section.is-switching {
    opacity: 1;
    transform: translateY(0)
}

.menu-category-section[hidden] {
    display: none !important
}

.menu-section-head {
    border-bottom: 1px solid #c8a45d1f;
    justify-content: space-between;
    align-items: end;
    gap: 18px;
    margin-bottom: 15px;
    padding-bottom: 12px;
    display: flex
}

.menu-section-head h2 {
    color: var(--color-text-strong);
    font-family: var(--font-heading);
    margin-top: 5px;
    font-size: clamp(1.65rem, 2.2vw, 2.35rem);
    font-weight: 500;
    line-height: 1
}

.menu-card-grid {
    justify-content: start;
    gap: var(--space-3);
    grid-template-columns: repeat(4, minmax(0, 184px));
    display: grid
}

.order-menu-card {
    border: 1px solid var(--color-card-border);
    border-radius: var(--radius-md);
    background: linear-gradient(145deg, #ffffff0d, #ffffff05);
    grid-template-columns: 1fr;
    display: grid;
    position: relative;
    overflow: hidden;
    box-shadow: 0 18px 50px #0000002e
}

.order-menu-card img {
    aspect-ratio: 1.22;
    object-fit: cover;
    filter: brightness(.82)saturate(1.02);
    width: 100%;
    display: block
}

.order-menu-card--compact .order-menu-card__body {
    align-content: end;
    min-height: 128px
}

.order-menu-card--compact {
    grid-template-columns: 1fr
}

.menu-item-tag {
    z-index: 1;
    border-radius: var(--radius-full);
    width: max-content;
    max-width: calc(100% - 18px);
    color: var(--color-gold);
    letter-spacing: .1em;
    text-transform: uppercase;
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    background: #050505b8;
    padding: 5px 8px;
    font-size: .54rem;
    font-weight: 850;
    position: absolute;
    top: 9px;
    left: 9px
}

.order-menu-card h3 {
    color: var(--color-text-strong);
    font-family: var(--font-body);
    font-size: clamp(.88rem, .95vw, 1rem);
    font-weight: 700;
    line-height: 1.16
}

.order-menu-card__meta {
    justify-content: space-between;
    align-items: end;
    gap: var(--space-3);
    grid-template-columns: minmax(0, 1fr) auto;
    display: grid
}

.order-menu-card__meta strong {
    color: var(--color-gold);
    font-size: .84rem;
    font-weight: 700
}

.order-menu-card__meta button,
.order-cart__summary button,
.mobile-checkout-button,
.cart-quantity button {
    cursor: pointer;
    touch-action: manipulation
}

.order-menu-card__meta button {
    border: 1px solid var(--action-primary-border);
    border-radius: var(--radius-full);
    background: var(--action-primary-bg);
    width: 38px;
    height: 38px;
    min-height: 0;
    color: var(--action-primary-text);
    box-shadow: var(--action-primary-shadow);
    letter-spacing: 0;
    transition: transform var(--transition-base), border-color var(--transition-base), background var(--transition-base), box-shadow var(--transition-base);
    justify-content: center;
    align-items: center;
    padding: 0;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1;
    display: inline-flex;
    position: relative
}

.order-menu-card__meta button:hover,
.order-menu-card__meta button:focus-visible {
    background: var(--action-primary-bg-hover);
    transform: translateY(-1px);
    box-shadow: 0 10px 24px #0000003d
}

.order-cart {
    position: sticky;
    top: 122px
}

.order-cart__panel {
    border-radius: var(--radius-sm);
    box-shadow: var(--shadow-card);
    background: linear-gradient(145deg, #ffffff0d, #ffffff04), #0a0a0aeb;
    border: 1px solid #c8a45d2e;
    flex-direction: column;
    max-height: calc(100svh - 146px);
    padding: 16px;
    display: flex
}

.order-cart__head {
    border-bottom: 1px solid #c8a45d24;
    justify-content: space-between;
    align-items: start;
    gap: 14px;
    padding-bottom: 15px;
    display: flex
}

.order-cart__head h2 {
    color: var(--color-text-strong);
    font-family: var(--font-body);
    margin-top: 5px;
    font-size: 1.65rem;
    font-weight: 700;
    line-height: 1
}

.order-cart__clear {
    border-radius: var(--radius-xs);
    color: #f5f5f585;
    cursor: pointer;
    width: 34px;
    height: 34px;
    transition: color var(--transition-base), border-color var(--transition-base), background var(--transition-base);
    background: #ffffff07;
    border: 1px solid #c8a45d29;
    place-items: center;
    display: inline-grid
}

.order-cart__clear:hover,
.order-cart__clear:focus-visible {
    color: var(--color-gold);
    background: #c8a45d14;
    border-color: #c8a45d61
}

.order-cart__empty {
    color: #f5f5f594;
    justify-items: start;
    gap: 8px;
    padding: 24px 0 6px;
    font-size: .9rem;
    line-height: 1.55;
    display: grid
}

.order-cart__empty strong {
    /* color: var(--color-text-strong); */
    justify-content: center;
    align-items: center;
    color: #f5f5f599;
    font-size: var(--font-size-sm);
    font-weight: 600;
    line-height: 1.2;
    display: block
}

/* .order-cart__empty span {
    color: #f5f5f599;
    max-width: 250px;
    font-size: .86rem;
    line-height: 1.58;
    display: block
} */

.order-cart__items {
    gap: 11px;
    margin-top: 16px;
    padding-right: 2px;
    display: grid;
    overflow-y: auto
}

.cart-line {
    border-bottom: 1px solid #ffffff13;
    grid-template-columns: 46px minmax(0, 1fr) auto;
    align-items: start;
    gap: 10px;
    padding-bottom: 11px;
    display: grid
}

.order-cart__summary div {
    justify-content: space-between;
    gap: 14px;
    display: flex
}

.cart-line__image {
    border-radius: var(--radius-xs);
    object-fit: cover;
    background: #ffffff09;
    border: 1px solid #c8a45d1f;
    width: 46px;
    height: 46px
}

.cart-line__image--empty {
    background: linear-gradient(145deg, #c8a45d1c, #ffffff05), #ffffff08;
    display: block
}

.cart-line h3 {
    color: var(--color-text-strong);
    font-size: .82rem;
    font-weight: 650;
    line-height: 1.25
}

.cart-line__main p {
    color: #f5f5f57a;
    margin-top: 3px;
    font-size: .72rem;
    line-height: 1.2
}

.cart-line__total {
    color: var(--color-gold);
    white-space: nowrap;
    font-size: .8rem;
    font-weight: 750
}

.cart-quantity {
    align-items: center;
    gap: 7px;
    margin-top: 8px;
    display: inline-flex
}

.cart-quantity button {
    border-radius: var(--radius-full);
    width: 24px;
    height: 24px;
    color: var(--color-text-strong);
    background: #ffffff0a;
    place-items: center;
    line-height: 1;
    display: inline-grid
}

.cart-quantity span {
    color: #f5f5f5c7;
    text-align: center;
    min-width: 18px;
    font-size: .86rem
}

.order-cart__summary {
    border-top: 1px solid #c8a45d2e;
    gap: 10px;
    margin-top: 18px;
    padding-top: 16px;
    display: grid
}

.order-cart__summary span {
    color: #f5f5f59e;
    text-transform: uppercase;
    letter-spacing: .1em;
    font-size: .72rem
}

.order-cart__summary strong {
    color: var(--color-text-strong);
    font-size: .9rem
}

.order-cart__summary .order-cart__total {
    border-top: 1px solid #ffffff14;
    margin-top: 4px;
    padding-top: 10px
}

.order-cart__summary .order-cart__total span,
.order-cart__summary .order-cart__total strong {
    color: var(--color-text-strong);
    font-size: .92rem
}

.order-cart__summary button {
    border-radius: var(--radius-xs);
    background: var(--button-primary-bg);
    min-height: 44px;
    color: var(--button-primary-text);
    box-shadow: var(--button-primary-shadow);
    letter-spacing: .08em;
    text-transform: uppercase;
    transition: background var(--transition-base), border-color var(--transition-base);
    justify-content: center;
    align-items: center;
    gap: 10px;
    margin-top: 4px;
    font-size: .68rem;
    font-weight: 900;
    display: inline-flex
}

.order-cart__summary button i {
    font-size: .72rem
}

.order-cart__summary button:hover,
.order-cart__summary button:focus-visible {
    border-color: var(--button-primary-border);
    background: var(--button-primary-bg-hover)
}

.mobile-checkout-dock {
    z-index: 44;
    width: min(100%, 430px);
    padding: 8px 12px calc(8px + env(safe-area-inset-bottom));
    -webkit-backdrop-filter: blur(18px);
    backdrop-filter: blur(18px);
    background: linear-gradient(#121212f0, #050505fa);
    border-top: 1px solid #c8a45d2e;
    position: fixed;
    bottom: 0;
    left: 50%;
    transform: translate(-50%);
    box-shadow: 0 -16px 42px #0000006b
}

.mobile-checkout-button {
    border-radius: var(--radius-xs);
    background: var(--button-primary-bg);
    width: 100%;
    min-height: 48px;
    color: var(--button-primary-text);
    box-shadow: var(--button-primary-shadow);
    letter-spacing: .08em;
    text-transform: uppercase;
    justify-content: center;
    align-items: center;
    gap: 10px;
    font-size: .76rem;
    font-weight: 900;
    display: inline-flex
}

.order-cart__summary[hidden],
.mobile-checkout-dock[hidden],
.mobile-checkout-button[hidden],
body.checkout-open .mobile-checkout-dock {
    display: none !important
}

.checkout-overlay {
    z-index: 120;
    place-items: center;
    padding: clamp(14px, 3vw, 34px);
    display: grid;
    position: fixed;
    inset: 0
}

.checkout-backdrop {
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    background: #000000ad;
    position: absolute;
    inset: 0
}

.checkout-panel {
    border-radius: var(--radius-md);
    background: radial-gradient(circle at 18% 0, #c8a45d1a, #0000 30%), linear-gradient(145deg, #121212fa, #040404fa);
    border: 1px solid #c8a45d33;
    flex-direction: column;
    width: min(1120px, 100%);
    max-height: min(88svh, 820px);
    display: flex;
    position: relative;
    overflow: hidden;
    box-shadow: 0 30px 90px #0000008f
}

.checkout-header {
    border-bottom: 1px solid #c8a45d24;
    justify-content: space-between;
    align-items: center;
    gap: 18px;
    min-height: 74px;
    padding: 17px 20px;
    display: flex
}

.checkout-header h2 {
    color: var(--color-text-strong);
    font-family: var(--font-body);
    margin-top: 4px;
    font-size: clamp(1.7rem, 2.5vw, 2.35rem);
    font-weight: 700;
    line-height: 1
}

.checkout-close {
    border-radius: var(--radius-xs);
    color: #f5f5f5b8;
    cursor: pointer;
    background: #ffffff09;
    border: 1px solid #c8a45d33;
    place-items: center;
    width: 38px;
    height: 38px;
    display: inline-grid
}

.checkout-body {
    overflow: auto
}

.checkout-form {
    grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr);
    gap: 18px;
    padding: 18px;
    display: grid
}

.checkout-main,
.checkout-summary {
    align-content: start;
    gap: 12px;
    display: grid
}

.checkout-section,
.checkout-summary,
.checkout-confirmation {
    border-radius: var(--radius-sm);
    background: #ffffff08;
    border: 1px solid #c8a45d24
}

.checkout-section {
    padding: 14px
}

.checkout-summary {
    max-height: calc(88svh - 110px);
    padding: 15px;
    position: sticky;
    top: 0;
    overflow: auto
}

.checkout-section-head {
    margin-bottom: 11px
}

.checkout-section-head h3 {
    color: var(--color-text-strong);
    font-family: var(--font-body);
    margin-top: 3px;
    font-size: 1.3rem;
    font-weight: 700;
    line-height: 1
}

.checkout-review--mobile {
    display: none
}

.checkout-items {
    gap: 10px;
    display: grid
}

.checkout-item {
    border-bottom: 1px solid #ffffff13;
    grid-template-columns: 52px minmax(0, 1fr) auto;
    align-items: start;
    gap: 10px;
    padding-bottom: 10px;
    display: grid
}

.checkout-item:last-child {
    border-bottom: 0;
    padding-bottom: 0
}

.checkout-item img,
.checkout-item__image-empty {
    border-radius: var(--radius-xs);
    object-fit: cover;
    background: linear-gradient(145deg, #c8a45d1c, #ffffff05), #ffffff08;
    border: 1px solid #c8a45d1f;
    width: 52px;
    height: 52px
}

.checkout-item h3 {
    color: var(--color-text-strong);
    font-size: .86rem;
    font-weight: 650;
    line-height: 1.25
}

.checkout-item p,
.checkout-empty {
    color: #f5f5f585;
    margin-top: 3px;
    font-size: .76rem;
    line-height: 1.35
}

.checkout-item>strong {
    color: var(--color-gold);
    white-space: nowrap;
    font-size: .84rem
}

.checkout-totals {
    border-top: 1px solid #c8a45d24;
    gap: 8px;
    margin-top: 12px;
    padding-top: 12px;
    display: grid
}

.checkout-totals div {
    color: #f5f5f599;
    justify-content: space-between;
    gap: 16px;
    font-size: .78rem;
    display: flex
}

.checkout-totals strong {
    color: var(--color-text-strong)
}

.checkout-totals .checkout-total {
    color: var(--color-text-strong);
    border-top: 1px solid #ffffff14;
    margin-top: 4px;
    padding-top: 9px;
    font-weight: 800
}

.checkout-method-grid,
.payment-options {
    gap: 8px;
    display: grid
}

.checkout-method-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr))
}

.checkout-method {
    border-radius: var(--radius-xs);
    color: #f5f5f5a8;
    cursor: pointer;
    letter-spacing: .08em;
    text-transform: uppercase;
    background: #ffffff08;
    border: 1px solid #c8a45d29;
    justify-content: center;
    align-items: center;
    gap: 8px;
    min-height: 38px;
    font-size: .68rem;
    font-weight: 850;
    display: inline-flex
}

.checkout-method.is-active {
    color: var(--color-gold);
    background: #c8a45d1c;
    border-color: #c8a45d85
}

.checkout-field-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    display: grid
}

.checkout-field {
    color: #f5f5f5b3;
    letter-spacing: .08em;
    text-transform: uppercase;
    gap: 6px;
    font-size: .72rem;
    font-weight: 750;
    display: grid
}

.checkout-field span {
    color: #f5f5f570;
    font-weight: 600
}

.checkout-field--full {
    grid-column: 1/-1
}

.checkout-field input,
.checkout-field select,
.checkout-field textarea {
    border-radius: var(--radius-xs);
    width: 100%;
    min-height: 42px;
    color: var(--color-text);
    letter-spacing: 0;
    text-transform: none;
    background: #0003;
    border: 1px solid #c8a45d29;
    padding: 10px 11px;
    font-size: .86rem
}

.checkout-field textarea {
    resize: vertical;
    min-height: 88px
}

.checkout-field input:focus,
.checkout-field select:focus,
.checkout-field textarea:focus {
    border-color: #c8a45d8a;
    outline: 0;
    box-shadow: 0 0 0 3px #c8a45d1f
}

.payment-option {
    border-radius: var(--radius-xs);
    color: var(--color-text);
    background: #00000029;
    border: 1px solid #c8a45d24;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 10px;
    padding: 10px;
    display: grid
}

.payment-option.is-selected {
    background: #c8a45d14;
    border-color: #c8a45d75;
    box-shadow: 0 0 0 1px #c8a45d24, 0 12px 28px #c8a45d14
}

.payment-option input {
    opacity: 0;
    pointer-events: none;
    position: absolute
}

.payment-option strong,
.payment-option small {
    display: block
}

.payment-option strong {
    color: var(--color-text-strong);
    font-size: .86rem
}

.payment-option small {
    color: #f5f5f580;
    margin-top: 2px;
    font-size: .74rem
}

.payment-option.is-disabled {
    opacity: .5
}

.checkout-submit,
.checkout-confirmation__actions button,
.checkout-confirmation__actions a {
    border-radius: var(--radius-xs);
    background: var(--button-primary-bg);
    min-height: 44px;
    color: var(--color-gold);
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: .08em;
    border: 1px solid #c8a45d6b;
    justify-content: center;
    align-items: center;
    font-size: .72rem;
    font-weight: 900;
    text-decoration: none;
    display: inline-flex
}

.checkout-submit {
    width: 100%;
    margin-top: 8px
}

.checkout-submit:disabled {
    opacity: .45;
    cursor: not-allowed
}

.checkout-mobile-submit {
    display: none
}

.checkout-stepper {
    background: #080808db;
    border-bottom: 1px solid #c8a45d1f;
    gap: 8px;
    padding: 10px 12px;
    display: flex
}

.checkout-step {
    border-radius: var(--radius-xs);
    color: #f5f5f580;
    letter-spacing: .07em;
    text-transform: uppercase;
    cursor: pointer;
    background: #ffffff06;
    border: 1px solid #c8a45d1f;
    flex: 1;
    justify-content: center;
    align-items: center;
    gap: 7px;
    min-height: 34px;
    font-size: .68rem;
    font-weight: 850;
    display: inline-flex
}

.checkout-step span {
    border: 1px solid;
    border-radius: 50%;
    place-items: center;
    width: 18px;
    height: 18px;
    font-size: .62rem;
    line-height: 1;
    display: inline-grid
}

.checkout-step.is-active {
    color: var(--color-gold);
    background: #c8a45d1a;
    border-color: #c8a45d80
}

.checkout-step.is-complete {
    color: #c8a45db8
}

.checkout-mobile-final {
    border-top: 1px solid #c8a45d24;
    gap: 8px;
    margin-top: 12px;
    padding-top: 12px;
    display: grid
}

.checkout-mobile-final div {
    color: #f5f5f594;
    justify-content: space-between;
    gap: 14px;
    font-size: .78rem;
    display: flex
}

.checkout-mobile-final strong {
    color: var(--color-text-strong)
}

.checkout-mobile-final .checkout-total {
    color: var(--color-text-strong);
    border-top: 1px solid #ffffff14;
    margin-top: 4px;
    padding-top: 9px;
    font-weight: 850
}

.checkout-nav-secondary {
    border-radius: var(--radius-xs);
    color: #f5f5f5ad;
    letter-spacing: .08em;
    text-transform: uppercase;
    cursor: pointer;
    background: #ffffff09;
    border: 1px solid #c8a45d29;
    justify-content: center;
    align-items: center;
    min-height: 44px;
    font-size: .72rem;
    font-weight: 900;
    display: inline-flex
}

.checkout-error {
    border-radius: var(--radius-xs);
    color: var(--color-gold);
    background: #c8a45d14;
    border: 1px solid #c8a45d47;
    padding: 10px 12px;
    font-size: .82rem;
    line-height: 1.4
}

.checkout-confirmation {
    text-align: center;
    max-width: 560px;
    margin: 32px auto;
    padding: clamp(24px, 4vw, 42px)
}

.checkout-confirmation__icon {
    width: 54px;
    height: 54px;
    color: var(--color-gold);
    background: #c8a45d1a;
    border: 1px solid #c8a45d61;
    border-radius: 50%;
    place-items: center;
    margin-bottom: 14px;
    display: inline-grid
}

.checkout-confirmation h3 {
    color: var(--color-text-strong);
    font-family: var(--font-heading);
    margin-top: 8px;
    font-size: clamp(2rem, 4vw, 3rem);
    line-height: 1
}

.checkout-confirmation>p:not(.eyebrow) {
    color: #f5f5f5a3;
    max-width: 420px;
    margin: 12px auto 0;
    line-height: 1.62
}

.checkout-confirmation__rows {
    border-top: 1px solid #c8a45d24;
    gap: 8px;
    margin-top: 20px;
    padding-top: 16px;
    display: grid
}

.checkout-confirmation__rows div {
    color: #f5f5f594;
    justify-content: space-between;
    gap: 16px;
    font-size: .86rem;
    display: flex
}

.checkout-confirmation__rows strong {
    color: var(--color-text-strong)
}

.checkout-confirmation__actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-top: 22px;
    display: grid
}

@media (min-width:901px) {
    .mobile-checkout-dock {
        display: none !important
    }

    .order-cart {
        --menu-cart-nav-offset: 83px;
        --menu-cart-hero-offset: clamp(430px, 56svh, 560px);
        z-index: 35;
        top: var(--menu-cart-nav-offset);
        margin-top: calc(var(--menu-cart-nav-offset) - var(--menu-cart-hero-offset) - clamp(20px, 3vw, 36px))
    }

    .order-cart__panel {
        max-height: calc(100svh - var(--menu-cart-nav-offset) - var(--space-6));
        overflow: hidden
    }

    .checkout-panel,
    .checkout-body,
    .checkout-summary {
        scrollbar-width: thin;
        scrollbar-color: #c8a45d94 #ffffff05
    }

    .checkout-panel::-webkit-scrollbar {
        width: 6px
    }

    .checkout-body::-webkit-scrollbar {
        width: 6px
    }

    .checkout-summary::-webkit-scrollbar {
        width: 6px
    }

    .checkout-panel::-webkit-scrollbar-track {
        background: #ffffff06;
        border-radius: 999px
    }

    .checkout-body::-webkit-scrollbar-track {
        background: #ffffff06;
        border-radius: 999px
    }

    .checkout-summary::-webkit-scrollbar-track {
        background: #ffffff06;
        border-radius: 999px
    }

    .checkout-panel::-webkit-scrollbar-thumb {
        background: #c8a45d9e;
        border-radius: 999px
    }

    .checkout-body::-webkit-scrollbar-thumb {
        background: #c8a45d9e;
        border-radius: 999px
    }

    .checkout-summary::-webkit-scrollbar-thumb {
        background: #c8a45d9e;
        border-radius: 999px
    }

    .checkout-panel::-webkit-scrollbar-thumb:hover {
        background: #c8a45dd6
    }

    .checkout-body::-webkit-scrollbar-thumb:hover {
        background: #c8a45dd6
    }

    .checkout-summary::-webkit-scrollbar-thumb:hover {
        background: #c8a45dd6
    }

    .order-cart__items {
        scrollbar-width: thin;
        scrollbar-color: #c8a45d8c #ffffff09;
        padding-right: 6px
    }

    .order-cart__items::-webkit-scrollbar {
        width: 5px
    }

    .order-cart__items::-webkit-scrollbar-track {
        background: #ffffff09;
        border-radius: 999px
    }

    .order-cart__items::-webkit-scrollbar-thumb {
        background: #c8a45d9e;
        border-radius: 999px
    }

    .order-cart__items::-webkit-scrollbar-thumb:hover {
        background: #c8a45dd1
    }
}

@media (max-width:1100px) {
    .menu-order-layout {
        grid-template-columns: minmax(0, 1fr) minmax(335px, 370px)
    }

    .menu-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }
}

@media (max-width:900px) {
    .menu-page {
        padding-bottom: 0
    }

    .menu-page.menu-cart-active .menu-order-page,
    .menu-page.menu-cart-active .clean-footer {
        padding-bottom: calc(92px + env(safe-area-inset-bottom))
    }

    .menu-hero {
        background: linear-gradient(180deg, #0c0c0cf0, #050505fa), linear-gradient(135deg, #c8a45d14, #ffffff05 42%, transparent 72%), var(--color-bg);
        align-items: flex-end;
        min-height: clamp(218px, 30svh, 286px)
    }

    .menu-hero:after {
        background: linear-gradient(#05050500, #050505fa);
        height: 34px
    }

    .menu-hero .page-hero__inner {
        align-items: flex-end;
        padding-block: 66px 14px
    }

    .menu-category-nav {
        border-top-color: #c8a45d14;
        top: 58px
    }

    .menu-order-layout {
        padding-top: 10px;
        display: block
    }

    .order-cart {
        display: none
    }

    .checkout-overlay {
        padding: 0;
        display: block
    }

    .checkout-backdrop {
        display: none
    }

    .checkout-panel {
        background: radial-gradient(circle at 18% 0, #c8a45d1a, #0000 28%), linear-gradient(#0e0e0efc, #020202fc);
        border: 0;
        border-radius: 0;
        width: 100%;
        height: 100dvh;
        max-height: none
    }

    .checkout-header {
        z-index: 2;
        min-height: 58px;
        padding: calc(9px + env(safe-area-inset-top)) 14px 9px;
        -webkit-backdrop-filter: blur(18px);
        backdrop-filter: blur(18px);
        background: #080808f0;
        position: sticky;
        top: 0
    }

    .checkout-header h2 {
        margin-top: 2px;
        font-size: 1.32rem
    }

    .checkout-body {
        height: 100%;
        padding-bottom: 0
    }

    .checkout-form:not(.checkout-form--mobile) {
        padding: 12px;
        display: block
    }

    .checkout-form--mobile {
        min-height: calc(100dvh - 107px - env(safe-area-inset-top));
        flex-direction: column;
        padding: 0;
        display: flex
    }

    .checkout-main {
        gap: 10px
    }

    .checkout-summary {
        display: none
    }

    .checkout-review--mobile {
        display: block
    }

    .checkout-section {
        padding: 12px
    }

    .checkout-section-head {
        margin-bottom: 9px
    }

    .checkout-section-head h3 {
        font-size: 1.16rem
    }

    .checkout-field-grid {
        grid-template-columns: 1fr
    }

    .checkout-field-grid--mobile {
        gap: 14px
    }

    .checkout-method-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 7px
    }

    .checkout-mobile-step>.checkout-method-grid {
        margin-top: 11px;
        margin-bottom: 20px
    }

    .checkout-field-grid--mobile .checkout-field--full:last-child {
        margin-top: 3px
    }

    .checkout-method {
        gap: 6px;
        min-height: 38px;
        font-size: .62rem
    }

    .checkout-item {
        grid-template-columns: 46px minmax(0, 1fr) auto
    }

    .checkout-item img,
    .checkout-item__image-empty {
        width: 46px;
        height: 46px
    }

    .checkout-stepper {
        z-index: 1;
        -webkit-backdrop-filter: blur(18px);
        backdrop-filter: blur(18px);
        background: #060606f0;
        padding: 9px 12px;
        position: sticky;
        top: 0
    }

    .checkout-step {
        letter-spacing: .05em;
        gap: 5px;
        min-height: 32px;
        padding-inline: 6px;
        font-size: .62rem
    }

    .checkout-step span {
        width: 17px;
        height: 17px;
        font-size: .58rem
    }

    .checkout-mobile-content {
        padding: 12px 12px calc(96px + env(safe-area-inset-bottom));
        flex: 1
    }

    .checkout-mobile-step {
        animation: .18s both checkoutStepIn
    }

    .checkout-mobile-submit {
        padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
        -webkit-backdrop-filter: blur(18px);
        backdrop-filter: blur(18px);
        background: #050505f0;
        border-top: 1px solid #c8a45d29;
        gap: 9px;
        margin: auto 0 0;
        display: grid;
        position: sticky;
        bottom: 0
    }

    .checkout-step-nav {
        grid-template-columns: minmax(92px, .38fr) minmax(0, 1fr)
    }

    .checkout-step-nav .checkout-submit:only-child {
        grid-column: 1/-1
    }

    .checkout-mobile-submit .checkout-submit {
        margin-top: 0
    }

    .checkout-confirmation {
        background: 0 0;
        border: 0;
        border-radius: 0;
        flex-direction: column;
        justify-content: center;
        min-height: calc(100dvh - 90px);
        margin: 0;
        display: flex
    }

    .checkout-confirmation__icon {
        margin-inline: auto
    }
}

@keyframes checkoutStepIn {
    0% {
        opacity: 0;
        transform: translateY(6px)
    }

    to {
        opacity: 1;
        transform: translateY(0)
    }
}.contact-request-card,
.contact-request-card:before,
.contact-confirmation-summary,
.contact-map-card,
.home-action-card,
.home-promo-card,
.home-event-card,
.home-featured-card,
.signature-card,
.menu-tile,
.gallery-card,
.contact-action-card,
.about-value-card,
.about-cta-panel,
.careers-highlight-card,
.expect-panel,
.application-panel,
.role-card,
.career-benefit-card,
.career-general-panel,
.career-application-panel,
.career-role-summary,
.career-mobile-selected,
.career-review-card,
.career-confirmation,
.events-private-panel,
.event-card,
.event-panel,
.event-detail-profile,
.event-detail-extra,
.event-booking-card,
.event-form-section,
.event-request-summary,
.event-confirmation,
.event-mobile-summary-card,
.event-placeholder-card,
.order-menu-card,
.order-cart__panel,
.checkout-panel,
.checkout-section,
.checkout-summary,
.checkout-confirmation,
.home-action-card:hover,
.home-promo-card:hover,
.home-featured-card:hover,
.signature-card:hover,
.menu-tile:hover,
.contact-action-card:hover,
.role-card:hover,
.event-card:hover {
    border-color: #0000
}

@media (max-width:640px) {
    .menu-hero__content {
        max-width: 360px
    }

    .menu-hero .page-hero__statement {
        max-width: 312px;
        margin-top: 5px;
        font-size: clamp(1.68rem, 7.6vw, 2.02rem);
        line-height: 1
    }

    .menu-hero .page-hero__text {
        color: #f5f5f5a8;
        max-width: 318px;
        margin-top: 7px;
        font-size: .76rem;
        line-height: 1.4
    }

    .menu-status-chips {
        gap: 5px;
        margin-top: 9px
    }

    .menu-status-chip {
        letter-spacing: .07em;
        min-height: 29px;
        padding-inline: 9px;
        font-size: .58rem
    }

    .menu-category-scroll {
        gap: 7px;
        width: 100%;
        padding-block: 7px;
        padding-inline: 12px
    }

    .menu-pill {
        letter-spacing: .08em;
        min-height: 32px;
        padding-inline: 11px;
        font-size: .6rem
    }

    .menu-sections {
        gap: 24px;
        padding-top: 9px
    }

    .menu-category-section {
        scroll-margin-top: 96px
    }

    .menu-section-head {
        margin-bottom: 7px;
        padding-bottom: 7px
    }

    .menu-section-head h2 {
        margin-top: 0;
        font-size: 1.58rem
    }

    .menu-category-section:first-child .menu-section-head .eyebrow {
        display: none
    }

    .menu-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px
    }

    .order-menu-card {
        grid-template-columns: 1fr;
        display: grid
    }

    .order-menu-card--compact {
        display: grid
    }

    .order-menu-card img {
        aspect-ratio: 1.18
    }

    .order-menu-card__body {
        padding: var(--space-3)
    }

    .order-menu-card--compact .order-menu-card__body {
        min-height: 132px
    }

    .order-menu-card h3 {
        font-size: .88rem;
        line-height: 1.18
    }

    .order-menu-card__meta {
        gap: var(--space-2)
    }

    .order-menu-card__meta strong {
        font-size: .78rem
    }

    .order-menu-card__meta button {
        width: 34px;
        height: 34px;
        font-size: 1.1rem
    }

    .menu-item-tag {
        letter-spacing: .1em;
        margin-bottom: 6px;
        font-size: .55rem
    }

    .mobile-checkout-dock {
        width: 100%;
        padding: 7px 10px calc(7px + env(safe-area-inset-bottom))
    }

    .mobile-checkout-button {
        min-height: 46px;
        font-size: .7rem
    }
}

@media (max-width:360px) {
    .menu-card-grid {
        grid-template-columns: 1fr
    }
}

@media (max-width:767px) {
    .site-wrap {
        width: min(100% - 24px, var(--container-default))
    }

    .page-hero {
        align-items: flex-end;
        min-height: min(760px, 100svh)
    }

    .page-hero:before {
        background: linear-gradient(180deg, #0000001a, #050505c2 58%, #050505eb 100%), linear-gradient(90deg, #000000d1, #0000005c), var(--page-hero-image) var(--page-hero-position) / cover no-repeat
    }

    .page-hero--home {
        --page-hero-position: 56% center
    }

    .page-hero--home:before {
        background: linear-gradient(180deg, #0000000f, #0505056b 70%, #05050594 100%), linear-gradient(90deg, #000000ad, #0000003d), var(--page-hero-image) var(--page-hero-position) / cover no-repeat
    }

    .page-hero--home:after {
        background: linear-gradient(#05050500, #050505d1);
        height: min(16vh, 118px)
    }

    .page-hero--gallery {
        --page-hero-position: 62% center
    }

    .page-hero--about {
        --page-hero-position: 58% center
    }

    .page-hero--gallery:before {
        background: linear-gradient(180deg, #00000014, #0505058f 72%, #050505c2 100%), linear-gradient(90deg, #000000c2, #0000003d), var(--page-hero-image) var(--page-hero-position) / cover no-repeat
    }

    .page-hero--about:before {
        background: linear-gradient(180deg, #00000014, #0505058f 72%, #050505bd 100%), linear-gradient(90deg, #000000c2, #00000042), var(--page-hero-image) var(--page-hero-position) / cover no-repeat
    }

    .page-hero__inner {
        min-height: inherit;
        align-items: flex-end;
        padding-block: 112px 64px
    }

    .page-hero__content {
        max-width: 520px;
        margin-top: 0;
        margin-bottom: clamp(18px, 4.8vh, 46px)
    }

    .page-hero__eyebrow {
        letter-spacing: .16em;
        font-size: .66rem
    }

    .page-hero__title {
        letter-spacing: .075em;
        margin-top: 14px;
        font-size: clamp(3.45rem, 16.5vw, 5rem)
    }

    .page-hero__text {
        margin-top: 16px;
        font-size: .95rem;
        line-height: 1.66
    }

    .page-hero__kicker {
        font-size: clamp(.95rem, 4.4vw, 1.1rem);
        line-height: 1.35
    }

    .page-hero__statement {
        max-width: 340px;
        margin-top: 9px;
        font-size: clamp(2rem, 9.5vw, 2.4rem);
        line-height: 1.05
    }

    .page-hero--gallery .page-hero__statement {
        max-width: 320px
    }

    .page-hero--about .page-hero__statement,
    .page-hero--gallery .page-hero__text,
    .page-hero--about .page-hero__text {
        max-width: 340px
    }

    .page-hero__info {
        grid-template-columns: 1fr;
        gap: 8px;
        max-width: 330px;
        margin-top: 18px;
        padding-top: 11px
    }

    .page-hero__info-item {
        gap: 3px
    }

    .page-hero__info-label {
        font-size: .58rem
    }

    .page-hero__info-value {
        font-size: .74rem;
        line-height: 1.35
    }

    .page-hero__actions {
        align-items: stretch;
        width: 100%;
        margin-top: 24px
    }

    .page-hero__actions button,
    .page-hero__actions a {
        width: 100%;
        min-height: 46px;
        padding-block: 12px
    }

    .hero-image {
        min-height: 360px
    }

    .hero-title {
        font-size: clamp(3.4rem, 17vw, 5rem)
    }

    .action-row {
        align-items: stretch
    }

    .action-pill {
        width: 100%
    }

    .stat-grid {
        grid-template-columns: 1fr
    }
}

@media (min-width:768px) {
    .md\:flex {
        display: flex !important
    }

    .md\:hidden {
        display: none !important
    }
}

@media (max-width:900px) {
    .site-wrap {
        width: min(100% - 28px, 720px)
    }

    .brand-nav .site-wrap {
        min-height: 58px
    }

    .desktop-nav {
        display: none !important
    }

    .mobile-toggle {
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }

    .mobile-panel:not(.hidden) {
        display: block;
    }

    .split-feature,
    .info-bar,
    .contact-layout,
    .footer-layout,
    .job-grid {
        grid-template-columns: 1fr
    }

    .mobile-panel {
        border: 1px solid var(--color-border);
        border-radius: var(--radius-md);
        margin: 0 14px 14px
    }

    #dishes .signature-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 14px;
        max-width: 720px
    }

    #dishes .signature-intro {
        grid-column: 1/-1;
        align-self: start;
        padding: 0 0 4px
    }

    #dishes .signature-card img {
        aspect-ratio: 1.62
    }

    #dishes .menu-preview-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        max-width: 720px
    }

    #dishes .menu-strip-intro {
        border-right: 0;
        border-bottom: 1px solid var(--color-border);
        grid-column: 1/-1;
        padding: 22px 0 20px
    }

    #dishes .menu-tile {
        min-height: 128px
    }

    #dishes .menu-tile-content {
        gap: 12px;
        min-height: 128px;
        padding: 16px 12px
    }

    #dishes .menu-icon {
        font-size: 1.45rem
    }

    .footer-links {
        flex-wrap: wrap
    }

    .contact-actions,
    .contact-details-row {
        grid-template-columns: 1fr
    }

    .contact-visual {
        align-self: auto;
        height: auto;
        min-height: 260px
    }

    .contact-content {
        padding: 28px 18px 22px
    }

    .contact-content .muted-copy {
        margin-top: 10px !important
    }

    .contact-actions {
        gap: 10px;
        margin-top: 18px
    }

    .contact-action-card {
        padding: 14px 13px 13px
    }

    .contact-action-card i {
        font-size: 1.12rem
    }

    .contact-action-card h3 {
        margin-top: 9px;
        font-size: .95rem
    }

    .contact-action-card p {
        margin-top: 5px;
        font-size: .74rem
    }

    .contact-action-card button,
    .contact-action-card a {
        min-height: 40px;
        margin-top: 10px;
        padding: 8px 12px
    }

    .contact-details-row {
        margin-top: 16px;
        padding: 8px 0
    }

    .contact-info-item {
        gap: 10px;
        padding: 11px 10px
    }

    .map-frame {
        height: 200px
    }

    .contact-map-frame {
        margin-top: 14px
    }

    .menu-strip-intro,
    .contact-info-item {
        border-right: 0;
        border-bottom: 1px solid var(--color-border)
    }

    .contact-info-item:last-child {
        border-bottom: 0
    }

    .gallery-grid {
        grid-template-columns: 1fr;
        grid-auto-rows: 210px
    }

    .info-item {
        border-right: 0;
        border-bottom: 1px solid var(--color-border)
    }

    .info-item:last-child {
        border-bottom: 0
    }

    .video-showcase,
    .about-story-grid,
    .about-atmosphere-grid,
    .about-values-grid {
        grid-template-columns: 1fr
    }

    .about-image-mosaic {
        grid-template-columns: 1fr 1fr
    }

    .about-mosaic-large {
        grid-area: auto/1/auto/-1;
        min-height: 320px
    }

    .gallery-grid {
        grid-auto-rows: 220px
    }

    .gallery-card.large,
    .gallery-card.wide {
        grid-area: auto
    }
}

@media (max-width:767px) {
    #dishes .signature-grid {
        grid-template-columns: 1fr;
        gap: 12px;
        max-width: 460px;
        margin-top: 20px
    }

    #dishes .signature-card {
        grid-template-columns: minmax(112px, 38%) minmax(0, 1fr);
        align-items: stretch;
        display: grid
    }

    #dishes .signature-card img {
        aspect-ratio: auto;
        height: 100%;
        min-height: 124px
    }

    #dishes .signature-card div {
        align-self: center;
        padding: 14px
    }

    #dishes .signature-card h3 {
        font-size: 1.08rem
    }

    #dishes .signature-card p {
        margin-top: 6px;
        font-size: .74rem;
        line-height: 1.48
    }

    #dishes .menu-preview-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        margin-top: 20px
    }

    #dishes .menu-strip-intro {
        border-right: 0;
        border-bottom: 1px solid var(--color-border);
        grid-column: 1/-1;
        padding: 18px 0 17px
    }

    #dishes .menu-tile {
        border-bottom: 1px solid #c8a45d1f;
        border-right: 1px solid #c8a45d1f;
        min-height: 118px
    }

    #dishes .menu-tile:nth-of-type(2n) {
        border-right: 0
    }

    #dishes .menu-tile:nth-last-child(-n+2) {
        border-bottom: 0
    }

    #dishes .menu-tile-content {
        gap: 10px;
        min-height: 118px;
        padding: 14px 10px
    }

    #dishes .menu-tile-content h3 {
        letter-spacing: .13em;
        font-size: .68rem
    }

    #dishes .menu-icon {
        font-size: 1.34rem
    }

    #dishes .menu-full-link-wrap {
        margin-top: 18px
    }

    #contact.minimal-section {
        padding-top: 42px;
        padding-bottom: 44px
    }

    .contact-layout {
        border-radius: var(--radius-sm)
    }

    .contact-visual {
        align-self: auto;
        height: auto;
        min-height: 230px
    }

    .contact-content {
        padding: 24px 14px 18px
    }

    .ornament {
        margin-bottom: 8px;
        font-size: .95rem
    }

    .contact-heading {
        letter-spacing: .09em;
        font-size: clamp(1.72rem, 9vw, 2.35rem)
    }

    .contact-actions {
        gap: 9px;
        margin-top: 16px
    }

    .contact-action-card {
        padding: 12px
    }

    .contact-action-card h3 {
        font-size: .9rem
    }

    .contact-action-card button,
    .contact-action-card a {
        min-height: 38px;
        font-size: .62rem
    }

    .contact-details-row {
        margin-top: 14px
    }

    .contact-info-item {
        padding: 10px 8px
    }

    .contact-info-item p,
    .contact-info-item a {
        font-size: .72rem
    }

    .map-frame {
        height: 188px
    }

    .about-story-image,
    .about-mosaic-large {
        min-height: 260px
    }

    .about-mosaic-small {
        min-height: 160px
    }

    .about-editorial {
        text-align: left
    }

    .about-editorial p {
        margin-left: 0;
        margin-right: 0
    }

    .about-value-card {
        min-height: auto
    }

    .about-value-card h3 {
        margin-top: 28px
    }

    .about-cta-actions {
        flex-direction: column;
        align-items: stretch
    }

    .about-cta-actions .btn {
        width: 100%
    }
}

@media (max-width:1100px) {
    .role-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }

    .careers-hero__inner {
        width: min(100% - 28px, 720px);
        margin-inline: auto
    }

    .careers-intro-grid,
    .careers-application-grid {
        grid-template-columns: 1fr
    }

    .careers-team-panel {
        min-height: 0
    }
}

@media (max-width:767px) {
    .careers-hero {
        align-items: flex-end;
        min-height: 100svh
    }

    .careers-hero:before {
        background: linear-gradient(180deg, #00000014, #05050575 72%, #050505a3 100%), linear-gradient(90deg, #000000b8, #00000047), var(--careers-hero-image) 64% center / cover no-repeat
    }

    .careers-hero__inner {
        width: min(100% - 24px, var(--container-default));
        margin-inline: auto;
        padding-block: 122px clamp(42px, 8vh, 74px)
    }

    .careers-hero .page-hero__statement {
        max-width: 340px;
        font-size: clamp(2.1rem, 10vw, 2.65rem);
        line-height: 1.04
    }

    .careers-hero .page-hero__text {
        max-width: 340px;
        font-size: .95rem
    }

    .careers-hero__actions {
        gap: 14px;
        max-width: 340px;
        margin-top: 22px
    }

    .careers-hero__actions a {
        min-width: 0;
        min-height: 38px
    }

    .careers-team-panel {
        border-radius: var(--radius-md)
    }

    .careers-highlight-card {
        margin-top: 18px;
        padding: 16px
    }

    .careers-highlight-card h3 {
        font-size: 1.55rem
    }

    .expect-panel {
        margin-top: 22px;
        padding: 17px 15px
    }

    .expect-panel li {
        grid-template-columns: 28px 1fr;
        gap: 10px;
        font-size: .84rem
    }

    .expect-panel li:before {
        width: 28px;
        height: 28px
    }

    .role-grid {
        grid-template-columns: 1fr
    }

    .role-card {
        min-height: auto;
        padding: 16px
    }

    .application-panel {
        padding: 18px 14px
    }

    .application-form {
        gap: 15px
    }
}

@media (max-width:900px) {
    body {
        padding-bottom: 68px
    }

    body.modal-active {
        padding-bottom: 0
    }

    .mobile-action-bar {
        z-index: 45;
        -webkit-backdrop-filter: blur(16px);
        backdrop-filter: blur(16px);
        background: linear-gradient(145deg, #161616f5, #050505f5);
        border: 1px solid #c8a45d3d;
        border-radius: 16px;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 6px;
        padding: 7px;
        display: grid;
        position: fixed;
        bottom: 10px;
        left: 10px;
        right: 10px;
        box-shadow: 0 16px 46px #0000006b
    }

    body.modal-active .mobile-action-bar {
        display: none
    }

    .mobile-action-bar a,
    .mobile-action-bar button {
        color: #f5f5f5db;
        text-transform: uppercase;
        letter-spacing: .08em;
        background: #ffffff09;
        border: 0;
        border-radius: 11px;
        justify-content: center;
        align-items: center;
        gap: 7px;
        min-height: 46px;
        font-size: .67rem;
        font-weight: 750;
        text-decoration: none;
        display: inline-flex
    }

    .mobile-action-bar a:nth-child(2),
    .mobile-action-bar button:nth-child(2) {
        color: var(--color-gold);
        background: #c8a45d14;
        border: 1px solid #c8a45d6b
    }

    .mobile-action-bar i {
        color: var(--color-gold);
        font-size: .86rem
    }

    .brand-logo {
        letter-spacing: .16em;
        font-size: 1.2rem
    }

    .mobile-panel {
        padding: 10px 16px 16px
    }

    .mobile-panel a,
    .mobile-panel button {
        padding: 11px 0;
        font-size: .76rem
    }

    .minimal-section,
    .gallery-section {
        padding-top: 48px;
        padding-bottom: 48px
    }

    .section-title {
        font-size: clamp(1.9rem, 10vw, 2.75rem);
        line-height: 1.02
    }

    .muted-copy {
        font-size: .9rem;
        line-height: 1.65
    }

    .split-feature {
        gap: 22px
    }
}

@media (max-width:767px) {
    .page-hero {
        align-items: stretch;
        min-height: auto
    }

    .page-hero:before {
        background: linear-gradient(180deg, #00000014, #05050580 72%, #050505a8 100%), linear-gradient(90deg, #000000c2, #00000038), var(--page-hero-image) var(--page-hero-position) / cover no-repeat
    }

    .page-hero--home:before {
        background: linear-gradient(180deg, #0000000d, #0505056b 74%, #05050594 100%), linear-gradient(90deg, #000000b8, #0000002e), var(--page-hero-image) var(--page-hero-position) / cover no-repeat
    }

    .page-hero:after,
    .page-hero--home:after {
        background: linear-gradient(#05050500, #050505c7);
        height: 82px
    }

    .page-hero__inner {
        align-items: flex-start;
        min-height: auto;
        padding-block: 88px 42px
    }

    .page-hero__content {
        max-width: 360px;
        margin-top: 0;
        margin-bottom: 0
    }

    .page-hero__kicker {
        font-size: clamp(.86rem, 4vw, 1rem)
    }

    .page-hero__statement {
        max-width: 330px;
        margin-top: 7px;
        font-size: clamp(1.82rem, 8.2vw, 2.28rem);
        line-height: 1.06
    }

    .page-hero--gallery .page-hero__statement,
    .page-hero--about .page-hero__statement {
        max-width: 330px
    }

    .page-hero__text,
    .page-hero--gallery .page-hero__text,
    .page-hero--about .page-hero__text {
        max-width: 330px;
        margin-top: 12px;
        font-size: .86rem;
        line-height: 1.58
    }

    .page-hero__info {
        gap: 6px;
        max-width: 310px;
        margin-top: 14px;
        padding-top: 9px
    }

    .page-hero__info-label {
        font-size: .54rem
    }

    .page-hero__info-value {
        font-size: .68rem
    }

    .mobile-hero-actions {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 7px;
        max-width: 330px;
        margin-top: 16px;
        display: grid
    }

    .mobile-hero-actions a,
    .mobile-hero-actions button {
        border-radius: var(--radius-sm);
        min-height: 40px;
        color: var(--color-gold);
        text-transform: uppercase;
        letter-spacing: .08em;
        background: #00000038;
        border: 1px solid #c8a45d57;
        justify-content: center;
        align-items: center;
        font-size: .62rem;
        font-weight: 800;
        text-decoration: none;
        display: inline-flex
    }

    .minimal-section,
    .gallery-section {
        padding-top: 44px;
        padding-bottom: 44px
    }

    #about.minimal-section,
    #dishes.minimal-section {
        padding-top: 42px;
        padding-bottom: 42px
    }

    .image-frame img {
        aspect-ratio: 1.55
    }

    #dishes .signature-grid {
        gap: 10px;
        margin-top: 16px
    }

    #dishes .signature-card img {
        min-height: 104px
    }

    #dishes .signature-card div {
        padding: 12px
    }

    #dishes .signature-card h3 {
        font-size: 1rem
    }

    #dishes .signature-card p {
        font-size: .7rem;
        line-height: 1.42
    }

    #dishes .menu-preview-grid {
        gap: 0;
        margin-top: 16px
    }

    #dishes .menu-tile,
    #dishes .menu-tile-content {
        min-height: 104px
    }

    #dishes .menu-icon {
        font-size: 1.18rem
    }

    .gallery-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-auto-rows: 150px;
        gap: 9px
    }

    .gallery-card.tall,
    .gallery-card.wide,
    .gallery-card.large {
        grid-area: auto
    }

    .video-frame,
    .video-frame video {
        min-height: 220px
    }

    .contact-visual {
        min-height: 190px
    }

    .contact-content {
        padding: 20px 12px 16px
    }

    .contact-action-card {
        padding: 11px
    }

    .map-frame {
        height: 170px
    }

    .about-story-image,
    .about-mosaic-large {
        min-height: 220px
    }

    .about-image-mosaic {
        gap: 9px
    }

    .about-mosaic-small {
        min-height: 130px
    }

    .about-value-card {
        padding: 18px
    }

    .about-editorial h2,
    .about-cta-panel h2 {
        font-size: clamp(2rem, 10vw, 2.85rem)
    }

    .careers-hero {
        align-items: stretch;
        min-height: auto
    }

    .careers-hero:before {
        background: linear-gradient(180deg, #0000000f, #05050580 74%, #050505a8 100%), linear-gradient(90deg, #000000bd, #00000038), var(--careers-hero-image) 64% center / cover no-repeat
    }

    .careers-hero:after {
        background: linear-gradient(#0000 70%, #050505b3 100%)
    }

    .careers-hero__inner {
        padding-block: 88px 44px
    }

    .careers-hero .page-hero__statement {
        max-width: 330px;
        font-size: clamp(1.9rem, 8.7vw, 2.36rem)
    }

    .careers-hero .page-hero__text {
        max-width: 330px;
        font-size: .86rem
    }

    .careers-hero__actions {
        gap: 10px;
        max-width: 330px;
        margin-top: 16px
    }

    .careers-hero__actions a {
        min-height: 34px;
        font-size: .66rem
    }

    .careers-highlight-card {
        padding: 14px
    }

    .careers-highlight-card h3 {
        font-size: 1.32rem
    }

    .role-card,
    .application-panel,
    .expect-panel {
        border-radius: var(--radius-md)
    }

    .menu-category-list {
        gap: 18px;
        padding-top: 14px
    }
}

@media (max-width:390px) {
    .mobile-action-bar {
        bottom: 8px;
        left: 8px;
        right: 8px
    }

    .mobile-action-bar a,
    .mobile-action-bar button {
        gap: 5px;
        font-size: .61rem
    }

    .page-hero__inner,
    .careers-hero__inner {
        padding-top: 84px;
        padding-bottom: 38px
    }

    .mobile-hero-actions {
        grid-template-columns: 1fr
    }

    .gallery-grid {
        grid-auto-rows: 136px
    }
}

@media (max-width:900px) {
    body {
        padding-bottom: calc(120px + env(safe-area-inset-bottom))
    }

    body.modal-active,
    body.mobile-nav-open {
        padding-bottom: 0
    }

    body.mobile-nav-open .mobile-action-bar,
    body.modal-active .mobile-action-bar {
        display: none
    }

    .mobile-action-bar {
        bottom: calc(10px + env(safe-area-inset-bottom));
        background: linear-gradient(145deg, #121212eb, #040404f0);
        border-radius: 14px;
        padding: 5px
    }

    .mobile-action-bar a,
    .mobile-action-bar button {
        touch-action: manipulation;
        min-height: 44px;
        font-size: .62rem
    }

    .mobile-panel {
        border-radius: 14px;
        margin: 0 12px 10px;
        padding: 10px 14px 12px
    }

    .mobile-panel>a,
    .mobile-panel>button {
        letter-spacing: .11em;
        padding: 9px 0;
        font-size: .72rem
    }

    .mobile-panel-actions {
        border-top: 1px solid #c8a45d29;
        grid-template-columns: 1fr;
        gap: 8px;
        margin-top: 8px;
        padding-top: 12px;
        display: grid
    }

    .mobile-panel-actions span {
        color: #c8a45db8;
        letter-spacing: .16em;
        text-transform: uppercase;
        font-size: .58rem;
        font-weight: 800
    }

    .mobile-panel .mobile-panel-actions a,
    .mobile-panel .mobile-panel-actions button {
        border-radius: var(--radius-sm);
        color: #f5f5f5d1;
        text-align: center;
        background: #c8a45d0b;
        border: 1px solid #c8a45d47;
        min-height: 38px;
        padding: 9px 12px;
        font-size: .66rem
    }

    .mobile-panel .mobile-panel-actions button:nth-of-type(2) {
        color: var(--color-gold);
        border-color: #c8a45d75
    }

    .home-section {
        padding-top: 40px;
        padding-bottom: 40px
    }

    .home-section-header {
        max-width: 520px;
        margin-bottom: 16px
    }

    .home-section-header .section-title {
        font-size: clamp(1.75rem, 7vw, 2.45rem)
    }

    .home-action-grid,
    .home-card-grid--three {
        grid-template-columns: 1fr;
        gap: 10px
    }

    .home-action-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 8px
    }

    .home-action-card,
    .home-promo-card {
        min-height: auto;
        padding: 16px
    }

    .home-action-card span,
    .home-promo-card span {
        font-size: 1.18rem
    }

    .home-story-teaser {
        padding-bottom: calc(72px + env(safe-area-inset-bottom))
    }

    .clean-footer {
        padding-bottom: calc(128px + env(safe-area-inset-bottom))
    }
}

@media (max-width:767px) {
    .page-hero--home {
        min-height: clamp(380px, 64vh, 460px)
    }

    .page-hero--home .page-hero__inner {
        min-height: inherit;
        padding-block: 76px 32px
    }

    .page-hero--home:before {
        background: linear-gradient(180deg, #00000005, #05050557 72%, #0505058f 100%), linear-gradient(90deg, #000000c2, #0003), var(--page-hero-image) 58% center / cover no-repeat
    }

    .page-hero__inner {
        padding-block: 82px 34px
    }

    .page-hero__statement {
        font-size: clamp(1.58rem, 7vw, 2rem)
    }

    .page-hero--home .page-hero__info {
        display: none
    }

    .mobile-hero-copy,
    .mobile-hero-meta {
        max-width: 315px;
        display: block
    }

    .mobile-hero-copy {
        color: #f5f5f5b8;
        margin-top: 8px;
        font-size: .78rem;
        line-height: 1.42
    }

    .mobile-hero-meta {
        color: #f5f5f594;
        margin-top: 8px;
        font-size: .67rem;
        line-height: 1.4
    }

    .mobile-hero-meta a {
        color: var(--color-gold);
        text-decoration: none
    }

    .mobile-hero-actions {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 6px;
        max-width: 276px;
        margin-top: 12px
    }

    .mobile-hero-actions a,
    .mobile-hero-actions button {
        touch-action: manipulation;
        min-height: 44px;
        font-size: .57rem
    }

    .home-section {
        padding-top: 34px;
        padding-bottom: 34px
    }

    .home-section-header {
        margin-bottom: 14px
    }

    .home-action-grid,
    .home-card-grid,
    .home-card-grid--three,
    .home-featured-grid {
        grid-template-columns: 1fr;
        gap: 10px
    }

    .home-action-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 8px
    }

    .home-action-card {
        text-align: center;
        justify-content: center;
        align-items: center;
        gap: 7px;
        min-width: 0;
        min-height: auto;
        padding: 12px 8px;
        display: flex
    }

    .home-action-card i {
        width: 30px;
        height: 30px;
        margin-top: 2px;
        font-size: .82rem
    }

    .home-action-card span,
    .home-promo-card span {
        font-size: 1.08rem
    }

    .home-action-card span {
        font-size: .84rem;
        font-family: var(--font-body);
        letter-spacing: .04em;
        text-transform: uppercase;
        font-weight: 800
    }

    .home-action-card p {
        display: none
    }

    .home-action-card p,
    .home-promo-card p,
    .home-featured-card p {
        font-size: var(--type-card-copy);
        line-height: 1.5
    }

    .home-promo-card {
        gap: 10px;
        min-height: auto;
        padding: 14px
    }

    .home-promo-card:before {
        font-size: .54rem
    }

    .home-event-card,
    .home-story-panel {
        grid-template-columns: 1fr;
        align-items: start;
        gap: 14px;
        padding: 16px
    }

    .home-event-card {
        padding: 0
    }

    .home-event-copy {
        padding: 16px
    }

    .home-event-media {
        border-top: 1px solid #c8a45d29;
        border-left: 0;
        min-height: 150px
    }

    .home-event-media span {
        width: 46px;
        height: 46px;
        font-size: 1rem
    }

    .home-events-head {
        max-width: 980px;
        margin-inline: auto;
        margin-bottom: clamp(var(--space-8), 10vw, calc(var(--space-10) + var(--space-4)));
        text-align: center;
        display: block;
    }

    .home-events-head .section-title {
        max-width: none;
        color: var(--color-text-strong);
        font-family: var(--font-heading);
        font-size: clamp(1.78rem, 8vw, 2.38rem);
        white-space: normal;
    }

    .home-featured-card {
        grid-template-columns: 112px 1fr;
        align-items: stretch;
        display: grid
    }

    .home-featured-card img {
        aspect-ratio: auto;
        height: 100%;
        min-height: 136px
    }

    .home-featured-card div {
        padding: 14px
    }

    .home-featured-card h3 {
        font-size: 1.14rem
    }

    .home-featured-card a {
        margin-top: 10px
    }

    .home-story-teaser {
        padding-bottom: calc(58px + env(safe-area-inset-bottom))
    }

    .home-story-panel {
        box-shadow: none;
        background: 0 0;
        border: 0;
        border-left: 1px solid #c8a45d47;
        border-radius: 0;
        padding: 0 0 0 16px
    }

    .home-story-editorial {
        max-width: 100%
    }

    .home-story-copy .section-title {
        margin-top: 12px
    }

    .home-story-copy .muted-copy {
        margin-top: 14px
    }

    .home-story-image {
        margin-top: 22px
    }

    .home-story-image img {
        aspect-ratio: 1.45
    }

    .minimal-section,
    .gallery-section {
        padding-top: 38px;
        padding-bottom: 38px
    }

    .contact-content {
        flex-direction: column;
        padding: 18px 10px 14px;
        display: flex
    }

    .contact-content>.reveal-sequence:first-child {
        order: 1
    }

    .contact-details-row {
        order: 2;
        gap: 0;
        margin-top: 14px;
        padding: 6px 0
    }

    .contact-actions {
        order: 3;
        gap: 8px;
        margin-top: 12px
    }

    .contact-map-frame {
        order: 4;
        margin-top: 12px
    }

    .contact-heading {
        letter-spacing: .07em;
        font-size: clamp(1.45rem, 7vw, 2rem)
    }

    .contact-content .muted-copy {
        font-size: .78rem;
        line-height: 1.48
    }

    .contact-action-card {
        text-align: left;
        grid-template-columns: 28px 1fr;
        align-items: start;
        column-gap: 10px;
        padding: 10px;
        display: grid
    }

    .contact-action-card i {
        grid-row: span 3;
        margin-top: 2px;
        font-size: 1rem
    }

    .contact-action-card h3 {
        margin-top: 0;
        font-size: .82rem
    }

    .contact-action-card p {
        margin-top: 3px;
        font-size: .68rem;
        line-height: 1.35
    }

    .contact-action-card button,
    .contact-action-card a {
        width: fit-content;
        min-height: 34px;
        margin-top: 8px;
        padding: 7px 12px;
        font-size: .58rem
    }

    .contact-info-item {
        padding: 9px 6px
    }

    .contact-info-item h3 {
        font-size: .62rem
    }

    .contact-info-item p,
    .contact-info-item a {
        font-size: .7rem
    }

    .map-frame {
        height: 220px
    }

    .menu-category-list {
        gap: 16px;
        padding-top: 6px
    }

    .gallery-grid {
        grid-auto-rows: 132px
    }

    .about-story-image,
    .about-mosaic-large,
    .careers-team-panel {
        min-height: 190px
    }
}

@media (max-width:390px) {
    body {
        padding-bottom: calc(88px + env(safe-area-inset-bottom))
    }

    .mobile-hero-actions {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }
}

@media (max-width:900px) {
    .mobile-panel {
        z-index: 80;
        height: 100dvh;
        min-height: 100dvh;
        padding: calc(18px + env(safe-area-inset-top)) clamp(18px, 5vw, 28px) calc(18px + env(safe-area-inset-bottom));
        box-shadow: none;
        background: radial-gradient(circle at 86% 7%, #c8a45d1f, #0000 28%), radial-gradient(circle at 8% 88%, #c8a45d0f, #0000 30%), linear-gradient(#0a0a0afe, #010101fe);
        border: 0;
        border-radius: 0;
        flex-direction: column;
        gap: clamp(18px, 4.6dvh, 28px);
        margin: 0;
        display: none;
        position: fixed;
        inset: 0;
        overflow: hidden
    }

    .mobile-panel:not(.hidden) {
        display: flex
    }

    .mobile-panel-header {
        flex: none;
        justify-content: space-between;
        align-items: center;
        gap: 18px;
        display: flex
    }

    .mobile-panel-header .brand-logo {
        letter-spacing: .22em;
        font-size: clamp(1.38rem, 6vw, 1.72rem)
    }

    .mobile-panel .mobile-panel-close,
    .mobile-panel button.mobile-panel-close:last-child {
        width: 42px;
        height: 42px;
        min-height: 42px;
        margin-top: 0;
        padding: 0;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border: 0;
        border-radius: 0;
        background: transparent;
        color: rgba(245, 240, 232, 0.9);
        font-size: 1.25rem;
        line-height: 1;
        text-align: center;
        text-transform: none;
        letter-spacing: 0;
    }

    .mobile-panel-inner {
        flex-direction: column;
        flex: 1;
        justify-content: center;
        gap: clamp(18px, 4dvh, 28px);
        min-height: 0;
        display: flex
    }

    .mobile-panel-section {
        min-height: 0
    }

    .mobile-panel-label {
        color: #c8a45dc7;
        letter-spacing: .24em;
        text-transform: uppercase;
        align-items: center;
        gap: 14px;
        margin: 0 0 clamp(8px, 1.8dvh, 14px);
        font-size: .66rem;
        font-weight: 850;
        display: flex
    }

    .mobile-panel-label:after {
        content: "";
        background: #c8a45d94;
        width: 42px;
        height: 1px
    }

    .mobile-panel-links {
        gap: 0;
        padding-block: 0;
        display: grid
    }

    .mobile-panel>a,
    .mobile-panel>button {
        display: none
    }

    .mobile-panel .mobile-panel-links a {
        min-height: clamp(44px, 8dvh, 54px);
        color: var(--color-text-strong);
        font-family: var(--font-heading);
        letter-spacing: 0;
        text-transform: none;
        border-bottom: 1px solid #f5f0e817;
        grid-template-columns: 34px 1fr;
        align-items: center;
        gap: 14px;
        padding: 0 0 0 14px;
        font-size: clamp(1.45rem, 7vw, 1.82rem);
        font-weight: 500;
        line-height: 1;
        text-decoration: none;
        display: grid;
        position: relative
    }

    .mobile-panel .mobile-panel-links a:before {
        content: "";
        border-radius: var(--radius-full);
        background: 0 0;
        width: 2px;
        height: 22px;
        position: absolute;
        top: 50%;
        left: 0;
        transform: translateY(-50%)
    }

    .mobile-panel .mobile-panel-links a i {
        color: var(--color-gold);
        text-align: center;
        font-size: 1rem
    }

    .mobile-panel .mobile-panel-links a.active {
        color: var(--color-gold)
    }

    .mobile-panel .mobile-panel-links a.active:before {
        background: var(--color-gold)
    }

    .mobile-panel .mobile-panel-links a:hover,
    .mobile-panel .mobile-panel-links a:focus-visible {
        color: var(--color-gold)
    }

    .mobile-panel-actions {
        border-top: 0;
        gap: 9px;
        margin-top: 0;
        padding-top: 0;
        display: grid
    }

    .mobile-panel .mobile-panel-actions a,
    .mobile-panel .mobile-panel-actions button {
        border-radius: var(--radius-sm);
        color: #f5f0e8e6;
        text-align: left;
        text-transform: none;
        letter-spacing: 0;
        min-height: clamp(42px, 7dvh, 50px);
        font-family: var(--font-heading);
        background: #ffffff06;
        border: 1px solid #f5f0e824;
        grid-template-columns: 26px 1fr auto;
        align-items: center;
        gap: 12px;
        padding: 0 14px;
        font-size: clamp(1.12rem, 5.5vw, 1.36rem);
        font-weight: 500;
        line-height: 1;
        text-decoration: none;
        display: grid
    }

    .mobile-panel .mobile-panel-actions a:after,
    .mobile-panel .mobile-panel-actions button:after {
        content: "";
        color: var(--color-gold);
        font-family: "Font Awesome 6 Free";
        font-size: .95rem;
        font-weight: 900
    }

    .mobile-panel .mobile-panel-actions i {
        color: var(--color-gold);
        text-align: center;
        font-size: .98rem
    }

    .mobile-panel .mobile-panel-actions span {
        color: inherit;
        font-family: inherit;
        font-size: inherit;
        font-weight: inherit;
        letter-spacing: inherit;
        text-transform: none
    }

    .mobile-panel .mobile-panel-actions .mobile-panel-action-primary {
        color: var(--button-primary-text);
        border-color: var(--button-primary-border);
        background: var(--button-primary-bg)
    }
}

@media (max-width:380px) and (max-height:700px) {
    .mobile-panel {
        padding-top: calc(14px + env(safe-area-inset-top));
        padding-bottom: calc(14px + env(safe-area-inset-bottom));
        gap: 14px
    }

    .mobile-panel-inner {
        gap: 14px
    }

    .mobile-panel .mobile-panel-links a {
        min-height: 40px;
        font-size: 1.3rem
    }

    .mobile-panel .mobile-panel-actions a,
    .mobile-panel .mobile-panel-actions button {
        min-height: 40px;
        font-size: 1.04rem
    }

    .mobile-panel-label {
        margin-bottom: 6px;
        font-size: .58rem
    }
}

@media (max-width:900px) {
    body {
        padding-bottom: calc(96px + env(safe-area-inset-bottom))
    }

    body.modal-active,
    body.mobile-nav-open {
        padding-bottom: 0
    }

    body.mobile-nav-open .mobile-action-dock,
    body.modal-active .mobile-action-dock {
        display: none
    }

    .mobile-action-dock {
        left: 50%;
        right: auto;
        bottom: max(12px, env(safe-area-inset-bottom));
        z-index: 45;
        width: min(100% - 28px, 360px);
        box-shadow: none;
        -webkit-backdrop-filter: none;
        backdrop-filter: none;
        pointer-events: none;
        background: 0 0;
        border: 0;
        border-radius: 0;
        grid-template-columns: 1fr;
        gap: 8px;
        padding: 0;
        display: grid;
        position: fixed;
        transform: translate(-50%)
    }

    .mobile-action-dock__toggle {
        min-height: 48px;
        color: var(--color-text-strong);
        -webkit-backdrop-filter: blur(16px);
        backdrop-filter: blur(16px);
        text-transform: uppercase;
        letter-spacing: .11em;
        touch-action: manipulation;
        pointer-events: auto;
        transition: border-color var(--transition-base), transform var(--transition-base), background var(--transition-base);
        background: linear-gradient(145deg, #181818f5, #050505f5);
        border: 1px solid #c8a45d5c;
        border-radius: 999px;
        justify-content: center;
        align-items: center;
        gap: 10px;
        padding: 0 18px;
        font-size: var(--type-nav);
        font-weight: 850;
        display: inline-flex;
        box-shadow: 0 18px 48px #0000006b
    }

    .mobile-action-dock__toggle i {
        color: var(--color-gold);
        font-size: .82rem
    }

    .mobile-action-dock__toggle i:last-child {
        font-size: .7rem;
        transition: transform .22s
    }

    .mobile-action-dock__toggle span,
    .mobile-action-dock__actions span {
        font-size: var(--type-nav);
        line-height: 1.14;
    }

    .mobile-action-dock.is-open .mobile-action-dock__toggle {
        background: linear-gradient(145deg, #1e1a12fa, #060606f5);
        border-color: #c8a45d94
    }

    .mobile-action-dock.is-open .mobile-action-dock__toggle i:last-child {
        transform: rotate(180deg)
    }

    .mobile-action-dock__actions {
        -webkit-backdrop-filter: blur(16px);
        backdrop-filter: blur(16px);
        opacity: 0;
        pointer-events: none;
        background: linear-gradient(145deg, #121212f5, #040404f5);
        border: 1px solid #c8a45d3d;
        border-radius: 18px;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 7px;
        padding: 7px;
        transition: opacity .22s, transform .22s;
        display: grid;
        transform: translateY(10px)scale(.96);
        box-shadow: 0 18px 48px #00000061
    }

    .mobile-action-dock.is-open .mobile-action-dock__actions {
        opacity: 1;
        pointer-events: auto;
        transform: translateY(0)scale(1)
    }

    .mobile-action-dock__actions a,
    .mobile-action-dock__actions button {
        color: #f5f5f5e0;
        text-transform: uppercase;
        letter-spacing: .08em;
        text-align: center;
        touch-action: manipulation;
        background: #ffffff09;
        border: 0;
        border-radius: 12px;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 5px;
        min-height: 44px;
        padding: 8px 6px;
        font-size: var(--type-nav);
        font-weight: 800;
        line-height: 1.6;
        text-decoration: none;
        display: inline-flex
    }

    .mobile-action-dock__actions button {
        color: var(--color-gold);
        background: #c8a45d14;
        border: 1px solid #c8a45d66
    }

    .mobile-action-dock__actions i {
        color: var(--color-gold);
        font-size: .82rem
    }

    .clean-footer {
        padding-bottom: calc(108px + env(safe-area-inset-bottom))
    }
}

@media (max-width:767px) {
    .page-hero--home {
        min-height: clamp(390px, 60vh, 455px);
        margin-bottom: 0;
        overflow: hidden
    }

    .page-hero--home .page-hero__inner {
        padding-block: 98px 38px
    }

    .page-hero--home .page-hero__content {
        margin-bottom: 0
    }

    .page-hero--home:before {
        background: linear-gradient(180deg, #0000000a, #05050552 70%, #05050585 100%), linear-gradient(90deg, #000000c7, #0000002e), var(--page-hero-image) 60% center / cover no-repeat;
        clip-path: inset(0);
        transform: none
    }

    .page-hero--home:after {
        clip-path: none;
        background: linear-gradient(#05050500 0%, #0505048c 48%, #050505f0 100%);
        height: 128px;
        bottom: 0
    }

    .home-hero-actions {
        max-width: 300px
    }

    .home-hero-actions a,
    .home-hero-actions button {
        background: #00000052;
        border-color: #c8a45d75;
        min-height: 44px
    }

    .home-action-card {
        background: linear-gradient(#ffffff0c, #ffffff04);
        border-radius: 16px;
        min-height: 82px
    }

    .home-action-card:active {
        border-color: #c8a45d7a;
        transform: scale(.98)
    }

    .home-promo-card {
        border-left-width: 2px;
        border-left-color: #c8a45d6b
    }

    .home-featured-card img {
        width: 112px;
        max-width: 100%
    }

    .home-event-media img {
        object-position: center 56%
    }
}

@media (prefers-reduced-motion:reduce) {

    .mobile-action-dock__actions,
    .mobile-action-dock__toggle,
    .mobile-action-dock__toggle i:last-child {
        transition: none
    }
}

@media (max-width:900px) {
    .footer-links {
        display: none
    }

    .footer-layout {
        gap: 14px
    }
}

@media (max-width:767px) {
    .home-hero-meta {
        display: none
    }

    .home-hero-actions {
        margin-top: 16px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
        max-width: 292px;
        margin-inline: auto;
        display: grid
    }

    .home-hero-actions a,
    .home-hero-actions button {
        background: #0000004d;
        border-radius: 12px;
        min-height: 44px;
        padding: 0 14px;
        font-size: .58rem
    }

    .home-featured-menu {
        background: var(--featured-menu-bg);
        color: var(--featured-menu-text);
        padding-top: clamp(54px, 14vw, 72px);
        padding-bottom: clamp(48px, 14vw, 72px);
    }

    @media (max-width: 767px) {
        .home-featured-menu {
            padding-top: clamp(54px, 14vw, 72px);
            padding-bottom: clamp(48px, 14vw, 72px);
        }

        .featured-menu-heading .section-title {
            font-size: clamp(1.78rem, 8vw, 2.38rem);
            white-space: normal;
        }

        .featured-menu-editorial {
            gap: clamp(34px, 11vw, 52px);
            margin-top: clamp(28px, 9vw, 42px);
        }

        .featured-menu-item,
        .featured-menu-item--reverse {
            grid-template-columns: 1fr;
            gap: var(--space-4);
        }

        .featured-menu-item--reverse .featured-menu-item__copy,
        .featured-menu-item--reverse .featured-menu-item__media {
            order: initial;
        }

        .featured-menu-item__copy {
            width: 100%;
            max-width: 100%;
            justify-self: center;
            text-align: center;
        }

        .featured-menu-item__number,
        .featured-menu-item a {
            justify-content: center;
            margin-inline: auto;
        }

        .featured-menu-item p {
            max-width: 28rem;
            margin-inline: auto;
        }

        .featured-menu-item a {
            margin-top: var(--space-3);
        }

        .featured-menu-item__media img {
            width: min(100%, clamp(250px, 82vw, 390px));
            max-height: clamp(230px, 72vw, 360px);
        }
    }

    .dish-showcase {
        padding: 4px 0 0
    }

    .dish-showcase:before,
    .dish-showcase__images:before,
    .dish-showcase__images:after {
        content: none
    }

    .dish-showcase__images {
        grid-template-columns: 1fr;
        justify-items: center;
        gap: 0;
        max-width: min(70vw, 264px);
        min-height: clamp(196px, 59vw, 262px);
        margin-inline: auto;
        display: grid
    }

    .dish-showcase__image {
        z-index: 2;
        opacity: 1;
        border-color: #0000;
        width: 100%;
        max-width: clamp(196px, 58vw, 262px);
        transition: opacity .26s, border-color .48s, box-shadow .48s;
        display: none;
        position: relative;
        transform: scale(1)
    }

    .dish-showcase__image.is-active {
        display: block;
        transform: scale(1)
    }

    .dish-showcase__content {
        opacity: 1;
        margin-top: 14px;
        transition: opacity .26s
    }

    .dish-showcase.is-transitioning .dish-showcase__image.is-active,
    .dish-showcase.is-transitioning .dish-showcase__content {
        opacity: 0
    }

    .dish-showcase__content h3 {
        gap: 10px;
        font-size: clamp(1.44rem, 7.2vw, 1.82rem)
    }

    .dish-showcase__content h3:before,
    .dish-showcase__content h3:after {
        width: clamp(28px, 12vw, 48px)
    }

    .dish-showcase__content p:not(.eyebrow) {
        opacity: .82;
        font-size: 1rem;
        line-height: 1.48
    }

    .dish-showcase__dots {
        justify-content: center;
        gap: var(--space-2);
        margin-top: var(--space-3);
        margin-bottom: var(--space-3);
        display: flex
    }

    .dish-showcase__dots span {
        border-radius: var(--radius-full);
        width: 7px;
        height: 7px;
        transition: width var(--transition-base), background var(--transition-base), border-color var(--transition-base);
        background: #c8a45d29;
        border: 1px solid #c8a45d57
    }

    .dish-showcase__dots span.active {
        background: var(--color-gold);
        border-color: #c8a45db8;
        width: 20px
    }

    .clean-footer {
        padding-top: 6px;
        padding-bottom: calc(54px + env(safe-area-inset-bottom))
    }

    .footer-layout {
        grid-template-columns: 1fr;
        gap: 5px
    }

    .footer-social {
        justify-content: center
    }

    footer p {
        margin-top: 2px
    }

    .footer-contact {
        gap: 1px
    }

    .footer-social {
        gap: 6px
    }

    .footer-social a {
        width: 27px;
        height: 27px
    }
}

@media (min-width:1024px) {
    .home-section {
        padding-top: clamp(46px, 4.8vw, 70px);
        padding-bottom: clamp(46px, 4.8vw, 70px)
    }

    .home-featured-menu {
        padding-top: clamp(62px, 5.4vw, 82px);
        padding-bottom: clamp(44px, 4.6vw, 66px)
    }

    .home-promotions

    /* .home-events-preview */
        {
        padding-top: clamp(44px, 4.6vw, 64px);
        padding-bottom: clamp(44px, 4.6vw, 64px)
    }

    .home-events-preview {
        padding-top: clamp(68px, 6.4vw, 104px);
        padding-bottom: clamp(72px, 7vw, 112px);
    }

    .home-events-slider__controls {
        margin-top: var(--space-6);
    }

    .home-story-teaser {
        padding-top: clamp(44px, 4.8vw, 66px);
        padding-bottom: clamp(48px, 5vw, 70px)
    }

    .home-story-editorial {
        grid-template-columns: minmax(320px, .68fr) minmax(0, 1.32fr);
        align-items: center;
        gap: clamp(40px, 5vw, 76px);
        max-width: 100%;
        display: grid
    }

    .home-story-copy {
        text-align: left;
        max-width: 560px
    }

    .home-story-copy .muted-copy {
        max-width: 540px
    }

    .home-story-image {
        margin-top: 0
    }

    .home-story-image img {
        aspect-ratio: 2.08
    }

    .home-section-header,
    .home-events-head {
        margin-bottom: 22px
    }

    .dish-showcase__content {
        margin-top: clamp(16px, 2.4vw, 24px)
    }

    .clean-footer,
    footer {
        padding-top: 14px;
        padding-bottom: 14px
    }

    .footer-layout {
        grid-template-columns: 1fr auto 1fr;
        gap: 12px
    }

    .footer-links {
        display: none
    }

    .footer-social {
        justify-content: center
    }
}

@media (max-width:767px) {
    .home-story-teaser {
        padding-bottom: calc(64px + env(safe-area-inset-bottom))
    }

    .clean-footer {
        padding-top: 5px;
        padding-bottom: calc(62px + env(safe-area-inset-bottom))
    }

    .footer-layout {
        gap: 4px
    }
}

@media (prefers-reduced-motion:reduce) {
    .dish-showcase__image {
        transition: none
    }
}

@media (max-width:1100px) {
    .career-role-list {
        grid-template-columns: 1fr
    }

    .career-benefit-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr))
    }

    .career-role-list .role-card {
        grid-template-columns: 70px minmax(0, 1fr)
    }

    .role-card__requirements,
    .role-card__action {
        grid-column: 2;
        justify-self: start
    }

    .role-card__actions {
        grid-column: 2;
        justify-items: start
    }
}

@media (max-width:900px) {
    .career-action-dock.mobile-action-dock {
        display: grid
    }

    body.career-application-open .career-action-dock,
    body.mobile-nav-open .career-action-dock {
        display: none
    }

    .careers-hero {
        min-height: auto
    }

    .careers-hero__inner {
        min-height: auto;
        padding-block: calc(58px + var(--space-7, 1.75rem)) var(--space-8)
    }

    .careers-hero__actions {
        display: none
    }

    .career-benefit-grid {
        padding-bottom: var(--space-2);
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
        overscroll-behavior-inline: contain;
        grid-template-columns: none;
        grid-auto-columns: 100%;
        grid-auto-flow: column;
        gap: 0;
        scroll-padding-inline: 0;
        display: grid;
        overflow-x: auto
    }

    .career-benefit-grid::-webkit-scrollbar {
        display: none
    }

    .careers-hero+main .minimal-section:first-child {
        margin-top: var(--space-8)
    }

    .career-benefit-card {
        scroll-snap-align: start;
        border-radius: var(--radius-md);
        min-height: 236px
    }

    .career-benefit-dots {
        justify-content: center;
        gap: var(--space-2);
        margin-top: var(--space-3);
        display: flex
    }

    .career-benefit-dots button {
        border-radius: var(--radius-full);
        cursor: pointer;
        width: 7px;
        height: 7px;
        transition: width var(--transition-base), background var(--transition-base), border-color var(--transition-base);
        background: #c8a45d29;
        border: 1px solid #c8a45d57;
        padding: 0
    }

    .career-benefit-dots button.active {
        background: var(--color-gold);
        border-color: #c8a45db8;
        width: 20px
    }

    .career-role-list {
        gap: var(--space-3)
    }

    .career-role-list .role-card {
        gap: var(--space-3);
        padding: var(--space-4);
        border-radius: var(--radius-md);
        background: radial-gradient(circle at 10% 8%, #c8a45d14, #0000 30%), linear-gradient(145deg, #ffffff0b, #ffffff03), #080808f7;
        border-color: #c8a45d57;
        grid-template-columns: 58px minmax(0, 1fr);
        align-items: start
    }

    .role-card__icon {
        width: 50px;
        height: 50px;
        font-size: 1.12rem
    }

    .role-card__content h3 {
        font-size: 1.38rem
    }

    .role-card__meta {
        color: #c8a45dd6;
        margin-top: 6px;
        font-size: .74rem;
        font-weight: 850
    }

    .role-card__content p {
        margin-top: var(--space-3);
        font-size: .86rem;
        line-height: 1.5
    }

    .role-card__requirements {
        min-height: 0;
        padding-top: var(--space-4);
        border-top: 1px solid #c8a45d24;
        border-left: 0;
        grid-column: 1/-1;
        margin-top: 2px;
        padding-left: 0
    }

    .role-card__requirements h4 {
        color: var(--color-gold);
        letter-spacing: .02em;
        font-size: .78rem
    }

    .role-requirements {
        margin-top: var(--space-2);
        flex-wrap: wrap;
        gap: 6px 14px;
        padding-left: 0;
        list-style: none;
        display: flex
    }

    .role-requirements li {
        color: #f5f5f5ad;
        align-items: center;
        gap: 8px;
        font-size: .76rem;
        display: inline-flex
    }

    .role-requirements li:before {
        content: "";
        border-radius: var(--radius-full);
        background: var(--color-gold);
        width: 4px;
        height: 4px
    }

    .role-card__actions {
        place-items: center start;
        gap: var(--space-2);
        width: 100%;
        margin-top: var(--space-2);
        grid-column: 1/-1;
        grid-template-columns: auto
    }

    .role-card__action {
        width: auto;
        min-height: 38px;
        padding-inline: var(--space-4);
        grid-column: auto;
        font-size: .7rem
    }

    .role-card__action-full {
        display: none
    }

    .role-card__action-short {
        display: inline
    }

    .role-card__details {
        display: none
    }

    .career-general-panel {
        align-items: stretch;
        gap: var(--space-4);
        flex-direction: column
    }

    .career-general-panel .minimal-submit {
        width: 100%
    }

    .career-application-overlay {
        align-items: stretch;
        padding: 0
    }

    .career-application-backdrop {
        display: none
    }

    .career-application-panel {
        background: radial-gradient(circle at 18% 0, #c8a45d1a, #0000 28%), linear-gradient(#0e0e0efc, #020202fc);
        border: 0;
        border-radius: 0;
        width: 100%;
        height: 100dvh;
        max-height: none
    }

    .career-application-header {
        z-index: 2;
        min-height: 58px;
        padding: calc(9px + env(safe-area-inset-top)) 14px 9px;
        -webkit-backdrop-filter: blur(18px);
        backdrop-filter: blur(18px);
        background: #080808f0;
        position: sticky;
        top: 0
    }

    .career-application-header h2 {
        margin-top: 2px;
        font-size: 1.32rem
    }

    .career-application-body {
        max-height: none;
        height: calc(100dvh - 58px - env(safe-area-inset-top));
        overflow-y: auto
    }

    .career-desktop-layout {
        display: none
    }

    .career-mobile-flow {
        flex-direction: column;
        min-height: 100%;
        display: flex
    }

    .career-mobile-selected,
    .career-review-card {
        padding: var(--space-4)
    }

    .career-form {
        padding: 0;
        overflow: visible
    }

    .career-form-grid {
        gap: var(--space-3);
        grid-template-columns: 1fr
    }

    .career-confirmation {
        background: 0 0;
        border: 0;
        border-radius: 0;
        flex-direction: column;
        justify-content: center;
        min-height: calc(100dvh - 90px);
        margin: 0;
        display: flex
    }
}

@media (max-width:640px) {
    .careers-hero__inner {
        padding-block: 84px var(--space-7, 1.75rem)
    }

    .careers-hero .page-hero__statement {
        max-width: 330px;
        font-size: clamp(1.9rem, 8.7vw, 2.36rem)
    }

    .careers-hero .page-hero__text {
        max-width: 330px;
        margin-top: var(--space-3);
        font-size: .86rem;
        line-height: 1.58
    }

    .career-benefit-card h3 {
        margin-top: var(--space-5);
        font-size: 1.32rem
    }

    .career-summary-rows div {
        font-size: .78rem
    }

    .career-confirmation-actions {
        grid-template-columns: 1fr
    }
}

@media (max-width:900px) {
    .careers-hero {
        min-height: auto;
        padding: calc(58px + var(--space-6)) 0 var(--space-8);
        background: radial-gradient(circle at 50% 0%, #c8a45d14, transparent 34%), var(--color-bg);
        display: block
    }

    .careers-hero:before {
        content: none
    }

    .careers-hero__inner {
        width: min(100% - 28px, 720px);
        min-height: clamp(390px, 54svh, 520px);
        padding: var(--space-6) var(--space-5);
        border-radius: var(--radius-md);
        align-items: flex-end;
        display: flex
    }

    .careers-hero__inner:before {
        content: "";
        background: var(--careers-hero-image) 62% center / cover no-repeat
    }

    .careers-hero__inner:after {
        content: "";
        background: linear-gradient(90deg, #050505e6 0%, #050505c2 48%, #05050557 100%), linear-gradient(#00000014 0%, #0000002e 54%, #0000008f 100%)
    }

    .careers-hero__content {
        max-width: 420px
    }

    .careers-hero__content .eyebrow {
        padding-bottom: var(--space-2)
    }

    .careers-hero .page-hero__statement {
        max-width: 330px;
        margin-top: var(--space-4);
        font-size: clamp(2rem, 9vw, 2.65rem);
        line-height: 1.02
    }

    .careers-hero .page-hero__text {
        max-width: 330px;
        margin-top: var(--space-3);
        font-size: .9rem;
        line-height: 1.62
    }

    .careers-hero__actions {
        max-width: 330px;
        margin-top: var(--space-5);
        display: flex
    }

    .careers-hero__link {
        width: fit-content;
        min-width: 190px;
        min-height: 44px;
        padding: 0 var(--space-4);
        font-size: .66rem
    }
}

@media (max-width:430px) {
    .careers-hero {
        padding-top: calc(58px + var(--space-5));
        padding-bottom: var(--space-7)
    }

    .careers-hero__inner {
        width: min(100% - 24px, 420px);
        min-height: 410px;
        padding: var(--space-7, 1.75rem) var(--space-4) var(--space-6)
    }

    .careers-hero .page-hero__statement {
        max-width: 300px;
        font-size: clamp(1.86rem, 9.6vw, 2.32rem)
    }

    .careers-hero .page-hero__text {
        max-width: 300px;
        font-size: .84rem
    }
}

@media (max-width:767px) {

    .clean-footer,
    footer {
        padding-bottom: 0
    }
}

.minimal-section,
.home-section {
    padding-block: var(--space-section);
    border-top: 0
}.home-featured-menu,
.home-promotions,
.home-events-preview,
.home-story-teaser,
.events-upcoming,
.events-private-cta,
.careers-intro-section,
.careers-positions-section,
.careers-general-section {
    padding-block: var(--space-section)
}.home-section-header,
.home-events-head,
.events-section-head,
.careers-section-header {
    margin-bottom: var(--space-header-gap)
}.home-action-grid,
.home-card-grid,
.home-featured-grid,
.events-grid,
.career-benefit-grid,
.career-role-list,
.menu-card-grid {
    gap: var(--space-card-gap)
}.home-action-card,
.home-promo-card,
.home-event-card,
.home-featured-card,
.event-card,
.events-private-panel,
.career-benefit-card,
.career-general-panel,
.career-role-list .role-card,
.order-menu-card,
.order-cart__panel,
.checkout-section,
.checkout-summary,
.event-booking-card,
.event-form-section,
.event-request-summary,
.contact-request-card,
.contact-map-card {
    border-color: #ffffff14
}

.home-action-card:hover,
.home-promo-card:hover,
.home-featured-card:hover,
.event-card:hover,
.career-role-list .role-card:hover {
    border-color: #c8a45d3d
}

.home-action-card p,
.home-promo-card p,
.home-featured-card p,
.home-story-copy .muted-copy,
.events-featured__copy,
.events-private-panel p:not(.eyebrow),
.event-card__meta,
.story-contact-content .muted-copy,
.career-benefit-card p,
.career-general-panel .muted-copy,
.contact-card-head p:not(.eyebrow),
.contact-info-head p,
.contact-info-row em,
.order-cart__empty,
.checkout-item p,
.checkout-empty,
.checkout-totals div,
.event-booking-card p:not(.eyebrow),
.event-form-section p:not(.eyebrow) {
    color: #f5f5f58f
}

.story-rooted-section .story-rooted-copy .muted-copy {
    color: var(--story-rooted-muted);
}.home-story-image,
.dish-showcase__image,
.contact-map-card,
.events-featured__grid,
.event-panel,
.checkout-panel {
    border-color: #ffffff1a
}.dish-showcase__content h3:before,
.dish-showcase__content h3:after,
.events-featured__accent,
.events-featured__divider,
.events-featured__eyebrow:after {
    display: none
}.home-story-panel,
.contact-social-block,
.event-date-badge:after {
    border: 0
}

.contact-info-list,
.story-contact-list,
.checkout-items,
.order-cart__items {
    gap: var(--space-3)
}.contact-info-row,
.checkout-item,
.cart-line {
    border-bottom-color: #ffffff0f
}

.contact-info-row {
    padding-block: var(--space-3)
}

.contact-info-row:last-child,
.story-contact-row:last-child {
    border-bottom: 0
}

.contact-info-icon,
.events-private-icon,
.story-guest-card>i,
.career-benefit-card i,
.checkout-confirmation__icon {
    background: #ffffff09;
    border-color: #ffffff1f
}

.contact-panel-section {
    padding-block: calc(var(--space-section-compact) + var(--space-4)) var(--space-section)
}

.contact-panel-grid {
    gap: clamp(34px, 5vw, 72px)
}

.contact-request-card {
    padding: clamp(var(--space-6), 2.6vw, var(--space-8))
}

.contact-request-card:before {
    content: none
}

.contact-request-form {
    gap: var(--space-4)
}

.contact-info-layout {
    gap: var(--space-8);
    margin-top: var(--space-5)
}

.contact-action-row {
    margin-top: var(--space-5)
}

.contact-map-card {
    gap: var(--space-5);
    margin-top: var(--space-6)
}

.menu-order-page {
    padding-bottom: var(--space-section)
}

.menu-category-nav {
    border-bottom-color: #ffffff0f
}

.menu-category-scroll {
    padding-block: var(--space-4) var(--space-3);
    gap: clamp(22px, 3vw, 38px)
}

.menu-order-layout {
    padding-top: var(--space-8);
    gap: clamp(26px, 3.4vw, 46px)
}

.menu-section-head {
    margin-bottom: var(--space-6);
    border-bottom: 0;
    padding-bottom: 0
}

.order-cart__panel {
    padding: var(--space-5)
}

.order-cart__head {
    padding-bottom: var(--space-4);
    border-bottom-color: #ffffff0f
}

.order-cart__summary {
    margin-top: var(--space-5);
    padding-top: var(--space-5);
    border-top-color: #ffffff0f
}

.checkout-header,
.event-panel__header {
    border-bottom-color: #ffffff12
}

.checkout-form {
    gap: var(--space-5);
    padding: var(--space-5)
}

.checkout-main,
.checkout-summary {
    gap: var(--space-4)
}

.checkout-section,
.checkout-summary {
    padding: var(--space-5)
}

.checkout-totals,
.checkout-mobile-final,
.checkout-confirmation__rows,
.event-summary-rows {
    border-top-color: #ffffff0f
}

.events-featured {
    border-bottom: 0
}

.events-featured__card h1,
.events-featured__copy,
.events-featured__meta,
.events-featured__actions {
    margin-top: var(--space-4)
}

.events-upcoming {
    padding-top: var(--space-section-compact)
}

.events-private-cta {
    padding-top: 0
}

.events-section-head .section-title {
    color: var(--color-text-strong)
}

.event-card__link {
    border-top-color: #ffffff0f
}

.event-detail-layout {
    gap: var(--space-6);
    padding: var(--space-6)
}

.event-detail-profile,
.event-booking-card,
.event-detail-extra,
.event-form-section,
.event-request-summary,
.event-confirmation {
    border-color: #ffffff14
}

.event-detail-section,
.event-guest-row,
.event-total-row {
    border-top-color: #ffffff0f
}

.careers-hero+main .minimal-section {
    border-top: 0
}

.careers-section-header {
    margin-bottom: var(--space-header-gap)
}

.careers-intro-grid,
.careers-application-grid {
    gap: clamp(34px, 5.6vw, 88px)
}

.career-benefit-card,
.career-general-panel,
.career-role-list .role-card {
    padding: clamp(22px, 3vw, 34px)
}

.career-general-panel {
    gap: var(--space-5)
}

.mobile-action-dock__actions a,
.mobile-action-dock__actions button {
    border-color: #ffffff1a
}

@media (min-width:1024px) {

    .home-section,
    .home-promotions,
    .home-events-preview,
    .home-story-teaser {
        padding-block: clamp(70px, 6.2vw, 104px)
    }

    .home-featured-menu {
        padding-block: clamp(76px, 6.8vw, 112px) clamp(70px, 6.2vw, 104px)
    }

    .clean-footer,
    footer {
        padding-block: var(--space-8)
    }
}

@media (max-width:900px) {.minimal-section,
.home-section,
.home-featured-menu,
.home-promotions,
.home-events-preview,
.home-story-teaser,
.events-upcoming,
.events-private-cta,
.careers-intro-section,
.careers-positions-section,
.careers-general-section {
        padding-block: var(--space-section-mobile)
    }

    .contact-panel-section {
        padding-block: var(--space-6) var(--space-section-mobile)
    }.contact-panel-grid {
        gap: var(--space-6)
    }

    .contact-info-panel {
        padding: var(--space-5)
    }.contact-info-row {
        border-bottom-color: #ffffff0f
    }

    .menu-order-layout {
        padding-top: var(--space-6)
    }

    .checkout-form:not(.checkout-form--mobile),
    .checkout-section,
    .checkout-summary {
        padding: var(--space-4)
    }

    .checkout-mobile-submit,
    .mobile-checkout-dock {
        border-top-color: #ffffff14
    }

    .event-detail-layout,
    .event-detail-copy,
    .event-booking-card {
        padding: var(--space-4)
    }

    .clean-footer,
    footer {
        padding-block: var(--space-5)
    }
}

@media (max-width:767px) {
    .home-featured-menu {
        background: var(--featured-menu-bg);
        color: var(--featured-menu-text);
        padding-top: clamp(54px, 14vw, 72px);
        padding-bottom: clamp(48px, 14vw, 72px);
    }


    .home-story-teaser {
        padding-bottom: calc(var(--space-section-mobile) + env(safe-area-inset-bottom))
    }

    .menu-sections {
        gap: var(--space-8);
        padding-top: var(--space-4)
    }

    .menu-section-head {
        margin-bottom: var(--space-4)
    }

    .order-menu-card__body,
    .order-cart__panel {
        padding: var(--space-4)
    }.contact-request-card,
.contact-info-panel {
        padding: var(--space-5) var(--space-4)
    }

    .clean-footer,
    footer {
        padding-top: var(--space-5);
        padding-bottom: calc(var(--space-5) + env(safe-area-inset-bottom))
    }
}.surface-card,
.feature-card,
.dish-card,
.contact-card,
.premium-card,
.minimal-panel,
.glass-panel,
.mobile-panel,
.dropdown-menu,
.home-action-card,
.home-promo-card,
.home-event-card,
.home-featured-card,
.contact-action-card,
.contact-request-card,
.contact-info-panel,
.contact-map-card,
.career-benefit-card,
.career-review-card,
.career-general-panel,
.career-role-list .role-card,
.event-card,
.events-featured__grid,
.events-private-panel,
.event-panel,
.event-detail-profile,
.event-detail-extra,
.event-booking-card,
.event-form-section,
.event-request-summary,
.event-confirmation,
.event-mobile-summary-card,
.event-placeholder-card,
.order-menu-card,
.order-cart__panel,
.checkout-panel,
.checkout-section,
.checkout-summary,
.checkout-confirmation {
    border-color: var(--color-card-border);
    border-radius: var(--radius-card)
}.contact-request-card,
.contact-info-panel,
.events-featured__grid,
.events-private-panel,
.event-panel,
.checkout-panel {
    border-radius: var(--radius-panel)
}

.checkout-panel,
.event-panel {
    border-color: #ffffff17
}.home-action-card,
.home-promo-card,
.home-event-card,
.home-featured-card,
.event-card,
.career-benefit-card,
.career-role-list .role-card,
.order-menu-card,
.event-booking-card,
.contact-map-card {
    box-shadow: var(--shadow-soft)
}

.home-action-card:hover,
.home-promo-card:hover,
.home-featured-card:hover,
.contact-action-card:hover,
.event-card:hover,
.events-private-panel:hover,
.story-guest-card:hover,
.career-benefit-card:hover,
.career-role-list .role-card:hover,
.order-menu-card:hover,
.event-booking-card:hover {
    border-color: var(--color-card-border-hover)
}

.home-promo-card {
    border-left-color: var(--color-card-border-warm)
}

.home-promo-card:before,
.contact-request-card:before {
    opacity: .5
}.home-featured-card img,
.home-event-card img,
.order-menu-card img,
.event-card img,
.contact-map-card iframe,
.checkout-item img,
.checkout-item__image-empty {
    border-radius: var(--radius-image)
}.home-featured-card,
.home-event-card,
.order-menu-card,
.event-card,
.contact-map-card {
    overflow: hidden
}

.events-grid {
    gap: var(--space-3);
    grid-template-columns: repeat(2, minmax(0, 1fr))
}

.events-section-head {
    max-width: 980px;
    margin-inline: auto;
    text-align: center
}

.events-section-head .section-title {
    color: var(--color-text-strong);
    font-family: var(--font-heading);
    font-size: var(--type-section-heading);
    line-height: var(--line-heading);
    font-weight: 800;
    text-transform: uppercase
}

.events-empty-state {
    width: min(100%, 620px);
    margin-inline: auto;
    padding: clamp(var(--space-6), 5vw, var(--space-10));
    border: 1px solid rgba(200, 164, 93, .18);
    border-radius: var(--radius-card);
    background: transparent;
    text-align: center
}

.events-empty-state h3 {
    color: var(--color-text-strong);
    font-family: var(--font-heading);
    font-size: var(--type-card-title);
    line-height: var(--line-heading);
    font-weight: 800;
    text-transform: uppercase
}

.events-empty-state p {
    max-width: 420px;
    margin: var(--space-3) auto 0;
    color: var(--color-muted);
    font-size: var(--type-card-copy);
    line-height: var(--line-body)
}

.event-card,
.event-card:hover {
    border-color: #0000
}

.event-card__meta {
    color: var(--color-gold)
}

.event-card__price {
    color: var(--color-text)
}

.event-card h3 {
    font-size: var(--type-card-title)
}

.event-card__meta,
.event-card__price {
    font-size: var(--type-card-meta)
}

.event-card__link {
    font-size: var(--type-cta)
}

.event-card__body,
.event-card__footer {
    background: transparent
}

.event-card:hover .event-card__body,
.event-card:hover .event-card__footer {
    background: transparent
}

.event-card__image {
    border-radius: 0
}

@media (min-width:641px) {
    .events-grid {
        grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
        gap: clamp(14px, 1.6vw, 20px)
    }

    .event-card {
        justify-self: center
    }
}

@media (min-width:1024px) {
    .events-grid {
        justify-content: start;
        gap: clamp(var(--space-6), 3vw, var(--space-10));
        grid-template-columns: repeat(auto-fill, minmax(220px, 280px))
    }

    .event-card {
        justify-self: stretch
    }
}

@media (max-width:640px) {
    .events-grid {
        gap: var(--space-8);
        grid-template-columns: minmax(0, 1fr);
        justify-items: center
    }

    .event-card {
        width: min(100%, 360px);
        max-width: 360px;
        justify-self: center
    }

    .event-card__image {
        height: clamp(130px, 42vw, 172px)
    }

    .event-card__body {
        padding: var(--space-3) var(--space-4) 0
    }

    .event-card__meta {
        font-size: var(--type-card-meta)
    }

    .event-card__footer {
        padding-inline: var(--space-4)
    }
}

@media (max-width:360px) {
    .events-grid {
        grid-template-columns: 1fr
    }

    .event-card {
        justify-self: center;
        max-width: 280px
    }
}

.order-cart__summary,
.checkout-totals,
.checkout-confirmation__rows,
.event-summary-rows,
.event-detail-section,
.event-guest-row,
.event-total-row,
.role-card__requirements {
    border-color: #ffffff0f
}

.checkout-method,
.event-placeholder-card button,
.role-card__action,
.mobile-action-dock__actions a,
.mobile-action-dock__actions button,
.mobile-action-dock__toggle,
.mobile-checkout-dock,
.mobile-checkout-button {
    border-color: #ffffff1f
}

.checkout-method.is-active,
.role-card__action:hover,
.role-card__action:focus-visible {
    border-color: #c8a45d75
}

.contact-info-icon,
.events-private-icon,
.story-guest-card>i,
.career-benefit-card i,
.role-card__icon,
.checkout-confirmation__icon {
    border-color: #ffffff1f
}

@media (max-width:900px) {

    .checkout-panel,
    .event-panel,
    .career-application-panel {
        border-radius: 0
    }
}

@media (max-width:767px) {.home-action-card,
.home-promo-card,
.home-event-card,
.home-featured-card,
.contact-request-card,
.contact-info-panel,
.contact-map-card,
.career-benefit-card,
.career-role-list .role-card,
.event-card,
.events-private-panel,
.event-booking-card,
.order-menu-card,
.order-cart__panel,
.checkout-section,
.checkout-summary {
        border-radius: var(--radius-md)
    }
}

.btn,
.btn-gold,
.btn-outline-gold,
.gold-fill,
.gold-line,
.minimal-submit,
.nav-reserve,
.home-hero-actions a,
.home-hero-actions button,
.home-promo-card a,
.home-promo-card button,
.home-featured-card a,
.event-card__link,
.event-booking-actions button,
.event-mobile-step-actions button,
.event-placeholder-card button,
.event-request-summary button,
.event-confirmation__actions button,
.event-confirmation__actions a,
.order-menu-card__meta button,
.order-cart__summary button,
.mobile-checkout-button,
.checkout-submit,
.checkout-confirmation__actions button,
.checkout-confirmation__actions a,
.contact-submit,
.contact-action-button,
.story-guest-card a,
.story-guest-card button,
.story-simple-hero__actions .btn,
.role-card__action {
    border-radius: var(--radius-md);
    transition: transform var(--transition-base), color var(--transition-base), background var(--transition-base), border-color var(--transition-base), box-shadow var(--transition-base), opacity var(--transition-base), filter var(--transition-base);
    border-width: 1px
}

.btn-gold,
.btn-primary,
.gold-fill,
.minimal-submit,
.nav-reserve,
.home-hero-actions button:first-child,
.contact-submit,
.order-menu-card__meta button,
.order-cart__summary button,
.mobile-checkout-button,
.checkout-submit,
.event-booking-actions button,
.event-mobile-step-actions button,
.event-placeholder-card button,
.event-request-summary button,
.event-confirmation__actions button,
.role-card__action {
    border-color: var(--action-primary-border);
    background: var(--action-primary-bg);
    color: var(--action-primary-text);
    box-shadow: var(--action-primary-shadow)
}

.btn-outline-gold,
.btn-secondary,
.gold-line,
.home-hero-actions a,
.home-promo-card a,
.home-promo-card button,
.home-featured-card a,
.story-guest-card a,
.story-guest-card button,
.event-card__link,
.checkout-confirmation__actions a,
.event-booking-actions a {
    border-color: var(--action-secondary-border);
    background: var(--action-secondary-bg);
    color: var(--action-secondary-text);
    box-shadow: none
}

.btn-gold:hover,
.btn-primary:hover,
.gold-fill:hover,
.minimal-submit:hover,
.nav-reserve:hover,
.home-hero-actions button:first-child:hover,
.contact-submit:hover,
.contact-submit:focus-visible,
.order-menu-card__meta button:hover,
.order-menu-card__meta button:focus-visible,
.order-cart__summary button:hover,
.order-cart__summary button:focus-visible,
.mobile-checkout-button:hover,
.mobile-checkout-button:focus-visible,
.checkout-submit:hover,
.checkout-submit:focus-visible,
.event-booking-actions button:hover,
.event-booking-actions button:focus-visible,
.event-mobile-step-actions button:hover,
.event-mobile-step-actions button:focus-visible,
.event-placeholder-card button:hover,
.event-placeholder-card button:focus-visible,
.event-request-summary button:hover,
.event-request-summary button:focus-visible,
.event-confirmation__actions button:hover,
.event-confirmation__actions button:focus-visible,
.role-card__action:hover,
.role-card__action:focus-visible {
    background: var(--action-primary-bg-hover);
    color: var(--action-primary-text);
    transform: translateY(-2px);
    box-shadow: 0 10px 24px #0000003d
}

.btn-outline-gold:hover,
.btn-outline-gold:focus-visible,
.btn-secondary:hover,
.btn-secondary:focus-visible,
.gold-line:hover,
.gold-line:focus-visible,
.home-hero-actions a:hover,
.home-hero-actions a:focus-visible,
.contact-action-button:hover,
.contact-action-button:focus-visible,
.story-simple-hero__actions .btn:hover,
.story-simple-hero__actions .btn:focus-visible,
.checkout-confirmation__actions a:hover,
.checkout-confirmation__actions a:focus-visible {
    border-color: var(--action-secondary-border-hover);
    background: var(--action-secondary-bg-hover);
    color: var(--action-secondary-text-hover);
    transform: translateY(-2px);
    box-shadow: 0 12px 30px #0003
}

.home-hero-actions a,
.home-hero-actions button,
.order-menu-card__meta button,
.order-cart__summary button,
.mobile-checkout-button,
.checkout-submit,
.event-booking-actions button,
.event-mobile-step-actions button,
.event-placeholder-card button,
.contact-submit,
.contact-action-button,
.role-card__action {
    letter-spacing: .08em;
    min-height: 44px;
    font-weight: 850
}

.home-promo-card a,
.home-promo-card button,
.home-featured-card a,
.event-card__link,
.story-guest-card a,
.story-guest-card button {
    min-height: auto;
    color: var(--button-link-text);
    box-shadow: none;
    filter: none;
    background: 0 0;
    border: 0;
    border-radius: 0;
    padding: 0;
    text-decoration: none
}

.home-promo-card a:hover,
.home-promo-card a:focus-visible,
.home-promo-card button:hover,
.home-promo-card button:focus-visible,
.home-featured-card a:hover,
.home-featured-card a:focus-visible,
.story-guest-card a:hover,
.story-guest-card a:focus-visible,
.story-guest-card button:hover,
.story-guest-card button:focus-visible,
.event-card__link:hover,
.event-card__link:focus-visible {
    color: var(--button-link-text-hover);
    box-shadow: none;
    background: 0 0;
    border: 0;
    transform: translate(2px)
}

.checkout-close,
.event-panel__close,
.order-cart__clear,
.mobile-toggle,
.mobile-panel-close,
.event-guest-stepper button,
.cart-quantity button {
    border-color: var(--action-secondary-border);
    background: var(--action-secondary-bg);
    color: #f5f0e8b8;
    box-shadow: none
}

.checkout-close:hover,
.checkout-close:focus-visible,
.event-panel__close:hover,
.event-panel__close:focus-visible,
.order-cart__clear:hover,
.order-cart__clear:focus-visible,
.mobile-toggle:hover,
.mobile-toggle:focus-visible,
.mobile-panel-close:hover,
.mobile-panel-close:focus-visible,
.event-guest-stepper button:hover,
.event-guest-stepper button:focus-visible,
.cart-quantity button:hover,
.cart-quantity button:focus-visible {
    border-color: var(--action-secondary-border-hover);
    background: var(--action-secondary-bg-hover);
    color: var(--action-secondary-text-hover)
}

.checkout-method,
.menu-status-chip,
.career-benefit-dots button {
    border-color: var(--action-secondary-border);
    background: var(--action-secondary-bg);
    color: #f5f0e8a8
}

.checkout-method:hover,
.checkout-method:focus-visible,
.menu-status-chip:hover,
.menu-status-chip:focus-visible {
    border-color: var(--action-secondary-border-hover);
    background: var(--action-secondary-bg-hover);
    color: var(--action-secondary-text-hover)
}

.checkout-method.is-active,
.menu-status-chip.is-active,
.menu-status-chip[aria-pressed=true],
.career-benefit-dots button.active {
    color: var(--color-gold);
    background: #c8a45d21;
    border-color: #c8a45d80;
    box-shadow: 0 0 0 1px #c8a45d14
}

.btn-gold:active,
.btn-primary:active,
.gold-fill:active,
.minimal-submit:active,
.nav-reserve:active,
.home-hero-actions button:first-child:active,
.contact-submit:active,
.order-menu-card__meta button:active,
.order-cart__summary button:active,
.mobile-checkout-button:active,
.checkout-submit:active,
.event-booking-actions button:active,
.event-mobile-step-actions button:active,
.event-placeholder-card button:active,
.event-request-summary button:active,
.event-confirmation__actions button:active,
.role-card__action:active {
    background: var(--button-primary-bg-active);
    color: var(--button-primary-text);
    transform: translateY(0)scale(.98)
}

.btn-outline-gold:active,
.btn-secondary:active,
.gold-line:active,
.home-hero-actions a:active,
.contact-action-button:active,
.story-simple-hero__actions .btn:active,
.checkout-confirmation__actions a:active {
    background: var(--button-secondary-bg-active);
    transform: translateY(0)scale(.98)
}

.mobile-action-dock__toggle {
    border-color: var(--action-primary-border);
    background: var(--action-primary-bg);
    color: var(--action-primary-text);
    box-shadow: var(--action-primary-shadow)
}

.mobile-action-dock__actions a,
.mobile-action-dock__actions button {
    border-color: var(--action-secondary-border);
    color: var(--action-secondary-text);
    background: #ffffff0a
}

.mobile-action-dock__actions button {
    color: var(--action-secondary-text-hover);
    background: #c8a45d17;
    border-color: #c8a45d4d
}

.mobile-panel .mobile-panel-actions .mobile-panel-action-primary {
    border-color: var(--action-primary-border);
    background: var(--action-primary-bg);
    color: var(--action-primary-text)
}

.mobile-panel .mobile-panel-actions a,
.mobile-panel .mobile-panel-actions button {
    border-color: var(--action-secondary-border);
    background: var(--action-secondary-bg);
    color: var(--action-secondary-text)
}

.btn:disabled,
.btn-gold:disabled,
.btn-outline-gold:disabled,
.gold-fill:disabled,
.gold-line:disabled,
.minimal-submit:disabled,
.checkout-submit:disabled,
.event-booking-actions button:disabled,
.event-mobile-step-actions button:disabled,
.order-menu-card__meta button:disabled {
    opacity: var(--action-disabled-opacity);
    cursor: not-allowed;
    filter: saturate(.72);
    box-shadow: none;
    transform: none
}

.btn:disabled:hover,
.btn-gold:disabled:hover,
.btn-outline-gold:disabled:hover,
.gold-fill:disabled:hover,
.gold-line:disabled:hover,
.minimal-submit:disabled:hover,
.checkout-submit:disabled:hover,
.event-booking-actions button:disabled:hover,
.event-mobile-step-actions button:disabled:hover,
.order-menu-card__meta button:disabled:hover {
    box-shadow: none;
    transform: none
}

.story-simple-hero__copy h1 {
    color: var(--color-text-strong);
    opacity: 1
}

.story-guest-card a,
.story-guest-card button {
    padding-top: var(--space-5);
    margin-top: auto
}

.events-featured__primary,
.contact-map-copy .btn-outline-gold {
    justify-content: center;
    align-items: center;
    gap: var(--space-2);
    min-height: 44px;
    padding: 0 var(--space-4);
    border: 1px solid var(--action-secondary-border);
    border-radius: var(--radius-md);
    background: var(--action-secondary-bg);
    color: var(--action-secondary-text);
    box-shadow: none;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-weight: 850;
    text-decoration: none;
    display: inline-flex
}

.events-featured__primary:hover,
.events-featured__primary:focus-visible,
.contact-map-copy .btn-outline-gold:hover,
.contact-map-copy .btn-outline-gold:focus-visible {
    border-color: var(--action-secondary-border-hover);
    background: var(--action-secondary-bg-hover);
    color: var(--action-secondary-text-hover);
    transform: translateY(-2px);
    box-shadow: 0 12px 30px #0003
}

.events-featured__primary:active,
.contact-map-copy .btn-outline-gold:active {
    background: var(--button-secondary-bg-active);
    transform: translateY(0)scale(.98)
}

.order-cart__summary button,
.role-card__action,
.contact-submit,
.order-cart__summary button:hover,
.order-cart__summary button:focus-visible,
.role-card__action:hover,
.role-card__action:focus-visible,
.contact-submit:hover,
.contact-submit:focus-visible {
    color: var(--button-primary-text)
}

.contact-page .contact-main {
    padding-top: 0
}

.contact-page .contact-hero {
    --contact-hero-image: url("https://firebasestorage.googleapis.com/v0/b/laams-server.appspot.com/o/drive%2Forgs%2FBHIx9BPAsyeNhylNfkxN%2Fcommon%2Fideas%2FG1J7tjdppiJi3vSd4VHr%2FBE9WJ6HMh9KNZl1MRv40.webp?alt=media&token=ce914bc9-d306-454e-920f-617472b2f20b");
    min-height: 58svh;
    padding-block: clamp(92px, 10vw, 132px) clamp(42px, 5vw, 64px);
    display: flex;
    align-items: center;
    position: relative;
    overflow: hidden;
    background:
        linear-gradient(180deg, #00000024 0%, #0000001f 58%, #050505a3 100%),
        linear-gradient(90deg, #0000001f, #0000000f),
        var(--contact-hero-image) center center / cover no-repeat;
    color: var(--color-text)
}

.contact-page .contact-hero:after {
    content: "";
    pointer-events: none;
    position: absolute;
    inset: auto 0 0;
    height: 74px;
    background: linear-gradient(#05050500, #050505)
}

.contact-page .contact-hero__inner {
    z-index: 1;
    min-height: calc(58svh - clamp(134px, 15vw, 196px));
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative
}

.contact-page .contact-hero__copy {
    width: min(100%, 760px);
    text-align: center
}

.contact-page .contact-hero__copy h1 {
    color: var(--color-text-strong);
    font-family: var(--font-heading);
    font-size: clamp(2.4rem, 3.8vw, 3.4rem);
    font-weight: 500;
    line-height: 1.02;
    letter-spacing: .015em;
    margin: 0;
    text-shadow: 0 12px 30px #0000009e
}

.contact-page .contact-hero__social {
    margin-top: var(--space-5);
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--space-3)
}

.contact-page .contact-hero__social a {
    width: 46px;
    height: 46px;
    display: inline-grid;
    place-items: center;
    border: 1px solid #ffffff24;
    border-radius: var(--radius-full);
    background: #ffffff0a;
    color: var(--color-text-strong);
    font-size: 1.02rem;
    text-decoration: none;
    transition: transform var(--transition-base), color var(--transition-base), background var(--transition-base), border-color var(--transition-base)
}

.contact-page .contact-hero__social a:hover,
.contact-page .contact-hero__social a:focus-visible {
    border-color: #c8a45d82;
    background: var(--color-gold-soft);
    color: var(--color-gold);
    transform: translateY(-2px)
}

.contact-page .contact-panel-section {
    padding-block: var(--space-section-compact) var(--space-section)
}

.contact-page .contact-panel-grid {
    grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
    gap: clamp(36px, 5vw, 76px)
}

.contact-page .contact-request-card {
    padding: clamp(var(--space-6), 3vw, var(--space-10));
    border: 1px solid var(--color-border-strong);
    border-radius: var(--radius-panel);
    background: var(--color-surface);
    color: var(--color-text);
    box-shadow: var(--shadow-card)
}

.contact-page .contact-request-card:before {
    content: none
}

.contact-page .contact-card-head {
    margin-bottom: var(--space-8);
    position: relative
}

.contact-page .contact-card-head h2,
.contact-page .contact-info-head h2 {
    color: var(--color-text-strong);
    font-family: var(--font-heading);
    font-size: clamp(2rem, 3vw, 3rem);
    font-weight: 700;
    line-height: var(--line-heading);
    margin: 0
}

.contact-page .contact-card-head h2 {
    color: var(--color-text-strong);
    font-size: clamp(1.8rem, 2.4vw, 2.45rem);
    font-weight: 700
}

.contact-page .contact-info-head p {
    max-width: 620px;
    margin-top: var(--space-3);
    color: var(--color-muted);
    font-size: var(--type-card-copy);
    line-height: 1.65
}

.contact-page .contact-form-close,
.contact-page .contact-mobile-form-trigger {
    display: none
}

.contact-page .contact-request-form {
    grid-template-columns: 1fr;
    gap: var(--space-5)
}

.contact-page .contact-field {
    gap: var(--space-2);
    display: grid;
    position: relative
}

.contact-page .contact-field label {
    color: var(--color-text);
    font-size: var(--font-size-xs);
    letter-spacing: var(--tracking-label);
    text-transform: uppercase;
    font-weight: 800
}

.contact-page .contact-field input,
.contact-page .contact-field select,
.contact-page .contact-field textarea {
    width: 100%;
    min-height: 46px;
    border: 1px solid #ffffff30;
    border-radius: var(--radius-sm);
    background: #0000005c;
    color: var(--color-text-strong);
    padding: 11px 14px;
    font-size: var(--font-size-base);
    line-height: 1.45;
    transition: border-color var(--transition-base), background var(--transition-base), box-shadow var(--transition-base)
}

.contact-page .contact-field select {
    appearance: none;
    padding-right: var(--space-10);
    background: linear-gradient(45deg, #0000 50%, #c8a45d8f 50%) calc(100% - 18px)/6px 6px no-repeat, linear-gradient(135deg, #c8a45d8f 50%, #0000 50%) calc(100% - 14px)/6px 6px no-repeat, #0000005c
}

.contact-page .contact-field select option {
    background: var(--color-bg-elevated);
    color: var(--color-text)
}

.contact-page .contact-field textarea {
    min-height: 150px;
    resize: vertical
}

.contact-page .contact-field input::placeholder,
.contact-page .contact-field textarea::placeholder {
    color: #f5f5f578
}

.contact-page .contact-field input:focus,
.contact-page .contact-field select:focus,
.contact-page .contact-field textarea:focus {
    border-color: #c8a45d52;
    background: #0000007a;
    outline: 0;
    box-shadow: 0 0 0 3px #c8a45d0d
}

.contact-page .contact-field-error {
    min-height: .9em;
    color: var(--color-gold-hover);
    font-size: var(--font-size-xs);
    line-height: 1
}

.contact-page .contact-field.has-error input,
.contact-page .contact-field.has-error select,
.contact-page .contact-field.has-error textarea {
    border-color: #e6b47bbf;
    box-shadow: 0 0 0 3px #e6b47b17
}

.contact-page .contact-submit {
    justify-self: center;
    width: auto;
    min-height: 48px;
    margin-top: var(--space-1);
    padding-inline: var(--space-8);
    border: 1px solid #c8a45d70;
    border-radius: var(--radius-md);
    background: var(--action-primary-bg);
    color: var(--button-primary-text);
    box-shadow: 0 16px 38px #00000029;
    transition: transform var(--transition-base), box-shadow var(--transition-base), filter var(--transition-base)
}

.contact-page .contact-submit:hover,
.contact-page .contact-submit:focus-visible {
    transform: translateY(-2px) scale(1.02);
    box-shadow: 0 20px 46px #00000033;
    filter: brightness(1.04)
}

.contact-page .contact-confirmation {
    color: var(--color-text)
}

.contact-page .contact-confirmation h2 {
    color: var(--color-text-strong)
}

.contact-page .contact-confirmation>p:not(.eyebrow) {
    color: var(--color-muted)
}

.contact-page .contact-confirmation .eyebrow,
.contact-page .contact-confirmation-summary dt {
    color: var(--color-gold)
}

.contact-page .reservation-native-control {
    pointer-events: none;
    opacity: 0;
    width: 1px;
    height: 1px;
    min-height: 0;
    padding: 0;
    position: absolute;
    inset: auto auto 0 0
}

.contact-page .reservation-picker-trigger {
    width: 100%;
    min-height: 46px;
    color: var(--color-text-strong);
    text-align: left;
    cursor: pointer;
    border: 1px solid #ffffff30;
    border-radius: var(--radius-sm);
    background: #0000005c;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-3);
    padding: 11px 14px;
    font: inherit;
    display: flex;
    transition: border-color var(--transition-base), background var(--transition-base), box-shadow var(--transition-base)
}

.contact-page .reservation-picker-trigger span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.contact-page .reservation-picker-trigger i {
    color: var(--color-gold);
    font-size: .78rem
}

.contact-page .contact-field.is-picker-open .reservation-picker-trigger,
.contact-page .reservation-picker-trigger:focus-visible {
    background: #0000007a;
    border-color: #c8a45d52;
    box-shadow: 0 0 0 3px #c8a45d0d;
    outline: 0
}

.contact-page .contact-field.has-error .reservation-picker-trigger {
    border-color: #e6b47bbf;
    box-shadow: 0 0 0 3px #e6b47b17
}

.contact-page .reservation-picker-popover {
    z-index: 40;
    width: 100%;
    margin-top: var(--space-2);
    padding: 8px;
    border: 1px solid #ffffff1f;
    border-radius: var(--radius-md);
    background: #090909f7;
    box-shadow: 0 22px 70px #00000073;
    position: absolute;
    top: calc(100% - .9em);
    left: 0;
    display: none
}

.contact-page .contact-field.is-picker-open .reservation-picker-popover {
    display: block
}

.contact-page .reservation-picker-popover--list {
    max-height: 240px;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: #c8a45d66 #ffffff0a
}

.contact-page .reservation-picker-popover--list button {
    width: 100%;
    min-height: 38px;
    color: #f5f5f5d6;
    cursor: pointer;
    border: 0;
    border-radius: var(--radius-sm);
    background: transparent;
    font: inherit;
    text-align: left;
    padding: 8px 10px;
    transition: color var(--transition-base), background var(--transition-base)
}

.contact-page .reservation-picker-popover--list button:hover,
.contact-page .reservation-picker-popover--list button:focus-visible,
.contact-page .reservation-picker-popover--list button[aria-selected="true"] {
    color: var(--color-text-strong);
    background: #c8a45d1a;
    outline: 0
}

.contact-page .contact-method-strip {
    max-width: 560px;
    margin-top: var(--space-8);
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: start;
    gap: clamp(22px, 4vw, 48px);
    display: grid
}

.contact-page .contact-method-link {
    justify-items: center;
    gap: var(--space-2);
    color: var(--color-text-strong);
    font-size: var(--font-size-sm);
    text-align: center;
    font-weight: 700;
    text-decoration: none;
    display: grid;
    position: relative
}

.contact-page .contact-method-link+.contact-method-link:before {
    content: none;
    background: #f5f0e82e;
    width: clamp(34px, 6vw, 72px);
    height: 1px;
    position: absolute;
    top: 19px;
    right: calc(50% + 28px)
}

.contact-page .contact-method-link .contact-info-icon {
    width: 40px;
    height: 40px;
    color: var(--color-gold)
}

.contact-page .contact-map-card {
    margin-top: var(--space-8)
}

.contact-page .contact-map-copy .btn-outline-gold {
    border-color: var(--action-secondary-border);
    background: var(--action-secondary-bg);
    color: var(--action-secondary-text)
}

.contact-page .contact-side-panel {
    display: grid;
    gap: var(--space-8)
}

.contact-page .contact-faq-block,
.contact-page .contact-location-block {
    min-width: 0
}

.contact-page .contact-faq-block h2,
.contact-page .contact-location-head h2 {
    color: var(--color-text-strong);
    font-family: var(--font-heading);
    font-size: clamp(1.8rem, 2.4vw, 2.45rem);
    font-weight: 700;
    line-height: var(--line-heading);
    margin: 0
}

.contact-page .contact-faq-list {
    margin-top: var(--space-5);
    gap: var(--space-3)
}

.contact-page .contact-faq-item {
    border-color: var(--color-border-strong);
    background: var(--color-surface)
}

.contact-page .contact-faq-item summary {
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-3);
    color: var(--color-text-strong)
}

.contact-page .contact-faq-item summary::-webkit-details-marker {
    display: none
}

.contact-page .contact-faq-item summary:after {
    content: "\f078";
    color: var(--color-gold);
    font-family: "Font Awesome 6 Free";
    font-size: .78rem;
    font-weight: 900;
    transition: transform var(--transition-base)
}

.contact-page .contact-faq-item[open] summary:after {
    transform: rotate(180deg)
}

.contact-page .contact-faq-item p {
    color: var(--color-muted);
    margin: 0
}

.contact-page .contact-location-head p {
    margin-top: var(--space-3);
    color: var(--color-muted);
    font-size: var(--type-card-copy);
    line-height: 1.65
}

.contact-page .contact-map-title {
    width: 1px;
    height: 1px;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    border: 0;
    margin: 0;
    padding: 0;
    white-space: nowrap;
    position: absolute;
    overflow: hidden
}

.contact-page .contact-map-card--embed {
    grid-template-columns: 1fr;
    gap: 0;
    margin-top: var(--space-5);
    border-color: var(--color-border-strong);
    background: var(--color-surface);
    color: inherit;
    cursor: pointer;
    text-decoration: none;
    transition: transform var(--transition-base), border-color var(--transition-base), box-shadow var(--transition-base)
}

.contact-page .contact-map-card--embed:hover,
.contact-page .contact-map-card--embed:focus-visible {
    border-color: #c8a45d66;
    box-shadow: 0 18px 48px #0000005c;
    outline: 0;
    transform: translateY(-2px)
}

.contact-page .contact-map-card--embed iframe {
    width: 100%;
    min-height: clamp(220px, 28vw, 320px);
    border: 0;
    filter: saturate(.88) contrast(.96);
    pointer-events: none
}

.menu-page .checkout-panel {
    border-color: var(--color-border-strong);
    border-radius: var(--radius-panel);
    background: var(--color-bg-elevated);
    color: var(--color-text);
    box-shadow: var(--shadow-modal)
}

.menu-page .checkout-header {
    min-height: 70px;
    border-bottom-color: var(--color-border);
    padding: var(--space-4) var(--space-5)
}

.menu-page .checkout-header h2,
.menu-page .checkout-section-head h3 {
    color: var(--color-text-strong);
    font-family: var(--font-heading);
    font-weight: 700;
    line-height: var(--line-heading);
    margin: 0
}

.menu-page .checkout-header h2 {
    font-size: clamp(1.7rem, 2.2vw, 2.35rem)
}

.menu-page .checkout-form {
    gap: var(--space-5);
    padding: var(--space-5)
}

.menu-page .checkout-main,
.menu-page .checkout-summary {
    gap: var(--space-4)
}

.menu-page .checkout-section,
.menu-page .checkout-summary,
.menu-page .checkout-confirmation {
    border-color: var(--color-border);
    border-radius: var(--radius-panel);
    background: var(--color-surface)
}

.menu-page .checkout-section {
    padding: var(--space-5)
}

.menu-page .checkout-summary {
    padding: var(--space-5)
}

.menu-page .checkout-section-head {
    margin-bottom: var(--space-4)
}

.menu-page .checkout-section-head h3 {
    font-size: clamp(1.18rem, 1.45vw, 1.45rem)
}

.menu-page .checkout-field-grid {
    gap: var(--space-5)
}

.menu-page .checkout-field {
    gap: var(--space-2);
    color: var(--color-text);
    font-size: var(--font-size-xs);
    letter-spacing: var(--tracking-label);
    text-transform: uppercase;
    font-weight: 800
}

.menu-page .checkout-field span {
    color: var(--color-muted-soft);
    font-weight: 700
}

.menu-page .checkout-field input,
.menu-page .checkout-field select,
.menu-page .checkout-field textarea {
    width: 100%;
    min-height: 46px;
    border: 1px solid #ffffff30;
    border-radius: var(--radius-sm);
    background: #0000005c;
    color: var(--color-text-strong);
    padding: 11px 14px;
    font-size: var(--font-size-base);
    line-height: 1.45;
    transition: border-color var(--transition-base), background var(--transition-base), box-shadow var(--transition-base)
}

.menu-page .checkout-field select {
    appearance: none;
    padding-right: var(--space-10);
    background: linear-gradient(45deg, #0000 50%, #c8a45d8f 50%) calc(100% - 18px)/6px 6px no-repeat, linear-gradient(135deg, #c8a45d8f 50%, #0000 50%) calc(100% - 14px)/6px 6px no-repeat, #0000005c
}

.menu-page .checkout-field select option {
    background: var(--color-bg-elevated);
    color: var(--color-text)
}

.menu-page .checkout-field textarea {
    min-height: 132px;
    resize: vertical
}

.menu-page .checkout-field input::placeholder,
.menu-page .checkout-field textarea::placeholder {
    color: #f5f5f578
}

.menu-page .checkout-field input:focus,
.menu-page .checkout-field select:focus,
.menu-page .checkout-field textarea:focus {
    border-color: #c8a45d52;
    background: #0000007a;
    outline: 0;
    box-shadow: 0 0 0 3px #c8a45d0d
}

.menu-page .checkout-method,
.menu-page .payment-option {
    border-color: var(--color-border-strong);
    border-radius: var(--radius-md);
    background: #00000038
}

.menu-page .checkout-method.is-active,
.menu-page .payment-option.is-selected {
    border-color: #c8a45d75;
    background: var(--color-gold-soft)
}

.menu-page .checkout-totals,
.menu-page .checkout-mobile-final,
.menu-page .checkout-confirmation__rows {
    border-color: var(--color-border)
}

.menu-page .checkout-item {
    border-bottom-color: var(--color-border)
}

.menu-page .checkout-error {
    color: var(--color-gold-hover)
}

.contact-page .contact-action-row,
.contact-page .contact-social-block,
.contact-page .contact-info-layout,
.contact-page .contact-info-list {
    display: none
}

@media (max-width:900px) {
    .menu-page .checkout-panel {
        border-radius: 0;
        background: var(--color-bg-elevated)
    }

    .menu-page .checkout-header {
        min-height: 58px;
        padding: calc(10px + env(safe-area-inset-top)) var(--space-4) var(--space-3);
        background: #080808f0
    }

    .menu-page .checkout-header h2 {
        font-size: clamp(1.28rem, 6vw, 1.7rem)
    }

    .menu-page .checkout-form--mobile {
        padding: 0
    }

    .menu-page .checkout-mobile-content {
        padding: var(--space-4) var(--space-4) calc(96px + env(safe-area-inset-bottom))
    }

    .menu-page .checkout-section {
        padding: var(--space-5) var(--space-4)
    }

    .menu-page .checkout-field-grid,
    .menu-page .checkout-field-grid--mobile {
        gap: var(--space-5)
    }

    .menu-page .checkout-field input,
    .menu-page .checkout-field select,
    .menu-page .checkout-field textarea {
        font-size: var(--font-size-base)
    }

    .menu-page .checkout-mobile-submit {
        padding: var(--space-3) var(--space-4) calc(var(--space-3) + env(safe-area-inset-bottom));
        background: #050505f0;
        border-top-color: var(--color-border)
    }

    .contact-page .contact-hero {
        min-height: 56svh;
        padding-block: calc(58px + var(--space-5)) var(--space-5);
        background:
            linear-gradient(180deg, #00000029 0%, #00000024 56%, #050505a8 100%),
            linear-gradient(90deg, #0000001f, #0000000f),
            var(--contact-hero-image) center center / cover no-repeat
    }

    .contact-page .contact-hero:after {
        height: 54px
    }

    .contact-page .contact-hero__inner {
        min-height: calc(56svh - 122px)
    }

    .contact-page .contact-hero__copy {
        max-width: none
    }

    .contact-page .contact-hero__copy h1 {
        font-size: clamp(1.58rem, 7vw, 2rem)
    }

    .contact-page .contact-hero__social {
        margin-top: var(--space-5)
    }

    .contact-page .contact-hero__social a {
        width: 40px;
        height: 40px;
        font-size: .96rem
    }

    .contact-page .contact-main {
        padding-top: 0
    }

    .contact-page .contact-panel-section {
        padding-block: var(--space-4) calc(78px + env(safe-area-inset-bottom))
    }

    .contact-page .contact-panel-grid {
        display: block
    }

    .contact-page .contact-info-panel {
        padding: 0
    }

    .contact-page .contact-info-head h2 {
        font-size: clamp(2rem, 8vw, 2.7rem)
    }

    .contact-page .contact-method-strip {
        gap: var(--space-4);
        max-width: 100%;
        margin-top: var(--space-6)
    }

    .contact-page .contact-method-link+.contact-method-link:before {
        width: clamp(24px, 9vw, 42px);
        right: calc(50% + 24px)
    }

    .contact-page .contact-map-card {
        margin-top: var(--space-6);
        grid-template-columns: 1fr;
        gap: 0
    }

    .contact-page .contact-map-art {
        min-height: 148px
    }

    .contact-page .contact-map-copy {
        padding: var(--space-4)
    }

    .contact-page .contact-mobile-form-trigger {
        display: none
    }

    .contact-page .contact-request-card {
        inset: auto;
        z-index: auto;
        max-height: none;
        margin-bottom: var(--space-8);
        padding: var(--space-6) var(--space-4);
        border-radius: var(--radius-panel);
        opacity: 1;
        pointer-events: auto;
        position: relative;
        overflow: visible;
        transform: none
    }

    body.contact-page:not(.contact-form-open) .contact-request-card {
        visibility: visible;
        pointer-events: auto;
        opacity: 1 !important;
        transform: none !important
    }

    body.contact-form-open.contact-page .contact-request-card {
        visibility: visible;
        opacity: 1;
        pointer-events: auto;
        transform: none !important
    }

    body.contact-form-open.contact-page:before {
        content: none
    }

    .contact-page .contact-form-close {
        display: none
    }

    .contact-page .contact-card-head h2 {
        padding-right: 0;
        font-size: clamp(1.65rem, 7vw, 2.25rem)
    }

    .contact-page .contact-request-form,
    .contact-page .contact-confirmation-actions {
        grid-template-columns: 1fr
    }

    .contact-page .contact-submit {
        width: auto;
        justify-self: center
    }
}

.careers-positions-section .career-role-list {
    gap: var(--space-card-gap);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    display: grid
}

.careers-positions-section .career-role-list .role-card {
    align-content: start;
    gap: var(--space-4);
    min-height: auto;
    padding: var(--space-card);
    grid-template-columns: 1fr;
    display: grid
}

.careers-positions-section .role-card__content,
.careers-positions-section .role-card__requirements,
.careers-positions-section .role-card__actions,
.careers-positions-section .role-card__action {
    grid-column: auto
}

.careers-positions-section .role-card__content p {
    max-width: 54ch
}

.careers-positions-section .role-card__requirements {
    min-height: 0;
    padding: var(--space-4) 0 0;
    border-top: 1px solid #ffffff0f;
    border-left: 0;
    margin-top: 0
}

.careers-positions-section .role-requirements {
    gap: 6px;
    padding-left: 16px;
    list-style: outside;
    display: grid
}

.careers-positions-section .role-requirements li {
    display: list-item
}

.careers-positions-section .role-requirements li:before {
    content: none
}

.careers-positions-section .role-card__actions {
    align-self: end;
    justify-items: start;
    margin-top: 0
}

.careers-positions-section .role-card__action {
    width: fit-content;
    color: var(--button-primary-text)
}

@media (max-width:900px) {
    .careers-positions-section .career-role-list {
        grid-template-columns: 1fr
    }

    .careers-positions-section .career-role-list .role-card {
        gap: var(--space-3);
        padding: var(--space-4)
    }

    .careers-positions-section .role-card__content h3 {
        font-size: 1.38rem
    }

    .careers-positions-section .role-card__requirements {
        padding-top: var(--space-4)
    }

    .careers-positions-section .role-card__actions {
        width: 100%
    }
}

.order-cart__summary button,
.order-cart__summary button *,
.role-card__action,
.role-card__action *,
.careers-positions-section .role-card__action,
.careers-positions-section .role-card__action *,
.order-cart__summary button:hover,
.order-cart__summary button:focus-visible,
.order-cart__summary button:hover *,
.order-cart__summary button:focus-visible *,
.role-card__action:hover,
.role-card__action:focus-visible,
.role-card__action:hover *,
.role-card__action:focus-visible * {
    color: var(--button-primary-text)
}

.career-application-panel {
    border: 1px solid var(--color-card-border);
    border-radius: var(--radius-modal);
    background: linear-gradient(145deg, #ffffff09, #ffffff03), #080808fa
}

.career-application-header {
    padding: var(--space-6);
    background: #080808f5;
    border-bottom-color: #ffffff14
}

.career-application-body {
    background: 0 0
}

.career-application-layout {
    grid-template-columns: minmax(280px, .72fr) minmax(0, 1.28fr)
}

.career-role-summary,
.career-mobile-selected,
.career-review-card,
.career-confirmation {
    border-color: var(--color-card-border);
    border-radius: var(--radius-card);
    background: #ffffff06
}

.career-role-summary {
    border-width: 0 1px 0 0;
    border-radius: 0
}

.career-form {
    gap: var(--space-5);
    padding: var(--space-6)
}

.career-form-grid {
    gap: var(--space-4)
}

.career-step-actions .btn,
.career-confirmation-actions .btn {
    width: 100%
}

.career-step {
    border-color: var(--action-secondary-border);
    background: var(--action-secondary-bg)
}

.career-step.is-active {
    color: var(--color-gold);
    background: #c8a45d21;
    border-color: #c8a45d80
}

@media (max-width:900px) {
    .career-application-panel {
        border-radius: 0
    }

    .career-application-header {
        padding: var(--space-5) var(--space-4)
    }

    .career-mobile-content {
        padding: var(--space-4) var(--space-4) calc(92px + env(safe-area-inset-bottom))
    }

    .career-form {
        padding: 0
    }

    .career-step-actions {
        border-top-color: #ffffff14
    }
}

.career-application-panel {
    flex-direction: column;
    height: min(90dvh, 820px);
    min-height: min(640px, 90dvh);
    max-height: min(90dvh, 820px);
    display: flex;
    overflow: hidden
}

.career-application-header {
    flex: none
}

.career-application-body {
    flex: auto;
    min-height: 0;
    max-height: none;
    overflow: hidden
}

.career-application-body,
.career-desktop-layout .career-role-summary,
.career-desktop-layout .career-form,
.career-mobile-content,
.career-confirmation {
    scrollbar-width: thin;
    scrollbar-color: #d6a84f57 #ffffff0b
}

.career-application-body::-webkit-scrollbar {
    width: 8px
}

.career-desktop-layout .career-role-summary::-webkit-scrollbar {
    width: 8px
}

.career-desktop-layout .career-form::-webkit-scrollbar {
    width: 8px
}

.career-mobile-content::-webkit-scrollbar {
    width: 8px
}

.career-confirmation::-webkit-scrollbar {
    width: 8px
}

.career-application-body::-webkit-scrollbar-track {
    border-radius: var(--radius-full);
    background: #ffffff0b
}

.career-desktop-layout .career-role-summary::-webkit-scrollbar-track {
    border-radius: var(--radius-full);
    background: #ffffff0b
}

.career-desktop-layout .career-form::-webkit-scrollbar-track {
    border-radius: var(--radius-full);
    background: #ffffff0b
}

.career-mobile-content::-webkit-scrollbar-track {
    border-radius: var(--radius-full);
    background: #ffffff0b
}

.career-confirmation::-webkit-scrollbar-track {
    border-radius: var(--radius-full);
    background: #ffffff0b
}

.career-application-body::-webkit-scrollbar-thumb {
    border-radius: var(--radius-full);
    background: #d6a84f57;
    border: 2px solid #070707f2
}

.career-desktop-layout .career-role-summary::-webkit-scrollbar-thumb {
    border-radius: var(--radius-full);
    background: #d6a84f57;
    border: 2px solid #070707f2
}

.career-desktop-layout .career-form::-webkit-scrollbar-thumb {
    border-radius: var(--radius-full);
    background: #d6a84f57;
    border: 2px solid #070707f2
}

.career-mobile-content::-webkit-scrollbar-thumb {
    border-radius: var(--radius-full);
    background: #d6a84f57;
    border: 2px solid #070707f2
}

.career-confirmation::-webkit-scrollbar-thumb {
    border-radius: var(--radius-full);
    background: #d6a84f57;
    border: 2px solid #070707f2
}

.career-application-body::-webkit-scrollbar-thumb:hover {
    background: #d6a84f80
}

.career-desktop-layout .career-role-summary::-webkit-scrollbar-thumb:hover {
    background: #d6a84f80
}

.career-desktop-layout .career-form::-webkit-scrollbar-thumb:hover {
    background: #d6a84f80
}

.career-mobile-content::-webkit-scrollbar-thumb:hover {
    background: #d6a84f80
}

.career-confirmation::-webkit-scrollbar-thumb:hover {
    background: #d6a84f80
}

.career-desktop-layout {
    height: 100%;
    min-height: 0
}

.career-desktop-layout .career-role-summary {
    min-height: 0;
    max-height: 100%;
    overflow-y: auto
}

.career-desktop-layout .career-form {
    overscroll-behavior: contain;
    height: 100%;
    min-height: 0;
    max-height: 100%;
    padding-right: var(--space-5);
    align-content: start;
    display: grid;
    overflow-y: auto
}

.career-desktop-layout .career-form-grid {
    min-height: auto;
    padding-right: 0;
    overflow: visible
}

.career-desktop-layout .career-form>.btn {
    width: 100%;
    min-height: 48px;
    margin-top: var(--space-2);
    flex-shrink: 0;
    align-self: end
}

@media (min-width:901px) {
    .career-application-body:has(.career-confirmation) {
        overflow-y: auto
    }

    .career-confirmation {
        width: min(100%, 620px);
        min-height: auto;
        margin: clamp(24px, 7dvh, 72px) auto var(--space-6);
        place-content: start stretch;
        display: grid;
        overflow-y: auto
    }

    .career-confirmation-actions {
        margin-top: var(--space-5)
    }
}

@media (max-width:900px) {
    .career-application-panel {
        height: 100dvh;
        min-height: 100dvh;
        max-height: 100dvh;
        display: flex
    }

    .career-application-header {
        min-height: auto;
        padding: calc(var(--space-4) + env(safe-area-inset-top)) var(--space-4) var(--space-4)
    }

    .career-application-header h2 {
        margin-top: var(--space-1);
        font-size: clamp(1.32rem, 6vw, 1.72rem)
    }

    .career-application-body {
        height: auto;
        min-height: 0;
        overflow: hidden
    }

    .career-mobile-flow {
        background: 0 0;
        grid-template-rows: auto minmax(0, 1fr) auto;
        height: 100%;
        min-height: 0;
        display: grid
    }

    .career-stepper {
        background: #080808e6;
        border-bottom-color: #ffffff14;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 6px;
        padding: 10px 12px
    }

    .career-step {
        border-radius: var(--radius-md);
        letter-spacing: .02em;
        white-space: nowrap;
        flex-direction: column;
        gap: 4px;
        min-width: 0;
        min-height: 48px;
        padding: 6px 3px;
        font-size: clamp(.48rem, 2.05vw, .58rem);
        line-height: 1;
        overflow: hidden
    }

    .career-step span {
        flex: none;
        width: 18px;
        height: 18px;
        font-size: .58rem
    }

    .career-mobile-content {
        min-height: 0;
        padding: var(--space-5) var(--space-4) var(--space-6);
        overflow-y: auto
    }

    .career-mobile-selected,
    .career-review-card {
        padding: var(--space-5)
    }

    .career-mobile-selected ul {
        margin-top: var(--space-4)
    }

    .career-role-select {
        margin-top: var(--space-5)
    }

    .career-form-grid {
        gap: var(--space-4)
    }

    .career-step-actions {
        padding: var(--space-4) var(--space-4) calc(var(--space-4) + env(safe-area-inset-bottom));
        background: #050505f5;
        border-top-color: #ffffff14;
        align-self: end;
        position: relative;
        bottom: auto
    }

    .career-step-actions .btn {
        min-height: 48px
    }

    .career-confirmation {
        min-height: 100%;
        padding: var(--space-5);
        overflow-y: auto
    }
}

@media (max-width:370px) {
    .career-stepper {
        gap: 4px;
        padding-inline: 8px
    }

    .career-step {
        letter-spacing: 0;
        min-height: 46px;
        padding-inline: 2px;
        font-size: .48rem
    }
}

@media (max-width:900px) {

    .mobile-action-dock__toggle,
    .mobile-action-dock__actions,
    .mobile-checkout-dock {
        -webkit-backdrop-filter: blur(14px);
        backdrop-filter: blur(14px);
        background: linear-gradient(145deg, #d6a84f09, #ffffff05), #050505e6;
        border-color: #ffffff1f
    }

    .mobile-action-dock.is-open .mobile-action-dock__toggle,
    .mobile-action-dock.is-open .mobile-action-dock__actions {
        background: linear-gradient(145deg, #d6a84f0b, #ffffff05), #050505eb;
        border-color: #ffffff29
    }

    .mobile-action-dock__actions a,
    .mobile-action-dock__actions button {
        color: var(--action-secondary-text);
        background: #d6a84f09;
        border: 1px solid #ffffff1a
    }

    .mobile-action-dock__actions button {
        color: var(--action-secondary-text);
        background: #d6a84f0b;
        border-color: #ffffff24
    }
}

.menu-card-grid {
    justify-content: start;
    gap: var(--space-6);
    grid-template-columns: repeat(4, minmax(0, 184px))
}

.order-menu-card {
    border-color: var(--color-card-border);
    border-radius: var(--radius-md);
    background: transparent;
    grid-template-columns: 1fr;
    position: relative
}

.menu-order-page .order-menu-card,
.menu-order-page .order-menu-card:hover,
.menu-order-page .order-menu-card__body,
.menu-order-page .order-menu-card:hover .order-menu-card__body {
    background: transparent
}

.order-menu-card img {
    aspect-ratio: 1.22;
    border-radius: 0
}

.order-menu-card__body {
    background: transparent;
    gap: var(--space-2);
    margin-top: var(--space-2);
    padding: 0;
    display: grid
}

.order-menu-card__meta {
    align-items: center;
    gap: var(--space-2);
    grid-template-areas: "title title" "price action";
    grid-template-columns: minmax(0, 1fr) auto;
    display: grid
}

.order-menu-card__info {
    min-width: 0;
    display: contents
}

.order-menu-card h3 {
    grid-area: title;
    font-size: var(--type-card-copy);
    line-height: 1.16
}

.order-menu-card__meta strong {
    grid-area: price;
    font-size: var(--type-card-meta)
}

.menu-item-tag {
    z-index: 1;
    border-radius: var(--radius-full);
    max-width: calc(100% - 18px);
    color: var(--color-gold);
    letter-spacing: .1em;
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    background: #050505b8;
    margin: 0;
    padding: 5px 8px;
    font-size: .54rem;
    line-height: 1;
    position: absolute;
    top: 9px;
    left: 9px
}

.order-menu-card__meta button {
    border-radius: var(--radius-full);
    grid-area: action;
    letter-spacing: 0;
    justify-content: center;
    align-items: center;
    width: 38px;
    min-width: 0;
    height: 38px;
    min-height: 0;
    padding: 0;
    font-size: 1.5rem;
    line-height: 1;
    display: inline-flex;
    position: relative
}

.order-menu-card__meta button span {
    display: none
}

.order-menu-card__meta button:before,
.order-menu-card__meta button:after {
    content: "";
    border-radius: var(--radius-full);
    background: currentColor;
    width: 12px;
    height: 2px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%)
}

.order-menu-card__meta button:after {
    transform: translate(-50%, -50%)rotate(90deg)
}

@media (max-width:900px) {
    .menu-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 8px;
        row-gap: var(--space-5)
    }

    .menu-sections {
        scrollbar-width: none;
        scroll-snap-type: x mandatory;
        scroll-behavior: smooth;
        grid-auto-flow: column;
        grid-auto-columns: 100%;
        gap: 0;
        display: grid;
        overflow-x: auto;
        overscroll-behavior-x: contain
    }

    .menu-sections::-webkit-scrollbar {
        display: none
    }

    .menu-category-section {
        opacity: 1;
        scroll-snap-align: start;
        scroll-snap-stop: always;
        min-width: 100%;
        transform: none
    }

    .order-menu-card img {
        aspect-ratio: 1.18
    }

    .order-menu-card__body {
        background: transparent;
        padding: 0
    }

    .order-menu-card h3 {
        font-size: var(--type-card-copy)
    }

    .order-menu-card__meta strong {
        font-size: var(--type-card-meta)
    }

    .order-menu-card__meta button {
        width: 36px;
        height: 36px;
        font-size: 1.42rem
    }
}

@media (max-width:360px) {
    .menu-card-grid {
        grid-template-columns: 1fr
    }
}

.careers-positions-section .careers-section-header,
.careers-intro-section .careers-section-header {
    max-width: 980px;
    text-align: center;
    margin-inline: auto;
    margin-bottom: var(--space-header-gap)
}

.careers-positions-section .careers-section-header .eyebrow,
.careers-intro-section .careers-section-header .eyebrow,
.career-general-panel>.eyebrow,
.career-general-panel>div>.eyebrow {
    display: none
}

.careers-positions-section .section-title,
.careers-intro-section .section-title,
.career-general-panel .section-title {
    max-width: none;
    margin: 0 auto;
    color: var(--color-text-strong);
    font-family: var(--font-heading);
    font-size: clamp(2rem, 3vw, 3rem);
    font-weight: 800;
    line-height: 1.04;
    text-align: center;
    text-transform: capitalize
}

.career-general-panel {
    text-align: center;
    justify-content: center
}

.career-general-panel>div {
    max-width: 720px
}

.career-general-panel .muted-copy {
    margin-inline: auto
}

.careers-positions-section .career-role-list {
    gap: var(--space-8);
    grid-template-columns: minmax(0, 1fr);
    justify-content: center;
    align-items: stretch;
    display: grid
}

.careers-positions-section .career-role-list .role-card {
    gap: 0;
    align-content: initial;
    border: 1px solid var(--color-card-border);
    border-radius: var(--radius-card);
    background: transparent;
    width: 100%;
    max-width: 340px;
    min-height: 0;
    box-shadow: var(--shadow-card);
    transition: transform var(--transition-base), border-color var(--transition-base), background var(--transition-base), box-shadow var(--transition-base);
    flex-direction: column;
    justify-self: stretch;
    align-items: stretch;
    padding: 0;
    display: flex;
    position: relative;
    overflow: hidden
}

.careers-positions-section .career-role-list .role-card:hover {
    border-color: var(--color-card-border);
    background: transparent;
    transform: translateY(-2px)
}

.careers-positions-section .role-card__media {
    width: 100%;
    color: inherit;
    cursor: pointer;
    background: #ffffff08;
    border: 0;
    border-radius: 0;
    padding: 0;
    display: block;
    overflow: hidden
}

.careers-positions-section .role-card__media img {
    aspect-ratio: 16/9;
    object-fit: cover;
    width: 100%;
    height: clamp(118px, 18vw, 158px);
    transition: transform var(--transition-base), opacity var(--transition-base);
    border-radius: 0;
    display: block
}

.careers-positions-section .role-card:hover .role-card__media img {
    opacity: .94;
    transform: scale(1.025)
}

.careers-positions-section .role-card__content {
    background: transparent;
    gap: var(--space-2);
    min-width: 0;
    padding: var(--space-3) var(--space-3) 0;
    display: grid
}

.careers-positions-section .role-card__content h3 {
    color: var(--color-text-strong);
    font-family: var(--font-heading);
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    margin: 0;
    font-size: var(--type-card-copy);
    font-weight: 500;
    line-height: 1.16;
    display: -webkit-box;
    overflow: hidden
}

.careers-positions-section .role-card__meta {
    color: var(--color-text);
    letter-spacing: 0;
    text-transform: none;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 16px;
    margin: 0;
    font-size: var(--type-card-meta);
    font-weight: 600;
    line-height: 1.35;
    display: flex
}

.careers-positions-section .role-card__meta span {
    color: #f5f5f5db;
    font-size: inherit;
    font-weight: inherit;
    letter-spacing: 0;
    text-transform: none;
    white-space: nowrap;
    align-items: center;
    gap: 6px;
    display: inline-flex
}

.careers-positions-section .role-card__meta i {
    color: var(--color-gold);
    font-size: .88em;
    line-height: 1
}

.careers-positions-section .role-card__meta span+span:before {
    content: none
}

.careers-positions-section .role-card__summary {
    margin: var(--space-3) 0 0;
    padding-top: var(--space-3);
    color: var(--color-muted);
    -webkit-line-clamp: 2;
    border-top: 1px solid #ffffff14;
    -webkit-box-orient: vertical;
    font-size: var(--type-card-copy);
    font-weight: 500;
    line-height: 1.45;
    display: -webkit-box;
    overflow: hidden
}

.careers-positions-section .role-card__footer {
    background: transparent;
    justify-content: center;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3);
    margin-top: auto;
    display: flex
}

.careers-positions-section .role-card__vacancies {
    min-width: 0;
    color: var(--color-text);
    text-overflow: ellipsis;
    white-space: nowrap;
    margin: 0;
    font-size: clamp(.72rem, .78vw, .82rem);
    font-weight: 600;
    line-height: 1.2;
    overflow: hidden
}

.careers-positions-section .role-card__link {
    color: var(--color-gold);
    text-transform: uppercase;
    letter-spacing: .14em;
    white-space: nowrap;
    cursor: pointer;
    transition: color var(--transition-base), transform var(--transition-base);
    background: 0 0;
    border: 0;
    flex: none;
    justify-content: center;
    align-items: center;
    gap: 6px;
    padding: 0;
    font-size: var(--type-cta);
    font-weight: 800;
    line-height: 1.2;
    text-decoration: none;
    display: inline-flex
}

.careers-positions-section .role-card__link:hover,
.careers-positions-section .role-card__link:focus-visible {
    color: var(--color-gold-hover);
    transform: translate(2px)
}

.careers-positions-section .role-card__requirements,
.careers-positions-section .role-card__actions,
.careers-positions-section .role-card__action,
.careers-positions-section .role-card__details {
    display: none
}

@media (min-width:641px) {
    .careers-positions-section .career-role-list {
        justify-content: start;
        column-gap: var(--space-8);
        row-gap: var(--space-6);
        grid-template-columns: repeat(auto-fit, minmax(250px, 320px))
    }

    .careers-positions-section .career-role-list .role-card {
        justify-self: center
    }
}

@media (min-width:1024px) {
    .careers-positions-section .career-role-list {
        column-gap: var(--space-10);
        row-gap: var(--space-8);
        grid-template-columns: repeat(4, minmax(0, 320px))
    }

    .careers-positions-section .career-role-list .role-card {
        justify-self: stretch
    }
}

@media (max-width:640px) {
    .careers-positions-section .career-role-list {
        row-gap: var(--space-8);
        column-gap: 0;
        grid-template-columns: minmax(0, 1fr);
        justify-items: center
    }

    .careers-positions-section .career-role-list .role-card {
        width: min(100%, 360px);
        max-width: 360px
    }

    .careers-positions-section .role-card__media img {
        height: clamp(130px, 42vw, 172px)
    }

    .careers-positions-section .role-card__content {
        padding: var(--space-3) var(--space-4) 0
    }

    .careers-positions-section .role-card__meta {
        gap: 6px 14px;
        font-size: var(--type-card-meta)
    }

    .careers-positions-section .role-card__summary {
        font-size: var(--type-card-copy);
        display: -webkit-box
    }

    .careers-positions-section .role-card__footer {
        justify-content: center;
        align-items: center;
        gap: var(--space-2);
        padding-inline: var(--space-4);
        flex-direction: row
    }
}

@media (max-width:360px) {
    .careers-positions-section .career-role-list {
        grid-template-columns: 1fr
    }

    .careers-positions-section .career-role-list .role-card {
        justify-self: center
    }
}

.careers-hero,
.careers-hero:before,
.careers-hero:after,
.careers-hero__inner,
.careers-hero__inner:before,
.careers-hero__inner:after {
    border: 0;
    border-color: transparent
}

.careers-intro-section .career-benefit-grid {
    gap: var(--space-card-gap)
}

.careers-intro-section .career-benefit-card,
.careers-intro-section .career-benefit-card:hover,
.careers-intro-section .career-benefit-card:focus-visible {
    gap: 0;
    min-height: 0;
    padding: 0;
    text-align: center;
    border: 1px solid var(--color-card-border);
    border-radius: var(--radius-card);
    background: transparent;
    box-shadow: var(--shadow-card);
    justify-content: start;
    align-items: stretch;
    display: flex;
    overflow: hidden
}

.careers-intro-section .career-benefit-card:hover,
.careers-intro-section .career-benefit-card:focus-visible {
    border-color: var(--color-card-border-hover);
    transform: translateY(-2px)
}

.careers-intro-section .career-benefit-card img {
    aspect-ratio: 16/10;
    object-fit: cover;
    width: 100%;
    min-height: 0;
    border-radius: 0;
    filter: brightness(.86) saturate(1.02);
    display: block;
    transition: transform var(--transition-base), opacity var(--transition-base)
}

.careers-intro-section .career-benefit-card:hover img,
.careers-intro-section .career-benefit-card:focus-visible img {
    opacity: .95;
    transform: scale(1.025)
}

.careers-intro-section .career-benefit-card i {
    display: none
}

.careers-intro-section .career-benefit-card h3 {
    margin: var(--space-4) auto 0;
    padding-inline: var(--space-4);
    color: var(--color-text-strong);
    font-family: var(--font-heading);
    font-size: var(--type-card-title);
    font-weight: 500;
    line-height: var(--line-heading)
}

.careers-intro-section .career-benefit-card p {
    max-width: 34ch;
    margin: var(--space-3) auto var(--space-4);
    padding-inline: var(--space-4);
    color: var(--color-muted);
    font-size: var(--type-card-copy);
    line-height: var(--line-body)
}

.career-benefit-arrows {
    display: none
}

@media (max-width:900px) {
    .careers-intro-section .career-benefit-grid {
        gap: 0
    }

    .careers-intro-section .career-benefit-card {
        scroll-snap-align: start;
        width: 100%;
        min-height: 0
    }

    .careers-intro-section .career-benefit-card img {
        aspect-ratio: 16/10
    }

    .career-benefit-arrows {
        justify-content: center;
        align-items: center;
        gap: var(--space-4);
        margin-top: var(--space-3);
        display: flex
    }

    .career-benefit-arrows .career-benefit-dots {
        margin-top: 0
    }

    .career-benefit-arrows>button {
        width: 38px;
        height: 38px;
        color: var(--color-gold);
        cursor: pointer;
        border: 1px solid var(--color-card-border);
        border-radius: var(--radius-full);
        background: transparent;
        transition: color var(--transition-base), border-color var(--transition-base), transform var(--transition-base);
        align-items: center;
        justify-content: center;
        display: inline-flex
    }

    .career-benefit-arrows>button:hover,
    .career-benefit-arrows>button:focus-visible {
        color: var(--color-gold-hover);
        border-color: var(--color-card-border-hover);
        transform: translateY(-1px)
    }
}

.reservation-page .reservation-page-head {
    margin-bottom: var(--space-8)
}

.reservation-page .reservation-page-form {
    gap: var(--space-5) var(--space-5)
}

.reservation-page .reservation-page-field {
    gap: var(--space-2);
    position: relative
}

.reservation-page .reservation-page-field input,
.reservation-page .reservation-page-field select,
.reservation-page .reservation-page-field textarea {
    border-width: 1px;
    border-color: #ffffff30;
    background-color: #0000005c
}

.reservation-page .reservation-page-field input::placeholder,
.reservation-page .reservation-page-field textarea::placeholder {
    color: #f5f5f578
}

.reservation-page .reservation-page-field input:focus,
.reservation-page .reservation-page-field select:focus,
.reservation-page .reservation-page-field textarea:focus {
    border-color: #c8a45d52
}

.reservation-page .reservation-native-control {
    pointer-events: none;
    opacity: 0;
    width: 1px;
    height: 1px;
    min-height: 0;
    padding: 0;
    position: absolute;
    inset: auto auto 0 0
}

.reservation-page .reservation-picker-trigger {
    width: 100%;
    min-height: 46px;
    color: var(--color-text-strong);
    text-align: left;
    cursor: pointer;
    border: 1px solid #ffffff30;
    border-radius: var(--radius-sm);
    background: #0000005c;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-3);
    padding: 11px 14px;
    font: inherit;
    display: flex;
    transition: border-color var(--transition-base), background var(--transition-base), box-shadow var(--transition-base)
}

.reservation-page .reservation-picker-trigger span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.reservation-page .reservation-picker-trigger i {
    color: var(--color-gold);
    font-size: .78rem
}

.reservation-page .reservation-page-field.is-picker-open .reservation-picker-trigger,
.reservation-page .reservation-picker-trigger:focus-visible {
    background: #0000007a;
    border-color: #c8a45d52;
    box-shadow: 0 0 0 3px #c8a45d0d;
    outline: 0
}

.reservation-page .reservation-page-field.has-error .reservation-picker-trigger {
    border-color: #e6b47bbf;
    box-shadow: 0 0 0 3px #e6b47b17
}

.reservation-page .reservation-picker-popover {
    z-index: 40;
    width: 100%;
    margin-top: var(--space-2);
    padding: 8px;
    border: 1px solid #ffffff1f;
    border-radius: var(--radius-md);
    background: #090909f7;
    box-shadow: 0 22px 70px #00000073;
    position: absolute;
    top: calc(100% - .9em);
    left: 0;
    display: none
}

.reservation-page .reservation-page-field.is-picker-open .reservation-picker-popover {
    display: block
}

.reservation-page .reservation-picker-popover--list {
    max-height: 240px;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: #c8a45d66 #ffffff0a
}

.reservation-page .reservation-picker-popover--list button,
.reservation-page .reservation-calendar__grid button {
    width: 100%;
    min-height: 38px;
    color: #f5f5f5d6;
    cursor: pointer;
    border: 0;
    border-radius: var(--radius-sm);
    background: transparent;
    font: inherit;
    text-align: left;
    padding: 8px 10px;
    transition: color var(--transition-base), background var(--transition-base)
}

.reservation-page .reservation-picker-popover--list button:hover,
.reservation-page .reservation-picker-popover--list button:focus-visible,
.reservation-page .reservation-picker-popover--list button[aria-selected="true"] {
    color: var(--color-text-strong);
    background: #c8a45d1a;
    outline: 0
}

.reservation-page .reservation-calendar {
    padding: 10px
}

.reservation-page .reservation-calendar__head {
    align-items: center;
    justify-content: space-between;
    gap: var(--space-3);
    margin-bottom: 10px;
    display: flex
}

.reservation-page .reservation-calendar__head strong {
    color: var(--color-text-strong);
    font-family: var(--font-heading);
    font-size: var(--type-card-copy);
    font-weight: 700
}

.reservation-page .reservation-calendar__head button {
    width: 34px;
    height: 34px;
    color: var(--color-gold);
    cursor: pointer;
    border: 1px solid #ffffff1f;
    border-radius: var(--radius-full);
    background: transparent;
    align-items: center;
    justify-content: center;
    display: inline-flex
}

.reservation-page .reservation-calendar__weekdays,
.reservation-page .reservation-calendar__grid {
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 4px;
    display: grid
}

.reservation-page .reservation-calendar__weekdays {
    margin-bottom: 6px
}

.reservation-page .reservation-calendar__weekdays span {
    color: #f5f5f57a;
    text-align: center;
    font-size: .68rem;
    font-weight: 800
}

.reservation-page .reservation-calendar__grid button {
    min-height: 34px;
    text-align: center;
    padding: 0
}

.reservation-page .reservation-calendar__grid button:hover,
.reservation-page .reservation-calendar__grid button:focus-visible,
.reservation-page .reservation-calendar__grid button[aria-current="date"] {
    color: var(--color-text-strong);
    background: #c8a45d24;
    outline: 0
}

.reservation-page .reservation-calendar__grid button:disabled {
    opacity: .28;
    cursor: not-allowed
}

@media (max-width:767px) {
    .reservation-page .reservation-page-section {
        padding-inline: var(--space-3)
    }

    .reservation-page .reservation-page-head {
        margin-bottom: var(--space-10)
    }

    .reservation-page .reservation-page-shell {
        width: min(100%, 420px);
        margin-inline: auto
    }

    .reservation-page .reservation-page-form {
        gap: var(--space-4)
    }
}

.page-hero__text,
.careers-hero .page-hero__text,
.home-hero-copy,
.mobile-hero-copy,
.muted-copy,
.contact-content .muted-copy,
.contact-action-card p,
.contact-info-item p,
.about-cta-panel p:not(.eyebrow),
.story-simple-hero__copy>p:not(.eyebrow),
.story-hero__copy,
.story-section-copy,
.story-contact-content .muted-copy,
.story-contact-row,
.career-general-panel .muted-copy,
.menu-section-copy,
.dish-showcase__content p:not(.eyebrow),
.events-hero__copy,
.events-featured__copy,
.events-private-panel p:not(.eyebrow),
.career-hero__copy,
.reservation-hero__copy,
.event-detail-description,
.event-form-section p:not(.eyebrow),
.event-confirmation>p:not(.eyebrow),
.event-not-found p:not(.eyebrow),
.event-page-summary,
.event-page-intro-summary,
.event-page-mobile-intro>p,
.event-page-section>p,
.event-page-subsection p,
.position-page-summary,
.position-page-intro p,
.position-page-section>p,
.position-page-subsection p,
.position-not-found p,
.checkout-confirmation>p:not(.eyebrow) {
    font-size: var(--type-body);
}

.home-action-card p,
.home-promo-card p,
.home-featured-card p,
.contact-card-head p:not(.eyebrow),
.contact-info-head p,
.story-guest-card p,
.events-featured__meta,
.event-detail-facts,
.event-detail-section ul,
.event-booking-card p:not(.eyebrow),
.event-guest-row,
.event-total-row,
.event-summary-rows div,
.event-page-list-grid ul,
.event-page-simple-list,
.event-page-faq p,
.event-page-booking-note strong,
.event-page-metadata-strip span,
.event-page-info-row strong,
.position-page-list,
.position-page-list-grid ul,
.position-page-simple-list,
.position-page-info-row strong,
.position-page-things__list strong,
.position-page-apply-card p,
.careers-positions-section .role-card__summary,
.order-menu-card p,
.order-cart__empty,
.order-cart__empty strong,
.order-cart__empty span,
.cart-line h3,
.cart-line__main p,
.order-cart__summary strong,
.checkout-item h3,
.checkout-item p,
.checkout-empty,
.checkout-totals div,
.checkout-confirmation__rows div,
.checkout-mobile-final div,
.payment-option strong,
.payment-option small {
    font-size: var(--type-card-copy);
}

.page-hero__info-label,
.page-hero__info-value,
.home-hero-meta,
.home-promo-card::before,
.home-event-date,
.event-card__meta,
.event-card__price,
.event-page-info-row span,
.event-page-booking-note span,
.event-page-booking-card__head strong,
.event-page-hero-time strong,
.event-page-hero-time span,
.event-page-meta span,
.event-page-meta small,
.event-page-booking-dates span,
.event-page-booking-dates strong,
.event-field,
.event-field small,
.event-field-error,
.event-payment-option small,
.position-page-info-row span,
.position-page-things__list span,
.position-page-apply-card__head span,
.position-page-apply-card__grid span,
.position-mobile-apply-dock span,
.careers-positions-section .role-card__meta,
.careers-positions-section .role-card__vacancies,
.menu-status-chip,
.menu-pill,
.menu-item-tag,
.cart-line__total,
.cart-quantity span,
.order-cart__summary span,
.checkout-field,
.checkout-method,
.checkout-step,
.checkout-step span,
.checkout-error {
    font-size: var(--type-card-meta);
}

.menu-hero .page-hero__text {
    font-size: var(--type-body);
    line-height: var(--line-body);
}

.careers-hero .page-hero__text {
    font-size: var(--type-body);
    line-height: var(--line-body);
}

.home-hero-actions a,
.home-hero-actions button,
.home-promo-card a,
.home-promo-card button,
.home-text-link,
.home-featured-card a,
.story-guest-card a,
.story-guest-card button,
.story-contact-action,
.events-featured__primary,
.events-featured__secondary,
.event-card__link,
.event-booking-actions button,
.event-mobile-step-actions button,
.event-placeholder-card button,
.event-booking-actions a,
.event-request-summary button,
.event-confirmation__actions button,
.event-confirmation__actions a,
.event-page-booking-card__cta,
.event-mobile-booking-dock button,
.event-booking-modal__submit,
.position-detail-back-link,
.position-page-apply-card__cta,
.position-mobile-apply-dock a,
.position-not-found a,
.careers-positions-section .role-card__link,
.order-cart__summary button,
.mobile-checkout-button,
.checkout-submit,
.checkout-confirmation__actions button,
.checkout-confirmation__actions a,
.checkout-nav-secondary {
    font-size: var(--type-cta);
}

.order-cart__summary button,
.order-cart__summary button span,
.mobile-checkout-button,
.checkout-submit,
.checkout-confirmation__actions button,
.checkout-confirmation__actions a {
    color: var(--button-primary-text);
}

.event-field input,
.event-field textarea,
.checkout-field input,
.checkout-field select,
.checkout-field textarea {
    font-size: var(--font-size-base);
}

@media (max-width: 767px) {
    .story-guests-section .story-guest-card p {
        font-size: var(--type-body);
        line-height: var(--line-body);
    }
}

.home-hero-actions .hero-action-primary,
.home-hero-actions .hero-action-secondary,
.home-hero-actions button,
.contact-action-card button,
.contact-action-card a,
.events-featured__primary,
.events-private-link,
.event-booking-actions button:not(.event-booking-back),
.event-mobile-step-actions button,
.event-request-summary button:not(.event-booking-back),
.event-confirmation__actions button,
.event-confirmation__actions a,
.event-page-booking-card__cta,
.event-mobile-booking-dock button,
.event-mobile-booking-dock a,
.position-page-apply-card__cta,
.position-mobile-apply-dock a,
.position-not-found a,
.order-cart__summary button,
.mobile-checkout-button,
.checkout-submit,
.checkout-confirmation__actions button,
.checkout-confirmation__actions a,
.checkout-nav-secondary {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    border-radius: var(--radius-md);
    font-family: var(--font-body);
    font-size: var(--type-cta);
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    text-decoration: none;
    cursor: pointer;
    transition: transform var(--transition-base), color var(--transition-base), background var(--transition-base), border-color var(--transition-base), box-shadow var(--transition-base), opacity var(--transition-base), filter var(--transition-base);
}

.home-hero-actions .hero-action-primary,
.events-featured__primary,
.event-booking-actions button:not(.event-booking-back),
.event-mobile-step-actions button,
.event-request-summary button:not(.event-booking-back),
.event-confirmation__actions button,
.event-confirmation__actions a,
.event-page-booking-card__cta,
.event-mobile-booking-dock button,
.event-mobile-booking-dock a,
.position-page-apply-card__cta,
.position-mobile-apply-dock a,
.position-not-found a,
.order-cart__summary button,
.mobile-checkout-button,
.checkout-submit,
.checkout-confirmation__actions button,
.checkout-confirmation__actions a {
    border: 1px solid var(--action-primary-border);
    background: var(--action-primary-bg);
    color: var(--action-primary-text);
    box-shadow: var(--action-primary-shadow);
}

.order-cart__summary button {
    width: 100%;
    min-width: 0;
    gap: clamp(4px, 0.45vw, 7px);
    padding-inline: clamp(8px, 0.75vw, 12px);
    color: var(--action-primary-text);
}

.order-cart__summary button span {
    min-width: 0;
    flex: 1 1 auto;
    text-align: center;
    white-space: nowrap;
    color: var(--action-primary-text);
    font-size: clamp(0.5rem, 0.52vw, 0.64rem);
    line-height: 1;
    letter-spacing: clamp(0.01em, 0.16vw, 0.045em);
}

.order-cart__summary button i {
    flex: 0 0 auto;
}

.home-hero-actions .hero-action-primary:hover,
.home-hero-actions .hero-action-primary:focus-visible,
.events-featured__primary:hover,
.events-featured__primary:focus-visible,
.event-booking-actions button:not(.event-booking-back):hover,
.event-booking-actions button:not(.event-booking-back):focus-visible,
.event-mobile-step-actions button:hover,
.event-mobile-step-actions button:focus-visible,
.event-request-summary button:not(.event-booking-back):hover,
.event-request-summary button:not(.event-booking-back):focus-visible,
.event-confirmation__actions button:hover,
.event-confirmation__actions button:focus-visible,
.event-confirmation__actions a:hover,
.event-confirmation__actions a:focus-visible,
.event-page-booking-card__cta:hover,
.event-page-booking-card__cta:focus-visible,
.event-mobile-booking-dock button:hover,
.event-mobile-booking-dock button:focus-visible,
.event-mobile-booking-dock a:hover,
.event-mobile-booking-dock a:focus-visible,
.position-page-apply-card__cta:hover,
.position-page-apply-card__cta:focus-visible,
.position-mobile-apply-dock a:hover,
.position-mobile-apply-dock a:focus-visible,
.position-not-found a:hover,
.position-not-found a:focus-visible,
.order-cart__summary button:hover,
.order-cart__summary button:focus-visible,
.mobile-checkout-button:hover,
.mobile-checkout-button:focus-visible,
.checkout-submit:hover,
.checkout-submit:focus-visible,
.checkout-confirmation__actions button:hover,
.checkout-confirmation__actions button:focus-visible,
.checkout-confirmation__actions a:hover,
.checkout-confirmation__actions a:focus-visible {
    background: var(--action-primary-bg-hover);
    color: var(--action-primary-text);
    transform: translateY(-2px);
    filter: none;
    box-shadow: var(--action-primary-shadow);
}

.home-hero-actions .hero-action-secondary,
.home-hero-actions button,
.contact-action-card button,
.contact-action-card a,
.events-private-link,
.event-booking-back,
.checkout-nav-secondary {
    border: 1px solid var(--action-secondary-border);
    background: var(--action-secondary-bg);
    color: var(--action-secondary-text);
    box-shadow: none;
}

.home-hero-actions .hero-action-secondary:hover,
.home-hero-actions .hero-action-secondary:focus-visible,
.home-hero-actions button:hover,
.home-hero-actions button:focus-visible,
.contact-action-card button:hover,
.contact-action-card button:focus-visible,
.contact-action-card a:hover,
.contact-action-card a:focus-visible,
.events-private-link:hover,
.events-private-link:focus-visible,
.event-booking-back:hover,
.event-booking-back:focus-visible,
.checkout-nav-secondary:hover,
.checkout-nav-secondary:focus-visible {
    border-color: var(--action-secondary-border-hover);
    background: var(--action-secondary-bg-hover);
    color: var(--action-secondary-text-hover);
    transform: translateY(-2px);
    box-shadow: none;
}

.home-promo-card a,
.home-promo-card button,
.home-text-link,
.home-featured-card a,
.story-guest-card a,
.story-guest-card button,
.events-featured__secondary,
.event-card__link,
.careers-positions-section .role-card__link,
.modal-action-link {
    border: 0;
    background: transparent;
    color: var(--action-ghost-text);
    box-shadow: none;
    text-decoration: none;
}

.home-promo-card a:hover,
.home-promo-card button:hover,
.home-text-link:hover,
.home-featured-card a:hover,
.story-guest-card a:hover,
.story-guest-card button:hover,
.events-featured__secondary:hover,
.events-featured__secondary:focus-visible,
.event-card__link:hover,
.event-card__link:focus-visible,
.careers-positions-section .role-card__link:hover,
.careers-positions-section .role-card__link:focus-visible,
.modal-action-link:hover,
.modal-action-link:focus-visible {
    color: var(--button-link-text-hover);
}

.events-upcoming .event-card,
.events-upcoming .event-card:hover {
    background: transparent;
}

.events-upcoming .event-card__body,
.events-upcoming .event-card__footer,
.events-upcoming .event-card:hover .event-card__body,
.events-upcoming .event-card:hover .event-card__footer {
    background: transparent;
}

@media (min-width: 641px) {
    .events-upcoming .event-card h3 {
        font-size: clamp(.95rem, 1vw, 1.12rem);
    }

    .events-upcoming .event-card__meta {
        font-size: .8rem;
        line-height: 1.4;
    }

    .events-upcoming .event-card__price {
        font-size: clamp(.72rem, .78vw, .82rem);
    }

    .events-upcoming .event-card__link {
        font-size: .68rem;
        letter-spacing: .14em;
    }
}

@media (max-width: 640px) {
    .events-upcoming .event-card h3 {
        font-size: var(--type-card-title);
    }

    .events-upcoming .event-card__meta,
    .events-upcoming .event-card__price {
        font-size: var(--type-card-meta);
    }

    .events-upcoming .event-card__link {
        font-size: var(--type-cta);
    }
}

/* Home promotions redesign */
.home-promotions {
    --home-promotions-bg: #f6f0e6;
    --home-promotions-text: #17120c;
    --home-promotions-muted: #5e5142;
    background: var(--home-promotions-bg);
    color: var(--home-promotions-text);
}

.home-promotions-head {
    max-width: 980px;
    margin-inline: auto;
    margin-bottom: clamp(calc(var(--space-10) + var(--space-2)), 6vw, calc(var(--space-12) + var(--space-8)));
    text-align: center;
}

.home-promotions-head .section-title {
    max-width: none;
    margin: 0;
    color: var(--home-promotions-text);
    font-family: var(--font-heading);
    font-size: clamp(2rem, 3vw, 3rem);
    line-height: 1.04;
    white-space: nowrap;
}

.home-promotions-gallery {
    min-width: 0;
}

.home-promotions-track {
    gap: clamp(var(--space-4), 2.4vw, var(--space-6));
}

.home-promotions .home-promo-card {
    min-height: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 0;
    overflow: hidden;
    border: 0;
    border-radius: var(--radius-card);
    background: transparent;
    box-shadow: none;
    color: var(--home-promotions-text);
    text-align: center;
    text-decoration: none;
    scroll-snap-align: center;
    transition: transform var(--transition-base), opacity var(--transition-base);
}

.home-promotions .home-promo-card img {
    width: 100%;
    aspect-ratio: 1.08 / 1;
    display: block;
    object-fit: cover;
    border-radius: var(--radius-card);
    transition: transform var(--transition-base), filter var(--transition-base);
}

/* .home-promotions .home-promo-card {
    min-height: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 0;
    overflow: hidden;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: var(--home-promotions-text);
    text-align: center;
    text-decoration: none;
    scroll-snap-align: center;
    transition: transform var(--transition-base), opacity var(--transition-base);
} */

.home-promotions .home-promo-card::before {
    content: none;
}

.home-promotions .home-promo-card:hover,
.home-promotions .home-promo-card:focus-visible {
    transform: translateY(-4px);
    background: transparent;
}

/* .home-promotions .home-promo-card img {
    width: 100%;
    aspect-ratio: 1.08 / 1;
    display: block;
    object-fit: cover;
    border-radius: var(--radius-xs);
    transition: transform var(--transition-base), filter var(--transition-base);
} */

.home-promotions .home-promo-card:hover img,
.home-promotions .home-promo-card:focus-visible img {
    transform: scale(1.018);
    filter: saturate(1.05);
}

.home-promotions .home-promo-card span {
    margin-top: var(--space-5);
    color: var(--home-promotions-text);
    font-family: var(--font-body);
    font-size: clamp(1.18rem, 1.6vw, 1.48rem);
    line-height: 1.08;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.home-promotions .home-promo-card p {
    max-width: 300px;
    margin: var(--space-3) auto 0;
    color: var(--home-promotions-muted);
    font-size: var(--type-card-copy);
    line-height: 1.54;
}

.home-promotions-controls {
    display: none;
    width: min(420px, 100%);
    grid-template-columns: 44px 1fr 44px;
    align-items: center;
    gap: var(--space-4);
    margin: var(--space-5) auto 0;
}

.home-promotions-arrow {
    width: 44px;
    height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: var(--radius-full);
    background: transparent;
    color: var(--home-promotions-text);
    font-size: 1.12rem;
    cursor: pointer;
    transition: color var(--transition-base), transform var(--transition-base);
}

.home-promotions-arrow:hover,
.home-promotions-arrow:focus-visible {
    color: var(--color-gold);
    transform: translateX(2px);
}

.home-promotions-arrow:first-child:hover,
.home-promotions-arrow:first-child:focus-visible {
    transform: translateX(-2px);
}

.home-promotions-dots {
    display: flex;
    justify-content: center;
    gap: var(--space-2);
}

.home-promotions-dots button {
    width: 7px;
    height: 7px;
    padding: 0;
    border: 1px solid rgba(23, 18, 12, 0.22);
    border-radius: var(--radius-full);
    background: rgba(23, 18, 12, 0.14);
    cursor: pointer;
    transition: width var(--transition-base), background var(--transition-base), border-color var(--transition-base);
}

.home-promotions-dots button.active {
    width: 20px;
    background: var(--color-gold);
    border-color: rgba(200, 164, 93, 0.72);
}

@media (max-width: 767px) {
    .home-promotions-head {
        max-width: 980px;
        margin-inline: auto;
        margin-bottom: clamp(var(--space-8), 10vw, calc(var(--space-10) + var(--space-4)));
        text-align: center;
    }

    .home-promotions-head .section-title {
        max-width: none;
        color: var(--home-promotions-text);
        font-family: var(--font-heading);
        font-size: clamp(1.78rem, 8vw, 2.38rem);
        white-space: normal;
    }

    .home-promotions-gallery {
        overflow: hidden;
    }

    .home-promotions-track.home-card-grid--three {
        display: flex;
        grid-template-columns: none;
        gap: var(--space-4);
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scroll-behavior: smooth;
        scrollbar-width: none;
    }

    .home-promotions-track::-webkit-scrollbar {
        display: none;
    }

    .home-promotions .home-promo-card {
        flex: 0 0 100%;
        width: 100%;
    }

    .home-promotions .home-promo-card img {
        aspect-ratio: 1.2 / 1;
    }

    .home-promotions .home-promo-card span {
        margin-top: var(--space-4);
    }

    .home-promotions .home-promo-card p {
        max-width: 320px;
    }

    .home-promotions-controls {
        display: grid;
    }
}

@media (min-width: 1024px) {
    .home-promotions {
        padding-top: clamp(44px, 4.6vw, 64px);
        padding-bottom: clamp(44px, 4.6vw, 64px);
    }

    .home-events-preview {
        padding-top: clamp(68px, 6.4vw, 104px);
        padding-bottom: clamp(72px, 7vw, 112px);
    }

    .home-events-slider__controls {
        margin-top: var(--space-6);
    }
}

@property --tw-space-y-reverse {
    syntax: "*";
    inherits: false;
    initial-value: 0
}

@property --tw-border-style {
    syntax: "*";
    inherits: false;
    initial-value: solid
}

@property --tw-gradient-position {
    syntax: "*";
    inherits: false
}

@property --tw-gradient-from {
    syntax: "<color>";
    inherits: false;
    initial-value: #0000
}

@property --tw-gradient-via {
    syntax: "<color>";
    inherits: false;
    initial-value: #0000
}

@property --tw-gradient-to {
    syntax: "<color>";
    inherits: false;
    initial-value: #0000
}

@property --tw-gradient-stops {
    syntax: "*";
    inherits: false
}

@property --tw-gradient-via-stops {
    syntax: "*";
    inherits: false
}

@property --tw-gradient-from-position {
    syntax: "<length-percentage>";
    inherits: false;
    initial-value: 0%
}

@property --tw-gradient-via-position {
    syntax: "<length-percentage>";
    inherits: false;
    initial-value: 50%
}

@property --tw-gradient-to-position {
    syntax: "<length-percentage>";
    inherits: false;
    initial-value: 100%
}

@property --tw-tracking {
    syntax: "*";
    inherits: false
}

@property --tw-backdrop-blur {
    syntax: "*";
    inherits: false
}

@property --tw-backdrop-brightness {
    syntax: "*";
    inherits: false
}

@property --tw-backdrop-contrast {
    syntax: "*";
    inherits: false
}

@property --tw-backdrop-grayscale {
    syntax: "*";
    inherits: false
}

@property --tw-backdrop-hue-rotate {
    syntax: "*";
    inherits: false
}

@property --tw-backdrop-invert {
    syntax: "*";
    inherits: false
}

@property --tw-backdrop-opacity {
    syntax: "*";
    inherits: false
}

@property --tw-backdrop-saturate {
    syntax: "*";
    inherits: false
}

@property --tw-backdrop-sepia {
    syntax: "*";
    inherits: false
}
