/*
 * Miliki Spot — main stylesheet
 *
 * Phase 2: global shell, accessible header/footer, mobile navigation,
 * and quick-action CTA row.
 */

/* 1. Reset & tokens ----------------------------------------------------------- */

:root {
    --miliki-color-text: #1f1712;
    --miliki-color-muted: #665b54;
    --miliki-color-border: #e7ded8;
    --miliki-color-surface: #fffaf6;
    --miliki-color-surface-strong: #ffffff;
    --miliki-color-primary: #d6b35a;
    --miliki-color-primary-dark: #7a5706;
    --miliki-color-accent: #efcd73;
    --miliki-color-focus: #005fcc;
    --miliki-shadow-soft: 0 0.75rem 2rem rgba(31, 23, 18, 0.08);
    --miliki-radius-sm: 0.5rem;
    --miliki-radius-md: 0.85rem;
    --miliki-radius-pill: 999px;
    --miliki-container: 72rem;
    --miliki-space-1: 0.25rem;
    --miliki-space-2: 0.5rem;
    --miliki-space-3: 0.75rem;
    --miliki-space-4: 1rem;
    --miliki-space-5: 1.5rem;
    --miliki-space-6: 2rem;

    /* Premium surface palette — STYLE-HERO-001 */
    --miliki-black: #090806;
    --miliki-charcoal: #14100b;
    --miliki-ink: #211d1a;
    /* Miliki brand gold system */
    --miliki-gold: #e0b95b;
    --miliki-gold-light: #efcd73;
    --miliki-gold-deep: #9b7526;
    --miliki-bronze-text: #7a5706;
    --miliki-gold-soft: rgba(214, 179, 90, 0.32);
    --miliki-cream: #fff6ef;
    --miliki-warm-cream: #f6eadb;
    --miliki-cream-soft: var(--miliki-warm-cream);
    --miliki-white: #fffaf3;

    /* Semantic action colours */
    --miliki-action-bg: var(--miliki-gold);
    --miliki-action-bg-hover: var(--miliki-gold-light);
    --miliki-action-text: var(--miliki-black, #090806);
    --miliki-link: var(--miliki-bronze-text);
    --miliki-link-hover: var(--miliki-bronze-text);

    /* Semantic aliases */
    --color-bg: var(--miliki-cream);
    --color-bg-deep: var(--miliki-black);
    --color-surface: var(--miliki-white);
    --color-surface-muted: var(--miliki-cream-soft);
    --color-text: var(--miliki-ink);
    --color-text-on-dark: var(--miliki-white);
    --color-accent-gold: var(--miliki-gold);
    --color-border-warm: rgba(214, 179, 90, 0.28);

    /* Typography stacks */
    --font-display: Georgia, "Times New Roman", serif;
    --font-body: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

    /* Global premium section scale — GLOBAL-POLISH-002 */
    --miliki-section-x: clamp(1.25rem, 5vw, 5rem);
    --miliki-section-y: clamp(4rem, 8vw, 7rem);
    --miliki-section-y-compact: clamp(2.75rem, 6vw, 5rem);
    --miliki-surface-border: rgba(214, 179, 90, 0.22);
    --miliki-surface-border-strong: rgba(214, 179, 90, 0.36);
    --miliki-shadow-premium: 0 1.25rem 3rem rgba(33, 29, 26, 0.12);
    --miliki-shadow-dark: 0 1.5rem 4rem rgba(0, 0, 0, 0.28);
}

/* TICKET-001 — mobile horizontal overflow guard.
   Prevent root-level sideways dragging while preserving local scroll containers. */
html,
body {
    max-width: 100%;
    overflow-x: clip;
}

@supports not (overflow-x: clip) {
    html,
    body {
        overflow-x: hidden;
    }
}

/* FAQ bottom support area (custom bands) */
.faq-support-band {
    background:
        radial-gradient(circle at 12% 20%, rgba(224, 185, 91, 0.14), transparent 34%),
        var(--miliki-cream, #fff7ed);
    color: var(--miliki-black, #090806);
    padding-block: clamp(4rem, 8vw, 7rem);
}

.faq-support-band__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(18rem, 32rem);
    align-items: center;
    gap: clamp(2rem, 6vw, 6rem);
}

.faq-support-band__copy {
    max-width: 44rem;
}

.faq-support-band__copy h2,
.faq-contact-band__copy h2 {
    margin: 0;
    font-family: var(--miliki-display-font, inherit);
    font-size: clamp(2.4rem, 5vw, 5rem);
    line-height: 0.95;
    letter-spacing: -0.045em;
}

.faq-support-band__copy p:not(.miliki-eyebrow),
.faq-contact-band__copy p:not(.miliki-eyebrow) {
    max-width: 46rem;
    margin-top: 1.25rem;
    font-size: clamp(1rem, 1.2vw, 1.2rem);
    line-height: 1.65;
}

.faq-support-band__links {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.75rem;
}

.miliki-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.85rem;
    padding: 0.75rem 1.2rem;
    border: 1px solid rgba(9, 8, 6, 0.16);
    border-radius: 999px;
    background: rgba(255, 246, 239, 0.75);
    color: var(--miliki-black, #090806);
    font-weight: 850;
    text-decoration: none;
    transition:
        transform 180ms ease,
        background-color 180ms ease,
        border-color 180ms ease,
        color 180ms ease;
}

.miliki-chip--primary,
.miliki-chip:hover,
.miliki-chip:focus-visible {
    background: var(--miliki-gold, #e0b95b);
    border-color: var(--miliki-gold, #e0b95b);
    color: var(--miliki-black, #090806);
}

.miliki-chip:hover {
    transform: translateY(-2px);
}

.faq-contact-band {
    background:
        linear-gradient(135deg, rgba(9, 8, 6, 0.98), rgba(25, 18, 10, 0.98));
    color: var(--miliki-cream, #fff7ed);
    padding-block: clamp(4rem, 8vw, 7rem);
    border-top: 1px solid rgba(224, 185, 91, 0.26);
}

.faq-contact-band__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: clamp(2rem, 6vw, 6rem);
}

.faq-contact-band .miliki-eyebrow {
    color: var(--miliki-gold, #e0b95b);
}

.faq-contact-band__copy {
    max-width: 48rem;
}

.faq-contact-band__actions {
    display: grid;
    gap: 0.85rem;
    min-width: min(100%, 18rem);
}

.faq-contact-band .miliki-button {
    width: 100%;
    justify-content: center;
    white-space: nowrap;
}

.faq-contact-band .miliki-button--outline {
    border-color: rgba(255, 246, 239, 0.45);
    color: var(--miliki-cream, #fff7ed);
}

.faq-contact-band .miliki-button--outline:hover,
.faq-contact-band .miliki-button--outline:focus-visible {
    border-color: var(--miliki-gold, #e0b95b);
    color: var(--miliki-gold, #e0b95b);
}

.miliki-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.85rem;
    padding: 0.75rem 1.25rem;
    border-radius: 999px;
    border: 1px solid transparent;
    text-decoration: none;
    font-weight: 900;
}

.miliki-button--gold {
    background: var(--miliki-gold, #e0b95b);
    color: var(--miliki-black, #090806);
    border-color: var(--miliki-gold, #e0b95b);
}

.miliki-button--outline {
    background: transparent;
    border-color: rgba(255, 246, 239, 0.45);
    color: var(--miliki-cream, #fff7ed);
}

.miliki-button--primary {
    background: var(--miliki-gold, #e0b95b);
    color: var(--miliki-ink, #0d0906);
    border-color: var(--miliki-gold, #e0b95b);
}

.miliki-button--primary:hover,
.miliki-button--primary:focus-visible {
    background: var(--miliki-gold-light, #efcd73);
    border-color: var(--miliki-gold-light, #efcd73);
    color: var(--miliki-ink, #0d0906);
}

.miliki-button--secondary {
    background: var(--miliki-cream, #fff7ed);
    color: var(--miliki-ink, #0d0906);
    border-color: var(--miliki-cream, #fff7ed);
}

.miliki-button--secondary:hover,
.miliki-button--secondary:focus-visible {
    background: var(--miliki-white, #fffaf3);
    border-color: var(--miliki-white, #fffaf3);
    color: var(--miliki-ink, #0d0906);
}

.miliki-button--ghost-light {
    background: transparent;
    color: var(--miliki-cream, #fff7ed);
    border: 1px solid rgba(255, 247, 237, 0.42);
}

.miliki-button--ghost-light:hover,
.miliki-button--ghost-light:focus-visible {
    background: rgba(255, 247, 237, 0.12);
    border-color: rgba(255, 247, 237, 0.72);
    color: var(--miliki-cream, #fff7ed);
}

/* Visible keyboard focus for chips and buttons */
.miliki-chip:focus-visible,
.miliki-button:focus-visible {
    outline: 3px solid var(--miliki-color-focus, #005fcc);
    outline-offset: 3px;
}

/* Mobile */
@media (max-width: 780px) {
    .faq-support-band,
    .faq-contact-band {
        padding-block: 3.5rem;
    }

    .faq-support-band__inner,
    .faq-contact-band__inner {
        grid-template-columns: 1fr;
        gap: 1.75rem;
    }

    .faq-support-band__links {
        justify-content: flex-start;
    }

    .faq-contact-band__actions {
        width: 100%;
    }

    .miliki-chip {
        flex: 1 1 auto;
    }
}

/* Remove legacy card look for FAQs — ensure open bands take precedence */
.faq-next-card,
.faq-next-card *,
.faq-contact-card,
.faq-contact-card * {
    box-shadow: none !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
}


/* ========================================================================== 
   Miliki global premium surface system
   ========================================================================== */

.miliki-section,
.miliki-proof-section,
.miliki-editorial-section {
    position: relative;
    overflow: hidden;
}

.miliki-section__inner,
.miliki-proof-section__inner,
.miliki-editorial-section__inner {
    width: min(100%, 78rem);
    margin-inline: auto;
    padding: var(--miliki-section-y) var(--miliki-section-x);
}

.miliki-section__inner--compact {
    padding-block: var(--miliki-section-y-compact);
}

.miliki-section--light,
.miliki-section--cream,
.section--miliki-cream {
    background: var(--miliki-cream);
    color: var(--miliki-ink);
}

.miliki-section--warm {
    background: var(--miliki-cream-soft);
    color: var(--miliki-ink);
}

.miliki-section--dark,
.miliki-proof-section--dark,
.section--miliki-dark {
    background: var(--miliki-black);
    color: var(--miliki-cream);
}

.miliki-section--image {
    color: var(--miliki-cream);
}

.miliki-section--light :where(h1, h2, h3, h4, h5, h6, p, li, label, dt, dd, address, figcaption),
.miliki-section--dark :where(h1, h2, h3, h4, h5, h6, p, li, label, dt, dd, address, figcaption),
.miliki-section--image :where(h1, h2, h3, h4, h5, h6, p, li, label, dt, dd, address, figcaption) {
    color: inherit;
}

.miliki-section--light :where(.dish-card, .catering-dish-card, .catering-process-card, .catering-direct-contact, .homepage-cta-card, .homepage-fallback-card, .menu-hub-support-card, .faq-next-card, .reviews-next-card, .allergens-link-card, .allergens-notice-card),
.miliki-section--dark :where(.dish-card, .catering-dish-card, .catering-process-card, .catering-direct-contact, .homepage-cta-card, .homepage-fallback-card, .menu-hub-support-card, .faq-next-card, .reviews-next-card, .allergens-link-card, .allergens-notice-card),
.miliki-section--image :where(.dish-card, .catering-dish-card, .catering-process-card, .catering-direct-contact, .homepage-cta-card, .homepage-fallback-card, .menu-hub-support-card, .faq-next-card, .reviews-next-card, .allergens-link-card, .allergens-notice-card) {
    color: inherit;
}

.miliki-section--light a:not(.button) {
    color: var(--miliki-link, var(--miliki-bronze-text));
}

.miliki-section--light a:not(.button):hover,
.miliki-section--light a:not(.button):focus-visible {
    color: var(--miliki-link-hover, var(--miliki-bronze-text));
}

.miliki-section--dark a:not(.button),
.miliki-section--image a:not(.button) {
    color: var(--miliki-gold);
}

.miliki-section--dark a:not(.button):hover,
.miliki-section--dark a:not(.button):focus-visible,
.miliki-section--image a:not(.button):hover,
.miliki-section--image a:not(.button):focus-visible {
    color: var(--miliki-gold-light);
}

.miliki-section--gold,
.section--miliki-gold-panel {
    background: linear-gradient(180deg, var(--miliki-gold) 0%, #b98d32 100%);
    color: var(--miliki-action-text);
}

.miliki-section--editorial,
.miliki-editorial-section {
    background:
        radial-gradient(circle at 12% 8%, rgba(214, 179, 90, 0.16), transparent 30%),
        var(--miliki-cream);
    color: var(--miliki-ink);
}

.miliki-section--proof,
.miliki-proof-section {
    background:
        radial-gradient(circle at 88% 0%, rgba(214, 179, 90, 0.18), transparent 32%),
        linear-gradient(180deg, var(--miliki-charcoal) 0%, var(--miliki-black) 100%);
    color: var(--miliki-white);
}

.miliki-section__header {
    max-width: 58rem;
    margin-bottom: clamp(2rem, 4vw, 3.5rem);
}

.miliki-section__header--wide {
    max-width: 66rem;
}

.miliki-section__eyebrow,
.miliki-section-label,
.miliki-premium-label {
    margin: 0 0 1rem;
    color: var(--miliki-gold-deep);
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.22em;
    text-transform: uppercase;
}

.miliki-section--dark .miliki-section__eyebrow,
.miliki-section--proof .miliki-section__eyebrow,
.miliki-proof-section .miliki-section__eyebrow,
.miliki-section--dark .miliki-section-label,
.miliki-section--proof .miliki-section-label {
    color: var(--miliki-gold);
}

.miliki-section__title,
.miliki-premium-heading {
    max-width: 12ch;
    margin: 0 0 1.5rem;
    font-family: var(--font-display, Georgia, "Times New Roman", serif);
    font-size: clamp(3rem, 6vw, 6.75rem);
    font-weight: 400;
    line-height: 0.9;
    letter-spacing: -0.065em;
    text-wrap: balance;
}

.miliki-section--dark .miliki-section__title,
.miliki-section--proof .miliki-section__title,
.miliki-proof-section .miliki-section__title,
.miliki-section--dark .miliki-premium-heading,
.miliki-section--proof .miliki-premium-heading {
    color: var(--miliki-white);
}

.miliki-section__copy,
.miliki-premium-copy {
    max-width: 48rem;
    font-size: clamp(1rem, 1vw, 1.16rem);
    line-height: 1.75;
}

.miliki-section__copy > :first-child,
.miliki-premium-copy > :first-child {
    margin-top: 0;
}

.miliki-section__copy > :last-child,
.miliki-premium-copy > :last-child {
    margin-bottom: 0;
}

.miliki-section--dark .miliki-section__copy,
.miliki-section--proof .miliki-section__copy,
.miliki-proof-section .miliki-section__copy,
.miliki-section--dark .miliki-premium-copy,
.miliki-section--proof .miliki-premium-copy {
    color: rgba(255, 250, 243, 0.78);
}

.miliki-section__split,
.miliki-editorial-split {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    gap: clamp(2rem, 6vw, 6rem);
    align-items: center;
}

.miliki-section__split--reverse > :first-child,
.miliki-editorial-split--reverse > :first-child {
    order: 2;
}

.miliki-open-media,
.miliki-image-open {
    overflow: hidden;
    margin: 0;
    background: var(--miliki-charcoal);
    box-shadow: var(--miliki-shadow-premium);
}

.miliki-open-media img,
.miliki-image-open img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

.miliki-premium-card,
.miliki-proof-card,
.miliki-soft-card {
    border: 1px solid var(--miliki-surface-border);
    background: rgba(255, 250, 243, 0.84);
    box-shadow: var(--miliki-shadow-premium);
}

.miliki-premium-card,
.miliki-soft-card {
    border-radius: var(--miliki-radius-md);
    padding: clamp(1.25rem, 3vw, 2rem);
}

.miliki-proof-card {
    border-radius: 0;
    padding: clamp(1.5rem, 4vw, 2.5rem);
}

.miliki-section--dark .miliki-premium-card,
.miliki-section--proof .miliki-premium-card,
.miliki-proof-section .miliki-premium-card,
.miliki-section--dark .miliki-proof-card,
.miliki-section--proof .miliki-proof-card,
.miliki-proof-section .miliki-proof-card {
    border-color: rgba(214, 179, 90, 0.26);
    background: rgba(255, 250, 243, 0.06);
    box-shadow: var(--miliki-shadow-dark);
}

.miliki-cta-row,
.miliki-section__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.85rem;
    align-items: center;
}

.miliki-section__actions {
    margin-top: clamp(1.25rem, 2.5vw, 2rem);
}

.btn--primary,
.btn--miliki-gold,
.button--miliki-gold {
    background: var(--miliki-action-bg);
    border-color: var(--miliki-action-bg);
    color: var(--miliki-action-text) !important;
}

.btn--primary:hover,
.btn--primary:focus-visible,
.btn--miliki-gold:hover,
.btn--miliki-gold:focus-visible,
.button--miliki-gold:hover,
.button--miliki-gold:focus-visible {
    background: var(--miliki-action-bg-hover);
    border-color: var(--miliki-action-bg-hover);
    color: var(--miliki-action-text) !important;
}

.btn--miliki-outline-light,
.button--miliki-outline-light {
    background: transparent;
    border-color: rgba(255, 250, 243, 0.5);
    color: var(--miliki-white) !important;
}

.btn--miliki-outline-light:hover,
.btn--miliki-outline-light:focus-visible,
.button--miliki-outline-light:hover,
.button--miliki-outline-light:focus-visible {
    border-color: var(--miliki-gold);
    color: var(--miliki-gold) !important;
}

@media (max-width: 56.25rem) {
    .miliki-section__split,
    .miliki-editorial-split {
        grid-template-columns: 1fr;
    }

    .miliki-section__split--reverse > :first-child,
    .miliki-editorial-split--reverse > :first-child {
        order: initial;
    }
}

@media (max-width: 40rem) {
    .miliki-section__inner,
    .miliki-proof-section__inner,
    .miliki-editorial-section__inner {
        padding-block: clamp(3rem, 12vw, 4.5rem);
    }

    .miliki-section__title,
    .miliki-premium-heading {
        max-width: 10.5ch;
        font-size: clamp(2.65rem, 14vw, 4.75rem);
    }

    .miliki-cta-row,
    .miliki-section__actions {
        align-items: stretch;
        flex-direction: column;
    }

    .miliki-cta-row .button,
    .miliki-cta-row .btn,
    .miliki-section__actions .button,
    .miliki-section__actions .btn {
        width: 100%;
    }
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    font-size: 100%;
    -webkit-text-size-adjust: 100%;
    scroll-behavior: smooth;
}

body {
    margin: 0;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    line-height: 1.6;
    color: var(--miliki-color-text);
    background-color: var(--miliki-color-surface);
}

img,
video,
svg {
    display: block;
    max-width: 100%;
    height: auto;
}

a {
    color: var(--miliki-link);
    text-decoration-thickness: 0.08em;
    text-underline-offset: 0.18em;
}

a:hover,
a:focus-visible {
    color: var(--miliki-link-hover);
}

button,
input,
select,
textarea {
    font: inherit;
}

/* 2. Accessibility ----------------------------------------------------------- */

.skip-link {
    position: absolute;
    top: var(--miliki-space-3);
    left: var(--miliki-space-3);
    z-index: 100000;
    transform: translateY(-150%);
    border-radius: var(--miliki-radius-sm);
    background: #000000;
    color: #ffffff;
    padding: var(--miliki-space-2) var(--miliki-space-4);
    font-weight: 700;
    text-decoration: none;
    transition: transform 150ms ease;
}

.skip-link:focus,
.skip-link:focus-visible {
    transform: translateY(0);
    outline: 3px solid var(--miliki-color-focus);
    outline-offset: 3px;
}

.screen-reader-text {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    word-wrap: normal !important;
}

.screen-reader-text:focus {
    clip: auto !important;
    clip-path: none;
    display: block;
    width: auto;
    height: auto;
    top: 5px;
    left: 5px;
    z-index: 100000;
    padding: 15px 23px 14px;
    border-radius: 3px;
    background: #f1f1f1;
    box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
    font-size: 0.875rem;
    font-weight: 700;
    line-height: normal;
    text-decoration: none;
}

:focus-visible {
    outline: 3px solid var(--miliki-color-focus);
    outline-offset: 3px;
}

/* 3. Layout ------------------------------------------------------------------ */

.container,
.site-header__inner,
.site-footer__inner {
    width: min(100% - 2rem, var(--miliki-container));
    margin-inline: auto;
}

.site-main {
    min-height: 0;
    margin: 0;
    padding: 0;
    background: var(--miliki-cream, #fff7ed);
}

.site-main > *:first-child {
    margin-top: 0;
}

.site-main > *:last-child {
    margin-bottom: 0;
}

/* 4. Header and navigation --------------------------------------------------- */

.site-header {
    position: sticky;
    top: 0;
    z-index: 9000;
    background: transparent;
    border-bottom: 0;
    box-shadow: none;
}

body.has-desktop-menu-open .site-header {
    background: transparent;
    border-bottom-color: transparent;
    pointer-events: none;
}

body.has-desktop-menu-open .site-header__menu-trigger {
    pointer-events: auto;
}

.admin-bar .site-header {
    top: 32px;
}

.site-header__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--miliki-space-5);
    min-height: 4.75rem;
    padding-block: var(--miliki-space-3);
}

.site-header__brand {
    display: grid;
    gap: 0.1rem;
    min-width: 10rem;
}

.site-header__controls {
    display: flex;
    align-items: center;
    gap: var(--miliki-space-3);
}

.site-header__name,
.custom-logo-link {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    color: var(--miliki-color-text);
    font-size: clamp(1.15rem, 2vw, 1.45rem);
    font-weight: 800;
    letter-spacing: -0.02em;
    text-decoration: none;
}

.site-header__hours {
    margin: 0;
    color: var(--miliki-color-muted);
    font-size: 0.85rem;
}

.site-navigation {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.site-navigation__toggle {
    display: none;
    align-items: center;
    gap: var(--miliki-space-2);
    min-height: 2.75rem;
    border: 1px solid var(--miliki-color-border);
    border-radius: var(--miliki-radius-pill);
    background: var(--miliki-color-surface-strong);
    color: var(--miliki-color-text);
    padding: 0.55rem 0.9rem;
    cursor: pointer;
    font-weight: 700;
}

.site-navigation__toggle-icon,
.site-navigation__toggle-icon::before,
.site-navigation__toggle-icon::after {
    display: block;
    width: 1.05rem;
    height: 2px;
    border-radius: 999px;
    background: currentColor;
    content: '';
    transition: transform 160ms ease, opacity 160ms ease;
}

.site-navigation__toggle-icon {
    position: relative;
}

.site-navigation__toggle-icon::before,
.site-navigation__toggle-icon::after {
    position: absolute;
    left: 0;
}

.site-navigation__toggle-icon::before {
    top: -0.35rem;
}

.site-navigation__toggle-icon::after {
    top: 0.35rem;
}

.site-navigation__toggle[aria-expanded='true'] .site-navigation__toggle-icon {
    background: transparent;
}

.site-navigation__toggle[aria-expanded='true'] .site-navigation__toggle-icon::before {
    transform: translateY(0.35rem) rotate(45deg);
}

.site-navigation__toggle[aria-expanded='true'] .site-navigation__toggle-icon::after {
    transform: translateY(-0.35rem) rotate(-45deg);
}

.site-navigation__list {
    display: flex;
    align-items: center;
    gap: var(--miliki-space-2);
    list-style: none;
    margin: 0;
    padding: 0;
}

.site-navigation__link {
    display: inline-flex;
    align-items: center;
    min-height: 2.5rem;
    border-radius: var(--miliki-radius-pill);
    padding: 0.45rem 0.75rem;
    color: var(--miliki-color-text);
    font-size: 0.95rem;
    font-weight: 700;
    text-decoration: none;
}

.site-navigation__link:hover {
    background: rgba(214, 179, 90, 0.16);
    color: var(--miliki-link-hover);
}

.site-navigation__item--order .site-navigation__link {
    background: var(--miliki-action-bg);
    color: var(--miliki-action-text);
    padding-inline: 1rem;
}

.site-navigation__item--order .site-navigation__link:hover,
.site-navigation__item--order .site-navigation__link:focus-visible {
    background: var(--miliki-action-bg-hover);
    color: var(--miliki-action-text);
}

/* 5. Mobile CTA row ---------------------------------------------------------- */

.mobile-cta-row {
    display: none;
}

.mobile-cta-row__list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(4rem, 1fr));
    gap: var(--miliki-space-2);
    list-style: none;
    margin: 0;
    padding: var(--miliki-space-2);
}

.mobile-cta-row__link {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 2.75rem;
    border: 1px solid var(--miliki-color-border);
    border-radius: var(--miliki-radius-pill);
    background: #ffffff;
    color: var(--miliki-color-text);
    font-size: 0.85rem;
    font-weight: 800;
    text-align: center;
    text-decoration: none;
}

.mobile-cta-row__item--order .mobile-cta-row__link,
.mobile-cta-row__item--catering .mobile-cta-row__link {
    border-color: var(--miliki-action-bg);
    background: var(--miliki-action-bg);
    color: var(--miliki-action-text);
}

.mobile-cta-row__link:hover,
.mobile-cta-row__link:focus-visible {
    border-color: var(--miliki-link-hover);
    color: var(--miliki-link-hover);
}

.mobile-cta-row__item--order .mobile-cta-row__link:hover,
.mobile-cta-row__item--order .mobile-cta-row__link:focus-visible,
.mobile-cta-row__item--catering .mobile-cta-row__link:hover,
.mobile-cta-row__item--catering .mobile-cta-row__link:focus-visible {
    background: var(--miliki-action-bg-hover);
    color: var(--miliki-action-text);
}

/* 6. Footer ------------------------------------------------------------------ */

.site-footer {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    margin-top: 0;
    border-top: 1px solid rgba(224, 185, 91, 0.24);
    background: var(--miliki-black, #090806);
    color: var(--miliki-cream, #fff7ed);
    padding: clamp(2rem, 6vw, 4rem) 0 2rem;
}

.site-footer a,
.site-footer p,
.site-footer li,
.site-footer address {
    min-width: 0;
    overflow-wrap: anywhere;
    word-break: normal;
}

.site-footer a:hover {
    color: var(--miliki-gold-light);
}

.site-footer__inner {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(1.75rem, 3vw, var(--miliki-space-6));
    align-items: start;
}

@media (min-width: 75rem) {
    .site-footer__inner {
        grid-template-columns:
            minmax(0, 1.2fr)
            minmax(0, 1fr)
            repeat(3, minmax(0, 0.9fr))
            minmax(0, 0.95fr);
        column-gap: clamp(1.35rem, 2.4vw, 2.75rem);
        row-gap: var(--miliki-space-5);
    }

}

.site-footer__section {
    min-width: 0;
}

.site-footer__section--identity {
    order: 1;
}

.site-footer__section--hours {
    order: 2;
}

.site-footer__nav {
    order: 3;
}

.site-footer__section--delivery {
    order: 4;
}

.site-footer__bottom {
    order: 5;
}

.site-footer__brand-logo {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    max-width: 100%;
    margin-bottom: 1rem;
    border-radius: 999px;
    padding: 0.1rem;
    box-shadow: 0 0.85rem 2rem rgba(0, 0, 0, 0.18);
}

.site-footer__brand-logo:hover,
.site-footer__brand-logo:focus-visible {
    opacity: 0.9;
}

.site-footer__brand-logo:focus-visible {
    outline: 2px solid var(--miliki-gold, #e0b95b);
    outline-offset: 4px;
}

.site-footer__logo {
    display: block;
    width: auto;
    max-width: min(132px, 100%);
    max-height: 72px;
    object-fit: contain;
}

.site-footer__heading {
    margin: 0 0 var(--miliki-space-3);
    color: #ffffff;
    font-size: 1rem;
    line-height: 1.3;
}

.site-footer__address {
    margin: 0 0 var(--miliki-space-3);
    color: #f4dfcf;
    font-style: normal;
}

.site-footer__address-link {
    display: inline-block;
    width: fit-content;
    text-decoration: none;
}

.site-footer__address-link:hover .site-footer__address,
.site-footer__address-link:focus-visible .site-footer__address {
    color: var(--miliki-gold-light);
}

.site-footer__contact,
.site-footer__delivery-hours,
.site-footer__delivery-note {
    max-width: 100%;
    margin: 0 0 var(--miliki-space-2);
    color: #f4dfcf;
}

.site-footer__nav {
    grid-column: span 3;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(1.5rem, 2.5vw, var(--miliki-space-6));
    min-width: 0;
}

.site-footer__hours-list,
.site-footer__nav-list,
.site-footer__platform-list {
    display: grid;
    gap: var(--miliki-space-2);
    list-style: none;
    margin: 0;
    padding: 0;
}

.site-footer__hours-list {
    color: #f4dfcf;
    font-size: 0.92rem;
}

.site-footer__trail-layer {
    position: absolute;
    inset: 0;
    z-index: 1;
    overflow: hidden;
    pointer-events: none;
}

.site-footer__trail-image {
    position: absolute;
    left: 0;
    top: 0;
    width: clamp(90px, 9vw, 150px);
    aspect-ratio: 4 / 5;
    border-radius: 18px;
    object-fit: cover;
    opacity: 0;
    pointer-events: none;
    transform: translate(-50%, -50%) scale(0.82) rotate(var(--trail-rotate-start, -5deg));
    filter: saturate(0.92) contrast(1.05);
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.38);
    animation: milikiFooterTrail 900ms ease forwards;
    will-change: opacity, transform;
}

@keyframes milikiFooterTrail {
    0% {
        opacity: 0;
        transform: translate(-50%, -50%) scale(0.82) rotate(var(--trail-rotate-start, -5deg));
    }

    18% {
        opacity: 0.46;
    }

    100% {
        opacity: 0;
        transform: translate(-50%, -58%) scale(1.06) rotate(var(--trail-rotate-end, 4deg));
    }
}

@media (prefers-reduced-motion: reduce) {
    .site-footer__trail-layer,
    .site-footer__trail-image {
        display: none !important;
    }
}

/* =========================================================
   Footer social links
   ========================================================= */

.site-footer__social {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    margin-top: 1rem;
}

.site-footer__social-link {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    color: var(--miliki-cream, #fff7ed);
    font-size: 0.9rem;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    opacity: 0.82;
    transition:
        color 180ms ease,
        opacity 180ms ease,
        transform 180ms ease;
}

.site-footer.site-footer--dark .site-footer__social-link {
    color: var(--miliki-cream, #fff7ed);
}

.site-footer__social-link:hover,
.site-footer__social-link:focus-visible,
.site-footer.site-footer--dark .site-footer__social-link:hover,
.site-footer.site-footer--dark .site-footer__social-link:focus-visible {
    color: var(--miliki-gold, #e0b95b);
    opacity: 1;
    transform: translateY(-1px);
}

.site-footer__social-link:focus-visible {
    outline: 2px solid var(--miliki-gold, #e0b95b);
    outline-offset: 4px;
}

.site-footer__social-icon {
    display: inline-flex;
    width: 1.1rem;
    height: 1.1rem;
    flex: 0 0 auto;
}

.site-footer__social-icon svg {
    display: block;
    width: 100%;
    height: 100%;
    fill: currentColor;
}

.site-footer__social-text {
    white-space: nowrap;
}

@media (max-width: 640px) {
    .site-footer__social {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.8rem;
    }

    .site-footer__bottom {
        flex-direction: column;
        align-items: flex-start;
    }

    .site-footer__credit {
        text-align: left;
    }
}

.site-footer__bottom {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--miliki-space-3);
    margin: var(--miliki-space-4) 0 0;
    border-top: 1px solid rgba(255, 255, 255, 0.16);
    padding-top: var(--miliki-space-4);
}

.site-footer__copy,
.site-footer__credit {
    margin: 0;
    color: #d8c1b2;
    font-size: 0.9rem;
}

.site-footer__credit {
    text-align: right;
}

.site-footer__credit a {
    font-weight: 700;
}

/* 7. Responsive behavior ----------------------------------------------------- */

@media (max-width: 64rem) {
    .site-header__inner {
        align-items: start;
    }

    .site-navigation__list {
        flex-wrap: wrap;
        justify-content: flex-end;
    }

    .site-footer__inner {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .site-footer__nav {
        grid-column: 1 / -1;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 48rem) {
    body {
        padding-bottom: calc(4.35rem + env(safe-area-inset-bottom));
    }

    .admin-bar .site-header {
        top: 46px;
    }

    .site-header__inner {
        align-items: center;
        min-height: 4rem;
    }

    .site-header__hours {
        font-size: 0.78rem;
    }

    html.js .site-navigation__toggle {
        display: inline-flex;
    }

    .site-navigation {
        position: relative;
    }

    .site-navigation__list {
        position: absolute;
        top: calc(100% + var(--miliki-space-2));
        right: 0;
        display: grid;
        width: min(18rem, calc(100vw - 2rem));
        border: 1px solid var(--miliki-color-border);
        border-radius: var(--miliki-radius-md);
        background: #ffffff;
        box-shadow: var(--miliki-shadow-soft);
        padding: var(--miliki-space-2);
    }

    html.js .site-navigation__list {
        display: none;
    }

    html.js .site-navigation.is-open .site-navigation__list {
        display: grid;
    }

    .site-navigation__link {
        justify-content: space-between;
        width: 100%;
        border-radius: var(--miliki-radius-sm);
        padding: 0.65rem 0.75rem;
    }

    .mobile-cta-row {
        position: fixed;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 999;
        display: block;
        overflow: hidden;
        border-top: 1px solid var(--miliki-color-border);
        background: rgba(255, 250, 246, 0.98);
        box-shadow: 0 -0.5rem 1.5rem rgba(31, 23, 18, 0.08);
    }

    .mobile-cta-row__list {
        display: flex;
        gap: var(--miliki-space-2);
        overflow-x: auto;
        overscroll-behavior-x: contain;
        list-style: none;
        margin: 0;
        max-width: 100%;
        padding: 0.625rem 0.75rem calc(0.625rem + env(safe-area-inset-bottom));
        white-space: nowrap;
        -webkit-overflow-scrolling: touch;
    }

    .mobile-cta-row__item {
        flex: 0 0 auto;
    }

    .mobile-cta-row__link {
        box-sizing: border-box;
        flex: 0 0 auto;
        min-width: max-content;
        max-width: none;
        min-height: 2.75rem;
        padding: 0.75rem 1rem;
        font-size: clamp(0.875rem, 3.4vw, 1rem);
        line-height: 1;
        white-space: nowrap;
    }

    .site-footer__inner {
        grid-template-columns: 1fr;
        gap: var(--miliki-space-5);
    }

    .site-footer__nav {
        grid-column: auto;
        grid-template-columns: 1fr;
        gap: var(--miliki-space-5);
    }
}

@media (max-width: 24rem) {
    .site-header__name,
    .custom-logo-link {
        font-size: 1rem;
    }

    .mobile-cta-row__list {
        gap: 0.375rem;
        padding-inline: 0.5rem;
    }

    .mobile-cta-row__link {
        min-height: 2.75rem;
        padding-inline: 0.875rem;
    }
}

/* 8. Shared restaurant components ------------------------------------------ */

.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.75rem;
    border: 1px solid transparent;
    border-radius: var(--miliki-radius-pill);
    padding: 0.65rem 1rem;
    font-weight: 800;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
}

.button--primary {
    border-color: var(--miliki-action-bg);
    background: var(--miliki-action-bg);
    color: var(--miliki-action-text);
}

.button--primary:hover,
.button--primary:focus-visible {
    border-color: var(--miliki-action-bg-hover);
    background: var(--miliki-action-bg-hover);
    color: var(--miliki-action-text);
}

.button--secondary {
    border-color: var(--miliki-color-border);
    background: #ffffff;
    color: var(--miliki-color-text);
}

.button--secondary:hover {
    border-color: var(--miliki-link);
    color: var(--miliki-link);
}

.page-hero {
    padding: clamp(2rem, 6vw, 5rem) 0;
    background: linear-gradient(135deg, #fff6ee 0%, #fffaf6 65%);
}

.page-hero__inner {
    max-width: 56rem;
    margin-inline: auto;
}

.page-hero__eyebrow {
    margin: 0 0 var(--miliki-space-3);
    color: var(--miliki-link);
    font-size: 0.85rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.page-hero__title {
    margin: 0;
    max-width: 13ch;
    color: var(--miliki-color-text);
    font-size: clamp(2.25rem, 7vw, 4.75rem);
    line-height: 0.98;
    letter-spacing: -0.055em;
}

.page-hero__intro {
    max-width: 42rem;
    margin: var(--miliki-space-4) 0 0;
    color: var(--miliki-color-muted);
    font-size: clamp(1.05rem, 2vw, 1.25rem);
}

.page-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--miliki-space-3);
    margin-top: var(--miliki-space-5);
}

.dish-card {
    display: grid;
    overflow: hidden;
    border: 1px solid var(--miliki-color-border);
    border-radius: var(--miliki-radius-md);
    background: #ffffff;
    box-shadow: 0 0.5rem 1.5rem rgba(31, 23, 18, 0.05);
}

.dish-card__media {
    display: block;
    overflow: hidden;
    background: #f4ebe4;
    color: inherit;
    text-decoration: none;
}

.dish-card__image {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

.dish-card__body {
    display: grid;
    gap: var(--miliki-space-3);
    padding: var(--miliki-space-4);
}

.dish-card__header {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--miliki-space-3);
}

.dish-card__title {
    margin: 0;
    font-size: 1.1rem;
    line-height: 1.25;
}

.dish-card__title a {
    text-decoration: none;
}

.dish-card__price {
    margin: 0;
    color: var(--miliki-link);
    font-weight: 900;
    white-space: nowrap;
}

.dish-card__excerpt,
.dish-card__meta {
    margin: 0;
    color: var(--miliki-color-muted);
    font-size: 0.95rem;
}

.dish-card__meta {
    font-weight: 700;
}

.dish-card__cta {
    width: fit-content;
    color: var(--miliki-link);
    font-weight: 800;
}

.dish-card--unavailable {
    opacity: 0.72;
}

.location-panel {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(16rem, 0.9fr);
    gap: var(--miliki-space-6);
    border: 1px solid var(--miliki-color-border);
    border-radius: var(--miliki-radius-md);
    background: #ffffff;
    padding: clamp(1rem, 3vw, 2rem);
    box-shadow: var(--miliki-shadow-soft);
}

.location-panel__title {
    margin: 0 0 var(--miliki-space-3);
    font-size: clamp(1.4rem, 3vw, 2rem);
    line-height: 1.15;
}

.location-panel__address {
    margin: 0 0 var(--miliki-space-4);
    color: var(--miliki-color-muted);
    font-style: normal;
}

.location-panel__actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--miliki-space-3);
    margin-bottom: var(--miliki-space-3);
}

.location-panel__email,
.location-panel__hours p,
.location-panel__note {
    margin: 0;
    color: var(--miliki-color-muted);
}

.location-panel__subtitle {
    margin: 0 0 var(--miliki-space-2);
    font-size: 1rem;
}

.location-panel__hours-list {
    display: grid;
    gap: var(--miliki-space-1);
    margin: 0 0 var(--miliki-space-4);
    padding: 0;
    list-style: none;
    color: var(--miliki-color-muted);
    font-size: 0.95rem;
}

.breadcrumbs {
    margin: 0 0 var(--miliki-space-4);
    color: var(--miliki-color-muted);
    font-size: 0.9rem;
}

.breadcrumbs__list {
    display: flex;
    flex-wrap: wrap;
    gap: var(--miliki-space-2);
    align-items: center;
    margin: 0;
    padding: 0;
    list-style: none;
}

.breadcrumbs__item:not(:last-child)::after {
    content: '/';
    margin-left: var(--miliki-space-2);
    color: #a69386;
}

.breadcrumbs a {
    color: var(--miliki-link);
    font-weight: 700;
}

.faq-accordion {
    display: grid;
    gap: var(--miliki-space-3);
}

.faq-accordion__item {
    border: 1px solid var(--miliki-color-border);
    border-radius: var(--miliki-radius-md);
    background: #ffffff;
    padding: var(--miliki-space-4);
}

.faq-accordion__question {
    cursor: pointer;
    color: var(--miliki-color-text);
    font-weight: 900;
}

.faq-accordion__question::marker {
    color: var(--miliki-gold-deep);
}

.faq-accordion__answer {
    margin-top: var(--miliki-space-3);
    color: var(--miliki-color-muted);
}

.faq-accordion__answer > :first-child {
    margin-top: 0;
}

.faq-accordion__answer > :last-child {
    margin-bottom: 0;
}

.review-card {
    margin: 0;
    border: 1px solid var(--miliki-color-border);
    border-radius: var(--miliki-radius-md);
    background: #ffffff;
    padding: clamp(1rem, 3vw, 1.5rem);
    box-shadow: 0 0.5rem 1.5rem rgba(31, 23, 18, 0.05);
}

.review-card__quote p {
    margin: 0;
    color: var(--miliki-color-text);
    font-size: 1.05rem;
    line-height: 1.65;
}

.review-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: var(--miliki-space-2);
    align-items: center;
    margin-top: var(--miliki-space-4);
    color: var(--miliki-color-muted);
    font-size: 0.95rem;
}

.review-card__name {
    color: var(--miliki-color-text);
    font-weight: 900;
}

.review-card__source::before {
    content: '·';
    margin-right: var(--miliki-space-2);
    color: #a69386;
}

@media (max-width: 48rem) {
    .page-hero__actions,
    .location-panel__actions {
        align-items: stretch;
        flex-direction: column;
    }

    .page-hero__actions .button,
    .location-panel__actions .button {
        width: 100%;
    }

    .dish-card__header {
        display: grid;
    }

    .location-panel {
        grid-template-columns: 1fr;
    }
}

/* 9. Homepage --------------------------------------------------------------- */

.home .site-main {
    padding-top: 0;
}

.home .page-hero__title {
    max-width: 18ch;
}

.homepage-section {
    padding: clamp(2.5rem, 6vw, 5rem) 0;
}

.homepage-section:nth-of-type(even) {
    background: #ffffff;
}

.homepage-section__header {
    max-width: 46rem;
    margin-bottom: var(--miliki-space-6);
}

.homepage-section__eyebrow {
    margin: 0 0 var(--miliki-space-2);
    color: var(--miliki-link);
    font-size: 0.82rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.homepage-section h2,
.homepage-final-cta h2 {
    margin: 0;
    color: var(--miliki-color-text);
    font-size: clamp(1.75rem, 4vw, 3rem);
    line-height: 1.05;
    letter-spacing: -0.035em;
}

.homepage-section__header p:not(.homepage-section__eyebrow),
.homepage-split p,
.homepage-cta-card p,
.homepage-fallback-card p {
    color: var(--miliki-color-muted);
    font-size: 1.03rem;
}

.homepage-section__action {
    margin: var(--miliki-space-5) 0 0;
}

.homepage-dish-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--miliki-space-4);
}

.homepage-menu-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--miliki-space-3);
}

.homepage-menu-card {
    display: grid;
    gap: var(--miliki-space-2);
    min-height: 7rem;
    border: 1px solid var(--miliki-color-border);
    border-radius: var(--miliki-radius-md);
    background: #ffffff;
    padding: var(--miliki-space-4);
    text-decoration: none;
    box-shadow: 0 0.35rem 1rem rgba(31, 23, 18, 0.04);
}

.homepage-menu-card:hover {
    border-color: var(--miliki-gold-deep);
    color: var(--miliki-link);
}

.homepage-menu-card__title {
    font-size: 1.1rem;
    font-weight: 900;
    line-height: 1.2;
}

.homepage-menu-card__count {
    align-self: end;
    color: var(--miliki-color-muted);
    font-size: 0.92rem;
}

.homepage-split {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(18rem, 0.85fr);
    gap: clamp(1.5rem, 5vw, 4rem);
    align-items: center;
}

.homepage-split--reverse {
    grid-template-columns: minmax(18rem, 0.85fr) minmax(0, 1.15fr);
}

.homepage-split--reverse > :first-child {
    order: 2;
}

.homepage-cta-card,
.homepage-fallback-card {
    border: 1px solid var(--miliki-color-border);
    border-radius: var(--miliki-radius-md);
    background: #ffffff;
    padding: clamp(1rem, 3vw, 1.5rem);
    box-shadow: var(--miliki-shadow-soft);
}

.homepage-section--catering {
    background: linear-gradient(135deg, var(--miliki-charcoal, #14100b) 0%, var(--miliki-black, #050403) 100%);
    color: #fff8f0;
}

.homepage-section--catering .homepage-section__eyebrow,
.homepage-section--catering h2,
.homepage-section--catering p {
    color: inherit;
}

.homepage-section--catering .homepage-cta-card {
    border-color: rgba(255, 255, 255, 0.18);
    background: rgba(255, 255, 255, 0.08);
    color: #fff8f0;
}

.homepage-section--visit .location-panel {
    margin-top: var(--miliki-space-4);
}

.homepage-final-cta {
    padding: clamp(2.5rem, 6vw, 4rem) 0;
    background: #ffffff;
}

.homepage-final-cta__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--miliki-space-5);
    border: 1px solid var(--miliki-color-border);
    border-radius: var(--miliki-radius-md);
    background: var(--miliki-color-surface);
    padding: clamp(1rem, 4vw, 2rem);
}

.homepage-final-cta__actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--miliki-space-3);
    justify-content: flex-end;
}

@media (max-width: 64rem) {
    .homepage-dish-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .homepage-menu-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .homepage-split,
    .homepage-split--reverse {
        grid-template-columns: 1fr;
    }

    .homepage-split--reverse > :first-child {
        order: 0;
    }

    .homepage-final-cta__inner {
        align-items: flex-start;
        flex-direction: column;
    }

    .homepage-final-cta__actions {
        justify-content: flex-start;
    }
}

@media (max-width: 48rem) {
    .homepage-final-cta__actions {
        align-items: stretch;
        flex-direction: column;
    }

    .homepage-final-cta__actions .button {
        width: 100%;
    }

    .homepage-dish-grid,
    .homepage-menu-grid {
        grid-template-columns: 1fr;
    }
}



/* 9a. Homepage visit hero --------------------------------------------------- */

.home-visit-hero {
    position: relative;
    isolation: isolate;
    display: flex;
    align-items: flex-end;
    min-height: 100vh;
    min-height: 100svh;
    overflow: hidden;
    background: var(--miliki-ink, #0d0906);
    color: var(--miliki-cream, #fff7ed);
}

.home-visit-hero__bg {
    position: absolute;
    inset: 0;
    z-index: -3;
    background-image: url("../milikispot store front.jpg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    transform: scale(1.02);
}

.home-visit-hero__scrim {
    position: absolute;
    inset: 0;
    z-index: -2;
    background:
        linear-gradient(
            90deg,
            rgba(8, 5, 3, 0.86) 0%,
            rgba(8, 5, 3, 0.68) 38%,
            rgba(8, 5, 3, 0.32) 72%,
            rgba(8, 5, 3, 0.48) 100%
        ),
        linear-gradient(
            0deg,
            rgba(8, 5, 3, 0.88) 0%,
            rgba(8, 5, 3, 0.2) 58%,
            rgba(8, 5, 3, 0.5) 100%
        );
}

.home-visit-hero__inner {
    width: min(100%, 78rem);
    margin-inline: auto;
    padding: clamp(6rem, 9vw, 8rem) clamp(1.25rem, 4vw, 3rem) clamp(3rem, 7vw, 5rem);
}

.home-visit-hero__content {
    max-width: 72rem;
}

.home-visit-hero .miliki-eyebrow {
    margin: 0 0 0.9rem;
    color: var(--miliki-gold, #e0b95b);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.22em;
    text-transform: uppercase;
}

.home-visit-hero__heading {
    max-width: 58rem;
    margin: 0;
    color: var(--miliki-cream, #fff7ed);
    font-family: var(--miliki-display-font, var(--font-display, Georgia, "Times New Roman", serif));
    font-size: clamp(3rem, 7vw, 7.25rem);
    line-height: 0.92;
    letter-spacing: -0.055em;
    text-wrap: balance;
}

.home-visit-hero__intro {
    max-width: 42rem;
    margin: 1.25rem 0 0;
    color: rgba(255, 247, 237, 0.86);
    font-size: clamp(1rem, 1.3vw, 1.2rem);
    line-height: 1.65;
}

.home-visit-hero__details {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(20rem, 0.75fr);
    align-items: start;
    gap: clamp(1.5rem, 4vw, 4rem);
    margin-top: clamp(2rem, 4vw, 3.5rem);
}

.home-visit-hero__details h3 {
    margin: 0 0 0.65rem;
    color: var(--miliki-cream, #fff7ed);
    font-size: clamp(1.2rem, 2vw, 1.7rem);
    line-height: 1;
}

.home-visit-hero__details address,
.home-visit-hero__details p,
.home-visit-hero__details li {
    color: rgba(255, 247, 237, 0.84);
    font-style: normal;
    line-height: 1.6;
}

.home-visit-hero__phone,
.home-visit-hero__email {
    display: grid;
    gap: 0.2rem;
    margin: 1rem 0 0;
}

.home-visit-hero__phone span,
.home-visit-hero__email span {
    color: rgba(255, 247, 237, 0.64);
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.home-visit-hero__phone a,
.home-visit-hero__email a {
    color: var(--miliki-gold, #e0b95b);
    text-decoration-thickness: 0.08em;
    text-underline-offset: 0.22em;
    overflow-wrap: anywhere;
}

.home-visit-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
    margin-top: 1.25rem;
}

.home-visit-hero__map {
    width: min(100%, 34rem);
    margin-top: 1.25rem;
    overflow: hidden;
    border: 1px solid rgba(224, 185, 91, 0.28);
    background: rgba(255, 247, 237, 0.08);
}

.home-visit-hero__map iframe {
    display: block;
    width: 100%;
    height: clamp(12rem, 24vw, 17.5rem);
    filter: grayscale(0.2) contrast(1.05) saturate(0.9);
}

.home-visit-hero__hours {
    padding: clamp(1.35rem, 2.4vw, 2rem);
    border: 1px solid rgba(224, 185, 91, 0.24);
    background: rgba(8, 5, 3, 0.46);
    box-shadow: 0 2rem 5rem rgba(0, 0, 0, 0.28);
    backdrop-filter: blur(16px);
}

.home-visit-hero__hours ul {
    display: grid;
    gap: 0.45rem;
    margin: 0 0 1.35rem;
    padding: 0;
    list-style: none;
}

.home-visit-hero__hours li {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    border-bottom: 1px solid rgba(224, 185, 91, 0.16);
    padding-bottom: 0.42rem;
}

.home-visit-hero__hours li span:first-child {
    color: rgba(255, 247, 237, 0.72);
}

.home-visit-hero__hours p {
    margin: 0.35rem 0 0;
}

.home-visit-hero__hours .miliki-button {
    margin-top: 1rem;
}

@media (max-width: 767px) {
    .home-visit-hero {
        align-items: flex-start;
        min-height: 100svh;
    }

    .home-visit-hero__bg {
        background-position: center;
    }

    .home-visit-hero__scrim {
        background:
            linear-gradient(
                0deg,
                rgba(8, 5, 3, 0.92) 0%,
                rgba(8, 5, 3, 0.72) 48%,
                rgba(8, 5, 3, 0.58) 100%
            );
    }

    .home-visit-hero__inner {
        padding: clamp(5rem, 20vw, 7rem) 1rem 3rem;
    }

    .home-visit-hero__heading {
        font-size: clamp(3rem, 15vw, 4.8rem);
        line-height: 0.94;
    }

    .home-visit-hero__intro {
        font-size: 1rem;
    }

    .home-visit-hero__details {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }

    .home-visit-hero__map {
        width: 100%;
    }

    .home-visit-hero__map iframe {
        height: 13rem;
    }

    .home-visit-hero__hours {
        padding: 1.2rem;
        backdrop-filter: blur(10px);
    }

    .home-visit-hero__hours li {
        display: grid;
        gap: 0.1rem;
    }
}

@media (min-width: 768px) and (max-height: 920px) {
    .home-visit-hero__inner {
        padding-top: clamp(4.25rem, 7vh, 5.5rem);
        padding-bottom: clamp(1.75rem, 4vh, 2.75rem);
    }

    .home-visit-hero__heading {
        font-size: clamp(3rem, 5.45vw, 5.15rem);
    }

    .home-visit-hero__intro {
        margin-top: 1rem;
        font-size: clamp(1rem, 1.15vw, 1.08rem);
        line-height: 1.55;
    }

    .home-visit-hero__details {
        gap: clamp(1.25rem, 3vw, 3rem);
        margin-top: clamp(1.25rem, 3vh, 2rem);
    }

    .home-visit-hero__details h3 {
        font-size: clamp(1.05rem, 1.55vw, 1.35rem);
    }

    .home-visit-hero__details address,
    .home-visit-hero__details p,
    .home-visit-hero__details li {
        font-size: 0.94rem;
        line-height: 1.42;
    }

    .home-visit-hero__map iframe {
        height: clamp(9.5rem, 19vh, 11.5rem);
    }

    .home-visit-hero__hours {
        padding: clamp(1rem, 1.8vw, 1.35rem);
    }

    .home-visit-hero__hours ul {
        gap: 0.26rem;
        margin-bottom: 1rem;
    }

    .home-visit-hero__hours li {
        padding-bottom: 0.26rem;
    }
}

/* 9a. Homepage about editorial --------------------------------------------- */

.home-about-editorial {
    background:
        radial-gradient(circle at 15% 25%, rgba(224, 185, 91, 0.14), transparent 34rem),
        var(--miliki-cream, #fff7ed);
    color: var(--miliki-ink, #17110d);
    padding: clamp(5rem, 10vw, 9rem) clamp(1.25rem, 5vw, 5rem);
}

.home-about-editorial__inner {
    display: grid;
    gap: clamp(2.75rem, 6vw, 5rem);
    width: min(100%, 72rem);
    margin-inline: auto;
}

.home-about-editorial__media {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: end;
    gap: clamp(0.75rem, 1.6vw, 1.25rem);
    width: min(100%, 42rem);
    margin-inline: auto;
}

.home-about-editorial__figure {
    margin: 0;
    overflow: hidden;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.home-about-editorial__figure img {
    display: block;
    width: 100%;
    height: clamp(22rem, 42vw, 38rem);
    border: 0;
    border-radius: 0;
    object-fit: cover;
    box-shadow: none;
}

.home-about-editorial__figure--right {
    transform: translateY(clamp(1rem, 3vw, 2.5rem));
}

.home-about-editorial__content {
    width: min(100%, 44rem);
    margin-inline: auto;
}

.home-about-editorial .miliki-eyebrow {
    margin: 0 0 0.9rem;
    color: var(--miliki-gold, #e0b95b);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.22em;
    text-transform: uppercase;
}

.home-about-editorial__heading {
    margin: 0;
    color: var(--miliki-ink, #17110d);
    font-family: var(--miliki-display-font, var(--font-display, Georgia, "Times New Roman", serif));
    font-size: clamp(2.6rem, 5.6vw, 5.25rem);
    line-height: 0.95;
    letter-spacing: -0.045em;
    text-wrap: balance;
}

.home-about-editorial__copy {
    max-width: 42rem;
    margin: 1.15rem 0 0;
    color: rgba(23, 17, 13, 0.76);
    font-size: clamp(1rem, 1.25vw, 1.15rem);
    line-height: 1.7;
}

.home-about-editorial .miliki-button {
    margin-top: 1.75rem;
}

@media (max-width: 767px) {
    .home-about-editorial {
        padding: clamp(3.5rem, 14vw, 5rem) 1rem;
    }

    .home-about-editorial__inner {
        gap: 2.5rem;
    }

    .home-about-editorial__media {
        grid-template-columns: 1fr 1fr;
        gap: 0.65rem;
        width: 100%;
    }

    .home-about-editorial__figure img {
        height: clamp(13rem, 52vw, 18rem);
    }

    .home-about-editorial__figure--right {
        transform: translateY(1.25rem);
    }

    .home-about-editorial__content {
        padding-top: 0.75rem;
    }

    .home-about-editorial__heading {
        font-size: clamp(2.45rem, 12vw, 4rem);
        line-height: 0.95;
    }

    .home-about-editorial__copy {
        font-size: 1rem;
        line-height: 1.65;
    }
}

@media (max-width: 340px) {
    .home-about-editorial__media {
        gap: 0.5rem;
    }

    .home-about-editorial__figure img {
        height: 11.5rem;
    }
}

/* 9b. Home menu showcase ---------------------------------------------------- */

.home-menu-showcase {
    position: relative;
    background:
        radial-gradient(circle at 75% 15%, rgba(224, 185, 91, 0.22), transparent 34rem),
        linear-gradient(180deg, #f6ead9 0%, #efe0ca 100%);
    color: #1f1712;
    padding: clamp(4rem, 8vw, 7rem) clamp(1rem, 4vw, 3rem);
    overflow: clip;
}

.home-menu-showcase__inner {
    width: min(100%, 96rem);
    margin-inline: auto;
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(23rem, 1fr);
    gap: clamp(2rem, 4vw, 4.5rem);
    align-items: start;
}

.home-menu-showcase__menu {
    min-width: 0;
}

.section-kicker {
    margin: 0 0 0.85rem;
    color: var(--miliki-bronze-text, #7a5706);
    font-size: 0.82rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.home-menu-showcase__menu h2 {
    font-family: var(--font-display, Georgia, serif);
    font-size: clamp(3.5rem, 8vw, 8.5rem);
    line-height: 0.86;
    letter-spacing: -0.055em;
    max-width: 8ch;
    margin: 0 0 clamp(2rem, 4vw, 3rem);
    color: #1f1712;
}

.home-menu-showcase__intro {
    max-width: 42rem;
    font-size: clamp(1rem, 1.1vw, 1.25rem);
    line-height: 1.65;
    color: rgba(31, 23, 18, 0.74);
    margin-bottom: clamp(2.5rem, 5vw, 4rem);
}

.home-menu-group {
    padding-block: clamp(2rem, 4vw, 3.25rem);
    border-top: 1px solid rgba(31, 23, 18, 0.14);
    opacity: 1;
    transform: translateY(0);
    transition:
        opacity 260ms ease,
        transform 260ms ease,
        border-color 260ms ease;
}

.home-menu-showcase--js-ready .home-menu-group {
    opacity: 0.78;
}

.home-menu-showcase--js-ready .home-menu-group.is-active {
    opacity: 1;
    transform: translateY(-0.18rem);
    border-top-color: rgba(155, 117, 38, 0.42);
}

.home-menu-group__heading {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1.25rem;
    margin-bottom: 1.25rem;
}

.home-menu-group__heading h3 {
    font-family: var(--font-display, Georgia, serif);
    font-size: clamp(2rem, 4vw, 4rem);
    line-height: 0.95;
    color: #1f1712;
    margin: 0;
    transition: color 260ms ease;
}

.home-menu-showcase--js-ready .home-menu-group.is-active .home-menu-group__heading h3 {
    color: var(--miliki-bronze-text, #7a5706);
}

.home-menu-group__heading a {
    color: var(--miliki-bronze-text, #7a5706);
    font-weight: 800;
    text-decoration-thickness: 0.08em;
    text-underline-offset: 0.22em;
    white-space: nowrap;
}

.home-menu-group__heading a:hover {
    color: var(--miliki-gold-deep, #9b7526);
}

.home-menu-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.home-menu-item a {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1.5rem;
    align-items: baseline;
    padding-block: 1.2rem;
    border-top: 1px solid rgba(31, 23, 18, 0.12);
    color: inherit;
    text-decoration: none;
}

.home-menu-item a:hover {
    color: var(--miliki-bronze-text, #7a5706);
}

.home-menu-item a:focus-visible {
    outline: 2px solid var(--miliki-gold, #e0b95b);
    outline-offset: 3px;
    border-radius: 2px;
}

.home-menu-item strong {
    display: block;
    font-size: clamp(1.05rem, 1.4vw, 1.35rem);
    line-height: 1.2;
    color: #1f1712;
}

.home-menu-item em {
    display: block;
    margin-top: 0.35rem;
    font-style: normal;
    line-height: 1.5;
    color: rgba(31, 23, 18, 0.68);
    font-size: clamp(0.88rem, 1vw, 1.02rem);
}

.home-menu-item b {
    font-family: var(--font-display, Georgia, serif);
    font-size: clamp(1.25rem, 2.1vw, 2rem);
    color: var(--miliki-bronze-text, #7a5706);
    white-space: nowrap;
    font-weight: normal;
}

.home-menu-showcase__cta {
    margin-top: clamp(2rem, 4vw, 3rem);
    padding-top: clamp(2rem, 4vw, 3rem);
    border-top: 1px solid rgba(31, 23, 18, 0.14);
}

.home-menu-showcase__visual {
    position: sticky;
    top: clamp(5.5rem, 8vh, 8rem);
    align-self: start;
    width: 100%;
    height: calc(100vh - clamp(7rem, 10vh, 9rem));
    min-height: 34rem;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-inline: clamp(0.75rem, 2.4vw, 2.5rem);
}

.home-menu-showcase__image-stack {
    --home-menu-showcase-frame-pad: clamp(0.85rem, 1.5vw, 1.25rem);

    position: relative;
    width: min(100%, 40rem);
    height: min(76vh, 46rem);
    margin-inline: auto;
    border-radius: clamp(1.5rem, 3vw, 2.5rem);
    overflow: hidden;
    background:
        linear-gradient(145deg, rgba(255, 248, 239, 0.76), rgba(239, 224, 202, 0.42)),
        rgba(255, 248, 239, 0.42);
    box-shadow: 0 2rem 5rem rgba(55, 31, 12, 0.18);
    isolation: isolate;
}

.home-menu-showcase__image-stack img {
    position: absolute;
    inset: var(--home-menu-showcase-frame-pad);
    width: calc(100% - var(--home-menu-showcase-frame-pad) - var(--home-menu-showcase-frame-pad));
    height: calc(100% - var(--home-menu-showcase-frame-pad) - var(--home-menu-showcase-frame-pad));
    object-fit: cover;
    object-position: center center;
    display: block;
    border-radius: calc(clamp(1.5rem, 3vw, 2.5rem) - 0.55rem);
    transform-origin: 50% 50%;
    will-change: opacity, transform;
}

.home-menu-showcase__image--current {
    z-index: 1;
}

.home-menu-showcase__image--incoming {
    z-index: 2;
    pointer-events: none;
}

@media (max-width: 56.25rem) {
    .home-menu-showcase__inner {
        display: block;
    }

    .home-menu-showcase__visual {
        position: relative;
        top: auto;
        height: auto;
        min-height: 0;
        padding-inline: 0;
    }

    .home-menu-showcase__image-stack {
        aspect-ratio: 16 / 11;
        height: auto;
        margin-bottom: 2rem;
        width: min(100%, 42rem);
    }

    .home-menu-showcase__menu h2 {
        font-size: clamp(3rem, 16vw, 5.5rem);
        max-width: 9ch;
    }

    .home-menu-group__heading {
        align-items: flex-start;
    }

    .home-menu-item a {
        grid-template-columns: 1fr;
        gap: 0.4rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .home-menu-group {
        transition: none;
    }

    .home-menu-showcase__image-stack img {
        will-change: auto;
    }
}

/* 10. Menu hub -------------------------------------------------------------- */

.page-template-page-menu .site-main,
.page-id-14 .site-main {
    padding-top: var(--miliki-space-4);
}

.menu-hub-section {
    padding: clamp(2.5rem, 6vw, 5rem) 0;
}

.menu-hub-section:nth-of-type(even) {
    background: #ffffff;
}

.menu-hub-section__header {
    max-width: 48rem;
    margin-bottom: var(--miliki-space-6);
}

.menu-hub-section__eyebrow {
    margin: 0 0 var(--miliki-space-2);
    color: var(--miliki-link);
    font-size: 0.82rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.menu-hub-section h2,
.menu-hub-final-cta h2 {
    margin: 0;
    color: var(--miliki-color-text);
    font-size: clamp(1.75rem, 4vw, 3rem);
    line-height: 1.05;
    letter-spacing: -0.035em;
}

.menu-hub-section__header p:not(.menu-hub-section__eyebrow),
.menu-preview__header p,
.menu-hub-support-card p,
.menu-hub-final-cta p,
.menu-hub-fallback p {
    color: var(--miliki-color-muted);
    font-size: 1.03rem;
}

.menu-section-nav__list {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: var(--miliki-space-3);
    margin: 0;
    padding: 0;
    list-style: none;
}

.menu-section-nav__link {
    display: grid;
    gap: var(--miliki-space-2);
    min-height: 6.5rem;
    border: 1px solid var(--miliki-color-border);
    border-radius: var(--miliki-radius-md);
    background: #ffffff;
    padding: var(--miliki-space-4);
    font-weight: 900;
    text-decoration: none;
    box-shadow: 0 0.35rem 1rem rgba(31, 23, 18, 0.04);
}

.menu-section-nav__link:hover {
    border-color: var(--miliki-gold-deep);
    color: var(--miliki-link);
}

.menu-section-nav__count {
    align-self: end;
    color: var(--miliki-color-muted);
    font-size: 0.9rem;
    font-weight: 600;
}

.menu-preview-list {
    display: grid;
    gap: clamp(2rem, 5vw, 4rem);
}

.menu-preview {
    display: grid;
    gap: var(--miliki-space-5);
    border-top: 1px solid var(--miliki-color-border);
    padding-top: var(--miliki-space-6);
}

.menu-preview__header {
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: var(--miliki-space-5);
}

.menu-preview__header h3 {
    margin: 0;
    font-size: clamp(1.35rem, 3vw, 2rem);
    line-height: 1.15;
}

.menu-preview__section-link {
    flex: 0 0 auto;
    color: var(--miliki-link);
    font-weight: 900;
}

.menu-preview__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--miliki-space-4);
}

.menu-preview__empty,
.menu-hub-fallback {
    margin: 0;
    border: 1px solid var(--miliki-color-border);
    border-radius: var(--miliki-radius-md);
    background: #ffffff;
    padding: var(--miliki-space-4);
}

.menu-hub-support-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--miliki-space-5);
}

.menu-hub-support-card {
    border: 1px solid var(--miliki-color-border);
    border-radius: var(--miliki-radius-md);
    background: #ffffff;
    padding: clamp(1rem, 3vw, 1.5rem);
    box-shadow: var(--miliki-shadow-soft);
}

.menu-hub-support-card h2 {
    font-size: clamp(1.4rem, 3vw, 2rem);
}

.menu-hub-support-card--catering {
    background: linear-gradient(135deg, var(--miliki-charcoal, #14100b) 0%, var(--miliki-black, #050403) 100%);
    color: #fff8f0;
}

.menu-hub-support-card--catering .menu-hub-section__eyebrow,
.menu-hub-support-card--catering h2,
.menu-hub-support-card--catering p {
    color: inherit;
}

.menu-hub-final-cta {
    padding: clamp(2.5rem, 6vw, 4rem) 0;
    background: #ffffff;
}

.menu-hub-final-cta__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--miliki-space-5);
}

.menu-hub-final-cta__actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--miliki-space-3);
    justify-content: flex-end;
}

@media (max-width: 72rem) {
    .menu-section-nav__list {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .menu-preview__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 56rem) {
    .menu-section-nav__list,
    .menu-preview__grid,
    .menu-hub-support-grid {
        grid-template-columns: 1fr;
    }

    .menu-preview__header,
    .menu-hub-final-cta__inner {
        align-items: flex-start;
        flex-direction: column;
    }

    .menu-preview__section-link {
        flex: 1 1 auto;
    }

    .menu-hub-final-cta__actions {
        align-items: stretch;
        flex-direction: column;
        width: 100%;
    }

    .menu-hub-final-cta__actions .button {
        width: 100%;
    }
}

/* 11. Menu section pages ---------------------------------------------------- */

.page-child.parent-pageid-14 .site-main {
    padding-top: var(--miliki-space-4);
}

.menu-section-page,
.menu-section-final-cta,
.menu-section-missing {
    padding: clamp(2.5rem, 6vw, 5rem) 0;
}

.menu-section-page:nth-of-type(even) {
    background: #ffffff;
}

.menu-section-page__header {
    max-width: 48rem;
    margin-bottom: var(--miliki-space-6);
}

.menu-section-page__eyebrow {
    margin: 0 0 var(--miliki-space-2);
    color: var(--miliki-link);
    font-size: 0.82rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.menu-section-page h2,
.menu-section-final-cta h2,
.menu-section-missing h1 {
    margin: 0;
    color: var(--miliki-color-text);
    font-size: clamp(1.75rem, 4vw, 3rem);
    line-height: 1.05;
    letter-spacing: -0.035em;
}

.menu-section-page__header p:not(.menu-section-page__eyebrow),
.menu-section-final-cta p,
.menu-section-missing p,
.menu-section-empty p {
    color: var(--miliki-color-muted);
    font-size: 1.03rem;
}

.menu-section-dish-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--miliki-space-4);
}

.menu-section-empty,
.menu-section-missing__inner {
    border: 1px solid var(--miliki-color-border);
    border-radius: var(--miliki-radius-md);
    background: #ffffff;
    padding: clamp(1rem, 4vw, 2rem);
    box-shadow: var(--miliki-shadow-soft);
}

.menu-section-related__list {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--miliki-space-3);
    margin: 0;
    padding: 0;
    list-style: none;
}

.menu-section-related__link {
    display: grid;
    gap: var(--miliki-space-2);
    min-height: 6rem;
    border: 1px solid var(--miliki-color-border);
    border-radius: var(--miliki-radius-md);
    background: #ffffff;
    padding: var(--miliki-space-4);
    font-weight: 900;
    text-decoration: none;
    box-shadow: 0 0.35rem 1rem rgba(31, 23, 18, 0.04);
}

.menu-section-related__link:hover {
    border-color: var(--miliki-gold-deep);
    color: var(--miliki-link);
}

.menu-section-related__link span:last-child {
    align-self: end;
    color: var(--miliki-color-muted);
    font-size: 0.9rem;
    font-weight: 600;
}

.menu-section-final-cta {
    background: #ffffff;
}

.menu-section-final-cta__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--miliki-space-5);
    border: 1px solid var(--miliki-color-border);
    border-radius: var(--miliki-radius-md);
    background: var(--miliki-color-surface);
    padding: clamp(1rem, 4vw, 2rem);
}

.menu-section-final-cta__actions,
.menu-section-missing__actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--miliki-space-3);
    justify-content: flex-end;
}

@media (max-width: 72rem) {
    .menu-section-dish-grid,
    .menu-section-related__list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 56rem) {
    .menu-section-dish-grid,
    .menu-section-related__list {
        grid-template-columns: 1fr;
    }

    .menu-section-final-cta__inner {
        align-items: flex-start;
        flex-direction: column;
    }

    .menu-section-final-cta__actions,
    .menu-section-missing__actions {
        align-items: stretch;
        flex-direction: column;
        width: 100%;
    }

    .menu-section-final-cta__actions .button,
    .menu-section-missing__actions .button {
        width: 100%;
    }
}

/* 12. Dish detail pages ----------------------------------------------------- */

.single-miliki_dish .site-main {
    padding-top: var(--miliki-space-4);
    background: var(--miliki-cream, #fff7ed);
}

.dish-detail-section {
    padding: clamp(2.5rem, 6vw, 5rem) 0;
}

.dish-detail-section--alt,
.dish-detail-section--related {
    background: #ffffff;
}

.dish-detail-overview {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(18rem, 0.8fr);
    gap: clamp(1.5rem, 5vw, 4rem);
    align-items: start;
}

.dish-detail__image {
    overflow: hidden;
    margin: 0;
    border: 1px solid var(--miliki-color-border);
    border-radius: var(--miliki-radius-md);
    background: #ffffff;
    box-shadow: var(--miliki-shadow-soft);
}

.dish-detail__image img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

.dish-detail-admin-warning {
    border: 2px solid #b42318;
    border-radius: var(--miliki-radius-md);
    background: #fff2f0;
    color: #7a271a;
    padding: var(--miliki-space-4);
    font-weight: 800;
}

.dish-key-info {
    border: 1px solid var(--miliki-color-border);
    border-radius: var(--miliki-radius-md);
    background: #ffffff;
    padding: clamp(1rem, 3vw, 1.5rem);
    box-shadow: var(--miliki-shadow-soft);
}

.dish-key-info h2,
.dish-detail-copy h2,
.dish-detail-cta-card h2 {
    margin: 0 0 var(--miliki-space-3);
    color: var(--miliki-color-text);
    font-size: clamp(1.4rem, 3vw, 2.25rem);
    line-height: 1.12;
    letter-spacing: -0.03em;
}

.dish-key-info__list {
    display: grid;
    gap: var(--miliki-space-3);
    margin: 0;
}

.dish-key-info__list div {
    display: grid;
    gap: var(--miliki-space-1);
    border-bottom: 1px solid var(--miliki-color-border);
    padding-bottom: var(--miliki-space-3);
}

.dish-key-info__list div:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

.dish-key-info dt {
    color: var(--miliki-color-muted);
    font-size: 0.82rem;
    font-weight: 900;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.dish-key-info dd {
    margin: 0;
    color: var(--miliki-color-text);
    font-size: 1.03rem;
    font-weight: 800;
}

.dish-key-info__actions {
    display: grid;
    gap: var(--miliki-space-3);
    margin-top: var(--miliki-space-5);
}

.dish-detail-copy {
    max-width: 48rem;
}

.dish-detail-copy p,
.dish-detail-copy li,
.dish-detail-cta-card p {
    color: var(--miliki-color-muted);
    font-size: 1.05rem;
}

.dish-pairing-list {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--miliki-space-3);
    margin: var(--miliki-space-5) 0 0;
    padding: 0;
    list-style: none;
}

.dish-pairing-list a {
    display: flex;
    align-items: center;
    min-height: 4rem;
    border: 1px solid var(--miliki-color-border);
    border-radius: var(--miliki-radius-md);
    background: #ffffff;
    padding: var(--miliki-space-4);
    font-weight: 900;
    text-decoration: none;
    box-shadow: 0 0.35rem 1rem rgba(31, 23, 18, 0.04);
}

.dish-pairing-list a:hover {
    border-color: var(--miliki-gold-deep);
    color: var(--miliki-link);
}

.dish-detail-cta-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--miliki-space-5);
}


.dish-detail-cta-card__actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--miliki-space-3);
    justify-content: flex-end;
}

.dish-related-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--miliki-space-4);
    margin-top: var(--miliki-space-5);
}

@media (max-width: 64rem) {
    .dish-detail-overview,
    .dish-related-grid {
        grid-template-columns: 1fr;
    }

    .dish-pairing-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 48rem) {
    .dish-detail-cta-card {
        align-items: stretch;
        flex-direction: column;
    }

    .dish-detail-cta-card > .button,
    .dish-detail-cta-card__actions,
    .dish-detail-cta-card__actions .button {
        width: 100%;
    }

    .dish-detail-cta-card__actions {
        align-items: stretch;
        flex-direction: column;
    }

    .dish-pairing-list {
        grid-template-columns: 1fr;
    }
}

/* 13. Visit page ------------------------------------------------------------ */

.miliki-visit-section {
    background: var(--miliki-cream, #fff7ed);
    color: var(--miliki-ink, #17110d);
}

.miliki-visit-section--dark {
    background:
        radial-gradient(circle at 84% 12%, rgba(214, 179, 90, 0.12), transparent 34%),
        linear-gradient(180deg, #0b0805 0%, #050403 100%);
    color: var(--miliki-white, #fffaf3);
}

.miliki-visit-card {
    border: 1px solid rgba(214, 179, 90, 0.28);
    border-radius: 1rem;
    background: rgba(255, 250, 243, 0.82);
    padding: clamp(1.25rem, 2vw, 2rem);
    box-shadow: 0 1rem 2.75rem rgba(33, 29, 26, 0.06);
}

.visit-section {
    padding: clamp(2.75rem, 6vw, 5.5rem) 0;
}

.visit-section--quick-actions {
    padding: clamp(1.25rem, 3vw, 2rem) 0;
}

.visit-quick-actions,
.visit-detail-card__actions,
.visit-contact-card__actions,
.visit-platform-list {
    display: flex;
    flex-wrap: wrap;
    gap: var(--miliki-space-3);
}

.visit-quick-actions {
    justify-content: center;
}

.miliki-visit-section--dark .button--secondary {
    border-color: rgba(255, 250, 243, 0.42);
    background: rgba(255, 250, 243, 0.06);
    color: var(--miliki-white, #fffaf3);
}

.miliki-visit-section--dark .button--secondary:hover,
.miliki-visit-section--dark .button--secondary:focus-visible {
    border-color: var(--miliki-gold, #d6b35a);
    color: var(--miliki-gold, #d6b35a);
}

.visit-section__eyebrow {
    margin: 0 0 var(--miliki-space-2);
    color: var(--miliki-gold-deep, #9b7526);
    font-size: 0.82rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.miliki-visit-section--dark .visit-section__eyebrow {
    color: var(--miliki-gold, #d6b35a);
}

.visit-section__header {
    max-width: 48rem;
}

.visit-section__header h2,
.visit-address-overview h2,
.visit-map-copy h2,
.visit-hours-card h3,
.visit-service-card h3,
.visit-delivery-card h2,
.visit-contact-card h2,
.visit-catering-card h2 {
    margin: 0 0 var(--miliki-space-3);
    color: var(--miliki-ink, #17110d);
    line-height: 1.12;
    letter-spacing: -0.03em;
}

.visit-section__header h2,
.visit-address-overview h2,
.visit-map-copy h2,
.visit-delivery-card h2,
.visit-contact-card h2,
.visit-catering-card h2 {
    font-family: var(--font-display, Georgia, "Times New Roman", serif);
    font-size: clamp(1.8rem, 3.4vw, 2.8rem);
}

.miliki-visit-section--dark .visit-section__header h2,
.miliki-visit-section--dark .visit-map-copy h2,
.miliki-visit-section--dark .visit-service-card h3,
.miliki-visit-section--dark .visit-catering-card h2 {
    color: var(--miliki-white, #fffaf3);
}

.visit-section__header p,
.visit-address-overview p,
.visit-map-copy p,
.visit-hours-card p,
.visit-service-card p,
.visit-delivery-card p,
.visit-contact-card p,
.visit-catering-card p {
    color: var(--miliki-color-muted);
    font-size: 1.04rem;
}

.miliki-visit-section--dark .visit-section__header p,
.miliki-visit-section--dark .visit-map-copy p,
.miliki-visit-section--dark .visit-service-card p,
.miliki-visit-section--dark .visit-catering-card p {
    color: rgba(255, 250, 243, 0.78);
}

.visit-address-overview,
.visit-map-layout,
.visit-services-layout {
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
    gap: clamp(1.5rem, 4vw, 3rem);
    align-items: start;
}

.visit-hours-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--miliki-space-5);
    align-items: start;
}

.visit-hours-grid .visit-section__header {
    grid-column: 1 / -1;
}

.visit-address-overview__details,
.visit-hours-card,
.visit-delivery-card,
.visit-contact-card,
.visit-catering-card {
    position: relative;
}

.visit-address {
    margin: 0 0 var(--miliki-space-4);
    color: var(--miliki-ink, #17110d);
    font-size: clamp(1.12rem, 2.4vw, 1.45rem);
    font-style: normal;
    font-weight: 900;
    line-height: 1.45;
}

.visit-contact-list {
    display: grid;
    gap: var(--miliki-space-4);
    margin: var(--miliki-space-4) 0 0;
}

.visit-contact-list--compact {
    margin-top: 0;
}

.visit-contact-list div {
    border-bottom: 1px solid rgba(214, 179, 90, 0.28);
    padding-bottom: var(--miliki-space-3);
}

.visit-contact-list div:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

.visit-contact-list dt {
    color: var(--miliki-color-muted);
    font-size: 0.82rem;
    font-weight: 900;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.visit-contact-list dd {
    margin: var(--miliki-space-1) 0 0;
    font-size: 1.08rem;
    font-weight: 800;
    overflow-wrap: anywhere;
}

.visit-map-copy {
    align-self: center;
}

.visit-map-card {
    min-height: clamp(18rem, 40vw, 28rem);
    overflow: hidden;
    border: 1px solid rgba(214, 179, 90, 0.34);
    border-radius: 1.2rem;
    background: rgba(255, 250, 243, 0.08);
    box-shadow: 0 1.2rem 3rem rgba(0, 0, 0, 0.24);
}

.visit-map-card iframe,
.visit-map-card__fallback {
    display: block;
    width: 100%;
    min-height: clamp(18rem, 40vw, 28rem);
    border: 0;
}

.visit-map-card__fallback {
    display: grid;
    place-items: center;
    padding: var(--miliki-space-6);
    color: var(--miliki-white, #fffaf3);
    font-weight: 900;
    text-align: center;
}

.visit-hours-list,
.visit-platform-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.visit-hours-list {
    display: grid;
    gap: var(--miliki-space-2);
}

.visit-hours-list li {
    border: 1px solid rgba(214, 179, 90, 0.28);
    border-radius: var(--miliki-radius-sm);
    background: rgba(255, 250, 243, 0.72);
    padding: var(--miliki-space-3);
    color: var(--miliki-ink, #17110d);
    font-weight: 800;
}

.visit-note {
    font-size: 0.95rem;
    font-weight: 700;
}

.visit-service-card-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--miliki-space-4);
}

.visit-service-card.miliki-visit-card,
.miliki-visit-section--dark .visit-catering-card.miliki-visit-card {
    background: rgba(255, 250, 243, 0.1);
    box-shadow: 0 1rem 2.75rem rgba(0, 0, 0, 0.16);
}

.visit-service-card h3 {
    font-size: clamp(1.2rem, 2vw, 1.55rem);
}

.visit-service-card p {
    margin-bottom: var(--miliki-space-4);
}

.visit-service-card a,
.visit-support-link a {
    color: var(--miliki-gold-deep, #9b7526);
    font-weight: 900;
}

.miliki-visit-section--dark .visit-service-card a,
.miliki-visit-section--dark .visit-support-link a {
    color: var(--miliki-gold, #d6b35a);
}

.visit-delivery-card,
.visit-contact-card,
.visit-catering-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--miliki-space-5);
}

.visit-platform-list {
    justify-content: flex-end;
}

.visit-platform-list__placeholder {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.75rem;
    border: 1px solid rgba(214, 179, 90, 0.28);
    border-radius: var(--miliki-radius-pill);
    background: rgba(255, 250, 243, 0.7);
    padding: 0.65rem 1rem;
    color: var(--miliki-color-muted);
    font-weight: 900;
}

.visit-support-link {
    margin-top: var(--miliki-space-3);
}

@media (max-width: 64rem) {
    .visit-address-overview,
    .visit-map-layout,
    .visit-hours-grid,
    .visit-services-layout {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 48rem) {
    .visit-quick-actions,
    .visit-detail-card__actions,
    .visit-contact-card__actions,
    .visit-delivery-card,
    .visit-contact-card,
    .visit-catering-card,
    .visit-platform-list {
        align-items: stretch;
        flex-direction: column;
    }

    .visit-quick-actions .button,
    .visit-detail-card__actions .button,
    .visit-contact-card__actions .button,
    .visit-delivery-card .button,
    .visit-catering-card .button,
    .visit-platform-list .button,
    .visit-platform-list__placeholder {
        width: 100%;
    }

    .visit-service-card-grid {
        grid-template-columns: 1fr;
    }
}



/* Delivery platform cards — VISIT-FIX-004 ---------------------------------- */

.miliki-delivery-platforms {
    background: var(--miliki-cream, #fff7ed);
    color: var(--miliki-ink, #17110d);
}

.miliki-delivery-platforms__inner {
    width: min(100%, 76rem);
    margin-inline: auto;
    padding: clamp(4rem, 8vw, 7rem) clamp(1.25rem, 5vw, 5rem);
}

.miliki-delivery-platforms__header {
    max-width: 48rem;
    margin-bottom: clamp(2rem, 4vw, 3rem);
}

.miliki-delivery-platforms__header .miliki-section-eyebrow {
    color: var(--miliki-gold-deep, #9b7526);
}

.miliki-delivery-platforms__header h2 {
    max-width: 12ch;
    margin: 0 0 1rem;
    font-family: var(--font-display, Georgia, "Times New Roman", serif);
    font-size: clamp(2.75rem, 6vw, 6rem);
    font-weight: 400;
    line-height: 0.92;
    letter-spacing: -0.055em;
    color: var(--miliki-ink, #17110d);
    text-wrap: balance;
}

.miliki-delivery-platforms__header p {
    margin: 0;
    color: rgba(33, 29, 26, 0.76);
    font-size: 1.06rem;
    line-height: 1.75;
}

.miliki-delivery-platforms__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.miliki-delivery-card {
    min-height: 13rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 1.1rem;
    padding: clamp(1.25rem, 2vw, 2rem);
    border: 1px solid rgba(214, 179, 90, 0.32);
    border-radius: 1rem;
    background: rgba(255, 250, 243, 0.84);
    color: var(--miliki-ink, #17110d);
    text-decoration: none;
    box-shadow: 0 1rem 2.75rem rgba(33, 29, 26, 0.06);
    transition:
        transform 220ms ease,
        border-color 220ms ease,
        background-color 220ms ease,
        color 220ms ease;
}

.miliki-delivery-card:hover,
.miliki-delivery-card:focus-visible {
    transform: translateY(-0.2rem);
    border-color: var(--miliki-gold, #d6b35a);
    background: var(--miliki-black, #050403);
    color: var(--miliki-white, #fffaf3);
}

.miliki-delivery-card__logo-wrap {
    min-height: 3rem;
    display: flex;
    align-items: center;
}

.miliki-delivery-card__logo {
    width: auto;
    max-width: 9rem;
    max-height: 2.75rem;
    object-fit: contain;
}

.miliki-delivery-card__label {
    display: block;
    font-family: var(--font-display, Georgia, "Times New Roman", serif);
    font-size: clamp(1.8rem, 3vw, 3rem);
    line-height: 0.95;
}

.miliki-delivery-card__cta {
    color: var(--miliki-link);
    font-weight: 800;
    text-decoration: underline;
    text-underline-offset: 0.22em;
}

.miliki-delivery-card:hover .miliki-delivery-card__cta,
.miliki-delivery-card:focus-visible .miliki-delivery-card__cta {
    color: var(--miliki-gold, #d6b35a);
}

.miliki-delivery-platforms__note {
    margin: 1.5rem 0 0;
    color: rgba(33, 29, 26, 0.72);
    font-weight: 700;
}

.miliki-delivery-platforms__note a {
    color: var(--miliki-link);
    font-weight: 900;
}

/* Footer delivery logos */
.miliki-footer-delivery-platforms {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
    margin-top: 1.15rem;
}

.miliki-footer-delivery-platform {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    color: rgba(255, 250, 243, 0.78);
    text-decoration: none;
}

.miliki-footer-delivery-platform:hover,
.miliki-footer-delivery-platform:focus-visible {
    color: var(--miliki-gold, #d6b35a);
}

.miliki-footer-delivery-platform__logo {
    width: auto;
    max-width: 5rem;
    max-height: 1.45rem;
    object-fit: contain;
    filter: brightness(0) invert(1);
    opacity: 0.9;
}

@media (max-width: 50rem) {
    .miliki-delivery-platforms__grid {
        grid-template-columns: 1fr;
    }

    .miliki-delivery-card {
        min-height: 10rem;
    }
}

/* Visit map pack — VISIT-FIX-003 ------------------------------------------ */

.miliki-visit-map {
    background:
        radial-gradient(circle at 84% 12%, rgba(214, 179, 90, 0.12), transparent 34%),
        linear-gradient(180deg, #0b0805 0%, #050403 100%);
    color: var(--miliki-white, #fffaf3);
}

.miliki-visit-map__inner {
    width: min(100%, 86rem);
    margin-inline: auto;
    padding: clamp(4rem, 8vw, 7rem) clamp(1.25rem, 5vw, 5rem);
    display: grid;
    grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
    gap: clamp(2rem, 5vw, 5rem);
    align-items: center;
}

.miliki-section-eyebrow {
    margin: 0 0 1rem;
    color: var(--miliki-gold, #d6b35a);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.22em;
    text-transform: uppercase;
}

.miliki-visit-map__copy h2 {
    max-width: 11ch;
    margin: 0;
    font-family: var(--font-display, Georgia, "Times New Roman", serif);
    font-size: clamp(2.85rem, 6vw, 6.25rem);
    font-weight: 400;
    line-height: 0.9;
    letter-spacing: -0.06em;
    color: var(--miliki-white, #fffaf3);
    text-wrap: balance;
}

.miliki-visit-map__copy address,
.miliki-visit-map__fallback address {
    margin: 1.5rem 0;
    font-style: normal;
    color: rgba(255, 250, 243, 0.84);
    font-weight: 800;
    line-height: 1.6;
}

.miliki-visit-map__copy p,
.miliki-visit-map__fallback p {
    color: rgba(255, 250, 243, 0.76);
    line-height: 1.75;
}

.miliki-visit-map__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.85rem;
    margin-top: 1.5rem;
}

.miliki-visit-map__embed {
    min-height: 26rem;
    border: 1px solid rgba(214, 179, 90, 0.32);
    border-radius: 1.2rem;
    background: rgba(255, 250, 243, 0.04);
    overflow: hidden;
    box-shadow: 0 1.2rem 3rem rgba(0, 0, 0, 0.24);
}

.miliki-visit-map__iframe {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 26rem;
    border: 0;
}

.miliki-visit-map__fallback {
    display: grid;
    align-content: center;
    min-height: 26rem;
    padding: clamp(1.5rem, 4vw, 3rem);
}

@media (max-width: 56.25rem) {
    .miliki-visit-map__inner {
        grid-template-columns: 1fr;
    }

    .miliki-visit-map__embed,
    .miliki-visit-map__iframe,
    .miliki-visit-map__fallback {
        min-height: 20rem;
    }
}

@media (max-width: 48rem) {
    .miliki-visit-map__actions {
        align-items: stretch;
        flex-direction: column;
    }

    .miliki-visit-map__actions .btn {
        width: 100%;
        text-align: center;
    }
}

/* 14. Allergens page -------------------------------------------------------- */

.allergens-section {
    padding: clamp(4rem, 8vw, 6.5rem) 0;
}

.allergens-section--notice,
.allergens-section--links,
.allergens-section--catering {
    background: #ffffff;
}

.allergens-section--catering {
    color: var(--miliki-ink);
}

.allergens-section--catering .allergens-catering-card h2,
.allergens-section--catering .allergens-catering-card p {
    color: var(--miliki-ink);
}

.allergens-section--catering .allergens-catering-card {
    border: none;
    border-left: none;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    padding: clamp(2rem, 5vw, 3.5rem) 0;
}

.allergens-section__eyebrow {
    margin: 0 0 var(--miliki-space-2);
    color: var(--miliki-link);
    font-size: 0.82rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.allergens-section__header {
    max-width: 46rem;
    margin-bottom: var(--miliki-space-5);
}

.allergens-section__header h2,
.allergens-notice-card h2,
.allergens-copy-card h2,
.allergens-contact-card h2,
.allergens-catering-card h2 {
    margin: 0 0 var(--miliki-space-3);
    color: var(--miliki-color-text);
    font-size: clamp(1.55rem, 3vw, 2.4rem);
    line-height: 1.12;
    letter-spacing: -0.03em;
}

.allergens-section__header p,
.allergens-notice-card p,
.allergens-copy-card li,
.allergens-catering-card p {
    color: var(--miliki-color-muted);
    font-size: 1.04rem;
}

.allergens-notice-card,
.allergens-catering-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--miliki-space-5);
    border: 1px solid var(--miliki-color-border);
    border-left: 0.4rem solid var(--miliki-action-bg);
    border-radius: var(--miliki-radius-md);
    background: var(--miliki-color-surface);
    padding: clamp(1rem, 3vw, 1.75rem);
    box-shadow: var(--miliki-shadow-soft);
}

.allergens-notice-card__actions,
.allergens-catering-card__actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--miliki-space-3);
    justify-content: flex-end;
}

.allergens-two-column {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(18rem, 0.85fr);
    gap: var(--miliki-space-5);
    align-items: start;
}

.allergens-copy-card,
.allergens-contact-card {
    border: 1px solid var(--miliki-color-border);
    border-radius: var(--miliki-radius-md);
    background: #ffffff;
    padding: clamp(1rem, 3vw, 1.75rem);
    box-shadow: var(--miliki-shadow-soft);
}

.allergens-check-list {
    display: grid;
    gap: var(--miliki-space-3);
    margin: var(--miliki-space-4) 0 0;
    padding-left: 1.25rem;
}

.allergens-check-list li::marker {
    color: var(--miliki-gold-deep);
}

.allergens-contact-list {
    display: grid;
    gap: var(--miliki-space-4);
    margin: var(--miliki-space-4) 0 0;
}

.allergens-contact-list div {
    border-bottom: 1px solid var(--miliki-color-border);
    padding-bottom: var(--miliki-space-3);
}

.allergens-contact-list div:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

.allergens-contact-list dt {
    color: var(--miliki-color-muted);
    font-size: 0.82rem;
    font-weight: 900;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.allergens-contact-list dd {
    margin: var(--miliki-space-1) 0 0;
    font-size: 1.08rem;
    font-weight: 800;
    overflow-wrap: anywhere;
}

.allergens-link-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--miliki-space-3);
}

.allergens-link-card {
    display: grid;
    gap: var(--miliki-space-2);
    min-height: 7rem;
    border: 1px solid var(--miliki-color-border);
    border-radius: var(--miliki-radius-md);
    background: var(--miliki-color-surface);
    padding: var(--miliki-space-4);
    text-decoration: none;
    box-shadow: 0 0.35rem 1rem rgba(31, 23, 18, 0.04);
}

.allergens-link-card:hover {
    border-color: var(--miliki-gold-deep);
}

.allergens-link-card span:first-child {
    color: var(--miliki-color-text);
    font-size: 1.05rem;
    font-weight: 900;
}

.allergens-link-card span:last-child {
    color: var(--miliki-color-muted);
    font-size: 0.92rem;
    font-weight: 700;
}

@media (max-width: 72rem) {
    .allergens-link-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 58rem) {
    .allergens-two-column {
        grid-template-columns: 1fr;
    }

    .allergens-notice-card,
    .allergens-catering-card {
        align-items: stretch;
        flex-direction: column;
    }

    .allergens-notice-card__actions,
    .allergens-catering-card__actions {
        align-items: stretch;
        flex-direction: column;
        width: 100%;
    }

    .allergens-notice-card__actions .button,
    .allergens-catering-card__actions .button {
        width: 100%;
    }
}

@media (max-width: 42rem) {
    .allergens-link-grid {
        grid-template-columns: 1fr;
    }
}

/* 15. FAQ page -------------------------------------------------------------- */

.faq-page-section {
    padding: clamp(4rem, 8vw, 6.5rem) 0;
}

.faq-page-section--links {
    background: #ffffff;
}

.faq-page-section--contact {
    color: var(--miliki-ink);
}

.faq-page-section--contact .faq-contact-card h2,
.faq-page-section--contact .faq-contact-card p {
    color: var(--miliki-ink);
}

.faq-page-section__eyebrow {
    margin: 0 0 var(--miliki-space-2);
    color: var(--miliki-link);
    font-size: 0.82rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.faq-page-layout {
    display: grid;
    grid-template-columns: minmax(16rem, 0.42fr) minmax(0, 0.58fr);
    gap: clamp(1.5rem, 5vw, 4rem);
    align-items: start;
}

.faq-page-section__header {
    position: sticky;
    top: 7rem;
}

.faq-page-section__header h2,
.faq-next-card h2,
.faq-contact-card h2 {
    margin: 0 0 var(--miliki-space-3);
    color: var(--miliki-color-text);
    font-size: clamp(1.55rem, 3vw, 2.4rem);
    line-height: 1.12;
    letter-spacing: -0.03em;
}

.faq-page-section__header p,
.faq-next-card p,
.faq-contact-card p {
    color: var(--miliki-color-muted);
    font-size: 1.04rem;
}

.faq-page-layout .faq-accordion {
    display: grid;
    gap: var(--miliki-space-3);
}

.faq-page-layout .faq-accordion__item {
    border: 1px solid var(--miliki-color-border);
    border-radius: var(--miliki-radius-md);
    background: #ffffff;
    box-shadow: var(--miliki-shadow-soft);
}

.faq-page-layout .faq-accordion__question {
    cursor: pointer;
    padding: var(--miliki-space-4);
    color: var(--miliki-color-text);
    font-size: 1.05rem;
    font-weight: 900;
    list-style-position: outside;
}

.faq-page-layout .faq-accordion__question:focus-visible {
    outline: 3px solid var(--miliki-color-focus);
    outline-offset: 0.25rem;
}

.faq-page-layout .faq-accordion__answer {
    border-top: 1px solid var(--miliki-color-border);
    padding: 0 var(--miliki-space-4) var(--miliki-space-4);
    color: var(--miliki-color-muted);
}

.faq-page-layout .faq-accordion__answer p:last-child {
    margin-bottom: 0;
}

.faq-next-card,
.faq-contact-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--miliki-space-5);
    border: 1px solid var(--miliki-color-border);
    border-radius: var(--miliki-radius-md);
    background: var(--miliki-color-surface);
    padding: clamp(1rem, 3vw, 1.75rem);
    box-shadow: var(--miliki-shadow-soft);
}

.faq-contact-card {
    border: none;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    padding: clamp(2rem, 5vw, 3.5rem) 0;
}

.faq-next-links,
.faq-contact-card__actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--miliki-space-3);
    justify-content: flex-end;
}

@media (max-width: 64rem) {
    .faq-page-layout {
        grid-template-columns: 1fr;
    }

    .faq-page-section__header {
        position: static;
    }
}

@media (max-width: 48rem) {
    .faq-next-card,
    .faq-contact-card,
    .faq-next-links,
    .faq-contact-card__actions {
        align-items: stretch;
        flex-direction: column;
    }

    .faq-next-links .button,
    .faq-contact-card__actions .button {
        width: 100%;
    }
}

/* 16. Catering page ---------------------------------------------------------- */

.catering-section {
    padding: clamp(2.5rem, 6vw, 5rem) 0;
}

.catering-section--service,
.catering-section--tasting,
.catering-section--contact {
    background: #ffffff;
}

.catering-section__eyebrow {
    margin: 0 0 var(--miliki-space-2);
    color: var(--miliki-link);
    font-size: 0.82rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.catering-section__content {
    max-width: 46rem;
}

.catering-section__content h2 {
    margin: 0 0 var(--miliki-space-3);
    color: var(--miliki-color-text);
    font-size: clamp(1.55rem, 3vw, 2.4rem);
    line-height: 1.12;
    letter-spacing: -0.03em;
}

.catering-section__content p {
    color: var(--miliki-color-muted);
    font-size: 1.04rem;
    margin: var(--miliki-space-4) 0 0;
}

.catering-service-list {
    margin: var(--miliki-space-4) 0 0;
    padding-left: var(--miliki-space-5);
    color: var(--miliki-color-muted);
    font-size: 1.04rem;
    line-height: 1.8;
}

.catering-section__header {
    max-width: 46rem;
    margin-bottom: var(--miliki-space-6);
}

.catering-section__header h2 {
    margin: 0 0 var(--miliki-space-3);
    color: var(--miliki-color-text);
    font-size: clamp(1.55rem, 3vw, 2.4rem);
    line-height: 1.12;
    letter-spacing: -0.03em;
}

.catering-section__header p {
    color: var(--miliki-color-muted);
    font-size: 1.04rem;
}

.catering-dishes-footer {
    margin-top: var(--miliki-space-6);
    text-align: center;
}

.catering-enquiry-card,
.catering-tasting-card,
.catering-minimum-card,
.catering-contact-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--miliki-space-6);
    border: 1px solid var(--miliki-color-border);
    border-radius: var(--miliki-radius-md);
    background: var(--miliki-color-surface);
    padding: clamp(1.5rem, 4vw, 2.5rem);
    box-shadow: var(--miliki-shadow-soft);
}

.catering-enquiry-card h2,
.catering-tasting-card h2,
.catering-minimum-card h2,
.catering-contact-card h2 {
    margin: 0 0 var(--miliki-space-3);
    color: var(--miliki-color-text);
    font-size: clamp(1.55rem, 3vw, 2.4rem);
    line-height: 1.12;
    letter-spacing: -0.03em;
}

.catering-enquiry-card p,
.catering-tasting-card p,
.catering-minimum-card p,
.catering-contact-card p {
    color: var(--miliki-color-muted);
    font-size: 1.04rem;
    margin: var(--miliki-space-2) 0 0;
}

.catering-tasting-card__actions,
.catering-contact-card__actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--miliki-space-3);
    flex-shrink: 0;
}

@media (max-width: 48rem) {
    .catering-enquiry-card,
    .catering-tasting-card,
    .catering-minimum-card,
    .catering-contact-card {
        align-items: stretch;
        flex-direction: column;
    }

    .catering-tasting-card__actions,
    .catering-contact-card__actions {
        align-items: stretch;
        flex-direction: column;
    }

    .catering-tasting-card__actions .button,
    .catering-contact-card__actions .button,
    .catering-enquiry-card .button,
    .catering-minimum-card .button {
        width: 100%;
    }
}

/* 17. Catering enquiry layout (form + sidebar) ------------------------------- */

.catering-enquiry-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
    gap: clamp(2rem, 5vw, 4rem);
    align-items: start;
}

.catering-process-card {
    border: 1px solid var(--miliki-color-border);
    border-radius: var(--miliki-radius-md);
    background: #ffffff;
    padding: clamp(1rem, 3vw, 1.5rem);
    box-shadow: var(--miliki-shadow-soft);
}

.catering-direct-contact {
    margin-top: var(--miliki-space-4);
    border: 1px solid var(--miliki-color-border);
    border-radius: var(--miliki-radius-md);
    background: var(--miliki-color-surface);
    padding: clamp(1rem, 3vw, 1.5rem);
}

.catering-direct-contact__label {
    margin: 0 0 var(--miliki-space-3);
    color: var(--miliki-color-muted);
    font-size: 0.95rem;
    font-weight: 700;
}

.catering-direct-contact__actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--miliki-space-3);
}

@media (max-width: 60rem) {
    .catering-enquiry-layout {
        grid-template-columns: 1fr;
    }

    .catering-enquiry-layout__sidebar {
        order: -1;
    }
}

/* 18. Catering form ---------------------------------------------------------- */

.catering-form-wrapper {
    position: relative;
}

.catering-form__notice {
    margin-bottom: var(--miliki-space-5);
    border-radius: var(--miliki-radius-md);
    padding: clamp(1rem, 3vw, 1.5rem);
}

.catering-form__notice--success {
    border: 1px solid #008545;
    background: #f0faf4;
    color: #005a2e;
}

.catering-form__notice--error {
    border: 1px solid #b42318;
    background: #fff2f0;
    color: #7a271a;
}

.catering-form__notice-title {
    margin: 0 0 var(--miliki-space-2);
    font-size: 1.05rem;
    font-weight: 900;
}

.catering-form__notice p:last-child {
    margin: 0;
}

.catering-form__error-summary {
    margin-bottom: var(--miliki-space-4);
    border: 1px solid #b42318;
    border-left: 0.35rem solid #b42318;
    border-radius: var(--miliki-radius-md);
    background: #fff2f0;
    color: #7a271a;
    padding: var(--miliki-space-4);
}

.catering-form__error-summary p {
    margin: 0 0 var(--miliki-space-2);
    font-weight: 900;
}

.catering-form__error-summary ul {
    margin: 0;
    padding-left: var(--miliki-space-5);
}

.catering-form__error-summary li {
    margin-bottom: var(--miliki-space-1);
}

.catering-form__error-summary a {
    color: #7a271a;
    font-weight: 700;
}

.catering-form__group {
    margin: 0 0 var(--miliki-space-5);
    padding: 0;
    border: 0;
}

.catering-form__group-legend {
    margin-bottom: var(--miliki-space-4);
    color: var(--miliki-color-text);
    font-size: 1.05rem;
    font-weight: 900;
}

.catering-form__row {
    margin-bottom: var(--miliki-space-4);
}

.catering-form__row--half {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--miliki-space-4);
    margin-bottom: var(--miliki-space-4);
}

.catering-form__label {
    display: block;
    margin-bottom: var(--miliki-space-2);
    color: var(--miliki-color-text);
    font-size: 0.95rem;
    font-weight: 700;
}

.catering-form__label-required {
    margin-left: var(--miliki-space-1);
    color: var(--miliki-color-muted);
    font-size: 0.82rem;
    font-weight: 400;
}

.catering-form__label-optional {
    margin-left: var(--miliki-space-1);
    color: var(--miliki-color-muted);
    font-size: 0.82rem;
    font-weight: 400;
}

.catering-form__input,
.catering-form__select,
.catering-form__textarea {
    display: block;
    width: 100%;
    border: 1px solid var(--miliki-color-border);
    border-radius: var(--miliki-radius-sm);
    background: #ffffff;
    color: var(--miliki-color-text);
    padding: 0.65rem 0.85rem;
    font-size: 1rem;
    transition: border-color 120ms ease, box-shadow 120ms ease;
}

.catering-form__input:focus,
.catering-form__select:focus,
.catering-form__textarea:focus {
    outline: 3px solid var(--miliki-color-focus);
    outline-offset: 2px;
    border-color: var(--miliki-color-focus);
}

.catering-form__input[aria-invalid='true'],
.catering-form__select[aria-invalid='true'],
.catering-form__textarea[aria-invalid='true'],
.catering-form__input--error,
.catering-form__select--error,
.catering-form__textarea--error {
    border-color: #b42318;
    box-shadow: 0 0 0 2px rgba(180, 35, 24, 0.18);
}

.catering-form__input--short {
    max-width: 16rem;
}

.catering-form__select {
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill='%23665b54' d='M4 6l4 4 4-4'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    background-size: 1rem;
    padding-right: 2.5rem;
    cursor: pointer;
}

.catering-form__textarea {
    resize: vertical;
    min-height: 7rem;
}

.catering-form__field-error {
    display: block;
    margin: var(--miliki-space-1) 0 0;
    color: #b42318;
    font-size: 0.9rem;
    font-weight: 700;
}

.catering-form__helper {
    margin: var(--miliki-space-2) 0 0;
    color: var(--miliki-color-muted);
    font-size: 0.88rem;
}

.catering-form__consent-row {
    margin-bottom: var(--miliki-space-5);
    padding: var(--miliki-space-4);
    border: 1px solid var(--miliki-color-border);
    border-radius: var(--miliki-radius-md);
    background: var(--miliki-color-surface);
}

.catering-form__consent-label {
    display: flex;
    gap: var(--miliki-space-3);
    align-items: flex-start;
    cursor: pointer;
    font-size: 0.95rem;
    line-height: 1.5;
}

.catering-form__checkbox {
    flex: 0 0 auto;
    width: 1.15rem;
    height: 1.15rem;
    margin-top: 0.15rem;
    accent-color: var(--miliki-gold-deep);
    cursor: pointer;
}

.catering-form__submit-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--miliki-space-4);
}

.catering-form__submit-note {
    flex: 1 1 16rem;
    margin: 0;
}

.catering-form__submit[aria-busy='true'] {
    opacity: 0.7;
    cursor: wait;
}

.catering-form__honeypot {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
}

@media (max-width: 40rem) {
    .catering-form__row--half {
        grid-template-columns: 1fr;
    }

    .catering-form__submit-row {
        flex-direction: column;
        align-items: stretch;
    }

    .catering-form__submit {
        width: 100%;
    }

    .catering-form__input--short {
        max-width: 100%;
    }
}

/* 19. Catering process steps ------------------------------------------------- */

.catering-process {
    display: grid;
    gap: var(--miliki-space-4);
    margin: var(--miliki-space-4) 0 0;
    padding: 0;
    list-style: none;
}

.catering-process__item {
    display: flex;
    gap: var(--miliki-space-3);
    align-items: flex-start;
}

.catering-process__number {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 2rem;
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    background: var(--miliki-action-bg);
    color: var(--miliki-action-text);
    font-size: 0.85rem;
    font-weight: 900;
}

.catering-process__step-title {
    margin: 0 0 var(--miliki-space-1);
    color: var(--miliki-color-text);
    font-size: 0.95rem;
    font-weight: 900;
}

.catering-process__step-desc {
    margin: 0;
    color: var(--miliki-color-muted);
    font-size: 0.9rem;
}

/* 20. Catering proof card ---------------------------------------------------- */

.catering-proof-card {
    margin: 0;
    border: 1px solid var(--miliki-color-border);
    border-radius: var(--miliki-radius-md);
    background: #ffffff;
    padding: clamp(1rem, 3vw, 1.5rem);
    box-shadow: 0 0.5rem 1.5rem rgba(31, 23, 18, 0.05);
}

.catering-proof-card__quote p {
    margin: 0;
    color: var(--miliki-color-text);
    font-size: 1.05rem;
    line-height: 1.65;
}

.catering-proof-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: var(--miliki-space-2);
    align-items: center;
    margin-top: var(--miliki-space-4);
    color: var(--miliki-color-muted);
    font-size: 0.95rem;
}

.catering-proof-card__name {
    color: var(--miliki-color-text);
    font-weight: 900;
}

.catering-proof-card__event::before,
.catering-proof-card__source::before {
    content: '·';
    margin-right: var(--miliki-space-2);
    color: #a69386;
}

/* 21. Catering dish card ----------------------------------------------------- */

.catering-dish-card {
    display: grid;
    overflow: hidden;
    border: 1px solid var(--miliki-color-border);
    border-radius: var(--miliki-radius-md);
    background: #ffffff;
    box-shadow: 0 0.5rem 1.5rem rgba(31, 23, 18, 0.05);
}

.catering-dish-card__media {
    display: block;
    overflow: hidden;
    background: #f4ebe4;
    color: inherit;
    text-decoration: none;
}

.catering-dish-card__image {
    width: 100%;
    aspect-ratio: 3 / 2;
    object-fit: cover;
}

.catering-dish-card__body {
    display: grid;
    gap: var(--miliki-space-3);
    padding: var(--miliki-space-4);
}

.catering-dish-card__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--miliki-space-3);
}

.catering-dish-card__title {
    margin: 0;
    font-size: 1.1rem;
    line-height: 1.25;
}

.catering-dish-card__title a {
    text-decoration: none;
}

.catering-dish-card__badge {
    flex: 0 0 auto;
    display: inline-block;
    border: 1px solid var(--miliki-action-bg);
    border-radius: var(--miliki-radius-pill);
    color: var(--miliki-link);
    padding: 0.2rem 0.6rem;
    font-size: 0.78rem;
    font-weight: 800;
    white-space: nowrap;
}

.catering-dish-card__excerpt,
.catering-dish-card__meta {
    margin: 0;
    color: var(--miliki-color-muted);
    font-size: 0.95rem;
}

.catering-dish-card__meta {
    font-weight: 700;
}

.catering-dish-card__cta {
    width: fit-content;
    color: var(--miliki-link);
    font-weight: 800;
}

.catering-dish-card--unavailable {
    opacity: 0.72;
}

/* 22. Catering gallery grid -------------------------------------------------- */

.catering-gallery-grid {
    display: grid;
    gap: var(--miliki-space-3);
    margin: 0;
}

.catering-gallery-grid--columns-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.catering-gallery-grid--columns-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.catering-gallery-grid--columns-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.catering-gallery-grid__item {
    overflow: hidden;
    border-radius: var(--miliki-radius-sm);
    background: #f4ebe4;
}

.catering-gallery-grid__image {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    display: block;
    transition: transform 200ms ease;
}

.catering-gallery-grid__item:hover .catering-gallery-grid__image {
    transform: scale(1.03);
}

.catering-gallery-grid__caption {
    grid-column: 1 / -1;
    margin: var(--miliki-space-2) 0 0;
    color: var(--miliki-color-muted);
    font-size: 0.9rem;
    text-align: center;
}

.catering-gallery-placeholder {
    border: 1px solid var(--miliki-color-border);
    border-radius: var(--miliki-radius-md);
    background: var(--miliki-color-surface);
    padding: var(--miliki-space-6);
    text-align: center;
    color: var(--miliki-color-muted);
}

@media (max-width: 48rem) {
    .catering-gallery-grid--columns-3,
    .catering-gallery-grid--columns-4 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 32rem) {
    .catering-gallery-grid--columns-2,
    .catering-gallery-grid--columns-3,
    .catering-gallery-grid--columns-4 {
        grid-template-columns: 1fr;
    }
}

/* 23. Catering hub path cards ------------------------------------------------ */

.catering-paths-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--miliki-space-4);
    margin: 0;
    padding: 0;
    list-style: none;
}

.catering-path-card {
    border: 1px solid var(--miliki-color-border);
    border-radius: var(--miliki-radius-md);
    background: #ffffff;
    padding: clamp(1rem, 3vw, 1.5rem);
    box-shadow: var(--miliki-shadow-soft);
}

.catering-path-card--cta {
    background: linear-gradient(135deg, var(--miliki-charcoal, #14100b) 0%, var(--miliki-black, #050403) 100%);
    color: #fff8f0;
    border-color: transparent;
}

.catering-path-card--cta .catering-path-card__label {
    color: var(--miliki-gold-light);
}

.catering-path-card--cta .catering-path-card__title a {
    color: #fff8f0;
}

.catering-path-card--cta .catering-path-card__desc {
    color: rgba(255, 250, 243, 0.74);
}

.catering-path-card__label {
    margin: 0 0 var(--miliki-space-2);
    color: var(--miliki-link);
    font-size: 0.78rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.catering-path-card__title {
    margin: 0 0 var(--miliki-space-2);
    font-size: clamp(1.05rem, 2vw, 1.25rem);
    line-height: 1.25;
}

.catering-path-card__title a {
    color: var(--miliki-color-text);
    text-decoration: none;
}

.catering-path-card__title a:hover,
.catering-path-card__title a:focus-visible {
    color: var(--miliki-link);
    text-decoration: underline;
}

.catering-path-card__desc {
    margin: 0;
    color: var(--miliki-color-muted);
    font-size: 0.9rem;
    line-height: 1.55;
}

.catering-section--wedding,
.catering-section--events,
.catering-section--catering-menu,
.catering-section--gallery {
    background: #ffffff;
}

@media (max-width: 64rem) {
    .catering-paths-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 40rem) {
    .catering-paths-grid {
        grid-template-columns: 1fr;
    }
}

/* 23. Contact page and form -------------------------------------------------- */

.contact-split-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    min-height: clamp(44rem, 82vh, 62rem);
    background: #0e0906;
}

.contact-split-hero__media {
    position: relative;
    min-height: clamp(26rem, 82vh, 62rem);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background:
        radial-gradient(circle at 22% 18%, rgba(214, 179, 90, 0.28), transparent 28rem),
        linear-gradient(135deg, #120d09 0%, var(--miliki-charcoal, #14100b) 55%, var(--miliki-black, #050403) 100%);
    color: #fff8f0;
    padding: clamp(1.25rem, 4vw, 3.25rem);
}

.contact-split-hero__media-frame {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    width: min(88%, 43rem);
    max-width: calc(100% - clamp(1rem, 3vw, 2rem));
    max-height: min(70vh, 42rem);
    border: 1px solid rgba(214, 179, 90, 0.48);
    border-radius: clamp(1rem, 2vw, 1.5rem);
    background:
        linear-gradient(135deg, rgba(255, 248, 240, 0.075), rgba(255, 248, 240, 0.025)),
        rgba(14, 9, 6, 0.72);
    padding: clamp(0.75rem, 2vw, 1.25rem);
    box-shadow:
        0 1.6rem 4.5rem rgba(0, 0, 0, 0.36),
        inset 0 0 0 1px rgba(255, 248, 240, 0.06);
}

.contact-split-hero__image-stack {
    position: relative;
    display: grid;
    place-items: center;
    width: 100%;
    max-height: min(66vh, 39.5rem);
    overflow: hidden;
    border-radius: calc(clamp(1rem, 2vw, 1.5rem) - 0.35rem);
}

.contact-split-hero__image {
    grid-area: 1 / 1;
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: min(66vh, 39.5rem);
    object-fit: contain;
    opacity: 0;
    transition:
        opacity 900ms ease;
}

.contact-split-hero__image.is-portrait {
    max-width: min(74%, 34rem);
}

.contact-split-hero__image.is-landscape {
    width: min(100%, 46rem);
    max-width: 100%;
}

.contact-split-hero__image.is-active {
    opacity: 1;
}

.contact-split-hero__fallback {
    position: absolute;
    inset: 0;
    overflow: hidden;
    background:
        linear-gradient(135deg, rgba(214, 179, 90, 0.16) 0 1px, transparent 1px 26px),
        radial-gradient(circle at 18% 20%, rgba(214, 179, 90, 0.35), transparent 18rem),
        linear-gradient(135deg, #100c08 0%, var(--miliki-charcoal, #14100b) 55%, var(--miliki-black, #050403) 100%);
}

.contact-split-hero__fallback span {
    position: absolute;
    display: block;
    border: 1px solid rgba(214, 179, 90, 0.35);
    border-radius: 999px;
}

.contact-split-hero__fallback span:nth-child(1) {
    top: 12%;
    left: 10%;
    width: 12rem;
    height: 12rem;
}

.contact-split-hero__fallback span:nth-child(2) {
    right: -4rem;
    bottom: 20%;
    width: 18rem;
    height: 18rem;
}

.contact-split-hero__fallback span:nth-child(3) {
    right: 28%;
    bottom: 8%;
    width: 7rem;
    height: 7rem;
}

.contact-split-hero__media::after {
    content: '';
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(14, 9, 6, 0.32), rgba(14, 9, 6, 0.06) 52%, rgba(14, 9, 6, 0.74)),
        linear-gradient(0deg, rgba(14, 9, 6, 0.55), transparent 45%);
    pointer-events: none;
}

.contact-split-hero__media-overlay {
    position: absolute;
    z-index: 2;
    right: clamp(1rem, 4vw, 3rem);
    bottom: clamp(1rem, 4vw, 3rem);
    left: clamp(1rem, 4vw, 3rem);
}

.contact-split-hero__media-kicker {
    max-width: 22rem;
    margin: 0;
    border-left: 0.25rem solid var(--miliki-color-accent);
    padding-left: var(--miliki-space-3);
    color: #fff8f0;
    font-size: clamp(0.95rem, 1.6vw, 1.15rem);
    font-weight: 900;
    line-height: 1.35;
    text-shadow: 0 0.1rem 0.5rem rgba(0, 0, 0, 0.45);
}

.contact-split-hero__content {
    position: relative;
    display: grid;
    align-content: start;
    gap: clamp(1.25rem, 3vw, 2rem);
    min-height: clamp(44rem, 82vh, 62rem);
    background:
        linear-gradient(180deg, rgba(255, 250, 246, 0.98), rgba(255, 248, 240, 0.96)),
        #fffaf6;
    padding: clamp(1.25rem, 4vw, 4rem);
}

.contact-split-hero__intro {
    max-width: 39rem;
    padding-top: clamp(0rem, 3vh, 2rem);
}

.contact-split-hero__eyebrow {
    margin: 0 0 var(--miliki-space-2);
    color: var(--miliki-link);
    font-size: 0.78rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.contact-split-hero__intro h1 {
    margin: 0 0 var(--miliki-space-3);
    color: var(--miliki-color-text);
    font-size: clamp(2.15rem, 5vw, 4.5rem);
    line-height: 0.98;
    letter-spacing: -0.045em;
}

.contact-split-hero__intro p {
    max-width: 34rem;
    margin: 0;
    color: var(--miliki-color-muted);
    font-size: clamp(1rem, 1.4vw, 1.12rem);
}

.contact-split-hero__direct-list {
    display: flex;
    flex-wrap: wrap;
    gap: var(--miliki-space-2) var(--miliki-space-4);
    margin: var(--miliki-space-4) 0 0;
    padding: 0;
    list-style: none;
}

.contact-split-hero__direct-list a {
    color: var(--miliki-link);
    font-weight: 900;
}

.contact-split-hero__form-shell {
    position: relative;
    isolation: isolate;
    width: min(100%, 44rem);
    margin-left: clamp(-3.5rem, -4vw, 0rem);
    border: 1px solid rgba(214, 179, 90, 0.28);
    border-radius: clamp(1rem, 2vw, 1.4rem);
    background: #fffdf9;
    padding: clamp(1rem, 3vw, 1.75rem);
    box-shadow: 0 1.4rem 4rem rgba(31, 23, 18, 0.16);
    transform-origin: 0 15%;
}

.js .contact-split-hero__form-shell {
    animation: contactFormPanelExpand 850ms cubic-bezier(0.2, 0.9, 0.22, 1) 120ms both;
}

.contact-split-hero__form-accent {
    position: absolute;
    z-index: -1;
    top: -0.9rem;
    left: -0.9rem;
    width: clamp(3rem, 8vw, 5rem);
    height: clamp(3rem, 8vw, 5rem);
    border: 1px solid rgba(214, 179, 90, 0.82);
    border-radius: 0.75rem;
    background: linear-gradient(135deg, rgba(214, 179, 90, 0.28), rgba(155, 117, 38, 0.08));
    box-shadow: 0 0.8rem 2rem rgba(31, 23, 18, 0.12);
}

@keyframes contactFormPanelExpand {
    0% {
        transform: translateX(-7%) scale(0.92);
        border-radius: 1.8rem;
    }

    100% {
        transform: translateX(0) scale(1);
        border-radius: clamp(1rem, 2vw, 1.4rem);
    }
}

@media (prefers-reduced-motion: reduce) {
    .contact-split-hero__image,
    .contact-split-hero__form-shell {
        animation: none !important;
        transition: none !important;
        transform: none !important;
    }

    .contact-split-hero__image:not(.is-active) {
        opacity: 0;
    }
}

@media (max-width: 64rem) {
    .contact-split-hero {
        grid-template-columns: 1fr;
        min-height: 0;
    }

    .contact-split-hero__content {
        order: 1;
        min-height: 0;
        padding: clamp(1.25rem, 5vw, 2rem);
    }

    .contact-split-hero__media {
        order: 2;
        min-height: 0;
        padding: clamp(1rem, 4vw, 1.5rem);
    }

    .contact-split-hero__media-frame {
        width: 100%;
        max-width: 36rem;
        max-height: 18rem;
    }

    .contact-split-hero__image-stack,
    .contact-split-hero__image {
        max-height: 15.5rem;
    }

    .contact-split-hero__form-shell {
        width: 100%;
        margin-left: 0;
    }
}

@media (max-width: 40rem) {
    .contact-split-hero__content {
        gap: var(--miliki-space-5);
    }

    .contact-split-hero__intro h1 {
        font-size: clamp(2rem, 14vw, 3rem);
    }

    .contact-split-hero__direct-list {
        display: grid;
        gap: var(--miliki-space-2);
    }
}

.contact-nap-map {
    padding: clamp(3rem, 8vw, 6rem) 0;
    background:
        linear-gradient(180deg, #fffaf6 0%, #ffffff 100%);
}

.contact-nap-map__inner {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(20rem, 1.1fr);
    gap: clamp(1.5rem, 5vw, 4rem);
    align-items: start;
}

.contact-nap-map__editorial {
    max-width: 42rem;
}

.contact-nap-map__eyebrow,
.contact-nap-map__label {
    margin: 0 0 var(--miliki-space-2);
    color: var(--miliki-link);
    font-size: 0.78rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.contact-nap-map h2 {
    margin: 0 0 var(--miliki-space-3);
    color: var(--miliki-color-text);
    font-size: clamp(2rem, 4vw, 3.4rem);
    line-height: 1.05;
    letter-spacing: -0.035em;
}

.contact-nap-map__intro {
    margin: 0 0 var(--miliki-space-6);
    color: var(--miliki-color-muted);
    font-size: clamp(1rem, 1.5vw, 1.12rem);
}

.contact-nap-map__details {
    display: grid;
    gap: var(--miliki-space-5);
}

.contact-nap-map__detail-block {
    border-top: 1px solid var(--miliki-color-border);
    padding-top: var(--miliki-space-4);
}

.contact-nap-map__name {
    margin: 0 0 var(--miliki-space-2);
    font-size: 1.2rem;
    font-weight: 900;
}

.contact-nap-map__address {
    color: var(--miliki-color-text);
    font-style: normal;
    line-height: 1.7;
}

.contact-nap-map__list {
    display: grid;
    gap: var(--miliki-space-3);
    margin: 0;
}

.contact-nap-map__list div {
    display: grid;
    gap: var(--miliki-space-1);
}

.contact-nap-map__list dt {
    color: var(--miliki-color-muted);
    font-size: 0.85rem;
    font-weight: 800;
}

.contact-nap-map__list dd {
    margin: 0;
    font-size: 1rem;
    font-weight: 800;
}

.contact-nap-map__list a,
.contact-nap-map__social-link {
    color: var(--miliki-link);
}

.contact-nap-map__hours-list {
    display: grid;
    gap: var(--miliki-space-1);
    margin: 0;
    padding: 0;
    color: var(--miliki-color-text);
    list-style: none;
}

.contact-nap-map__delivery,
.contact-nap-map__note {
    margin: var(--miliki-space-3) 0 0;
    color: var(--miliki-color-muted);
}

.contact-nap-map__note {
    font-size: 0.9rem;
}

.contact-nap-map__social-list {
    display: flex;
    flex-wrap: wrap;
    gap: var(--miliki-space-2);
    margin: 0;
    padding: 0;
    list-style: none;
}

.contact-nap-map__social-link {
    display: inline-flex;
    gap: var(--miliki-space-2);
    align-items: center;
    border: 1px solid rgba(214, 179, 90, 0.28);
    border-radius: var(--miliki-radius-pill);
    background: #fff8f0;
    padding: 0.55rem 0.8rem;
    font-size: 0.92rem;
    font-weight: 900;
    text-decoration: none;
}

.contact-nap-map__social-link span {
    display: grid;
    place-items: center;
    width: 1.45rem;
    height: 1.45rem;
    border-radius: 999px;
    background: #1f1712;
    color: var(--miliki-gold);
    font-size: 0.78rem;
}

.contact-nap-map__map-panel {
    position: sticky;
    top: 6rem;
    display: grid;
    gap: var(--miliki-space-4);
    border: 1px solid rgba(31, 23, 18, 0.12);
    border-radius: clamp(1rem, 2vw, 1.5rem);
    background:
        linear-gradient(135deg, rgba(214, 179, 90, 0.08), rgba(255, 255, 255, 0.92)),
        #ffffff;
    padding: clamp(1rem, 2vw, 1.25rem);
    box-shadow: var(--miliki-shadow-soft);
}

.contact-nap-map__iframe-wrap {
    position: relative;
    overflow: hidden;
    border-radius: calc(var(--miliki-radius-md) + 0.15rem);
    background: #0e0906;
    aspect-ratio: 4 / 3;
}

.contact-nap-map__iframe-wrap iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

.contact-nap-map__map-fallback {
    border-radius: var(--miliki-radius-md);
    background:
        radial-gradient(circle at 15% 25%, rgba(214, 179, 90, 0.28), transparent 14rem),
        linear-gradient(135deg, #120d09, var(--miliki-black, #050403));
    color: #fff8f0;
    padding: clamp(1.25rem, 4vw, 2rem);
    min-height: 16rem;
}

.contact-nap-map__directions {
    justify-self: start;
}

@media (max-width: 58rem) {
    .contact-nap-map__inner {
        grid-template-columns: 1fr;
    }

    .contact-nap-map__map-panel {
        position: static;
    }
}

@media (max-width: 40rem) {
    .contact-nap-map__iframe-wrap {
        aspect-ratio: 1 / 1;
    }

    .contact-nap-map__directions {
        justify-self: stretch;
        text-align: center;
    }
}

.contact-page-section {
    padding: clamp(2.5rem, 7vw, 5rem) 0;
}

.contact-page-form-layout {
    display: grid;
    grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
    gap: clamp(1.5rem, 5vw, 4rem);
    align-items: start;
}

.contact-page-form-copy {
    position: sticky;
    top: 6rem;
}

.contact-page-eyebrow {
    margin: 0 0 var(--miliki-space-2);
    color: var(--miliki-link);
    font-size: 0.78rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.contact-page-form-copy h2 {
    margin: 0 0 var(--miliki-space-3);
    font-size: clamp(1.75rem, 4vw, 2.6rem);
    line-height: 1.1;
}

.contact-page-form-copy p {
    color: var(--miliki-color-muted);
}

.contact-page-direct-list {
    display: grid;
    gap: var(--miliki-space-2);
    margin: var(--miliki-space-5) 0 0;
    padding: 0;
    list-style: none;
}

.contact-page-direct-list a {
    color: var(--miliki-link);
    font-weight: 800;
}

.contact-page-form-card {
    border: 1px solid rgba(214, 179, 90, 0.28);
    border-radius: var(--miliki-radius-md);
    background: #fffdf9;
    padding: clamp(1rem, 3vw, 2rem);
    box-shadow: var(--miliki-shadow-soft);
}

.contact-form-wrapper {
    position: relative;
}

.contact-form__notice {
    margin-bottom: var(--miliki-space-5);
    border-radius: var(--miliki-radius-md);
    padding: clamp(1rem, 3vw, 1.5rem);
}

.contact-form__notice--success {
    border: 1px solid #008545;
    background: #f0faf4;
    color: #005a2e;
}

.contact-form__notice--error,
.contact-form__error-summary {
    border: 1px solid #b42318;
    background: #fff2f0;
    color: #7a271a;
}

.contact-form__notice-title {
    margin: 0 0 var(--miliki-space-2);
    font-size: 1.05rem;
    font-weight: 900;
}

.contact-form__notice p:last-child {
    margin: 0;
}

.contact-form__error-summary {
    margin-bottom: var(--miliki-space-4);
    border-left: 0.35rem solid #b42318;
    border-radius: var(--miliki-radius-sm);
    padding: var(--miliki-space-4);
}

.contact-form__error-summary p {
    margin: 0 0 var(--miliki-space-2);
    font-weight: 900;
}

.contact-form__error-summary ul {
    margin: 0;
    padding-left: var(--miliki-space-5);
}

.contact-form__error-summary a {
    color: #7a271a;
    font-weight: 800;
}

.contact-form__row {
    margin-bottom: var(--miliki-space-4);
}

.contact-form__row--split {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--miliki-space-4);
}

.contact-form__label {
    display: block;
    margin-bottom: var(--miliki-space-2);
    color: var(--miliki-color-text);
    font-weight: 800;
}

.contact-form__label-required,
.contact-form__label-optional {
    margin-left: var(--miliki-space-1);
    color: var(--miliki-color-muted);
    font-size: 0.82rem;
    font-weight: 700;
}

.contact-form__input,
.contact-form__select,
.contact-form__textarea {
    display: block;
    width: 100%;
    border: 1px solid var(--miliki-color-border);
    border-radius: var(--miliki-radius-sm);
    background-color: #ffffff;
    color: var(--miliki-color-text);
    padding: 0.85rem 0.95rem;
}

.contact-form__input:focus,
.contact-form__select:focus,
.contact-form__textarea:focus,
.contact-form__checkbox:focus-visible {
    outline: 3px solid var(--miliki-color-focus);
    outline-offset: 2px;
    border-color: var(--miliki-color-focus);
}

.contact-form__input[aria-invalid='true'],
.contact-form__select[aria-invalid='true'],
.contact-form__textarea[aria-invalid='true'],
.contact-form__input--error,
.contact-form__select--error,
.contact-form__textarea--error {
    border-color: #b42318;
    box-shadow: 0 0 0 2px rgba(180, 35, 24, 0.18);
}

.contact-form__select {
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill='%23665b54' d='M4 6l4 4 4-4'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 0.85rem center;
    padding-right: 2.5rem;
}

.contact-form__textarea {
    min-height: 9rem;
    resize: vertical;
}

.contact-form__field-error {
    display: block;
    margin: var(--miliki-space-1) 0 0;
    color: #b42318;
    font-size: 0.88rem;
    font-weight: 800;
}

.contact-form__helper {
    margin: var(--miliki-space-2) 0 0;
    color: var(--miliki-color-muted);
    font-size: 0.88rem;
}

.contact-form__consent-row {
    margin-bottom: var(--miliki-space-5);
    padding: var(--miliki-space-4);
    border: 1px solid var(--miliki-color-border);
    border-radius: var(--miliki-radius-sm);
    background: #fff8f0;
}

.contact-form__consent-label {
    display: flex;
    gap: var(--miliki-space-3);
    align-items: flex-start;
    margin: 0;
    font-weight: 700;
    cursor: pointer;
}

.contact-form__checkbox {
    flex: 0 0 auto;
    width: 1.15rem;
    height: 1.15rem;
    margin-top: 0.2rem;
    accent-color: var(--miliki-gold-deep);
}

.contact-form__submit-row {
    display: flex;
    flex-wrap: wrap;
    gap: var(--miliki-space-4);
    align-items: center;
}

.contact-form__submit-note {
    flex: 1 1 14rem;
    margin: 0;
}

.contact-form__submit[aria-busy='true'] {
    opacity: 0.72;
    cursor: wait;
}

.contact-form__honeypot {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    white-space: nowrap;
}

@media (max-width: 58rem) {
    .contact-page-form-layout {
        grid-template-columns: 1fr;
    }

    .contact-page-form-copy {
        position: static;
    }
}

@media (max-width: 40rem) {
    .contact-form__row--split {
        grid-template-columns: 1fr;
    }

    .contact-form__submit-row {
        flex-direction: column;
        align-items: stretch;
    }

    .contact-form__submit {
        width: 100%;
    }
}

/* 24. Contact page split hero (miliki-contact-split) ------------------------- */

:root {
    --miliki-black: #050403;
    --miliki-charcoal: #15110c;
    --miliki-gold: #d6b35a;
    --miliki-gold-soft: rgba(214, 179, 90, 0.45);
    --miliki-cream: #fff6ef;
    --miliki-cream-strong: #fffaf3;
    --miliki-text: #211d1a;
    --miliki-site-header-height: 6.25rem;
    --miliki-header-visual-height: 5.25rem;
    --miliki-wp-admin-offset: 0px;
    --miliki-admin-bar-height: 0px;
}

body.admin-bar {
    --miliki-wp-admin-offset: 32px;
    --miliki-admin-bar-height: 32px;
}

body:not(.admin-bar) {
    --miliki-admin-bar-height: 0px;
}

/* Remove the global site-main top/bottom padding so the split reaches the header edge. */
.site-main:has(.miliki-contact-page) {
    padding-top: 0;
    padding-bottom: 0;
    min-height: 0;
}

.miliki-contact-page {
    margin: 0;
    padding: 0;
    background: var(--miliki-black, #050403);
    color: var(--miliki-text);
}

/*
 * Desktop contact hero: fill the viewport below the admin bar only.
 * The header is transparent and overlays the hero visually; content uses
 * top padding internally to clear the header without shrinking the split.
 */
.miliki-contact-split {
    min-height: 0;
    height: calc(100svh - var(--miliki-admin-bar-height, 0px));
    display: grid;
    grid-template-columns: minmax(0, 1.02fr) minmax(34rem, 0.98fr);
    overflow: hidden;
    border-top: 0;
    background: var(--miliki-black, #050403);
}

/* If a server-side or JS validation state adds height, allow normal page scrolling instead of trapping content. */
.miliki-contact-split:has(.contact-form__notice--error, .contact-form__error-summary:not([hidden]), [aria-invalid='true']) {
    height: auto;
    min-height: calc(100svh - var(--miliki-admin-bar-height, 0px));
    overflow: visible;
}

/* Left panel: match the constrained split height; image covers the panel edge to edge. */
.miliki-contact-split__visual {
    position: relative;
    min-height: 0;
    height: 100%;
    overflow: hidden;
    background: var(--miliki-black);
}

.miliki-contact-split__image {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    max-height: none;
    object-fit: cover;
    object-position: center center;
    opacity: 0;
    transform: scale(0.88);
    transform-origin: center center;
    transition: opacity 320ms ease, transform 480ms cubic-bezier(0.22, 1, 0.36, 1);
    will-change: opacity, transform;
    z-index: 0;
}

.miliki-contact-split--image-contain .miliki-contact-split__image {
    object-fit: contain;
    background: var(--miliki-black);
}

/* Active image grows from centre to fill the panel, on top of the outgoing image. */
.miliki-contact-split__image.is-active {
    opacity: 1;
    transform: scale(1);
    z-index: 1;
}

/* Fallback panel shown when no approved image is available. */
.miliki-contact-split__visual-fallback {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    gap: 0.75rem;
    color: var(--miliki-gold);
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    background: radial-gradient(circle at 50% 50%, rgba(214, 179, 90, 0.10), transparent 42%);
}

.miliki-contact-split__fallback-mark {
    font-size: clamp(4rem, 10vw, 9rem);
    line-height: 0.9;
    font-weight: 700;
}

.miliki-contact-split__fallback-text {
    font-size: 0.8rem;
}

/* Caption overlaid at the bottom of the image. */
.miliki-contact-split__visual-caption {
    position: absolute;
    left: clamp(1.25rem, 3vw, 3.5rem);
    bottom: clamp(1.25rem, 3vw, 3.5rem);
    z-index: 2;
    max-width: 20rem;
    color: var(--miliki-cream);
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    font-size: clamp(0.8rem, 1vw, 0.95rem);
    text-shadow: 0 1px 6px rgba(0, 0, 0, 0.65);
}

/* Right side: premium cream/gold treatment; top padding clears the transparent header. */
.miliki-contact-split__content {
    position: relative;
    height: 100%;
    min-height: 0;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    padding:
        clamp(6.5rem, 9vw, 8rem)
        clamp(2rem, 5vw, 5rem)
        clamp(2rem, 4vw, 3.5rem);
    background:
        linear-gradient(90deg, rgba(214, 179, 90, 0.18), transparent 20%),
        radial-gradient(circle at 88% 8%, rgba(214, 179, 90, 0.10), transparent 28%),
        var(--miliki-cream, #fff7ed);
    color: var(--miliki-ink, #17110d);
}

.miliki-contact-split__content::before {
    content: "";
    position: absolute;
    inset: clamp(1rem, 2vw, 1.75rem);
    border: 1px solid rgba(214, 179, 90, 0.18);
    pointer-events: none;
}

.miliki-contact-split:has(.contact-form__notice--error, .contact-form__error-summary:not([hidden]), [aria-invalid='true']) .miliki-contact-split__content {
    overflow: visible;
}

.miliki-contact-split__content-inner {
    position: relative;
    z-index: 1;
    width: min(100%, 40rem);
    max-height: 100%;
    min-height: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.miliki-contact-split__eyebrow {
    margin: 0 0 0.65rem;
    color: var(--miliki-gold-deep, #9b7526);
    font-size: 0.72rem;
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: 0.22em;
    text-transform: uppercase;
}

.miliki-contact-split__title {
    margin: 0;
    max-width: 9.5ch;
    color: var(--miliki-ink, #17110d);
    font-family: var(--font-display, Georgia, "Times New Roman", serif);
    font-size: clamp(3rem, 4.85vw, 5.35rem);
    line-height: 0.88;
    letter-spacing: -0.065em;
}

@media (max-width: 1400px) {
    .miliki-contact-split__title {
        font-size: clamp(2.85rem, 4.25vw, 4.75rem);
        max-width: 9ch;
    }
}

.miliki-contact-split__intro {
    margin: 0.9rem 0 0;
    max-width: 34rem;
    font-size: clamp(0.95rem, 1vw, 1.08rem);
    line-height: 1.55;
}

.miliki-contact-split__quick-links {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem 0.9rem;
    margin-top: 0.9rem;
}

.miliki-contact-split__quick-links a {
    color: var(--miliki-link);
    font-size: 0.9rem;
    font-weight: 800;
    line-height: 1.2;
    text-decoration: underline;
    text-underline-offset: 0.25em;
}

.miliki-contact-split .contact-form,
.miliki-contact-split .contact-form-wrapper,
.miliki-contact-split form {
    margin: 0;
}

.miliki-contact-split__form-shell {
    margin-top: 1.15rem;
    padding: clamp(0.9rem, 1.5vw, 1.35rem);
    border: 1px solid rgba(214, 179, 90, 0.42);
    border-radius: 1rem;
    background: rgba(255, 250, 243, 0.88);
    box-shadow: 0 1rem 2.5rem rgba(33, 29, 26, 0.07);
}

/* Compact mode is scoped to the split hero so other contact form contexts keep their roomier spacing. */
.miliki-contact-split__form-shell .contact-form__notice {
    margin-bottom: 0.8rem;
    padding: 0.75rem 0.85rem;
}

.miliki-contact-split__form-shell .contact-form__notice-title {
    margin-bottom: 0.25rem;
    font-size: 0.95rem;
}

.miliki-contact-split__form-shell .contact-form__error-summary {
    margin-bottom: 0.75rem;
    padding: 0.65rem 0.75rem;
}

.miliki-contact-split__form-shell .contact-form__row {
    margin-bottom: 0.65rem;
}

.miliki-contact-split__form-shell .contact-form__row--split {
    gap: 0.75rem 0.9rem;
}

.miliki-contact-split__form-shell .contact-form__label {
    margin-bottom: 0.3rem;
    font-size: 0.88rem;
    line-height: 1.2;
}

.miliki-contact-split__form-shell .contact-form__label-required,
.miliki-contact-split__form-shell .contact-form__label-optional {
    font-size: 0.76rem;
}

.miliki-contact-split__form-shell .contact-form__input,
.miliki-contact-split__form-shell .contact-form__select {
    min-height: 2.65rem;
    padding: 0.62rem 0.85rem;
    font-size: 0.94rem;
}

.miliki-contact-split__form-shell .contact-form__select {
    padding-right: 2.4rem;
}

.miliki-contact-split__form-shell .contact-form__textarea {
    min-height: 5.75rem;
    max-height: 6.5rem;
    padding: 0.7rem 0.85rem;
    font-size: 0.94rem;
    resize: vertical;
}

.miliki-contact-split__form-shell .contact-form__helper {
    margin-top: 0.35rem;
    font-size: 0.78rem;
    line-height: 1.35;
}

.miliki-contact-split__form-shell .contact-form__field-error {
    margin-top: 0.3rem;
    font-size: 0.78rem;
    line-height: 1.25;
}

.miliki-contact-split__form-shell .contact-form__consent-row {
    margin-bottom: 0;
    padding: 0.68rem 0.8rem;
}

.miliki-contact-split__form-shell .contact-form__consent-label {
    gap: 0.65rem;
    font-size: 0.86rem;
    line-height: 1.35;
}

.miliki-contact-split__form-shell .contact-form__checkbox {
    width: 1.05rem;
    height: 1.05rem;
    margin-top: 0.12rem;
}

.miliki-contact-split__form-shell .contact-form__submit-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-top: 0.75rem;
}

.miliki-contact-split__form-shell .contact-form__submit,
.miliki-contact-split__form-shell button[type='submit'] {
    min-height: 2.65rem;
    padding: 0.65rem 1.15rem;
}

.miliki-contact-split__form-shell .contact-form__submit-note {
    flex: 1 1 12rem;
    font-size: 0.78rem;
}

/* Contact page: push the menu trigger towards the right edge so it clears the H1. */
@media (min-width: 1024px) {
    body.page-template-page-contact .site-header--overlay-nav .site-header__inner,
    body.page-id-contact .site-header--overlay-nav .site-header__inner,
    body.page-slug-contact .site-header--overlay-nav .site-header__inner {
        padding-inline: clamp(1rem, 3vw, 2.25rem);
    }

    body.page-template-page-contact .site-header--overlay-nav .site-header__menu-trigger,
    body.page-id-contact .site-header--overlay-nav .site-header__menu-trigger,
    body.page-slug-contact .site-header--overlay-nav .site-header__menu-trigger {
        position: fixed;
        top: calc(var(--wp-admin--admin-bar--height, 0px) + 1.25rem);
        right: clamp(1rem, 3vw, 2.5rem);
    }
}

/* Stack on tablet/mobile: form first, image below, with normal page scrolling. */
@media (max-width: 1023px) {
    .miliki-contact-split {
        height: auto;
        min-height: auto;
        display: flex;
        flex-direction: column;
        overflow: visible;
    }

    .miliki-contact-split__content {
        order: 1;
        height: auto;
        min-height: auto;
        overflow: visible;
        justify-content: flex-start;
        padding: clamp(5.25rem, 16vw, 7rem) clamp(1.25rem, 6vw, 2.5rem) 2rem;
    }

    .miliki-contact-split__content-inner {
        max-height: none;
    }

    .miliki-contact-split__visual {
        order: 2;
        height: 42vh;
        min-height: 18rem;
        aspect-ratio: unset;
    }

    .miliki-contact-split__visual-caption {
        display: none;
    }

    .miliki-contact-split__title {
        max-width: 10ch;
        font-size: clamp(2.9rem, 13vw, 4.2rem);
    }

    .miliki-contact-split__form-shell .contact-form__textarea {
        min-height: 8rem;
        max-height: none;
    }

    .miliki-contact-split__visual-inner {
        height: 100%;
    }
}

@media (max-width: 640px) {
    .miliki-contact-split__form-shell {
        padding: 1rem;
        border-radius: 1rem;
    }

    .miliki-contact-split__quick-links {
        display: grid;
    }
}

@media (prefers-reduced-motion: reduce) {
    .miliki-contact-split__image {
        transition: none;
        transform: none;
    }
}

/* ============================================================================
   Desktop menu overlay (NAV-003, NAV-004, NAV-005, NAV-FIX-002)
   All layout rules scoped to @media (min-width: 64rem) except structural tokens.
   ============================================================================ */

/* Overlay tokens */
:root {
    --miliki-admin-bar-offset: var(--wp-admin--admin-bar--height, 0px);
    --overlay-bg:         #0e0e0e;
    --overlay-gold:       #c9a84c;
    --overlay-cream:      #fffaf6;
    --overlay-off-white:  #e8ddd6;
    --overlay-divider:    rgba(201, 168, 76, 0.35);
    --overlay-panel-dim:  0.55;
    --overlay-z:          9998;
    --overlay-in-dur:     260ms;
    --overlay-out-dur:    200ms;
    --overlay-panel-dur:  420ms;
}

/* Prevent background scroll while overlay is open */
body.menu-overlay-open,
body.has-desktop-menu-open {
    overflow: hidden;
}

/* ---- Overlay shell --------------------------------------------------------- */

/* Ensure [hidden] attribute is never overridden */
.desktop-menu-overlay[hidden] {
    display: none !important;
}

.desktop-menu-overlay {
    position: fixed;
    top: var(--miliki-admin-bar-offset);
    right: 0;
    bottom: 0;
    left: 0;
    z-index: var(--overlay-z);
    display: block;
    width: 100%;
    height: calc(100dvh - var(--miliki-admin-bar-offset));
    overflow: hidden;
    background: #050403;
    color: var(--overlay-cream);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition:
        opacity 280ms ease,
        visibility 0ms linear 280ms;
}

.desktop-menu-overlay.is-opening,
.desktop-menu-overlay.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition:
        opacity 220ms ease,
        visibility 0ms linear 0ms;
}

.desktop-menu-overlay.is-closing {
    opacity: 0;
    visibility: visible;
    pointer-events: none;
}

.desktop-menu-overlay__backdrop {
    position: absolute;
    inset: 0;
    z-index: 0;
    background: transparent;
}

/* ---- Inner wrapper --------------------------------------------------------- */

.desktop-menu-overlay__inner {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    min-height: 0;
}

/* ---- Close button ---------------------------------------------------------- */

.desktop-menu-overlay__close {
    position: fixed;
    top: calc(var(--miliki-admin-bar-offset) + 1.25rem);
    right: 1.5rem;
    z-index: 10002;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    border: 1px solid var(--overlay-divider);
    border-radius: 999px;
    background: rgba(5, 4, 3, 0.34);
    color: var(--overlay-cream);
    padding: 0.5rem 1.1rem 0.5rem 0.85rem;
    font-size: 0.875rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    cursor: pointer;
    opacity: 0;
    transform: translateY(-0.5rem);
    backdrop-filter: blur(10px);
    transition:
        opacity 260ms ease,
        transform 320ms cubic-bezier(0.22, 1, 0.36, 1),
        border-color 150ms ease,
        color 150ms ease,
        background-color 150ms ease;
}

.desktop-menu-overlay.is-open .desktop-menu-overlay__close,
.desktop-menu-overlay.is-opening .desktop-menu-overlay__close {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 240ms, 240ms, 0ms, 0ms, 0ms;
}

.desktop-menu-overlay.is-closing .desktop-menu-overlay__close {
    opacity: 0;
    transform: translateY(-0.5rem);
    transition-delay: 0ms;
}

.desktop-menu-overlay__close:hover {
    border-color: var(--overlay-gold);
    color: var(--overlay-gold);
    background: rgba(5, 4, 3, 0.48);
}

.desktop-menu-overlay__close:focus-visible {
    outline: 3px solid var(--overlay-gold);
    outline-offset: 3px;
}

/* X icon built from two spans */
.desktop-menu-overlay__close-icon {
    position: relative;
    display: inline-block;
    width: 1rem;
    height: 1rem;
    flex-shrink: 0;
}

.desktop-menu-overlay__close-icon span {
    position: absolute;
    top: 50%;
    left: 0;
    display: block;
    width: 100%;
    height: 1.5px;
    background: currentColor;
    border-radius: 1px;
}

.desktop-menu-overlay__close-icon span:first-child {
    transform: translateY(-50%) rotate(45deg);
}

.desktop-menu-overlay__close-icon span:last-child {
    transform: translateY(-50%) rotate(-45deg);
}

/* ---- Nav landmark / panel grid ------------------------------------------- */

.desktop-menu-overlay__panel,
.desktop-menu-overlay__nav,
.desktop-menu-overlay__panels {
    height: 100%;
    min-height: 0;
}

.desktop-menu-overlay__nav {
    display: block;
    min-height: 0;
}

.desktop-menu-overlay__panels {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    width: 100%;
    margin: 0;
    padding: 0;
    overflow: hidden;
    list-style: none;
}

.desktop-menu-overlay__item {
    display: block;
    min-height: 0;
    border-right: 0;
}

/* ---- Panel link ------------------------------------------------------------ */

.desktop-menu-panel {
    position: relative;
    display: grid;
    grid-template-rows: auto 1fr auto;
    width: 100%;
    height: 100%;
    min-height: 0;
    padding: clamp(1.25rem, 2vw, 2rem);
    color: var(--overlay-cream);
    text-decoration: none;
    border-right: 1px solid rgba(214, 179, 90, 0.24);
    overflow: hidden;
    isolation: isolate;
    clip-path: inset(0 100% 0 0);
    transform: translateX(2.5rem);
    opacity: 0;
    transition:
        clip-path 720ms cubic-bezier(0.22, 1, 0.36, 1),
        transform 720ms cubic-bezier(0.22, 1, 0.36, 1),
        opacity 420ms ease,
        background-color 300ms ease;
    transition-delay: calc(var(--panel-reveal-index, 0) * 90ms);
}

.desktop-menu-overlay__item:last-child .desktop-menu-panel {
    border-right: 0;
}

.desktop-menu-overlay.is-open .desktop-menu-panel,
.desktop-menu-overlay.is-opening .desktop-menu-panel {
    clip-path: inset(0 0 0 0);
    transform: translateX(0);
    opacity: 1;
}

.desktop-menu-overlay.is-closing .desktop-menu-panel {
    clip-path: inset(0 0 0 100%);
    transform: translateX(-2rem);
    opacity: 0;
    transition-delay: calc(var(--panel-index, 0) * 70ms);
}

.desktop-menu-panel:focus {
    outline: none;
}

.desktop-menu-panel:focus-visible {
    outline: 3px solid var(--overlay-gold);
    outline-offset: -3px;
}

/* Gold wash and premium active rail on hover/focus */
.desktop-menu-panel::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 1;
    opacity: 0;
    pointer-events: none;
    background:
        linear-gradient(180deg, rgba(214, 179, 90, 0.14), rgba(214, 179, 90, 0.04)),
        radial-gradient(circle at 50% 82%, rgba(214, 179, 90, 0.22), transparent 42%);
    transition: opacity 420ms ease;
}

.desktop-menu-panel::after {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    z-index: 4;
    width: 2px;
    background: var(--overlay-gold);
    transform: scaleY(0);
    transform-origin: top;
    transition: transform 420ms cubic-bezier(0.22, 1, 0.36, 1);
}

.desktop-menu-panel:hover::before,
.desktop-menu-panel:focus-visible::before,
.desktop-menu-panel.is-active::before {
    opacity: 1;
}

.desktop-menu-panel:hover::after,
.desktop-menu-panel:focus-visible::after,
.desktop-menu-panel.is-active::after {
    transform: scaleY(1);
}

/* Dim non-active panels when one is hovered / focused */
.desktop-menu-overlay__panels.has-active .desktop-menu-panel:not(.is-active) {
    opacity: var(--overlay-panel-dim);
}

/* ---- Panel text reveal ----------------------------------------------------- */

.desktop-menu-panel__number,
.desktop-menu-panel__text {
    position: relative;
    z-index: 3;
}

.desktop-menu-panel__number {
    display: block;
    align-self: start;
    margin: 0;
    padding: 0;
    color: var(--overlay-gold);
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0.08em;
}

.desktop-menu-panel__text {
    align-self: end;
    display: grid;
    gap: 0.65rem;
    padding-bottom: clamp(1.5rem, 5vh, 3.5rem);
}

.desktop-menu-panel__number,
.desktop-menu-panel__label,
.desktop-menu-panel__description {
    opacity: 0;
    transform: translateY(1rem);
    transition:
        opacity 520ms ease,
        transform 620ms cubic-bezier(0.22, 1, 0.36, 1),
        color 300ms ease;
    transition-delay: calc((var(--panel-reveal-index, 0) * 90ms) + 180ms);
}

.desktop-menu-overlay.is-open .desktop-menu-panel__number,
.desktop-menu-overlay.is-open .desktop-menu-panel__label,
.desktop-menu-overlay.is-open .desktop-menu-panel__description,
.desktop-menu-overlay.is-opening .desktop-menu-panel__number,
.desktop-menu-overlay.is-opening .desktop-menu-panel__label,
.desktop-menu-overlay.is-opening .desktop-menu-panel__description {
    opacity: 1;
    transform: translateY(0);
}

.desktop-menu-overlay.is-closing .desktop-menu-panel__number,
.desktop-menu-overlay.is-closing .desktop-menu-panel__label,
.desktop-menu-overlay.is-closing .desktop-menu-panel__description {
    opacity: 0;
    transform: translateY(0.65rem);
    transition-delay: 0ms;
}

.desktop-menu-panel__label {
    display: block;
    max-width: 100%;
    font-family: var(--font-display, Georgia, 'Times New Roman', serif);
    font-size: clamp(2rem, 3.55vw, 4.75rem);
    font-weight: 700;
    line-height: 0.9;
    letter-spacing: -0.055em;
    color: var(--overlay-cream);
    transform-origin: left bottom;
    overflow-wrap: normal;
    word-break: normal;
    white-space: nowrap;
    transition:
        transform 420ms cubic-bezier(0.22, 1, 0.36, 1),
        color 300ms ease,
        opacity 300ms ease;
}

.desktop-menu-panel--long-label .desktop-menu-panel__label {
    font-size: clamp(1.75rem, 3.05vw, 4.15rem);
    letter-spacing: -0.06em;
}

.desktop-menu-panel__description {
    display: block;
    max-width: 18rem;
    color: rgba(255, 250, 243, 0.66);
    font-size: clamp(0.86rem, 0.8vw, 1rem);
    font-weight: 400;
    line-height: 1.5;
}

/* ---- Hover/focus text animations ------------------------------------------ */

.desktop-menu-panel:hover .desktop-menu-panel__label,
.desktop-menu-panel:focus-visible .desktop-menu-panel__label,
.desktop-menu-panel.is-active .desktop-menu-panel__label {
    color: var(--overlay-gold);
    transform: translateY(-0.25rem) scale(1.015);
}

.desktop-menu-panel--long-label:hover .desktop-menu-panel__label,
.desktop-menu-panel--long-label:focus-visible .desktop-menu-panel__label,
.desktop-menu-panel--long-label.is-active .desktop-menu-panel__label {
    transform: translateY(-0.2rem) scale(1.005);
}

.desktop-menu-panel:hover .desktop-menu-panel__description,
.desktop-menu-panel:focus-visible .desktop-menu-panel__description,
.desktop-menu-panel.is-active .desktop-menu-panel__description {
    color: rgba(255, 250, 243, 0.88);
}

/* ---- Panel media (floating image preview) ---------------------------------- */

.desktop-menu-panel__media {
    position: absolute;
    inset: clamp(3.75rem, 6vw, 5rem) clamp(1rem, 1.6vw, 1.5rem) auto;
    z-index: 2;
    aspect-ratio: 4 / 5;
    max-height: min(52vh, 26rem);
    opacity: 0;
    transform: translateY(1rem) scale(0.96);
    transition:
        opacity var(--overlay-panel-dur) ease,
        transform 520ms cubic-bezier(0.22, 1, 0.36, 1);
    pointer-events: none;
    overflow: hidden;
    border: 0;
    background: transparent;
    box-shadow: none;
}

/* Reveal floating image on hover / JS-activated state (NAV-004) */
.desktop-menu-panel:hover .desktop-menu-panel__media,
.desktop-menu-panel:focus-visible .desktop-menu-panel__media,
.desktop-menu-panel.is-active .desktop-menu-panel__media {
    opacity: 1;
    transform: translateY(0) scale(1);
}

.desktop-menu-panel__image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition:
        transform 0.45s ease,
        filter 0.35s ease;
}

/* Premium image motion on hover / focus / active */
.desktop-menu-panel:hover .desktop-menu-panel__image,
.desktop-menu-panel:focus-visible .desktop-menu-panel__image,
.desktop-menu-panel.is-active .desktop-menu-panel__image {
    transform: scale(1.03);
    filter: brightness(1.04) contrast(1.03);
}

/* Brand fallback: visible gold-tinted gradient */
.desktop-menu-panel__media-fallback {
    display: block;
    width: 100%;
    height: 100%;
    background:
        radial-gradient(circle at 50% 50%, rgba(201, 168, 76, 0.18), transparent 42%),
        linear-gradient(135deg, rgba(201, 168, 76, 0.12), rgba(255, 250, 243, 0.03));
}

/* ---- Premium minimal menu trigger (NAV-FIX-008) ---------------------------- */

.site-header__menu-trigger {
    display: none; /* shown only at desktop breakpoint via overlay-nav rules */
    align-items: center;
    gap: 0.7rem;
    min-height: 2.25rem;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: currentColor;
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    cursor: pointer;
    box-shadow: none;
    backdrop-filter: none;
}

.site-header__menu-trigger:hover,
.site-header__menu-trigger:focus-visible {
    background: transparent;
    color: currentColor;
}

.site-header__menu-trigger:focus-visible {
    outline: 2px solid var(--miliki-gold, #d6b35a);
    outline-offset: 0.45rem;
}

.site-header__menu-label {
    display: inline-block;
}

/* Slim two-line hamburger */
.site-header__menu-icon {
    display: inline-grid;
    gap: 0.28rem;
    width: 1.5rem;
    flex-shrink: 0;
}

.site-header__menu-icon span {
    display: block;
    width: 100%;
    height: 1px;
    background: currentColor;
    transform-origin: center;
    transition:
        transform 220ms ease,
        width 220ms ease,
        opacity 220ms ease;
}

.site-header__menu-trigger:hover .site-header__menu-icon span:first-child,
.site-header__menu-trigger:focus-visible .site-header__menu-icon span:first-child {
    transform: translateX(0.18rem);
}

.site-header__menu-trigger:hover .site-header__menu-icon span:last-child,
.site-header__menu-trigger:focus-visible .site-header__menu-icon span:last-child {
    transform: translateX(-0.18rem);
}

/* ---- Desktop breakpoint layout (@media min-width: 64rem) ------------------- */

@media (min-width: 64rem) {
    /* Show desktop overlay trigger */
    .site-header__menu-trigger {
        display: inline-flex;
    }

    /* Hide mobile nav toggle on desktop */
    html.js .site-navigation__toggle {
        display: none;
    }

    /* Always show nav list on desktop (no JS-collapsed state) */
    html.js .site-navigation__list {
        display: flex;
    }

    /* When the overlay nav system is active, hide the old inline desktop nav */
    html.js .site-header--overlay-nav .site-navigation {
        display: none !important;
    }

    /* Overlay panels fill full height — no min-height: 100vh to prevent scroll */
    .desktop-menu-panel {
        padding: clamp(1.5rem, 2vw, 2.5rem) clamp(1rem, 1.4vw, 1.65rem) 3rem;
    }

}

/* ---- No-JS fallback: keep nav list visible on desktop ---------------------- */

@media (min-width: 64rem) {
    html:not(.js) .site-navigation__list {
        display: flex;
    }

    /* Hide overlay trigger without JS — links remain in footer/nav */
    html:not(.js) .site-header__menu-trigger {
        display: none;
    }
}

/* -------------------------------------------------------------------------
   Overlay-nav header: transparent closed state (NAV-FIX-004)
   ------------------------------------------------------------------------- */

.site-header--overlay-nav {
    position: fixed;
    top: var(--wp-admin--admin-bar--height, 0px);
    left: 0;
    right: 0;
    z-index: 9000;
    background: transparent !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
    transition: transform 320ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* Hide header when scrolling down; JS adds/removes this class. */
.site-header--overlay-nav.site-header--hidden {
    transform: translateY(-115%);
}

.site-header--overlay-nav::before,
.site-header--overlay-nav::after {
    display: none !important;
}

.site-header--overlay-nav .site-header__inner {
    min-height: clamp(4.5rem, 7vw, 5.75rem);
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

.site-header--overlay-nav .lsp-container,
.site-header--overlay-nav .miliki-container,
.site-header--overlay-nav .site-header__container {
    background: transparent !important;
}

/* Remove inherited top gaps where the first visual section is intended to sit under the fixed header. */
body.home .site-main,
body.page-template-page-contact .site-main,
body:has(.miliki-contact-page) .site-main,
body:has(.miliki-about-page) .site-main,
body:has(.miliki-visit-page) .site-main {
    padding-top: 0;
    padding-bottom: 0;
}

/* Pages that use the light page-hero component: remove site-main gap;
   breadcrumbs provide header clearance via padding-top. */
body:has(.page-hero) .site-main {
    padding-top: 0;
}

body:has(.page-hero) .site-main > .breadcrumbs {
    padding-top: var(--miliki-site-header-height, 6.25rem);
}

/* Smooth colour crossfade when JS switches theme on scroll */
.site-header--overlay-nav .site-header__name,
.site-header--overlay-nav .custom-logo-link,
.site-header--overlay-nav .site-header__hours,
.site-header--overlay-nav .site-header__menu-trigger,
.site-header--overlay-nav .site-header__menu-icon span {
    transition: color 220ms ease, text-shadow 220ms ease;
}

/* Dark ink text on light-background pages */
.site-header--overlay-nav.site-header--on-light .site-header__name,
.site-header--overlay-nav.site-header--on-light .custom-logo-link,
.site-header--overlay-nav.site-header--on-light .site-header__hours,
.site-header--overlay-nav.site-header--on-light .site-header__menu-trigger {
    color: var(--miliki-ink, #17110d);
    text-shadow: none;
}

/* Cream text on dark-hero pages */
.site-header--overlay-nav.site-header--on-dark .site-header__name,
.site-header--overlay-nav.site-header--on-dark .custom-logo-link,
.site-header--overlay-nav.site-header--on-dark .site-header__hours,
.site-header--overlay-nav.site-header--on-dark .site-header__menu-trigger {
    color: rgba(255, 250, 243, 0.92);
    text-shadow: 0 1px 8px rgba(0, 0, 0, 0.58);
}

/* Force trigger visible in JS overlay-nav mode; inherit colour from on-dark/on-light classes */
html.js .site-header--overlay-nav [data-desktop-menu-trigger],
html.js .site-header--overlay-nav .site-header__menu-trigger {
    display: inline-flex !important;
    transition:
        opacity 200ms ease,
        visibility 200ms ease,
        transform 200ms ease;
}

/* -------------------------------------------------------------------------
   Overlay-nav mode: suppress legacy nav everywhere
   ------------------------------------------------------------------------- */

.site-header--overlay-nav .site-navigation,
.site-header--overlay-nav .site-nav,
.site-header--overlay-nav .primary-nav-wrapper,
.site-header--overlay-nav .site-navigation__list,
.site-header--overlay-nav .site-nav__list {
    display: none !important;
}

.site-header--overlay-nav .mobile-menu-toggle,
.site-header--overlay-nav .primary-nav-toggle {
    display: none !important;
}

body.has-desktop-menu-open .site-header--overlay-nav {
    z-index: 10001;
    background: transparent !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
    pointer-events: none;
}

body.has-desktop-menu-open .site-header--overlay-nav * {
    pointer-events: none;
}

body.has-desktop-menu-open .site-header--overlay-nav .site-header__inner {
    background: transparent !important;
}

/* Hide menu trigger while overlay is open */
body.has-desktop-menu-open .site-header--overlay-nav [data-desktop-menu-trigger],
body.has-desktop-menu-open .site-header--overlay-nav .site-header__menu-trigger {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-0.25rem);
    transition:
        opacity 200ms ease,
        visibility 200ms ease,
        transform 200ms ease;
}

/* Brighten brand and hours while overlay is open */
body.has-desktop-menu-open .site-header--overlay-nav .site-header__name,
body.has-desktop-menu-open .site-header--overlay-nav .custom-logo-link,
body.has-desktop-menu-open .site-header--overlay-nav .site-header__hours {
    color: rgba(255, 250, 243, 0.92) !important;
    opacity: 1 !important;
    text-shadow: 0 1px 8px rgba(0, 0, 0, 0.72);
}

body.has-desktop-menu-open .site-header--overlay-nav .site-header__brand {
    opacity: 1;
}

.desktop-menu-overlay {
    z-index: 9998;
}

.desktop-menu-overlay__close {
    z-index: 10000;
}

/* ---- Reduced-motion overrides (NAV-003, NAV-004, NAV-005, NAV-FIX-006) ---- */

@media (prefers-reduced-motion: reduce) {
    /* Disable smart-hide slide transition. */
    .site-header--overlay-nav {
        transition: none !important;
    }

    .desktop-menu-overlay,
    .desktop-menu-panel,
    .desktop-menu-panel::before,
    .desktop-menu-panel::after,
    .desktop-menu-panel__media,
    .desktop-menu-panel__image,
    .desktop-menu-panel__number,
    .desktop-menu-panel__label,
    .desktop-menu-panel__description,
    .desktop-menu-overlay__close,
    .site-header--overlay-nav [data-desktop-menu-trigger],
    .site-header--overlay-nav .site-header__menu-trigger,
    .site-header--overlay-nav .site-header__name,
    .site-header--overlay-nav .custom-logo-link,
    .site-header--overlay-nav .site-header__hours,
    .site-header--overlay-nav .site-header__menu-icon span {
        transition: none !important;
        animation: none !important;
    }

    .desktop-menu-panel,
    .desktop-menu-panel__number,
    .desktop-menu-panel__label,
    .desktop-menu-panel__description,
    .desktop-menu-overlay__close,
    .desktop-menu-panel:hover .desktop-menu-panel__image,
    .desktop-menu-panel:focus-visible .desktop-menu-panel__image,
    .desktop-menu-panel.is-active .desktop-menu-panel__image,
    .desktop-menu-panel:hover .desktop-menu-panel__label,
    .desktop-menu-panel:focus-visible .desktop-menu-panel__label,
    .desktop-menu-panel.is-active .desktop-menu-panel__label,
    .desktop-menu-panel:hover .desktop-menu-panel__description,
    .desktop-menu-panel:focus-visible .desktop-menu-panel__description,
    .desktop-menu-panel.is-active .desktop-menu-panel__description {
        transform: none !important;
    }

    .desktop-menu-panel {
        clip-path: none !important;
    }

    .desktop-menu-overlay.is-open .desktop-menu-panel,
    .desktop-menu-overlay.is-opening .desktop-menu-panel,
    .desktop-menu-overlay.is-open .desktop-menu-panel__number,
    .desktop-menu-overlay.is-open .desktop-menu-panel__label,
    .desktop-menu-overlay.is-open .desktop-menu-panel__description,
    .desktop-menu-overlay.is-opening .desktop-menu-panel__number,
    .desktop-menu-overlay.is-opening .desktop-menu-panel__label,
    .desktop-menu-overlay.is-opening .desktop-menu-panel__description,
    .desktop-menu-overlay.is-open .desktop-menu-overlay__close,
    .desktop-menu-overlay.is-opening .desktop-menu-overlay__close {
        opacity: 1;
    }

    .desktop-menu-panel:hover .desktop-menu-panel__image,
    .desktop-menu-panel:focus-visible .desktop-menu-panel__image,
    .desktop-menu-panel.is-active .desktop-menu-panel__image {
        filter: none;
    }

    /* Show image/fallback immediately in reduced-motion mode, but only on hover/focus/active. */
    .desktop-menu-panel:hover .desktop-menu-panel__media,
    .desktop-menu-panel:focus-visible .desktop-menu-panel__media,
    .desktop-menu-panel.is-active .desktop-menu-panel__media {
        opacity: 1;
        transform: none;
    }
}

/* 25. Premium dark/gold section utilities — STYLE-HERO-001 ------------------- */

.section--miliki-dark {
    background:
        radial-gradient(circle at 20% 10%, rgba(214, 179, 90, 0.10), transparent 34%),
        linear-gradient(180deg, #0b0805 0%, #050403 100%);
    color: var(--miliki-white);
}

.section--miliki-dark h1,
.section--miliki-dark h2,
.section--miliki-dark h3,
.section--miliki-dark p {
    color: inherit;
}

.section--miliki-dark a,
.miliki-section--dark a {
    color: var(--miliki-gold);
}

.section--miliki-dark a:hover,
.section--miliki-dark a:focus-visible,
.miliki-section--dark a:hover,
.miliki-section--dark a:focus-visible {
    color: var(--miliki-gold-light);
}

.section--miliki-dark .section-header__label,
.section--miliki-dark .homepage-section__eyebrow,
.section--miliki-dark .hero__eyebrow {
    color: var(--miliki-gold);
}

.section--miliki-gold-panel {
    background: linear-gradient(180deg, #d6b35a 0%, #b98d32 100%);
    color: var(--miliki-action-text);
}

.section--miliki-cream {
    background: var(--miliki-cream);
    color: var(--miliki-ink);
}

/* Gold and light button variants */
.btn--primary,
.btn--miliki-gold {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.75rem 1.6rem;
    border: 2px solid var(--miliki-action-bg);
    border-radius: var(--miliki-radius-pill);
    background: var(--miliki-action-bg);
    color: var(--miliki-action-text);
    font-weight: 700;
    font-size: 0.9rem;
    letter-spacing: 0.03em;
    text-decoration: none;
    cursor: pointer;
    transition: background 180ms ease, border-color 180ms ease, color 180ms ease;
}

.btn--primary:hover,
.btn--primary:focus-visible,
.btn--miliki-gold:hover,
.btn--miliki-gold:focus-visible {
    background: var(--miliki-action-bg-hover);
    border-color: var(--miliki-action-bg-hover);
    color: var(--miliki-action-text);
}

.btn--miliki-outline-light {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.75rem 1.6rem;
    border: 2px solid rgba(255, 250, 243, 0.52);
    border-radius: var(--miliki-radius-pill);
    background: transparent;
    color: var(--miliki-white);
    font-weight: 700;
    font-size: 0.9rem;
    letter-spacing: 0.03em;
    text-decoration: none;
    cursor: pointer;
    transition: border-color 180ms ease, color 180ms ease;
}

.btn--miliki-outline-light:hover,
.btn--miliki-outline-light:focus-visible {
    border-color: var(--miliki-gold);
    color: var(--miliki-gold);
}

/* 26. Cinematic homepage hero — STYLE-HERO-002 / STYLE-HERO-004 -------------- */

.miliki-cinematic-hero {
    position: relative;
    min-height: calc(100svh - var(--miliki-admin-bar-height, 0px));
    margin-top: 0;
    overflow: hidden;
    display: grid;
    place-items: center;
    isolation: isolate;
    background:
        radial-gradient(circle at 50% 10%, rgba(214, 179, 90, 0.14), transparent 34%),
        linear-gradient(180deg, #0b0804 0%, #050403 100%);
    color: var(--miliki-white);
    padding: clamp(6rem, 11vh, 7.5rem) var(--gutter, 1.5rem) clamp(3rem, 6vw, 5rem);
}

.miliki-cinematic-hero__inner {
    position: relative;
    z-index: 3;
    width: min(100%, 58rem);
    display: grid;
    justify-items: center;
    text-align: center;
}

.miliki-cinematic-hero__copy {
    position: relative;
    z-index: 4;
}

.miliki-cinematic-hero__eyebrow {
    margin: 0 0 1rem;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--miliki-gold);
}

.miliki-cinematic-hero__title {
    margin: 0;
    max-width: min(13ch, 78vw);
    margin-inline: auto;
    font-family: var(--font-display);
    font-size: clamp(4.25rem, 8.4vw, 9.75rem);
    font-weight: 400;
    line-height: 0.88;
    letter-spacing: -0.055em;
    color: var(--miliki-white);
    text-wrap: balance;
}

.miliki-cinematic-hero__media-frame {
    position: relative;
    z-index: 2;
    width: min(76vw, 42rem);
    aspect-ratio: 16 / 9;
    margin-block: clamp(1.5rem, 4vw, 2.5rem);
    overflow: hidden;
    border: 1px solid rgba(214, 179, 90, 0.42);
    background: #000;
    box-shadow: 0 2rem 5rem rgba(0, 0, 0, 0.42);
    transform-origin: center center;
}

.miliki-cinematic-hero__video,
.miliki-cinematic-hero__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.miliki-cinematic-hero__fallback {
    width: 100%;
    height: 100%;
    display: grid;
    place-items: center;
    color: var(--miliki-gold);
    background: linear-gradient(135deg, #050403 0%, #18100a 100%);
}

.miliki-cinematic-hero__fallback span {
    font-family: var(--font-display);
    font-size: clamp(5rem, 14vw, 12rem);
    line-height: 1;
}

.miliki-cinematic-hero__summary {
    position: relative;
    z-index: 4;
    width: min(100%, 42rem);
    color: rgba(255, 250, 243, 0.82);
}

.miliki-cinematic-hero__summary p {
    margin-inline: auto;
    font-size: clamp(1rem, 1vw, 1.2rem);
    line-height: 1.75;
}

.miliki-cinematic-hero__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.9rem;
    margin-top: 1.5rem;
}

/* Visual-only fullscreen title — not a heading, not read by screen readers */
.miliki-cinematic-hero__title-overlay {
    pointer-events: none;
    position: absolute;
    inset: 0;
    z-index: 1;
    display: grid;
    place-items: center;
    padding: var(--gutter, 1.5rem);
    opacity: 0;
    color: var(--miliki-white);
    text-align: center;
}

.miliki-cinematic-hero__title-overlay span {
    display: block;
    max-width: 12ch;
    font-family: var(--font-display);
    font-size: clamp(4.25rem, 12vw, 13rem);
    font-weight: 700;
    line-height: 0.82;
    letter-spacing: -0.07em;
    text-shadow:
        0 0.08em 0.18em rgba(0, 0, 0, 0.48),
        0 0 2rem rgba(0, 0, 0, 0.24);
}

.miliki-cinematic-hero__side-label {
    position: absolute;
    top: 50%;
    z-index: 2;
    transform: translateY(-50%);
    font-size: 0.66rem;
    font-weight: 800;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    color: rgba(255, 250, 243, 0.55);
    writing-mode: vertical-rl;
}

.miliki-cinematic-hero__side-label--left {
    left: clamp(1rem, 2.4vw, 2rem);
}

.miliki-cinematic-hero__side-label--right {
    right: clamp(1rem, 2.4vw, 2rem);
}

@media (min-width: 1025px) {
    .miliki-cinematic-hero__media-frame {
        will-change: transform;
    }
}

@media (max-width: 1024px) {
    .miliki-cinematic-hero {
        min-height: auto;
        padding-block: clamp(3rem, 10vw, 5rem);
    }

    .miliki-cinematic-hero__media-frame {
        width: min(100%, 34rem);
        will-change: auto;
    }

    .miliki-cinematic-hero__side-label,
    .miliki-cinematic-hero__title-overlay {
        display: none;
    }

    .miliki-cinematic-hero__title {
        max-width: 11ch;
        font-size: clamp(3rem, 15vw, 5.4rem);
    }

    .miliki-cinematic-hero__actions {
        align-items: stretch;
        flex-direction: column;
    }
}

@media (prefers-reduced-motion: reduce) {
    .miliki-cinematic-hero__media-frame,
    .miliki-cinematic-hero__copy,
    .miliki-cinematic-hero__summary,
    .miliki-cinematic-hero__title-overlay {
        transform: none !important;
        transition: none !important;
    }
}

/* 27. Homepage dark section overrides — STYLE-HERO-005 ----------------------- */

.homepage-section--catering.section--miliki-dark .homepage-section__eyebrow {
    color: var(--miliki-gold);
}

.homepage-section--proof.section--miliki-dark .homepage-section__eyebrow {
    color: var(--miliki-gold);
}

.homepage-final-cta.section--miliki-dark .homepage-section__eyebrow {
    color: var(--miliki-gold);
}

.homepage-final-cta.section--miliki-dark .homepage-final-cta__actions .button--secondary {
    border-color: rgba(255, 250, 243, 0.42);
    color: var(--miliki-white);
}

.homepage-final-cta.section--miliki-dark .homepage-final-cta__actions .button--secondary:hover {
    border-color: var(--miliki-gold);
    color: var(--miliki-gold);
}

/* Dark footer */
.site-footer.site-footer--dark {
    background:
        radial-gradient(circle at 20% 0%, rgba(214, 179, 90, 0.08), transparent 38%),
        var(--miliki-black);
    color: rgba(255, 250, 243, 0.75);
    border-top: 1px solid rgba(214, 179, 90, 0.22);
}

.site-footer.site-footer--dark .site-footer__heading {
    color: var(--miliki-white);
}

.site-footer.site-footer--dark a {
    color: rgba(255, 250, 243, 0.75);
}

.site-footer.site-footer--dark a:hover {
    color: var(--miliki-gold);
}

.site-footer.site-footer--dark .site-footer__copy {
    color: rgba(255, 250, 243, 0.38);
}

/* 28. About page — ABOUT-002/003/FIX-003 ------------------------------------ */

/* Remove default site-main padding so the hero starts flush at the top */
.page-template-page-about .site-main {
    padding-top: 0;
    padding-bottom: 0;
}

/* Suppress footer border-top: the cream border is visible between dark CTA and dark footer */
body:has(.miliki-about-page) .site-footer {
    border-top: none;
}

/* ─── About CTA section: button colour fixes ─────────────────────────────── */

/* .section--miliki-dark a at (0,1,1) beats .btn--miliki-gold at (0,1,0).  */
/* !important restores dark text on the gold button inside dark sections.   */
.section--miliki-dark .btn--miliki-gold {
    color: var(--miliki-black, #050403) !important;
}

.section--miliki-dark .btn--miliki-gold:hover,
.section--miliki-dark .btn--miliki-gold:focus-visible {
    color: var(--miliki-black, #050403) !important;
}

/* Same specificity fix for the dish-pill--all "View Full Menu" button. */
.section--miliki-dark .miliki-about-dish-pill--all {
    color: var(--miliki-black, #050403);
}

.section--miliki-dark .miliki-about-dish-pill--all:hover,
.section--miliki-dark .miliki-about-dish-pill--all:focus-visible {
    color: var(--miliki-black, #050403);
}

/* Ink/outline secondary button for use on cream/light backgrounds */
.btn--secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.75rem 1.6rem;
    border: 2px solid rgba(33, 29, 26, 0.35);
    border-radius: var(--miliki-radius-pill);
    background: transparent;
    color: var(--miliki-ink, #17110d);
    font-weight: 700;
    font-size: 0.9rem;
    letter-spacing: 0.03em;
    text-decoration: none;
    cursor: pointer;
    transition: border-color 180ms ease, color 180ms ease;
}

.btn--secondary:hover,
.btn--secondary:focus-visible {
    border-color: var(--miliki-gold, #d6b35a);
    color: var(--miliki-gold-deep, #9b7526);
}

/* ─── About hero ─────────────────────────────────────────────────────────── */

.miliki-about-hero {
    position: relative;
    min-height: 100svh;
    display: flex;
    align-items: flex-end;
    overflow: hidden;
    isolation: isolate;
    background: var(--miliki-black, #050403);
    color: var(--miliki-white, #fffaf3);
}

.miliki-about-hero__media,
.miliki-about-hero__overlay {
    position: absolute;
    inset: 0;
}

.miliki-about-hero__media {
    z-index: 0;
}

.miliki-about-hero__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 20%;
}

.miliki-about-hero__fallback {
    width: 100%;
    height: 100%;
    background:
        radial-gradient(circle at 50% 40%, rgba(214, 179, 90, 0.16), transparent 34%),
        linear-gradient(180deg, #14100b 0%, #050403 100%);
}

.miliki-about-hero__overlay {
    z-index: 1;
    background:
        linear-gradient(
            to top,
            rgba(5, 4, 3, 0.88) 0%,
            rgba(5, 4, 3, 0.52) 44%,
            rgba(5, 4, 3, 0.20) 100%
        );
}

.miliki-about-hero__content {
    position: relative;
    z-index: 2;
    width: min(100%, 88rem);
    margin-inline: auto;
    padding:
        clamp(7rem, 12vw, 10rem)
        clamp(1.25rem, 5vw, 5rem)
        clamp(3rem, 8vw, 6rem);
}

.miliki-about-hero__eyebrow {
    margin: 0 0 1rem;
    color: var(--miliki-gold, #d6b35a);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.22em;
    text-transform: uppercase;
}

.miliki-about-hero__title {
    max-width: 14ch;
    margin: 0;
    color: var(--miliki-white, #fffaf3);
    font-family: var(--font-display, Georgia, "Times New Roman", serif);
    font-size: clamp(4.5rem, 13vw, 12rem);
    font-weight: 400;
    line-height: 0.88;
    letter-spacing: -0.06em;
}

.miliki-about-hero__intro {
    max-width: 44rem;
    margin: clamp(1.25rem, 2vw, 2rem) 0 0;
    color: rgba(255, 250, 243, 0.84);
    font-size: clamp(1rem, 1.2vw, 1.22rem);
    line-height: 1.72;
}

.miliki-about-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.9rem;
    margin-top: 1.75rem;
}

/* Force button text colours inside the dark hero — beats a:hover (0,1,1) */
.miliki-about-hero .btn--miliki-gold {
    color: var(--miliki-action-text);
}

.miliki-about-hero .btn--miliki-gold:hover,
.miliki-about-hero .btn--miliki-gold:focus-visible {
    color: var(--miliki-action-text);
}

.miliki-about-hero .btn--miliki-outline-light {
    color: var(--miliki-white);
}

.miliki-about-hero .btn--miliki-outline-light:hover,
.miliki-about-hero .btn--miliki-outline-light:focus-visible {
    color: var(--miliki-gold);
}

@media (max-width: 48rem) {
    .miliki-about-hero {
        min-height: 88svh;
    }

    .miliki-about-hero__content {
        padding:
            clamp(6rem, 20vw, 8rem)
            1.25rem
            2.25rem;
    }

    .miliki-about-hero__title {
        font-size: clamp(3.5rem, 20vw, 6.5rem);
        max-width: 10ch;
    }

    .miliki-about-hero__actions {
        align-items: stretch;
        flex-direction: column;
    }

    .miliki-about-hero__actions .btn {
        width: 100%;
        text-align: center;
        justify-content: center;
    }
}

/* ─── Visit page hero ────────────────────────────────────────────────────── */

.miliki-visit-page {
    background: var(--miliki-cream, #fff7ed);
    color: var(--miliki-ink, #17110d);
}

.miliki-visit-hero {
    position: relative;
    min-height: 100svh;
    display: flex;
    align-items: flex-end;
    overflow: hidden;
    isolation: isolate;
    margin: 0;
    padding: 0;
    background: var(--miliki-black, #050403);
    color: var(--miliki-white, #fffaf3);
}

.miliki-visit-hero__media,
.miliki-visit-hero__overlay {
    position: absolute;
    inset: 0;
}

.miliki-visit-hero__media {
    z-index: 0;
}

.miliki-visit-hero__image {
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    object-position: center center;
}

.miliki-visit-hero__fallback {
    width: 100%;
    height: 100%;
    background:
        radial-gradient(circle at 50% 40%, rgba(214, 179, 90, 0.16), transparent 34%),
        linear-gradient(180deg, #14100b 0%, #050403 100%);
}

.miliki-visit-hero__overlay {
    z-index: 1;
    background:
        linear-gradient(
            to top,
            rgba(5, 4, 3, 0.88) 0%,
            rgba(5, 4, 3, 0.52) 48%,
            rgba(5, 4, 3, 0.24) 100%
        );
}

.miliki-visit-hero__content {
    position: relative;
    z-index: 2;
    width: min(100%, 88rem);
    margin-inline: auto;
    padding:
        clamp(7rem, 12vw, 10rem)
        clamp(1.25rem, 5vw, 5rem)
        clamp(3rem, 8vw, 6rem);
}

.miliki-visit-hero__eyebrow {
    margin: 0 0 1rem;
    color: var(--miliki-gold, #d6b35a);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.22em;
    text-transform: uppercase;
}

.miliki-visit-hero__title {
    max-width: 11ch;
    margin: 0;
    color: var(--miliki-white, #fffaf3);
    font-family: var(--font-display, Georgia, "Times New Roman", serif);
    font-size: clamp(4.5rem, 12vw, 12rem);
    font-weight: 400;
    line-height: 0.82;
    letter-spacing: -0.075em;
    text-wrap: balance;
}

.miliki-visit-hero__intro {
    max-width: 44rem;
    margin: clamp(1.25rem, 2vw, 2rem) 0 0;
    color: rgba(255, 250, 243, 0.88);
    font-size: clamp(1rem, 1.2vw, 1.25rem);
    line-height: 1.7;
}

.miliki-visit-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.9rem;
    margin-top: 1.6rem;
}

/* Force button text colours inside the dark visit hero */
.miliki-visit-hero .btn--miliki-gold {
    color: var(--miliki-action-text);
}

.miliki-visit-hero .btn--miliki-gold:hover,
.miliki-visit-hero .btn--miliki-gold:focus-visible {
    color: var(--miliki-action-text);
}

.miliki-visit-hero .btn--miliki-outline-light {
    color: var(--miliki-white);
}

.miliki-visit-hero .btn--miliki-outline-light:hover,
.miliki-visit-hero .btn--miliki-outline-light:focus-visible {
    color: var(--miliki-gold);
}

@media (max-width: 48rem) {
    .miliki-visit-hero {
        min-height: 88svh;
    }

    .miliki-visit-hero__content {
        padding:
            clamp(6rem, 20vw, 8rem)
            1.25rem
            2rem;
    }

    .miliki-visit-hero__title {
        font-size: clamp(4rem, 20vw, 6.5rem);
        max-width: 9ch;
    }

    .miliki-visit-hero__actions {
        align-items: stretch;
        flex-direction: column;
    }

    .miliki-visit-hero__actions .btn {
        width: 100%;
        text-align: center;
        justify-content: center;
    }
}

/* ─── Breadcrumb strip (below hero, above story) ─────────────────────────── */

.about-breadcrumb-strip {
    background: var(--miliki-cream, #fff7ed);
    padding: var(--miliki-space-3) 0;
    border-bottom: 1px solid var(--miliki-color-border);
}

/* ─── Shared About section scaffold ─────────────────────────────────────── */

.miliki-about-section {
    background: var(--miliki-cream, #fff7ed);
}

.miliki-about-section.section--miliki-dark {
    background:
        radial-gradient(circle at 84% 8%, rgba(214, 179, 90, 0.10), transparent 34%),
        linear-gradient(180deg, #0b0805 0%, #050403 100%);
    color: var(--miliki-white, #fffaf3);
}

.miliki-about-section__inner {
    width: min(100%, 76rem);
    margin-inline: auto;
    padding: clamp(4rem, 8vw, 7rem) clamp(1.25rem, 5vw, 5rem);
}

.miliki-about-eyebrow {
    margin: 0 0 1rem;
    color: var(--miliki-gold-deep, #9b7526);
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.22em;
    text-transform: uppercase;
}

.section--miliki-dark .miliki-about-eyebrow {
    color: var(--miliki-gold, #d6b35a);
}

.miliki-about-section__heading {
    max-width: 15ch;
    margin: 0 0 2rem;
    font-family: var(--font-display, Georgia, "Times New Roman", serif);
    font-size: clamp(2.5rem, 5.5vw, 5.5rem);
    font-weight: 400;
    line-height: 0.94;
    letter-spacing: -0.05em;
    color: var(--miliki-ink, #17110d);
}

.section--miliki-dark .miliki-about-section__heading {
    color: var(--miliki-white, #fffaf3);
}

.miliki-about-copy {
    max-width: 52rem;
}

.miliki-about-copy p {
    margin: 0 0 1.35rem;
    color: rgba(23, 17, 13, 0.76);
    font-size: clamp(1.05rem, 1vw, 1.2rem);
    line-height: 1.85;
}

.miliki-about-copy p:last-child {
    margin-bottom: 0;
}

.section--miliki-dark .miliki-about-copy p,
.miliki-about-section.section--miliki-dark > .miliki-about-section__inner > p {
    color: rgba(255, 250, 243, 0.78);
}

/* ─── Cuisine dish pill links ────────────────────────────────────────────── */

.miliki-about-dish-links {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
    margin-top: 2rem;
}

.miliki-about-dish-pill {
    display: inline-flex;
    align-items: center;
    height: 2.35rem;
    border: 1px solid rgba(214, 179, 90, 0.4);
    border-radius: 999px;
    padding: 0 0.9rem;
    color: var(--miliki-gold, #d6b35a);
    font-size: 0.88rem;
    font-weight: 700;
    text-decoration: none;
    transition: border-color 140ms ease, background 140ms ease, color 140ms ease;
}

.miliki-about-dish-pill:hover {
    border-color: var(--miliki-gold, #d6b35a);
    background: rgba(214, 179, 90, 0.12);
    color: var(--miliki-gold, #d6b35a);
}

.miliki-about-dish-pill--all {
    border-color: var(--miliki-gold, #d6b35a);
    background: var(--miliki-gold, #d6b35a);
    color: var(--miliki-black, #050403);
    font-weight: 900;
}

.miliki-about-dish-pill--all:hover {
    background: #c8a24e;
    border-color: #c8a24e;
    color: var(--miliki-black, #050403);
}

/* ─── Values grid ────────────────────────────────────────────────────────── */

.miliki-about-values-intro {
    max-width: 52rem;
    margin: 0 0 2.5rem;
    color: rgba(33, 29, 26, 0.72);
    font-size: clamp(1.05rem, 1vw, 1.18rem);
    line-height: 1.8;
}

.miliki-about-values__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1px;
    border: 1px solid rgba(214, 179, 90, 0.28);
    background: rgba(214, 179, 90, 0.28);
}

.miliki-about-value-card {
    min-height: 18rem;
    padding: clamp(1.5rem, 2.5vw, 2.25rem);
    background: var(--miliki-white, #fffaf3);
}

.miliki-about-value-card__title {
    margin: 0 0 1rem;
    font-family: var(--font-display, Georgia, "Times New Roman", serif);
    font-size: clamp(1.55rem, 2.5vw, 2.5rem);
    font-weight: 400;
    line-height: 1.05;
    letter-spacing: -0.03em;
    color: var(--miliki-ink, #17110d);
}

.miliki-about-value-card p {
    margin: 0;
    color: rgba(33, 29, 26, 0.72);
    font-size: clamp(0.95rem, 0.9vw, 1.05rem);
    line-height: 1.75;
}

@media (max-width: 60rem) {
    .miliki-about-values__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 38rem) {
    .miliki-about-values__grid {
        grid-template-columns: 1fr;
    }
}

/* ─── CTA section ────────────────────────────────────────────────────────── */

.miliki-about-cta__links {
    display: flex;
    flex-wrap: wrap;
    gap: 0.85rem;
    margin-top: 2rem;
}

.miliki-about-cta__address {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    margin-top: 2.5rem;
    padding-top: 2rem;
    border-top: 1px solid rgba(214, 179, 90, 0.22);
}

.miliki-about-address {
    font-style: normal;
    color: rgba(255, 250, 243, 0.72);
    font-size: 0.95rem;
    line-height: 1.6;
}

@media (max-width: 48rem) {
    .miliki-about-cta__links {
        align-items: stretch;
        flex-direction: column;
    }

    .miliki-about-cta__links .btn {
        width: 100%;
        text-align: center;
        justify-content: center;
    }

    .miliki-about-cta__address {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (prefers-reduced-motion: reduce) {
    .miliki-about-hero__image {
        transition: none !important;
    }
}

/* ==========================================================================
   About split sections — unified viewport-fit layout
   ========================================================================== */

.miliki-about-split {
    min-height: 100svh;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    background: var(--miliki-cream, #fff7ed);
    color: var(--miliki-ink, #17110d);
    overflow: hidden;
}

.miliki-about-split--dark {
    background: var(--miliki-black, #050403);
    color: var(--miliki-white, #fffaf3);
}

.miliki-about-split__media {
    height: 100svh;
    overflow: hidden;
    background: var(--miliki-black, #050403);
}

.miliki-about-split__image {
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    object-position: center center;
}

.miliki-about-split__content {
    height: 100svh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(2.5rem, 6vw, 6rem);
    overflow: hidden;
    background:
        radial-gradient(circle at 90% 12%, rgba(214, 179, 90, 0.08), transparent 34%),
        var(--miliki-cream, #fff7ed);
}

.miliki-about-split__content--dark {
    background:
        radial-gradient(circle at 10% 88%, rgba(214, 179, 90, 0.10), transparent 38%),
        linear-gradient(180deg, #0b0805 0%, #050403 100%);
}

.miliki-about-split__content .miliki-about-eyebrow {
    margin: 0 0 0.85rem;
}

.miliki-about-split__content--dark .miliki-about-eyebrow {
    color: var(--miliki-gold, #d6b35a);
}

.miliki-about-split__content h2 {
    max-width: 11.5ch;
    margin: 0 0 clamp(1.25rem, 2.5vw, 2rem);
    font-family: var(--font-display, Georgia, "Times New Roman", serif);
    font-size: clamp(2.85rem, 5.1vw, 5.85rem);
    font-weight: 400;
    line-height: 0.9;
    letter-spacing: -0.06em;
    color: var(--miliki-ink, #17110d);
    text-wrap: balance;
}

.miliki-about-split__content--dark h2 {
    color: var(--miliki-white, #fffaf3);
}

.miliki-about-split__content .miliki-about-copy {
    max-width: 43rem;
}

.miliki-about-split__content--dark .miliki-about-copy p {
    color: rgba(255, 250, 243, 0.78);
}

.miliki-about-split__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.9rem;
    margin-top: 1.4rem;
}

/* Compact breakpoint — shorter desktops (e.g. 1366×768) */
@media (max-height: 820px) and (min-width: 56.3125rem) {
    .miliki-about-split__content {
        padding-block: clamp(2rem, 4vw, 3.5rem);
    }

    .miliki-about-split__content h2 {
        font-size: clamp(2.45rem, 4.35vw, 4.8rem);
        margin-bottom: 1rem;
    }

    .miliki-about-split__content .miliki-about-copy p {
        font-size: 0.98rem;
        line-height: 1.58;
        margin-bottom: 0.75rem;
    }

    .miliki-about-split__actions {
        margin-top: 1rem;
    }
}

/* Mobile — stack vertically, cap image height */
@media (max-width: 56.25rem) {
    .miliki-about-split {
        min-height: auto;
        display: flex;
        flex-direction: column;
        overflow: visible;
    }

    .miliki-about-split--image-left .miliki-about-split__media {
        order: 2;
    }

    .miliki-about-split--image-left .miliki-about-split__content {
        order: 1;
    }

    .miliki-about-split--image-right .miliki-about-split__content {
        order: 1;
    }

    .miliki-about-split--image-right .miliki-about-split__media {
        order: 2;
    }

    .miliki-about-split__content {
        height: auto;
        overflow: visible;
        padding: clamp(3rem, 12vw, 5rem) 1.25rem;
    }

    .miliki-about-split__media {
        height: min(68vh, 34rem);
        min-height: 22rem;
    }

    .miliki-about-split__content h2 {
        max-width: 11ch;
        font-size: clamp(2.85rem, 14vw, 4.75rem);
    }

    .miliki-about-split__content .miliki-about-copy p {
        font-size: 1rem;
        line-height: 1.7;
    }

    .miliki-about-split__actions {
        align-items: stretch;
        flex-direction: column;
    }

    .miliki-about-split__actions .btn {
        width: 100%;
        text-align: center;
        justify-content: center;
    }
}

@media (max-width: 32.5rem) {
    .miliki-about-split__media {
        height: min(58vh, 28rem);
        min-height: 18rem;
    }

    .miliki-about-split__content {
        padding-block: 3rem;
    }
}


/* ========================================================================== 
   Catering page hero
   ========================================================================== */

body:has(.miliki-catering-page) .site-main {
    padding-top: 0;
    padding-bottom: 0;
}

.miliki-catering-page {
    background: var(--miliki-cream, #fff7ed);
    color: var(--miliki-ink, #17110d);
}

.miliki-catering-hero {
    position: relative;
    min-height: 100svh;
    display: flex;
    align-items: center;
    overflow: hidden;
    isolation: isolate;
    margin: 0;
    padding: 0;
    background: var(--miliki-black, #050403);
    color: var(--miliki-white, #fffaf3);
}

.miliki-catering-hero__media,
.miliki-catering-hero__overlay {
    position: absolute;
    inset: 0;
}

.miliki-catering-hero__media {
    z-index: 0;
}

.miliki-catering-hero__image {
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    object-position: center center;
}

.miliki-catering-hero__overlay {
    z-index: 1;
    background:
        linear-gradient(
            to right,
            rgba(5, 4, 3, 0.82) 0%,
            rgba(5, 4, 3, 0.58) 45%,
            rgba(5, 4, 3, 0.32) 100%
        ),
        linear-gradient(
            to top,
            rgba(5, 4, 3, 0.72) 0%,
            rgba(5, 4, 3, 0.28) 58%,
            rgba(5, 4, 3, 0.18) 100%
        );
}

.miliki-catering-hero__content {
    position: relative;
    z-index: 2;
    width: min(100%, 88rem);
    margin-inline: auto;
    padding:
        clamp(6.25rem, 10vw, 8rem)
        clamp(1.25rem, 5vw, 5rem)
        clamp(2.25rem, 5vw, 4rem);
}

.miliki-catering-hero__eyebrow {
    margin: 0 0 1rem;
    color: var(--miliki-gold, #d6b35a);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.22em;
    text-transform: uppercase;
}

.miliki-catering-hero__title {
    max-width: 11.5ch;
    margin: 0;
    color: var(--miliki-white, #fffaf3);
    font-family: var(--font-display, Georgia, "Times New Roman", serif);
    font-size: clamp(3.75rem, 7.4vw, 8.25rem);
    font-weight: 400;
    line-height: 0.86;
    letter-spacing: -0.07em;
    text-wrap: balance;
}

.miliki-catering-hero__intro {
    max-width: 42rem;
    margin: clamp(1rem, 1.7vw, 1.5rem) 0 0;
    color: rgba(255, 250, 243, 0.88);
    font-size: clamp(0.98rem, 1vw, 1.16rem);
    line-height: 1.65;
}

.miliki-catering-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
    margin-top: clamp(1.15rem, 2vw, 1.55rem);
}

.miliki-catering-hero .btn--miliki-gold,
.miliki-catering-hero .btn--miliki-gold:hover,
.miliki-catering-hero .btn--miliki-gold:focus-visible {
    color: var(--miliki-black, #050403) !important;
}

.miliki-catering-hero .btn--miliki-outline-light {
    color: var(--miliki-white, #fffaf3);
}

.miliki-catering-hero .btn--miliki-outline-light:hover,
.miliki-catering-hero .btn--miliki-outline-light:focus-visible {
    color: var(--miliki-gold, #d6b35a);
}

@media (max-height: 820px) and (min-width: 1024px) {
    .miliki-catering-hero__content {
        padding-top: 5.75rem;
        padding-bottom: 2.25rem;
    }

    .miliki-catering-hero__title {
        max-width: 12ch;
        font-size: clamp(3.25rem, 6.25vw, 6.5rem);
    }

    .miliki-catering-hero__intro {
        max-width: 40rem;
        margin-top: 0.9rem;
        font-size: 1rem;
        line-height: 1.55;
    }

    .miliki-catering-hero__actions {
        margin-top: 1rem;
    }
}

@media (max-width: 767px) {
    .miliki-catering-hero {
        min-height: 88svh;
        align-items: flex-end;
    }

    .miliki-catering-hero__content {
        padding:
            clamp(6rem, 20vw, 7rem)
            1.25rem
            2rem;
    }

    .miliki-catering-hero__title {
        max-width: 9.5ch;
        font-size: clamp(3.4rem, 16vw, 5.4rem);
        line-height: 0.88;
    }

    .miliki-catering-hero__actions {
        align-items: stretch;
        flex-direction: column;
    }
}


/* ========================================================================== 
   Catering premium page system
   ========================================================================== */

.miliki-catering-section {
    position: relative;
    overflow: hidden;
}

.miliki-catering-section__inner {
    width: min(100%, 78rem);
    margin-inline: auto;
    padding: clamp(4rem, 8vw, 7rem) clamp(1.25rem, 5vw, 5rem);
}

.miliki-catering-section--dark {
    background:
        radial-gradient(circle at 88% 12%, rgba(214, 179, 90, 0.14), transparent 34%),
        linear-gradient(180deg, #0b0805 0%, #050403 100%);
    color: var(--miliki-white, #fffaf3);
}

.miliki-catering-section--cream {
    background: var(--miliki-cream, #fff7ed);
    color: var(--miliki-ink, #17110d);
}

.miliki-catering-section__header {
    max-width: 58rem;
    margin-bottom: clamp(2rem, 4vw, 3.5rem);
}

.miliki-catering-section__header--wide {
    max-width: 66rem;
}

.miliki-catering-section__eyebrow {
    margin: 0 0 1rem;
    color: var(--miliki-gold, #d6b35a);
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.22em;
    text-transform: uppercase;
}

.miliki-catering-section--cream .miliki-catering-section__eyebrow {
    color: var(--miliki-gold-deep, #9b7526);
}

.miliki-catering-section__title {
    max-width: 12ch;
    margin: 0 0 1.5rem;
    font-family: var(--font-display, Georgia, "Times New Roman", serif);
    font-size: clamp(3rem, 6.5vw, 7rem);
    font-weight: 400;
    line-height: 0.9;
    letter-spacing: -0.065em;
    text-wrap: balance;
}

.miliki-catering-section--dark .miliki-catering-section__title {
    color: var(--miliki-white, #fffaf3);
}

.miliki-catering-section__copy {
    max-width: 48rem;
    font-size: clamp(1rem, 1vw, 1.18rem);
    line-height: 1.75;
}

.miliki-catering-section__copy p {
    margin: 0 0 1.1rem;
}

.miliki-catering-section__copy p:last-child {
    margin-bottom: 0;
}

.miliki-catering-section__copy a:not(.btn) {
    color: inherit;
    font-weight: 800;
    text-decoration-color: rgba(214, 179, 90, 0.72);
    text-decoration-thickness: 0.1em;
    text-underline-offset: 0.18em;
}

.miliki-catering-section--dark .miliki-catering-section__copy {
    color: rgba(255, 250, 243, 0.78);
}

.miliki-catering-section--dark .btn--miliki-gold,
.miliki-catering-section--dark .btn--miliki-gold:hover,
.miliki-catering-section--dark .btn--miliki-gold:focus-visible {
    color: var(--miliki-black, #050403) !important;
}

.miliki-catering-section--dark .btn--miliki-outline-light {
    color: var(--miliki-white, #fffaf3);
}

.miliki-catering-section--dark .btn--miliki-outline-light:hover,
.miliki-catering-section--dark .btn--miliki-outline-light:focus-visible {
    color: var(--miliki-gold, #d6b35a);
}

.miliki-catering-editorial {
    display: grid;
    grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);
    gap: clamp(2rem, 6vw, 6rem);
    align-items: center;
}

.miliki-catering-editorial--reverse > div:first-child {
    order: 2;
}

.miliki-catering-editorial .btn,
.miliki-catering-cta-panel .btn,
.miliki-catering-gallery-card .btn {
    margin-top: 0.5rem;
}

.miliki-catering-paths {
    border-top: 1px solid rgba(214, 179, 90, 0.24);
}

.miliki-catering-paths__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1px;
    margin: 0;
    padding: 0;
    background: rgba(214, 179, 90, 0.32);
    border: 1px solid rgba(214, 179, 90, 0.32);
    list-style: none;
}

.miliki-catering-paths__grid > li {
    min-width: 0;
}

.miliki-catering-path-card {
    min-height: 16rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: clamp(1.25rem, 2vw, 2rem);
    background: rgba(255, 250, 243, 0.92);
    color: var(--miliki-ink, #17110d);
    text-decoration: none;
    transition:
        transform 220ms ease,
        background-color 220ms ease,
        color 220ms ease;
}

.miliki-catering-path-card:hover,
.miliki-catering-path-card:focus-visible {
    background: var(--miliki-black, #050403);
    color: var(--miliki-white, #fffaf3);
    transform: translateY(-0.15rem);
}

.miliki-catering-path-card:focus-visible {
    outline: 3px solid var(--miliki-gold, #d6b35a);
    outline-offset: -0.35rem;
}

.miliki-catering-path-card--cta {
    background:
        radial-gradient(circle at 90% 0%, rgba(214, 179, 90, 0.24), transparent 42%),
        var(--miliki-black, #050403);
    color: var(--miliki-white, #fffaf3);
}

.miliki-catering-path-card__label {
    color: var(--miliki-gold-deep, #9b7526);
    font-size: 0.7rem;
    font-weight: 900;
    letter-spacing: 0.2em;
    text-transform: uppercase;
}

.miliki-catering-path-card:hover .miliki-catering-path-card__label,
.miliki-catering-path-card:focus-visible .miliki-catering-path-card__label,
.miliki-catering-path-card--cta .miliki-catering-path-card__label {
    color: var(--miliki-gold, #d6b35a);
}

.miliki-catering-path-card__title {
    margin: auto 0 0.75rem;
    font-family: var(--font-display, Georgia, "Times New Roman", serif);
    font-size: clamp(2rem, 3vw, 3.25rem);
    line-height: 0.95;
    letter-spacing: -0.045em;
}

.miliki-catering-path-card__copy {
    color: inherit;
    opacity: 0.78;
    line-height: 1.55;
}

.miliki-catering-dishes {
    background:
        radial-gradient(circle at 8% 10%, rgba(214, 179, 90, 0.14), transparent 30%),
        var(--miliki-cream, #fff7ed);
}

.miliki-catering-dishes__grid.menu-section-dish-grid,
.miliki-catering-dishes__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.miliki-catering-dishes__grid .dish-card--catering {
    border: 1px solid rgba(214, 179, 90, 0.28);
    border-radius: 0;
    background: rgba(255, 250, 243, 0.88);
    box-shadow: none;
    min-height: 100%;
}

.miliki-catering-dishes__grid .dish-card__media {
    background: #120d09;
}

.miliki-catering-dishes__grid .dish-card__image {
    aspect-ratio: 4 / 3;
    transition: transform 260ms ease;
}

.miliki-catering-dishes__grid .dish-card--catering:hover .dish-card__image {
    transform: scale(1.035);
}

.miliki-catering-dishes__grid .dish-card__body {
    padding: clamp(1.25rem, 2vw, 1.75rem);
}

.miliki-catering-dishes__grid .dish-card__title {
    font-size: clamp(1.15rem, 1.5vw, 1.45rem);
    font-weight: 900;
}

.miliki-catering-dishes__grid .dish-card__title a {
    color: var(--miliki-ink, #17110d);
}

.miliki-catering-dishes__grid .dish-card__price {
    color: var(--miliki-link);
}

.miliki-catering-dishes__grid .dish-card__excerpt,
.miliki-catering-dishes__grid .dish-card__meta {
    color: rgba(33, 29, 26, 0.72);
    line-height: 1.65;
}

.miliki-catering-dishes__grid .dish-card__cta {
    align-self: flex-start;
    margin-top: auto;
    color: var(--miliki-gold-deep, #9b7526);
    font-weight: 900;
}

.miliki-catering-dishes__footer {
    margin: clamp(2rem, 4vw, 3rem) 0 0;
    text-align: center;
}

.miliki-catering-process-section .catering-process {
    gap: 1rem;
    margin-top: 1.5rem;
}

.miliki-catering-process-section .catering-process__item {
    gap: 1rem;
    padding: 1.25rem;
    border: 1px solid rgba(214, 179, 90, 0.24);
    background: rgba(255, 250, 243, 0.055);
}

.miliki-catering-process-section .catering-process__number {
    background: var(--miliki-gold, #d6b35a);
    color: var(--miliki-black, #050403);
}

.miliki-catering-process-section .catering-process__step-title {
    color: var(--miliki-white, #fffaf3);
    font-size: 1rem;
}

.miliki-catering-process-section .catering-process__step-desc {
    color: rgba(255, 250, 243, 0.72);
    font-size: 0.95rem;
    line-height: 1.65;
}

.miliki-catering-cta-panel {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(18rem, 0.72fr);
    gap: clamp(2rem, 5vw, 5rem);
    align-items: center;
}

.miliki-catering-menu-cta {
    border-top: 1px solid rgba(214, 179, 90, 0.16);
}

.miliki-catering-gallery-card {
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
    gap: 0;
    align-items: stretch;
}

.miliki-catering-gallery-card__media {
    min-height: clamp(22rem, 42vw, 36rem);
    background: var(--miliki-black, #050403);
}

.miliki-catering-gallery-card__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.miliki-catering-gallery-card__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(2rem, 5vw, 5rem);
    border: 1px solid rgba(214, 179, 90, 0.28);
    border-left: 0;
    background: rgba(255, 250, 243, 0.92);
}

.miliki-catering-enquiry-section {
    background:
        linear-gradient(180deg, rgba(5, 4, 3, 0.05) 0%, transparent 18%),
        var(--miliki-cream, #fff7ed);
}

#catering-enquiry {
    scroll-margin-top: clamp(5rem, 10vw, 8rem);
}

.miliki-catering-enquiry-layout.catering-enquiry-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.18fr) minmax(18rem, 0.82fr);
    gap: clamp(1.25rem, 4vw, 3rem);
    align-items: start;
}

.miliki-catering-form-panel {
    border: 1px solid rgba(214, 179, 90, 0.26);
    background: rgba(255, 250, 243, 0.94);
    padding: clamp(1.25rem, 3vw, 2.25rem);
    box-shadow: 0 1.4rem 3.5rem rgba(33, 29, 26, 0.08);
}

.miliki-catering-form-panel .catering-form__group {
    border-bottom-color: rgba(214, 179, 90, 0.24);
}

.miliki-catering-form-panel .catering-form__group-legend {
    color: var(--miliki-ink, #17110d);
    font-family: var(--font-display, Georgia, "Times New Roman", serif);
    font-size: clamp(1.55rem, 2.2vw, 2.25rem);
    font-weight: 400;
    letter-spacing: -0.04em;
}

.miliki-catering-form-panel .catering-form__input,
.miliki-catering-form-panel .catering-form__select,
.miliki-catering-form-panel .catering-form__textarea {
    border-color: rgba(33, 29, 26, 0.22);
    border-radius: 0;
    background: #fffdf8;
}

.miliki-catering-form-panel .catering-form__consent-row {
    border-color: rgba(214, 179, 90, 0.28);
    border-radius: 0;
    background: rgba(214, 179, 90, 0.08);
}

.miliki-catering-form-panel .catering-form__submit {
    border-color: var(--miliki-gold, #d6b35a);
    background: var(--miliki-gold, #d6b35a);
    color: var(--miliki-black, #050403);
}

.miliki-catering-sidebar {
    display: grid;
    gap: 1rem;
}

.miliki-catering-sidebar__panel,
.miliki-catering-sidebar .catering-process-card,
.miliki-catering-sidebar .catering-direct-contact {
    border: 1px solid rgba(214, 179, 90, 0.26);
    border-radius: 0;
    background:
        radial-gradient(circle at 100% 0%, rgba(214, 179, 90, 0.16), transparent 36%),
        var(--miliki-black, #050403);
    color: var(--miliki-white, #fffaf3);
    padding: clamp(1.25rem, 3vw, 2rem);
    box-shadow: none;
}

.miliki-catering-sidebar .catering-links-list {
    display: grid;
    gap: 0.75rem;
    margin: 1rem 0 0;
    padding: 0;
    list-style: none;
}

.miliki-catering-sidebar .catering-links-list a {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    border-bottom: 1px solid rgba(255, 250, 243, 0.16);
    padding-bottom: 0.75rem;
    color: rgba(255, 250, 243, 0.88);
    text-decoration: none;
}

.miliki-catering-sidebar .catering-links-list a::after {
    content: "→";
    color: var(--miliki-gold, #d6b35a);
}

.miliki-catering-sidebar .catering-links-list a:hover,
.miliki-catering-sidebar .catering-links-list a:focus-visible {
    color: var(--miliki-gold, #d6b35a);
}

.miliki-catering-sidebar .catering-direct-contact__label {
    color: rgba(255, 250, 243, 0.78);
}

.miliki-catering-sidebar .catering-direct-contact__actions {
    align-items: stretch;
    flex-direction: column;
}

@media (max-width: 900px) {
    .miliki-catering-editorial,
    .miliki-catering-cta-panel,
    .miliki-catering-gallery-card,
    .miliki-catering-enquiry-layout.catering-enquiry-layout {
        grid-template-columns: 1fr;
    }

    .miliki-catering-editorial--reverse > div:first-child {
        order: 0;
    }

    .miliki-catering-paths__grid,
    .miliki-catering-dishes__grid.menu-section-dish-grid,
    .miliki-catering-dishes__grid {
        grid-template-columns: 1fr;
    }

    .miliki-catering-gallery-card__content {
        border-left: 1px solid rgba(214, 179, 90, 0.28);
        border-top: 0;
    }
}

@media (max-width: 640px) {
    .miliki-catering-section__inner {
        padding-inline: 1.25rem;
    }

    .miliki-catering-path-card {
        min-height: 13rem;
    }

    .miliki-catering-process-section .catering-process__item {
        padding: 1rem;
    }

    .miliki-catering-form-panel {
        padding: 1rem;
    }
}

/* ==========================================================================
   Global transparent overlay header hard reset (GLOBAL-NAV-FIX-002)
   Purpose: remove remaining .site-header__inner white/cream block everywhere.
   Keep this at the end of the stylesheet so it wins older header/nav rules.
   ========================================================================== */

:root {
    --miliki-header-page-offset: clamp(5rem, 8vw, 6.25rem);
}

.site-header--overlay-nav {
    position: fixed;
    top: var(--wp-admin--admin-bar--height, 0px);
    left: 0;
    right: 0;
    z-index: 9000;
    background: transparent !important;
    background-color: transparent !important;
    border: 0 !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
}

.site-header--overlay-nav::before,
.site-header--overlay-nav::after {
    content: none !important;
    display: none !important;
}

/* Critical fix: neutralise the inner header band without removing its layout. */
.site-header--overlay-nav .site-header__inner {
    width: min(100% - 2rem, 76rem);
    min-height: clamp(4.5rem, 7vw, 5.75rem);
    margin-inline: auto;
    padding-inline: clamp(1rem, 3vw, 2.25rem);
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: transparent !important;
    background-color: transparent !important;
    border: 0 !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
}

/* Neutralise nested header wrappers that may still paint the visible band. */
.site-header--overlay-nav .site-header__container,
.site-header--overlay-nav .site-header__nav-row,
.site-header--overlay-nav .site-header__bar,
.site-header--overlay-nav .site-header__content,
.site-header--overlay-nav .lsp-container,
.site-header--overlay-nav .miliki-container {
    background: transparent !important;
    background-color: transparent !important;
    border: 0 !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
}

/* Full-bleed hero pages must start behind the fixed transparent header. */
body.home .site-main,
body.page-template-page-about .site-main,
body.page-template-page-contact .site-main,
body.page-template-page-visit .site-main,
body.page-template-page-catering .site-main,
body.page-slug-about .site-main,
body.page-slug-contact .site-main,
body.page-slug-visit .site-main,
body.page-slug-catering .site-main {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/* DOM fallbacks for environments without stable page-slug body classes. */
body:has(.miliki-about-page) .site-main,
body:has(.miliki-contact-page) .site-main,
body:has(.miliki-visit-page) .site-main,
body:has(.miliki-catering-page) .site-main {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/* Non-hero pages need content spacing because the transparent header is fixed. */
body:not(.home):not(.page-template-page-about):not(.page-template-page-contact):not(.page-template-page-visit):not(.page-template-page-catering):not(.page-slug-about):not(.page-slug-contact):not(.page-slug-visit):not(.page-slug-catering) .site-main {
    padding-top: var(--miliki-header-page-offset, 5.75rem);
}

/* Pages with their own page-hero/breadcrumb clearance should not double-pad. */
body:has(.page-hero) .site-main {
    padding-top: 0 !important;
}

body:has(.page-hero) .site-main > .breadcrumbs {
    padding-top: var(--miliki-header-page-offset, 5.75rem);
}

/* Keep legacy nav hidden at all widths in overlay-nav mode. */
.site-header--overlay-nav .site-nav,
.site-header--overlay-nav .primary-nav-wrapper,
.site-header--overlay-nav .site-navigation,
.site-header--overlay-nav .site-nav__list,
.site-header--overlay-nav .site-navigation__list,
.site-header--overlay-nav .mobile-menu-toggle,
.site-header--overlay-nav .primary-nav-toggle {
    display: none !important;
}

.site-header--overlay-nav .site-header__menu-trigger,
.site-header--overlay-nav [data-desktop-menu-trigger] {
    display: inline-flex !important;
}

/* Preserve background-aware header text colours after the hard reset. */
.site-header--overlay-nav.site-header--on-dark .site-header__site-name,
.site-header--overlay-nav.site-header--on-dark .site-header__name,
.site-header--overlay-nav.site-header--on-dark .custom-logo-link,
.site-header--overlay-nav.site-header--on-dark .site-header__hours,
.site-header--overlay-nav.site-header--on-dark .site-header__menu-trigger {
    color: rgba(255, 250, 243, 0.92) !important;
    text-shadow: 0 1px 8px rgba(0, 0, 0, 0.62);
}

.site-header--overlay-nav.site-header--on-light .site-header__site-name,
.site-header--overlay-nav.site-header--on-light .site-header__name,
.site-header--overlay-nav.site-header--on-light .custom-logo-link,
.site-header--overlay-nav.site-header--on-light .site-header__hours,
.site-header--overlay-nav.site-header--on-light .site-header__menu-trigger {
    color: var(--miliki-ink, #211d1a) !important;
    text-shadow: none;
}

.site-header--overlay-nav.site-header--on-dark .site-header__menu-icon span {
    background-color: rgba(255, 250, 243, 0.92) !important;
    box-shadow: 0 1px 8px rgba(0, 0, 0, 0.62);
}

.site-header--overlay-nav.site-header--on-light .site-header__menu-icon span {
    background-color: var(--miliki-ink, #211d1a) !important;
    box-shadow: none;
}

/* ==========================================================================
   Menu page full-viewport image hero (MENU-FIX-001)
   ========================================================================== */

.miliki-menu-page {
    background: var(--miliki-cream, #fff7ed);
    color: var(--miliki-ink, #17110d);
}

body.page-template-page-menu .site-main,
body.page-slug-menu .site-main,
body:has(.miliki-menu-page) .site-main {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: 0 !important;
}

.miliki-menu-hero {
    position: relative;
    min-height: 100svh;
    display: flex;
    align-items: flex-end;
    overflow: hidden;
    isolation: isolate;
    margin: 0;
    padding: 0;
    background: var(--miliki-black, #050403);
    color: var(--miliki-white, #fffaf3);
}

.miliki-menu-hero__media,
.miliki-menu-hero__overlay {
    position: absolute;
    inset: 0;
}

.miliki-menu-hero__media {
    z-index: 0;
}

.miliki-menu-hero__image,
.miliki-menu-hero__fallback {
    display: block;
    width: 100%;
    height: 100%;
}

.miliki-menu-hero__image {
    max-width: none;
    object-fit: cover;
    object-position: center center;
}

.miliki-menu-hero__fallback {
    background:
        radial-gradient(circle at 22% 22%, rgba(214, 179, 90, 0.18), transparent 34rem),
        linear-gradient(135deg, #050403 0%, #211d1a 100%);
}

.miliki-menu-hero__overlay {
    z-index: 1;
    background:
        linear-gradient(
            to right,
            rgba(5, 4, 3, 0.82) 0%,
            rgba(5, 4, 3, 0.56) 46%,
            rgba(5, 4, 3, 0.28) 100%
        ),
        linear-gradient(
            to top,
            rgba(5, 4, 3, 0.74) 0%,
            rgba(5, 4, 3, 0.34) 55%,
            rgba(5, 4, 3, 0.14) 100%
        );
}

.miliki-menu-hero__content {
    position: relative;
    z-index: 2;
    width: min(100%, 88rem);
    margin-inline: auto;
    padding:
        clamp(7rem, 12vw, 10rem)
        clamp(1.25rem, 5vw, 5rem)
        clamp(3rem, 8vw, 6rem);
}

.miliki-menu-hero__eyebrow {
    margin: 0 0 1rem;
    color: var(--miliki-gold, #d6b35a);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.22em;
    text-transform: uppercase;
}

.miliki-menu-hero__title {
    max-width: 11ch;
    margin: 0;
    color: var(--miliki-white, #fffaf3);
    font-family: var(--font-display, Georgia, "Times New Roman", serif);
    font-size: clamp(4rem, 10vw, 10rem);
    font-weight: 400;
    line-height: 0.84;
    letter-spacing: -0.075em;
    text-wrap: balance;
}

.miliki-menu-hero__intro {
    max-width: 46rem;
    margin: clamp(1.25rem, 2vw, 2rem) 0 0;
    color: rgba(255, 250, 243, 0.88);
    font-size: clamp(1rem, 1.2vw, 1.25rem);
    line-height: 1.7;
}

.miliki-menu-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.9rem;
    margin-top: 1.6rem;
}

.miliki-menu-hero .btn--miliki-gold,
.miliki-menu-hero .btn--miliki-gold:hover,
.miliki-menu-hero .btn--miliki-gold:focus-visible {
    color: var(--miliki-black, #050403) !important;
}

.miliki-menu-hero .btn--miliki-outline-light {
    color: var(--miliki-white, #fffaf3);
}

.miliki-menu-hero .btn--miliki-outline-light:hover,
.miliki-menu-hero .btn--miliki-outline-light:focus-visible {
    color: var(--miliki-gold, #d6b35a);
}

@media (max-height: 820px) and (min-width: 1024px) {
    .miliki-menu-hero__content {
        padding-top: 5.75rem;
        padding-bottom: 2.25rem;
    }

    .miliki-menu-hero__title {
        max-width: 12ch;
        font-size: clamp(3.3rem, 6.5vw, 7rem);
    }

    .miliki-menu-hero__intro {
        max-width: 42rem;
        margin-top: 0.9rem;
        font-size: 1rem;
        line-height: 1.55;
    }

    .miliki-menu-hero__actions {
        margin-top: 1rem;
    }
}

@media (max-width: 767px) {
    .miliki-menu-hero {
        min-height: 88svh;
        align-items: flex-end;
    }

    .miliki-menu-hero__content {
        padding:
            clamp(6rem, 20vw, 7rem)
            1.25rem
            2rem;
    }

    .miliki-menu-hero__title {
        max-width: 9.5ch;
        font-size: clamp(3.5rem, 17vw, 5.75rem);
        line-height: 0.88;
    }

    .miliki-menu-hero__actions {
        align-items: stretch;
        flex-direction: column;
    }
}

/* ========================================================================== 
   GLOBAL-POLISH-002 — legacy template surface bridge
   ========================================================================== */

/* Shared hero gets a premium cream treatment without forcing every page dark. */
.page-hero {
    background:
        radial-gradient(circle at 86% 8%, rgba(214, 179, 90, 0.18), transparent 34%),
        linear-gradient(135deg, var(--miliki-cream) 0%, var(--miliki-white) 70%);
}

.page-hero__eyebrow,
.menu-hub-section__eyebrow,
.menu-section-page__eyebrow,
.dish-detail-section__eyebrow,
.catering-section__eyebrow,
.allergens-section__eyebrow,
.faq-page-section__eyebrow,
.reviews-section__eyebrow {
    color: var(--miliki-gold-deep);
    letter-spacing: 0.16em;
}

.page-hero__title {
    font-family: var(--font-display, Georgia, "Times New Roman", serif);
    font-weight: 400;
}

/* Old catering/support templates move away from default white section bands. */
.catering-section,
.menu-hub-section,
.menu-section-page,
.dish-detail-section,
.allergens-section,
.faq-page-section,
.reviews-section {
    background: var(--miliki-cream);
}

.catering-section--service,
.catering-section--tasting,
.catering-section--contact,
.catering-section--wedding,
.catering-section--events,
.catering-section--catering-menu,
.catering-section--gallery,
.catering-section--dishes,
.catering-section--faq,
.catering-section--scope,
.catering-section--process,
.catering-section--minimum,
.catering-section--event-types,
.menu-hub-section:nth-of-type(even),
.dish-detail-section--alt,
.dish-detail-section--related,
.allergens-section--notice,
.allergens-section--links,
.allergens-section--catering,
.faq-page-section--links {
    background:
        radial-gradient(circle at 8% 8%, rgba(214, 179, 90, 0.08), transparent 28%),
        var(--miliki-cream-soft);
}

/* Preserve high-readability surfaces for dense menu, FAQ, safety, and form content. */
.dish-card,
.catering-dish-card,
.faq-accordion__item,
.faq-page-layout .faq-accordion__item,
.allergens-copy-card,
.allergens-contact-card,
.catering-form-wrapper,
.contact-form-wrapper {
    border-color: var(--miliki-surface-border);
    background: rgba(255, 250, 243, 0.94);
    box-shadow: 0 0.9rem 2rem rgba(33, 29, 26, 0.07);
}

/* Reduce generic white-card feel where cards are primarily grouping/proof/CTA elements. */
.menu-section-nav__link,
.menu-hub-support-card,
.menu-hub-fallback,
.menu-preview__empty,
.menu-section-empty,
.menu-section-related__link,
.dish-key-info,
.catering-enquiry-card,
.catering-tasting-card,
.catering-minimum-card,
.catering-contact-card,
.catering-process-card,
.catering-direct-contact,
.catering-proof-card,
.catering-gallery-placeholder,
.allergens-notice-card,
.allergens-catering-card,
.allergens-link-card,
.faq-next-card,
.faq-contact-card,
.reviews-leave-card,
.reviews-next-card,
.reviews-source-item {
    border-color: var(--miliki-surface-border);
    background: rgba(255, 250, 243, 0.86);
    box-shadow: var(--miliki-shadow-premium);
}

.menu-section-nav__link:hover,
.menu-section-nav__link:focus-visible,
.menu-section-related__link:hover,
.menu-section-related__link:focus-visible,
.allergens-link-card:hover,
.allergens-link-card:focus-visible,
.reviews-source-item:hover,
.reviews-source-item:focus-visible {
    border-color: var(--miliki-surface-border-strong);
    box-shadow: 0 1.2rem 2.5rem rgba(33, 29, 26, 0.12);
}

/* Premium final CTA defaults for older browse/support pages. */
.menu-hub-final-cta,
.menu-section-final-cta {
    background:
        radial-gradient(circle at 86% 12%, rgba(214, 179, 90, 0.14), transparent 34%),
        linear-gradient(180deg, var(--miliki-charcoal) 0%, var(--miliki-black) 100%);
    color: var(--miliki-white);
}

.menu-hub-final-cta h2,
.menu-hub-final-cta p,
.menu-section-final-cta h2,
.menu-section-final-cta p {
    color: inherit;
}

.menu-hub-final-cta .button--secondary,
.menu-section-final-cta .button--secondary {
    border-color: rgba(255, 250, 243, 0.5);
    background: transparent;
    color: var(--miliki-white);
}

.menu-hub-final-cta .button--secondary:hover,
.menu-hub-final-cta .button--secondary:focus-visible,
.menu-section-final-cta .button--secondary:hover,
.menu-section-final-cta .button--secondary:focus-visible {
    border-color: var(--miliki-gold);
    color: var(--miliki-gold);
}

/* Open image treatments: editorial crop without tacky framed boxes. */
.dish-detail__image,
.catering-gallery-grid__item {
    border: 0;
    border-radius: 0;
    background: var(--miliki-charcoal);
    box-shadow: var(--miliki-shadow-premium);
}

.catering-gallery-grid {
    gap: clamp(0.75rem, 2vw, 1.25rem);
}

.catering-gallery-grid__image {
    aspect-ratio: 4 / 3;
}

/* Proof cards should feel editorial, not like default content cards. */
.catering-proof-card {
    border-radius: 0;
    background:
        linear-gradient(135deg, rgba(255, 250, 243, 0.94), rgba(246, 234, 220, 0.9));
}

.catering-proof-card__quote p {
    font-family: var(--font-display, Georgia, "Times New Roman", serif);
    font-size: clamp(1.35rem, 2vw, 2rem);
    line-height: 1.25;
    letter-spacing: -0.025em;
}

/* Keep forms and details controls predictable on mobile. */
.catering-form-wrapper,
.contact-form-wrapper,
.faq-accordion__item,
.faq-page-layout .faq-accordion__item {
    border-radius: var(--miliki-radius-md);
}

/* Dark-section overrides: form and sidebar cards adapt to dark backgrounds. */
.miliki-section--dark .catering-section__eyebrow {
    color: var(--miliki-gold, #d6b35a);
}

.miliki-section--dark .catering-form-wrapper {
    background: transparent;
    border-color: transparent;
    box-shadow: none;
    border-radius: 0;
}

.miliki-section--dark .catering-form__group-legend,
.miliki-section--dark .catering-form__label {
    color: rgba(255, 250, 243, 0.9);
}

.miliki-section--dark .catering-form__label-required,
.miliki-section--dark .catering-form__label-optional {
    color: rgba(255, 250, 243, 0.55);
}

.miliki-section--dark .catering-form__input,
.miliki-section--dark .catering-form__select,
.miliki-section--dark .catering-form__textarea {
    border-color: rgba(214, 179, 90, 0.3);
    border-radius: 0;
    background: rgba(255, 250, 243, 0.07);
    color: rgba(255, 250, 243, 0.92);
}

.miliki-section--dark .catering-form__input:focus,
.miliki-section--dark .catering-form__select:focus,
.miliki-section--dark .catering-form__textarea:focus {
    border-color: var(--miliki-gold, #d6b35a);
    outline-color: rgba(214, 179, 90, 0.5);
    background: rgba(255, 250, 243, 0.1);
}

.miliki-section--dark .catering-form__select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill='%23d6b35a' d='M4 6l4 4 4-4'/%3E%3C/svg%3E");
}

.miliki-section--dark .catering-form__consent-row {
    border-color: rgba(214, 179, 90, 0.2);
    background: rgba(214, 179, 90, 0.06);
    color: rgba(255, 250, 243, 0.8);
}

.miliki-section--dark .catering-form__submit {
    border-color: var(--miliki-gold, #d6b35a);
    background: var(--miliki-gold, #d6b35a);
    color: var(--miliki-black, #050403);
}

.miliki-section--dark .catering-form__group {
    border-bottom-color: rgba(214, 179, 90, 0.18);
}

.miliki-section--dark .catering-process-card,
.miliki-section--dark .catering-direct-contact {
    border: 1px solid rgba(214, 179, 90, 0.26);
    border-radius: 0;
    background:
        radial-gradient(circle at 100% 0%, rgba(214, 179, 90, 0.14), transparent 40%),
        var(--miliki-black, #050403);
    color: var(--miliki-white, #fffaf3);
    box-shadow: none;
}

.miliki-section--dark .catering-direct-contact__label {
    color: rgba(255, 250, 243, 0.7);
}

.miliki-section--dark .catering-links-list {
    display: grid;
    gap: 0.75rem;
    margin: 1rem 0 0;
    padding: 0;
    list-style: none;
}

.miliki-section--dark .catering-links-list a {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    border-bottom: 1px solid rgba(255, 250, 243, 0.14);
    padding-bottom: 0.75rem;
    color: rgba(255, 250, 243, 0.82);
    text-decoration: none;
}

.miliki-section--dark .catering-links-list a::after {
    content: "→";
    flex-shrink: 0;
    color: var(--miliki-gold, #d6b35a);
}

.miliki-section--dark .catering-links-list a:hover,
.miliki-section--dark .catering-links-list a:focus-visible {
    color: var(--miliki-gold, #d6b35a);
}

/* ==========================================================================
   GLOBAL-POLISH-004 — premium section application for remaining templates
   ========================================================================== */

/* The new section system owns vertical rhythm once attached to legacy templates. */
.miliki-section.catering-section,
.miliki-section.menu-hub-section,
.miliki-section.menu-section-page,
.miliki-section.dish-detail-section,
.miliki-section.allergens-section,
.miliki-section.faq-page-section,
.miliki-section.reviews-section,
.miliki-section.menu-hub-final-cta,
.miliki-section.menu-section-final-cta,
.miliki-section.menu-section-missing {
    padding: 0;
}

/* High-intent browse/proof pages get dark premium page intros. */
body.page-slug-catering-gallery .page-hero,
body.page-slug-catering-menu .page-hero,
body.page-slug-catering-faq .page-hero,
body.page-slug-reviews .page-hero,
body.page-slug-menu .page-hero,
body.parent-page-slug-menu .page-hero,
body.single-miliki_dish .page-hero {
    background:
        radial-gradient(circle at 86% 12%, rgba(214, 179, 90, 0.16), transparent 34%),
        linear-gradient(180deg, var(--miliki-charcoal) 0%, var(--miliki-black) 100%);
    color: var(--miliki-white);
}

body.page-slug-catering-gallery .page-hero__eyebrow,
body.page-slug-catering-menu .page-hero__eyebrow,
body.page-slug-catering-faq .page-hero__eyebrow,
body.page-slug-reviews .page-hero__eyebrow,
body.page-slug-menu .page-hero__eyebrow,
body.parent-page-slug-menu .page-hero__eyebrow,
body.single-miliki_dish .page-hero__eyebrow {
    color: var(--miliki-gold);
}

body.page-slug-catering-gallery .page-hero__title,
body.page-slug-catering-gallery .page-hero__intro,
body.page-slug-catering-menu .page-hero__title,
body.page-slug-catering-menu .page-hero__intro,
body.page-slug-catering-faq .page-hero__title,
body.page-slug-catering-faq .page-hero__intro,
body.page-slug-reviews .page-hero__title,
body.page-slug-reviews .page-hero__intro,
body.page-slug-menu .page-hero__title,
body.page-slug-menu .page-hero__intro,
body.parent-page-slug-menu .page-hero__title,
body.parent-page-slug-menu .page-hero__intro,
body.single-miliki_dish .page-hero__title,
body.single-miliki_dish .page-hero__intro {
    color: inherit;
}

body.page-slug-catering-gallery .page-hero__intro,
body.page-slug-catering-menu .page-hero__intro,
body.page-slug-catering-faq .page-hero__intro,
body.page-slug-reviews .page-hero__intro,
body.page-slug-menu .page-hero__intro,
body.parent-page-slug-menu .page-hero__intro,
body.single-miliki_dish .page-hero__intro {
    color: rgba(255, 250, 243, 0.82);
}

body.page-slug-catering-gallery .page-hero .button--primary,
body.page-slug-catering-menu .page-hero .button--primary,
body.page-slug-catering-faq .page-hero .button--primary,
body.page-slug-reviews .page-hero .button--primary,
body.page-slug-menu .page-hero .button--primary,
body.parent-page-slug-menu .page-hero .button--primary,
body.single-miliki_dish .page-hero .button--primary,
.miliki-section--dark .button--primary,
.miliki-section--proof .button--primary {
    border-color: var(--miliki-action-bg);
    background: var(--miliki-action-bg);
    color: var(--miliki-action-text);
}

body.page-slug-catering-gallery .page-hero .button--primary:hover,
body.page-slug-catering-gallery .page-hero .button--primary:focus-visible,
body.page-slug-catering-menu .page-hero .button--primary:hover,
body.page-slug-catering-menu .page-hero .button--primary:focus-visible,
body.page-slug-catering-faq .page-hero .button--primary:hover,
body.page-slug-catering-faq .page-hero .button--primary:focus-visible,
body.page-slug-reviews .page-hero .button--primary:hover,
body.page-slug-reviews .page-hero .button--primary:focus-visible,
body.page-slug-menu .page-hero .button--primary:hover,
body.page-slug-menu .page-hero .button--primary:focus-visible,
body.parent-page-slug-menu .page-hero .button--primary:hover,
body.parent-page-slug-menu .page-hero .button--primary:focus-visible,
body.single-miliki_dish .page-hero .button--primary:hover,
body.single-miliki_dish .page-hero .button--primary:focus-visible,
.miliki-section--dark .button--primary:hover,
.miliki-section--dark .button--primary:focus-visible,
.miliki-section--proof .button--primary:hover,
.miliki-section--proof .button--primary:focus-visible {
    border-color: var(--miliki-action-bg-hover);
    background: var(--miliki-action-bg-hover);
    color: var(--miliki-action-text);
}

body.page-slug-catering-gallery .page-hero .button--secondary,
body.page-slug-catering-menu .page-hero .button--secondary,
body.page-slug-catering-faq .page-hero .button--secondary,
body.page-slug-reviews .page-hero .button--secondary,
body.page-slug-menu .page-hero .button--secondary,
body.parent-page-slug-menu .page-hero .button--secondary,
body.single-miliki_dish .page-hero .button--secondary,
.miliki-section--dark .button--secondary,
.miliki-section--proof .button--secondary {
    border-color: rgba(255, 250, 243, 0.5);
    background: transparent;
    color: var(--miliki-white);
}

body.page-slug-catering-gallery .page-hero .button--secondary:hover,
body.page-slug-catering-gallery .page-hero .button--secondary:focus-visible,
body.page-slug-catering-menu .page-hero .button--secondary:hover,
body.page-slug-catering-menu .page-hero .button--secondary:focus-visible,
body.page-slug-catering-faq .page-hero .button--secondary:hover,
body.page-slug-catering-faq .page-hero .button--secondary:focus-visible,
body.page-slug-reviews .page-hero .button--secondary:hover,
body.page-slug-reviews .page-hero .button--secondary:focus-visible,
body.page-slug-menu .page-hero .button--secondary:hover,
body.page-slug-menu .page-hero .button--secondary:focus-visible,
body.parent-page-slug-menu .page-hero .button--secondary:hover,
body.parent-page-slug-menu .page-hero .button--secondary:focus-visible,
body.single-miliki_dish .page-hero .button--secondary:hover,
body.single-miliki_dish .page-hero .button--secondary:focus-visible,
.miliki-section--dark .button--secondary:hover,
.miliki-section--dark .button--secondary:focus-visible,
.miliki-section--proof .button--secondary:hover,
.miliki-section--proof .button--secondary:focus-visible {
    border-color: var(--miliki-gold);
    color: var(--miliki-gold);
}

/* Dark/proof section text bridge for legacy header classes. */
.miliki-section--dark .catering-section__eyebrow,
.miliki-section--dark .allergens-section__eyebrow,
.miliki-section--dark .faq-page-section__eyebrow,
.miliki-section--dark .reviews-section__eyebrow,
.miliki-section--dark .menu-hub-section__eyebrow,
.miliki-section--dark .menu-section-page__eyebrow,
.miliki-section--proof .catering-section__eyebrow,
.miliki-section--proof .reviews-section__eyebrow {
    color: var(--miliki-gold);
}

.miliki-section--dark .catering-section__header h2,
.miliki-section--dark .catering-section__header p,
.miliki-section--dark .catering-section__content h2,
.miliki-section--dark .catering-section__content p,
.miliki-section--dark .allergens-catering-card h2,
.miliki-section--dark .allergens-catering-card p,
.miliki-section--dark .faq-contact-card h2,
.miliki-section--dark .faq-contact-card p,
.miliki-section--dark .reviews-leave-card h2,
.miliki-section--dark .reviews-leave-card p,
.miliki-section--dark .dish-detail-cta-card h2,
.miliki-section--dark .dish-detail-cta-card p,
.miliki-section--dark .menu-hub-final-cta h2,
.miliki-section--dark .menu-hub-final-cta p,
.miliki-section--dark .menu-section-final-cta h2,
.miliki-section--dark .menu-section-final-cta p,
.miliki-section--proof .catering-section__header h2,
.miliki-section--proof .catering-section__header p {
    color: inherit;
}

.miliki-section--dark .catering-section__header p,
.miliki-section--dark .catering-section__content p,
.miliki-section--dark .allergens-catering-card p,
.miliki-section--dark .faq-contact-card p,
.miliki-section--dark .reviews-leave-card p,
.miliki-section--dark .dish-detail-cta-card p,
.miliki-section--dark .menu-hub-final-cta p,
.miliki-section--dark .menu-section-final-cta p,
.miliki-section--proof .catering-section__header p {
    color: rgba(255, 250, 243, 0.78);
}

/* Override text color for white cards inside dark sections. */
.allergens-section--catering .allergens-catering-card p,
.faq-page-section--contact .faq-contact-card p {
    color: var(--miliki-ink) !important;
}

.allergens-section--catering .allergens-catering-card h2,
.faq-page-section--contact .faq-contact-card h2 {
    color: var(--miliki-ink) !important;
}

/* Override button styling for white cards inside dark sections. */
.allergens-section--catering .allergens-catering-card .button--primary,
.faq-page-section--contact .faq-contact-card .button--primary {
    border-color: var(--miliki-action-bg) !important;
    background: var(--miliki-action-bg) !important;
    color: var(--miliki-action-text) !important;
}

.allergens-section--catering .allergens-catering-card .button--secondary,
.faq-page-section--contact .faq-contact-card .button--secondary {
    border-color: var(--miliki-ink) !important;
    background: transparent !important;
    color: var(--miliki-ink) !important;
}

.allergens-section--catering .allergens-catering-card .button--secondary:hover,
.allergens-section--catering .allergens-catering-card .button--secondary:focus-visible,
.faq-page-section--contact .faq-contact-card .button--secondary:hover,
.faq-page-section--contact .faq-contact-card .button--secondary:focus-visible {
    border-color: var(--miliki-action-bg) !important;
    background: var(--miliki-action-bg) !important;
    color: var(--miliki-action-text) !important;
}

.miliki-section--dark a:not(.button),
.miliki-section--proof a:not(.button) {
    color: var(--miliki-gold);
}

/* Catering proof/gallery upgrades. */
.miliki-section--proof .catering-gallery-grid__item {
    box-shadow: var(--miliki-shadow-dark);
}

.catering-gallery-placeholder {
    display: grid;
    place-items: center;
    min-height: clamp(14rem, 28vw, 22rem);
    border-style: solid;
    text-align: center;
}

.miliki-section--proof .catering-gallery-placeholder {
    border-color: rgba(214, 179, 90, 0.3);
    background: rgba(255, 250, 243, 0.06);
    color: rgba(255, 250, 243, 0.82);
}

/* Catering menu cards: readable but no longer default white boxes. */
.miliki-premium-dish-grid .dish-card,
.miliki-premium-dish-grid .catering-dish-card {
    border-color: rgba(214, 179, 90, 0.24);
    background: rgba(255, 250, 243, 0.9);
    box-shadow: 0 1rem 2.2rem rgba(33, 29, 26, 0.08);
    transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.miliki-premium-dish-grid .dish-card:hover,
.miliki-premium-dish-grid .dish-card:focus-within,
.miliki-premium-dish-grid .catering-dish-card:hover,
.miliki-premium-dish-grid .catering-dish-card:focus-within {
    border-color: var(--miliki-surface-border-strong);
    box-shadow: 0 1.35rem 2.8rem rgba(33, 29, 26, 0.13);
    transform: translateY(-0.12rem);
}

/* FAQ and allergen pages stay calm and legible. */
.allergens-notice-card,
.allergens-catering-card,
.faq-next-card,
.faq-contact-card,
.reviews-leave-card,
.reviews-next-card {
    border-left: 0;
}

.miliki-section--dark .faq-contact-card,
.miliki-section--dark .reviews-leave-card,
.miliki-section--dark .allergens-catering-card {
    border-color: rgba(214, 179, 90, 0.28);
    background: rgba(255, 250, 243, 0.06);
    box-shadow: var(--miliki-shadow-dark);
}

/* ALLERGEN-004 — premium, high-contrast catering CTA. */
.miliki-section.allergen-catering-cta,
.allergens-section--catering.allergen-catering-cta {
    background:
        radial-gradient(circle at 88% 12%, rgba(224, 185, 91, 0.14), transparent 34%),
        linear-gradient(180deg, var(--miliki-charcoal, #14100b) 0%, var(--miliki-black, #090806) 100%);
    color: var(--miliki-cream, #fff6ef);
    padding: clamp(3rem, 7vw, 6rem) 1.5rem;
}

.allergen-catering-cta .allergen-catering-cta__card {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) auto;
    gap: clamp(1.5rem, 3vw, 2.5rem);
    align-items: center;
    max-width: 1120px;
    margin: 0 auto;
    border: 1px solid rgba(224, 185, 91, 0.35);
    border-left: 1px solid rgba(224, 185, 91, 0.35);
    border-radius: 0;
    background:
        linear-gradient(135deg, rgba(255, 250, 243, 0.98), rgba(255, 246, 239, 0.96));
    color: var(--miliki-ink, #211d1a);
    padding: clamp(2rem, 4vw, 4rem);
    box-shadow: 0 1.5rem 3.5rem rgba(0, 0, 0, 0.28);
}

.allergen-catering-cta .allergen-catering-cta__content {
    max-width: 44rem;
}

.allergen-catering-cta .allergens-section__eyebrow {
    color: var(--miliki-gold-deep, #9b7526);
    opacity: 1;
}

.allergen-catering-cta h2,
.allergen-catering-cta p,
.miliki-section--dark.allergen-catering-cta .allergens-catering-card h2,
.miliki-section--dark.allergen-catering-cta .allergens-catering-card p {
    color: var(--miliki-ink, #211d1a) !important;
    opacity: 1;
}

.allergen-catering-cta h2 {
    max-width: 38rem;
    font-family: var(--font-display, Georgia, "Times New Roman", serif);
    font-size: clamp(1.8rem, 3.2vw, 3rem);
    font-weight: 400;
    line-height: 1.05;
}

.allergen-catering-cta p {
    max-width: 46rem;
    font-size: clamp(1rem, 1.2vw, 1.12rem);
    line-height: 1.7;
}

.allergen-catering-cta .allergens-catering-card__actions {
    display: grid;
    gap: 0.85rem;
    justify-content: stretch;
    min-width: min(100%, 15rem);
}

.allergen-catering-cta .allergens-catering-card__actions .button {
    justify-content: center;
    width: 100%;
    min-width: 13.5rem;
    text-align: center;
}

.allergen-catering-cta .allergens-catering-card .button--primary {
    border-color: var(--miliki-action-bg, #e0b95b) !important;
    background: var(--miliki-action-bg, #e0b95b) !important;
    color: var(--miliki-action-text, #090806) !important;
}

.allergen-catering-cta .allergens-catering-card .button--primary:hover,
.allergen-catering-cta .allergens-catering-card .button--primary:focus-visible {
    border-color: var(--miliki-action-bg-hover, #efcd73) !important;
    background: var(--miliki-action-bg-hover, #efcd73) !important;
    color: var(--miliki-action-text, #090806) !important;
}

.allergen-catering-cta .allergens-catering-card .button--secondary {
    border-color: rgba(33, 29, 26, 0.72) !important;
    background: transparent !important;
    color: var(--miliki-ink, #211d1a) !important;
}

.allergen-catering-cta .allergens-catering-card .button--secondary:hover,
.allergen-catering-cta .allergens-catering-card .button--secondary:focus-visible {
    border-color: var(--miliki-gold-deep, #9b7526) !important;
    background: rgba(224, 185, 91, 0.16) !important;
    color: var(--miliki-ink, #211d1a) !important;
}

.allergen-catering-cta .allergens-catering-card .button:focus-visible {
    outline: 3px solid var(--miliki-gold-deep, #9b7526);
    outline-offset: 4px;
}

@media (max-width: 58rem) {
    .allergen-catering-cta .allergen-catering-cta__card {
        grid-template-columns: 1fr;
    }

    .allergen-catering-cta .allergens-catering-card__actions {
        width: 100%;
    }

    .allergen-catering-cta .allergens-catering-card__actions .button {
        width: 100%;
        min-width: 0;
    }
}

.faq-page-layout .faq-accordion__item,
.allergens-copy-card,
.allergens-contact-card {
    background: rgba(255, 250, 243, 0.96);
}

/* Reviews trust layout. */
.reviews-source-list {
    gap: 1px;
    background: rgba(214, 179, 90, 0.26);
    border: 1px solid rgba(214, 179, 90, 0.26);
    padding: 0;
}

.reviews-source-item {
    border-radius: 0;
    box-shadow: none;
}

/* Menu browse pages: premium category tiles, readable dish grids. */
.menu-section-nav__list,
.menu-section-related__list {
    gap: 1px;
    background: rgba(214, 179, 90, 0.26);
    border: 1px solid rgba(214, 179, 90, 0.26);
}

.menu-section-nav__link,
.menu-section-related__link {
    min-height: 100%;
    border-radius: 0;
    border-color: transparent;
    box-shadow: none;
}

.menu-preview {
    border-top-color: rgba(214, 179, 90, 0.32);
}

/* Dish detail: open media and premium CTA rhythm. */
.dish-detail__image {
    border-radius: 0;
}

.dish-key-info {
    background: rgba(255, 250, 243, 0.92);
}

@media (max-width: 48rem) {
    .reviews-source-list,
    .menu-section-nav__list,
    .menu-section-related__list {
        background: transparent;
        border: 0;
        gap: var(--miliki-space-3);
    }

    .menu-section-nav__link,
    .menu-section-related__link,
    .reviews-source-item {
        border-radius: var(--miliki-radius-md);
        border-color: var(--miliki-surface-border);
    }
}



/* ============================================================================
   MENU-LAYOUT-001 — resilient menu section and card containment
   Menu category previews and section-page dish grids must grow naturally, wrap
   cards inside their section, and never create horizontal page overflow.
   ============================================================================ */

.menu-preview {
    position: relative;
    width: min(100%, 1240px);
    max-width: 100%;
    margin-inline: auto;
    padding: clamp(2rem, 5vw, 4.5rem) clamp(1rem, 3vw, 2.5rem);
    border: 1px solid color-mix(in srgb, var(--miliki-gold, #e0b95b) 22%, transparent);
    border-radius: 0;
    background: color-mix(in srgb, var(--miliki-cream, #fff6ef) 88%, transparent);
    box-shadow: 0 28px 80px rgb(0 0 0 / 0.08);
    overflow: clip;
}

.menu-preview-list {
    min-width: 0;
}

.menu-section-page,
.menu-section-final-cta,
.menu-section-missing {
    height: auto;
    min-height: 0;
}

.menu-section-page .miliki-section__inner,
.menu-hub-section--previews .miliki-section__inner {
    min-width: 0;
}

.menu-section__grid,
.menu-grid,
.menu-preview__grid,
.menu-section-dish-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
    gap: clamp(1rem, 2vw, 1.5rem);
    align-items: stretch;
    width: 100%;
    min-width: 0;
    margin-top: clamp(2rem, 4vw, 3.75rem);
}

.menu-preview__grid,
.menu-section-dish-grid {
    margin-top: 0;
}

.menu-card,
.miliki-premium-dish-grid .dish-card {
    min-width: 0;
    display: flex;
    flex-direction: column;
    background: color-mix(in srgb, var(--miliki-cream, #fff6ef) 92%, white);
    box-shadow: 0 22px 50px rgb(0 0 0 / 0.08);
    overflow: hidden;
}

.menu-card__image,
.miliki-premium-dish-grid .dish-card__media {
    aspect-ratio: 4 / 3;
    width: 100%;
    overflow: hidden;
    background: color-mix(in srgb, var(--miliki-black, #0b0906) 8%, transparent);
}

.menu-card__image img,
.miliki-premium-dish-grid .dish-card__image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border: 0;
    box-shadow: none;
}

.menu-card__body,
.miliki-premium-dish-grid .dish-card__body {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 0.85rem;
    min-width: 0;
    padding: clamp(1rem, 2vw, 1.35rem);
}

.miliki-premium-dish-grid .dish-card__header {
    flex-wrap: wrap;
    min-width: 0;
}

.miliki-premium-dish-grid .dish-card__title {
    min-width: 0;
    overflow-wrap: anywhere;
}

.menu-card__description,
.miliki-premium-dish-grid .dish-card__excerpt,
.miliki-premium-dish-grid .dish-card__meta {
    color: color-mix(in srgb, var(--miliki-black, #0b0906) 76%, white);
    line-height: 1.6;
    overflow-wrap: anywhere;
}

.menu-card__link,
.miliki-premium-dish-grid .dish-card__cta {
    align-self: flex-start;
    margin-top: auto;
}

.menu-card img,
.menu-section img,
.menu-preview img,
.menu-section-page img,
.miliki-premium-dish-grid .dish-card img {
    border: 0;
}

@media (max-width: 56rem) {
    .menu-preview {
        padding-inline: clamp(1rem, 5vw, 1.5rem);
    }
}
/* ============================================================================
   GLOBAL-NAV-FIX-003 — final transparent overlay header reset
   Keep this as the final stylesheet block so the fixed header never paints or
   reserves a visible white/cream spacer above hero content.
   ============================================================================ */

:root {
    --miliki-header-page-offset: 6rem;
}

.site-header--overlay-nav,
.site-header--overlay-nav.site-header,
header.site-header--overlay-nav {
    position: fixed !important;
    top: var(--wp-admin--admin-bar--height, 0px);
    left: 0;
    right: 0;
    z-index: 9000;
    background: transparent !important;
    background-color: transparent !important;
    border: 0 !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
}

.site-header--overlay-nav::before,
.site-header--overlay-nav::after {
    content: none !important;
    display: none !important;
}

.site-header--overlay-nav .site-header__inner,
.site-header--overlay-nav .site-header__container,
.site-header--overlay-nav .site-header__nav-row,
.site-header--overlay-nav .site-header__bar,
.site-header--overlay-nav .site-header__content,
.site-header--overlay-nav .lsp-container,
.site-header--overlay-nav .miliki-container {
    background: transparent !important;
    background-color: transparent !important;
    border: 0 !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
}

.site-header--overlay-nav .site-header__inner {
    width: min(100%, 76rem);
    margin-inline: auto;
    min-height: clamp(4.5rem, 7vw, 5.75rem);
    padding-inline: clamp(1rem, 3vw, 2.25rem);
    display: flex;
    align-items: center;
    justify-content: space-between;
}

/* Full-bleed hero pages must start behind the fixed transparent header. */
body.home .site-main,
body.page-template-page-about .site-main,
body.page-template-page-contact .site-main,
body.page-template-page-visit .site-main,
body.page-template-page-catering .site-main,
body.page-template-page-menu .site-main,
body.page-template-page-catering-gallery .site-main,
body.page-slug-about .site-main,
body.page-slug-contact .site-main,
body.page-slug-visit .site-main,
body.page-slug-catering .site-main,
body.page-slug-menu .site-main,
body.page-slug-catering-gallery .site-main,
body:has(.miliki-about-page) .site-main,
body:has(.miliki-contact-page) .site-main,
body:has(.miliki-visit-page) .site-main,
body:has(.miliki-catering-page) .site-main,
body:has(.miliki-menu-page) .site-main {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/* Non-hero pages need safe content clearance because the header is fixed. */
body:not(.home):not(.page-template-page-about):not(.page-template-page-contact):not(.page-template-page-visit):not(.page-template-page-catering):not(.page-template-page-menu):not(.page-template-page-catering-gallery):not(.page-slug-about):not(.page-slug-contact):not(.page-slug-visit):not(.page-slug-catering):not(.page-slug-menu):not(.page-slug-catering-gallery):not(:has(.page-hero)) .site-main {
    padding-top: var(--miliki-header-page-offset) !important;
}

/* Shared page-hero templates own their own visual surface; do not place a spacer before them. */
body:has(.page-hero) .site-main {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

body:has(.page-hero) .site-main > .breadcrumbs {
    padding-top: 0 !important;
    margin-top: 0;
    margin-bottom: 0;
}

.site-header--overlay-nav .site-nav,
.site-header--overlay-nav .primary-nav-wrapper,
.site-header--overlay-nav .site-navigation,
.site-header--overlay-nav .site-nav__list,
.site-header--overlay-nav .site-navigation__list,
.site-header--overlay-nav .mobile-menu-toggle,
.site-header--overlay-nav .primary-nav-toggle {
    display: none !important;
}

.site-header--overlay-nav .site-header__menu-trigger,
.site-header--overlay-nav [data-desktop-menu-trigger] {
    display: inline-flex !important;
}


/* ========================================================================== 
   Menu page info / next-step cards — MENU-FIX-002
   ========================================================================== */

/* Content must be visible without JavaScript. GSAP reveal scripts animate from
   visible DOM state and may add temporary inline styles only while active. */
[data-miliki-reveal-line],
[data-miliki-reveal-card],
[data-miliki-reveal-item] {
    opacity: 1;
    visibility: visible;
}

.menu-hub-support-card,
.miliki-menu-info-card,
.miliki-menu-next-step,
.miliki-menu-catering-card,
.miliki-menu-allergen-card,
.miliki-menu-quick-links {
    border: 1px solid rgba(214, 179, 90, 0.22);
    background: rgba(255, 250, 243, 0.92);
    color: var(--miliki-ink, #17110d);
}

.menu-hub-support-card h2,
.menu-hub-support-card h3,
.miliki-menu-info-card h2,
.miliki-menu-info-card h3,
.miliki-menu-next-step h2,
.miliki-menu-next-step h3,
.miliki-menu-catering-card h2,
.miliki-menu-catering-card h3,
.miliki-menu-allergen-card h2,
.miliki-menu-allergen-card h3,
.miliki-menu-quick-links h2,
.miliki-menu-quick-links h3 {
    color: var(--miliki-ink, #17110d);
}

.menu-hub-support-card p,
.miliki-menu-info-card p,
.miliki-menu-next-step p,
.miliki-menu-catering-card p,
.miliki-menu-allergen-card p,
.miliki-menu-quick-links p {
    color: rgba(33, 29, 26, 0.76);
}

.menu-hub-support-card .menu-hub-section__eyebrow,
.miliki-menu-info-card .menu-hub-section__eyebrow,
.miliki-menu-next-step .menu-hub-section__eyebrow,
.miliki-menu-catering-card .menu-hub-section__eyebrow,
.miliki-menu-allergen-card .menu-hub-section__eyebrow,
.miliki-menu-quick-links .menu-hub-section__eyebrow,
.miliki-menu-info-card .miliki-section-eyebrow,
.miliki-menu-next-step .miliki-section-eyebrow,
.miliki-menu-catering-card .miliki-section-eyebrow,
.miliki-menu-allergen-card .miliki-section-eyebrow,
.miliki-menu-quick-links .miliki-section-eyebrow {
    color: var(--miliki-link, #7a5706);
}

.menu-hub-support-card a:not(.btn):not(.button),
.miliki-menu-info-card a:not(.btn):not(.button),
.miliki-menu-next-step a:not(.btn):not(.button),
.miliki-menu-catering-card a:not(.btn):not(.button),
.miliki-menu-allergen-card a:not(.btn):not(.button),
.miliki-menu-quick-links a:not(.btn):not(.button) {
    color: var(--miliki-link, #7a5706);
    font-weight: 800;
}

.menu-hub-support-card a:not(.btn):not(.button):hover,
.menu-hub-support-card a:not(.btn):not(.button):focus-visible,
.miliki-menu-info-card a:not(.btn):not(.button):hover,
.miliki-menu-info-card a:not(.btn):not(.button):focus-visible,
.miliki-menu-next-step a:not(.btn):not(.button):hover,
.miliki-menu-next-step a:not(.btn):not(.button):focus-visible,
.miliki-menu-catering-card a:not(.btn):not(.button):hover,
.miliki-menu-catering-card a:not(.btn):not(.button):focus-visible,
.miliki-menu-allergen-card a:not(.btn):not(.button):hover,
.miliki-menu-allergen-card a:not(.btn):not(.button):focus-visible,
.miliki-menu-quick-links a:not(.btn):not(.button):hover,
.miliki-menu-quick-links a:not(.btn):not(.button):focus-visible {
    color: var(--miliki-link-hover, #7a5706);
}

.menu-hub-support-card .btn,
.menu-hub-support-card .button,
.miliki-menu-info-card .btn,
.miliki-menu-info-card .button,
.miliki-menu-next-step .btn,
.miliki-menu-next-step .button,
.miliki-menu-catering-card .btn,
.miliki-menu-catering-card .button,
.miliki-menu-allergen-card .btn,
.miliki-menu-allergen-card .button,
.miliki-menu-quick-links .btn,
.miliki-menu-quick-links .button {
    border-color: var(--miliki-action-bg, #d6b35a);
    background: var(--miliki-action-bg, #d6b35a);
    color: var(--miliki-action-text, #050403) !important;
}

.menu-hub-support-card .btn:hover,
.menu-hub-support-card .btn:focus-visible,
.menu-hub-support-card .button:hover,
.menu-hub-support-card .button:focus-visible,
.miliki-menu-info-card .btn:hover,
.miliki-menu-info-card .btn:focus-visible,
.miliki-menu-info-card .button:hover,
.miliki-menu-info-card .button:focus-visible,
.miliki-menu-next-step .btn:hover,
.miliki-menu-next-step .btn:focus-visible,
.miliki-menu-next-step .button:hover,
.miliki-menu-next-step .button:focus-visible,
.miliki-menu-catering-card .btn:hover,
.miliki-menu-catering-card .btn:focus-visible,
.miliki-menu-catering-card .button:hover,
.miliki-menu-catering-card .button:focus-visible,
.miliki-menu-allergen-card .btn:hover,
.miliki-menu-allergen-card .btn:focus-visible,
.miliki-menu-allergen-card .button:hover,
.miliki-menu-allergen-card .button:focus-visible,
.miliki-menu-quick-links .btn:hover,
.miliki-menu-quick-links .btn:focus-visible,
.miliki-menu-quick-links .button:hover,
.miliki-menu-quick-links .button:focus-visible {
    border-color: var(--miliki-action-bg-hover, #efcd73);
    background: var(--miliki-action-bg-hover, #efcd73);
    color: var(--miliki-action-text, #050403) !important;
}

/* ========================================================================== 
   Background-aware transparent header states (NAV-FIX-009)
   ========================================================================== */

.site-header--overlay-nav {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

.site-header--overlay-nav,
.site-header--overlay-nav.site-header--on-light,
.site-header--overlay-nav.is-on-light {
    color: var(--miliki-ink, #17110d);
}

.site-header--overlay-nav.site-header--on-light .site-header__site-name,
.site-header--overlay-nav.site-header--on-light .site-header__name,
.site-header--overlay-nav.site-header--on-light .custom-logo-link,
.site-header--overlay-nav.site-header--on-light .site-header__hours,
.site-header--overlay-nav.site-header--on-light .site-header__menu-trigger,
.site-header--overlay-nav.is-on-light .site-header__site-name,
.site-header--overlay-nav.is-on-light .site-header__name,
.site-header--overlay-nav.is-on-light .custom-logo-link,
.site-header--overlay-nav.is-on-light .site-header__hours,
.site-header--overlay-nav.is-on-light .site-header__menu-trigger {
    color: var(--miliki-ink, #211d1a) !important;
    text-shadow: none !important;
}

.site-header--overlay-nav.site-header--on-dark,
.site-header--overlay-nav.is-on-dark {
    color: rgba(255, 250, 243, 0.94);
}

.site-header--overlay-nav.site-header--on-dark .site-header__site-name,
.site-header--overlay-nav.site-header--on-dark .site-header__name,
.site-header--overlay-nav.site-header--on-dark .custom-logo-link,
.site-header--overlay-nav.site-header--on-dark .site-header__hours,
.site-header--overlay-nav.site-header--on-dark .site-header__menu-trigger,
.site-header--overlay-nav.is-on-dark .site-header__site-name,
.site-header--overlay-nav.is-on-dark .site-header__name,
.site-header--overlay-nav.is-on-dark .custom-logo-link,
.site-header--overlay-nav.is-on-dark .site-header__hours,
.site-header--overlay-nav.is-on-dark .site-header__menu-trigger {
    color: rgba(255, 250, 243, 0.94) !important;
    text-shadow: 0 1px 8px rgba(0, 0, 0, 0.68) !important;
}

.site-header--overlay-nav .site-header__menu-icon span {
    background: currentColor !important;
    box-shadow: none;
}

.site-header--overlay-nav.site-header--on-dark .site-header__menu-icon span,
.site-header--overlay-nav.is-on-dark .site-header__menu-icon span {
    box-shadow: 0 1px 8px rgba(0, 0, 0, 0.62);
}

body.has-desktop-menu-open .site-header--overlay-nav {
    transform: none !important;
}

body.has-desktop-menu-open .site-header--overlay-nav .site-header__site-name,
body.has-desktop-menu-open .site-header--overlay-nav .site-header__name,
body.has-desktop-menu-open .site-header--overlay-nav .custom-logo-link,
body.has-desktop-menu-open .site-header--overlay-nav .site-header__hours {
    color: rgba(255, 250, 243, 0.92) !important;
    text-shadow: 0 1px 8px rgba(0, 0, 0, 0.72) !important;
}

body.has-desktop-menu-open .site-header--overlay-nav .site-header__menu-trigger,
body.has-desktop-menu-open .site-header--overlay-nav [data-desktop-menu-trigger] {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
}


/* ==========================================================================
   P4-MENU-004 — CTA card text visibility guarantee
   Ensures text is never invisible regardless of section background or card
   variant. Supplements the MENU-FIX-002 block above.
   ========================================================================== */

/* Force readable text on all CTA card surfaces — light variants */
.dish-detail-cta-card,
.dish-key-info {
    color: var(--miliki-ink, #17110d);
}

.dish-detail-cta-card :where(h2, h3, p, li),
.dish-key-info :where(h2, h3, p, li) {
    color: inherit;
}

/* Secondary buttons: always visible — enforce dark text on white background */
.button--secondary {
    color: var(--miliki-color-text, #1f1712) !important;
}

.button--secondary:hover,
.button--secondary:focus-visible {
    color: var(--miliki-link, #7a5706) !important;
}

/* Dark-section secondary button: light text on semi-transparent dark surface */
.miliki-section--dark .button--secondary {
    border-color: rgba(255, 250, 243, 0.42);
    background: rgba(255, 250, 243, 0.08);
    color: rgba(255, 250, 243, 0.92) !important;
}

.miliki-section--dark .button--secondary:hover,
.miliki-section--dark .button--secondary:focus-visible {
    border-color: var(--miliki-gold, #d6b35a);
    background: rgba(214, 179, 90, 0.12);
    color: var(--miliki-gold-light, #efcd73) !important;
}

/* Dish detail CTA: catering / visit sections */
.dish-detail-cta-card h2,
.dish-detail-cta-card h3 {
    color: var(--miliki-color-text, #1f1712);
}

.dish-detail-cta-card p,
.dish-detail-cta-card li {
    color: var(--miliki-color-muted, #665b54);
}

/* Dark variant overrides (if cta-card is placed inside a dark section) */
.miliki-section--dark .dish-detail-cta-card h2,
.miliki-section--dark .dish-detail-cta-card h3 {
    color: var(--miliki-white, #fffaf3);
}

.miliki-section--dark .dish-detail-cta-card p,
.miliki-section--dark .dish-detail-cta-card li {
    color: rgba(255, 250, 243, 0.78);
}

/* GSAP reveal safety: content always visible without JS */
[data-miliki-reveal-section] [data-miliki-reveal-line],
[data-miliki-reveal-section] [data-miliki-reveal-card],
[data-miliki-reveal-section] [data-miliki-reveal-item] {
    opacity: 1;
    visibility: visible;
}

[data-reveal-section] [data-reveal-item],
[data-reveal-section] [data-reveal-stagger] > *,
[data-reveal-section] [data-reveal-image] {
    opacity: 1;
    visibility: visible;
}


/* ==========================================================================
   P4-MENU-005 — Flush footer on menu and dish pages
   Eliminates the white gap between the last section and the site footer.
   Uses WordPress body classes added automatically for these page types.
   ========================================================================== */

/* Remove the global site-main bottom padding on menu, dish, gallery, FAQ, and allergens pages */
body.page-slug-menu .site-main,
body.page-slug-catering-gallery .site-main,
body.page-slug-faq .site-main,
body.page-slug-allergens .site-main,
.single-miliki_dish .site-main {
    padding-bottom: 0;
}

/* Ensure the content's last section still has its own comfortable padding */
body.page-slug-menu .miliki-section:last-of-type,
body.page-slug-catering-gallery .miliki-section:last-of-type,
body.page-slug-faq .miliki-section:last-of-type,
body.page-slug-allergens .miliki-section:last-of-type,
.single-miliki_dish .miliki-section:last-of-type {
    padding-bottom: clamp(4rem, 7vw, 7rem);
}

/* Remove bottom margin from last child inside the main */
body.page-slug-menu .site-main > :last-child,
body.page-slug-catering-gallery .site-main > :last-child,
body.page-slug-faq .site-main > :last-child,
body.page-slug-allergens .site-main > :last-child,
.single-miliki_dish .site-main > :last-child {
    margin-bottom: 0;
}

/* ============================================================
   FAQ + ALLERGENS — strip card boxing from section inner containers
   ============================================================ */

/* "Still deciding?" (warm section) and allergens notice (warm section).
   Layout flex is kept; only the card chrome is removed. */
.faq-next-card,
.allergens-notice-card {
    border: 0;
    border-radius: 0;
    background: transparent;
    padding: 0;
    box-shadow: none;
}

/* Dark-section inner containers — remove box AND restore text to light. */
.faq-contact-card,
.allergens-catering-card {
    border: 0;
    border-radius: 0;
    background: transparent;
    padding: 0;
    box-shadow: none;
}

/* Re-point hardcoded ink colors to inherit from the dark section. */
.faq-contact-card h2,
.allergens-catering-card h2 {
    color: inherit;
}

.faq-contact-card p,
.allergens-catering-card p {
    color: rgba(255, 250, 243, 0.78);
}

/* Section eyebrow inside dark contact/catering sections. */
.faq-page-section--contact .faq-page-section__eyebrow,
.allergens-section--catering .allergens-section__eyebrow {
    color: var(--miliki-gold, #d6b35a);
}

/* When the last section is dark, use a gold-tinted border instead of the
   default warm-border — so the footer does not create a double-border */
body.page-slug-menu .miliki-section--dark:last-of-type,
body.page-slug-faq .miliki-section--dark:last-of-type,
body.page-slug-allergens .miliki-section--dark:last-of-type,
body.page-slug-catering-gallery .miliki-section--dark:last-of-type,
.single-miliki_dish .miliki-section--dark:last-of-type {
    border-bottom: 1px solid rgba(214, 179, 90, 0.22);
}

/* Footer itself: never add top margin that creates a gap */
.site-footer {
    margin-top: 0;
}


/* ==========================================================================
   P4-MENU-006 — GSAP ScrollTrigger reveal system (data-reveal-* attributes)
   CSS fallbacks ensure content is always visible without JavaScript.
   Reduced-motion users always see content in its final state.
   ========================================================================== */

/* Default: visible — JS animates from an invisible starting state */
[data-reveal-item],
[data-reveal-stagger] > *,
[data-reveal-image] {
    will-change: transform, opacity;
}

@media (prefers-reduced-motion: reduce) {
    [data-reveal-item],
    [data-reveal-stagger] > *,
    [data-reveal-image] {
        opacity: 1 !important;
        transform: none !important;
        clip-path: none !important;
        will-change: auto;
    }
}


/* ==========================================================================
   P4-MENU-007 — Premium card system for menu and dish pages
   Replaces generic white-card look with warm-cream editorial treatment.
   Images are borderless. Cards are soft but intentional.
   ========================================================================== */

/* Dish cards: editorial, not SaaS-template */
.dish-card {
    border-color: rgba(214, 179, 90, 0.2);
    border-radius: 0;
    background: rgba(255, 246, 239, 0.88);
    box-shadow: 0 1rem 2.4rem rgba(33, 29, 26, 0.07);
    transition: box-shadow 200ms ease, border-color 200ms ease, transform 200ms ease;
    overflow: hidden;
}

.dish-card:hover,
.dish-card:focus-within {
    border-color: rgba(214, 179, 90, 0.4);
    box-shadow: 0 1.4rem 3.2rem rgba(33, 29, 26, 0.12);
    transform: translateY(-0.1rem);
}

/* Card images: open and editorial — no borders or additional shadows */
.dish-card__image,
.dish-detail__image img {
    border: 0;
    border-radius: 0;
    box-shadow: none;
    display: block;
    width: 100%;
    height: auto;
}

.dish-card__image {
    object-fit: cover;
    aspect-ratio: 4 / 3;
}

/* Dish card title: brand ink */
.dish-card__title a {
    color: var(--miliki-ink, #17110d);
    text-decoration: none;
}

.dish-card__title a:hover {
    color: var(--miliki-bronze-text, #7a5706);
}

/* Dish card excerpt */
.dish-card__excerpt {
    color: var(--miliki-color-muted, #665b54);
}

/* Dish card price: gold accent */
.dish-card__price {
    color: var(--miliki-bronze-text, #7a5706);
    font-weight: 800;
}

/* Dish card CTA link */
.dish-card__cta {
    color: var(--miliki-bronze-text, #7a5706);
    font-weight: 800;
    font-size: 0.88rem;
    letter-spacing: 0.04em;
    text-decoration: underline;
    text-decoration-thickness: 0.08em;
    text-underline-offset: 0.2em;
}

.dish-card__cta:hover {
    color: var(--miliki-ink, #17110d);
}

/* Key info sidebar on dish detail pages */
.dish-key-info {
    border-color: rgba(214, 179, 90, 0.22);
    border-radius: 0;
    background: rgba(255, 246, 239, 0.9);
    box-shadow: 0 1rem 2.8rem rgba(33, 29, 26, 0.08);
}

/* Dish detail image: open, no bordered frame */
.dish-detail__image {
    margin: 0 0 var(--miliki-space-6);
    overflow: hidden;
}

.dish-detail__image img {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    display: block;
}

/* Pairing list: cleaner link style */
.dish-pairing-list {
    display: flex;
    flex-wrap: wrap;
    gap: var(--miliki-space-3);
    list-style: none;
    padding: 0;
    margin: var(--miliki-space-5) 0 0;
}

.dish-pairing-list li {
    display: contents;
}

.dish-pairing-list a {
    display: inline-flex;
    align-items: center;
    padding: 0.4rem 0.85rem;
    border: 1px solid rgba(214, 179, 90, 0.32);
    background: rgba(255, 246, 239, 0.9);
    color: var(--miliki-bronze-text, #7a5706);
    font-size: 0.9rem;
    font-weight: 700;
    text-decoration: none;
    transition: border-color 160ms ease, background 160ms ease, color 160ms ease;
}

.dish-pairing-list a:hover {
    border-color: var(--miliki-gold, #d6b35a);
    background: rgba(214, 179, 90, 0.1);
    color: var(--miliki-ink, #17110d);
}

/* Related dishes grid: generous spacing */
.dish-related-grid {
    margin-top: var(--miliki-space-5);
}

/* Menu support section: two-column grid */
.menu-hub-support-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--miliki-space-5);
    align-items: start;
}

@media (max-width: 48rem) {
    .menu-hub-support-grid {
        grid-template-columns: 1fr;
    }
}

/* Support cards on the menu page */
.menu-hub-support-card {
    padding: clamp(1.5rem, 4vw, 2.5rem);
    border-radius: 0;
    display: flex;
    flex-direction: column;
    gap: var(--miliki-space-4);
}

.menu-hub-support-card > .button,
.menu-hub-support-card > .btn {
    align-self: flex-start;
}

/* ============================================================
   P4-MENU-004 fix: CTA sections (catering, visit) use dish-detail-cta-card
   as the inner container. That class's padding wins over miliki-section__inner's
   section-y padding, leaving sections squished. Restore vertical rhythm here.
   ============================================================ */

.dish-detail-section .miliki-section__inner.dish-detail-cta-card {
    padding-block: clamp(3rem, 6vw, 5rem);
}

/* ============================================================
   P4-MENU-009: Dish page contextual order nudge
   ============================================================ */

.dish-order-nudge {
    margin-top: var(--miliki-space-5);
    padding-top: var(--miliki-space-4);
    border-top: 1px solid rgba(214, 179, 90, 0.2);
    font-size: 0.95rem;
    color: var(--miliki-ink, #17110d);
    line-height: 1.6;
}

.dish-order-nudge a {
    color: var(--miliki-bronze-text, #7a5706);
    font-weight: 700;
    text-decoration: underline;
    text-decoration-color: rgba(214, 179, 90, 0.4);
    text-underline-offset: 3px;
    transition: color 160ms ease, text-decoration-color 160ms ease;
}

.dish-order-nudge a:hover,
.dish-order-nudge a:focus {
    color: var(--miliki-ink, #17110d);
    text-decoration-color: var(--miliki-gold, #d6b35a);
}

/* ============================================================
   P4-MENU-008: Quick Chooser
   ============================================================ */

.menu-hub-chooser {
    list-style: none;
    padding: 0;
    margin: var(--miliki-space-5) 0 0;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--miliki-space-4);
}

@media (max-width: 48rem) {
    .menu-hub-chooser {
        grid-template-columns: 1fr;
    }
}

.menu-hub-chooser__item {
    padding: clamp(1.25rem, 3vw, 2rem);
    background: #fff;
    border-top: 3px solid var(--miliki-gold, #d6b35a);
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.menu-hub-chooser__scenario {
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--miliki-ink, #17110d);
    display: block;
}

.menu-hub-chooser__item > p {
    color: var(--miliki-ink, #17110d);
    font-size: 0.95rem;
    line-height: 1.65;
    margin: 0;
}

.menu-hub-chooser__links {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: auto;
}

.menu-hub-chooser__link {
    display: inline-block;
    font-size: 0.875rem;
    font-weight: 700;
    color: var(--miliki-bronze-text, #7a5706);
    text-decoration: underline;
    text-decoration-color: rgba(214, 179, 90, 0.4);
    text-underline-offset: 3px;
    transition: color 160ms ease, text-decoration-color 160ms ease;
    margin-top: auto;
}

.menu-hub-chooser__link:hover,
.menu-hub-chooser__link:focus {
    color: var(--miliki-ink, #17110d);
    text-decoration-color: var(--miliki-gold, #d6b35a);
}

/* ============================================================
   P4-MENU-008: How to build a Nigerian meal
   ============================================================ */

.menu-hub-steps {
    list-style: none;
    padding: 0;
    margin: var(--miliki-space-5) 0 0;
    counter-reset: none;
    display: flex;
    flex-direction: column;
    gap: var(--miliki-space-4);
}

.menu-hub-step {
    display: flex;
    gap: clamp(1rem, 3vw, 2rem);
    align-items: flex-start;
}

.menu-hub-step__number {
    flex-shrink: 0;
    width: 2.75rem;
    height: 2.75rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--miliki-gold, #d6b35a);
    color: var(--miliki-ink, #17110d);
    font-size: 1.1rem;
    font-weight: 800;
    border-radius: 50%;
}

.menu-hub-step__body {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding-top: 0.35rem;
}

.menu-hub-step__title {
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--miliki-ink, #17110d);
    display: block;
}

.menu-hub-step__body > p {
    color: var(--miliki-ink, #17110d);
    font-size: 0.95rem;
    line-height: 1.7;
    margin: 0;
}

/* ============================================================
   P4-MENU-008: Popular first orders (combos)
   ============================================================ */

.menu-hub-combos {
    list-style: none;
    padding: 0;
    margin: var(--miliki-space-5) 0 0;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--miliki-space-4);
}

@media (max-width: 48rem) {
    .menu-hub-combos {
        grid-template-columns: 1fr;
    }
}

.menu-hub-combo {
    padding: clamp(1.25rem, 3vw, 2rem);
    background: rgba(255, 250, 243, 0.88);
    border-left: 3px solid var(--miliki-gold, #d6b35a);
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.menu-hub-combo__title {
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--miliki-ink, #17110d);
    display: block;
}

.menu-hub-combo__body {
    color: var(--miliki-ink, #17110d);
    font-size: 0.95rem;
    line-height: 1.65;
    margin: 0;
}

.menu-hub-combo__links {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: auto;
}

.menu-hub-combo__dish-link {
    display: inline-block;
    font-size: 0.875rem;
    font-weight: 700;
    padding: 0.3rem 0.75rem;
    border: 1px solid rgba(214, 179, 90, 0.32);
    background: rgba(255, 246, 239, 0.9);
    color: var(--miliki-bronze-text, #7a5706);
    text-decoration: none;
    transition: border-color 160ms ease, background 160ms ease, color 160ms ease;
}

.menu-hub-combo__dish-link:hover,
.menu-hub-combo__dish-link:focus {
    border-color: var(--miliki-gold, #d6b35a);
    background: rgba(214, 179, 90, 0.1);
    color: var(--miliki-ink, #17110d);
}

/* ==========================================================================
   MILIKI-GALLERY-VIDEO-001 — catering gallery video wall and contrast fixes
   ========================================================================== */

body.page-slug-catering-gallery .site-main,
body.page-template-page-catering-gallery .site-main,
.miliki-gallery-page {
    background: var(--miliki-cream, #fff7ed);
    color: var(--miliki-ink, #17110d);
}

.miliki-gallery-page .miliki-section,
body.page-slug-catering-gallery .miliki-section,
body.page-template-page-catering-gallery .miliki-section {
    color: var(--miliki-ink, #17110d);
}

.miliki-gallery-page .miliki-section--dark,
body.page-slug-catering-gallery .miliki-section--dark,
body.page-template-page-catering-gallery .miliki-section--dark {
    background:
        radial-gradient(circle at 20% 10%, rgba(217, 180, 95, 0.14), transparent 32%),
        var(--miliki-black, #050403);
    color: var(--miliki-cream, #fff7ed);
}

.miliki-gallery-page .miliki-section--light,
body.page-slug-catering-gallery .miliki-section--light,
body.page-template-page-catering-gallery .miliki-section--light {
    background: var(--miliki-cream, #fff7ed);
    color: var(--miliki-ink, #17110d);
}

.miliki-gallery-page .miliki-section--warm.miliki-section--light,
body.page-slug-catering-gallery .miliki-section--warm.miliki-section--light,
body.page-template-page-catering-gallery .miliki-section--warm.miliki-section--light {
    background: var(--miliki-cream-soft, #f6eadc);
}

.miliki-gallery-page .miliki-section--light :where(h1, h2, h3, p, li, label),
body.page-slug-catering-gallery .miliki-section--light :where(h1, h2, h3, p, li, label),
body.page-template-page-catering-gallery .miliki-section--light :where(h1, h2, h3, p, li, label) {
    color: var(--miliki-ink, #17110d);
}

.miliki-gallery-page .miliki-section--light .miliki-eyebrow,
.miliki-gallery-page .miliki-section--light .catering-section__eyebrow,
body.page-slug-catering-gallery .miliki-section--light .miliki-eyebrow,
body.page-slug-catering-gallery .miliki-section--light .catering-section__eyebrow,
body.page-template-page-catering-gallery .miliki-section--light .miliki-eyebrow,
body.page-template-page-catering-gallery .miliki-section--light .catering-section__eyebrow {
    color: var(--miliki-gold-dark, var(--miliki-gold-deep, #9b7526));
}

.miliki-gallery-page .miliki-section--dark .catering-section__header :where(h2, p),
body.page-slug-catering-gallery .miliki-section--dark .catering-section__header :where(h2, p),
body.page-template-page-catering-gallery .miliki-section--dark .catering-section__header :where(h2, p) {
    color: inherit;
}

.miliki-gallery-page .miliki-section--dark .catering-section__header p,
body.page-slug-catering-gallery .miliki-section--dark .catering-section__header p,
body.page-template-page-catering-gallery .miliki-section--dark .catering-section__header p {
    color: rgba(255, 246, 239, 0.78);
}

.miliki-gallery-page .miliki-section--dark .catering-section__eyebrow,
body.page-slug-catering-gallery .miliki-section--dark .catering-section__eyebrow,
body.page-template-page-catering-gallery .miliki-section--dark .catering-section__eyebrow {
    color: var(--miliki-gold, #d6b35a);
}

.miliki-gallery-section--weddings {
    background:
        radial-gradient(circle at 12% 10%, rgba(217, 180, 95, 0.14), transparent 34%),
        var(--miliki-cream, #fff7ed);
    color: var(--miliki-ink, #17110d);
    padding: clamp(4rem, 8vw, 8rem) clamp(1.25rem, 5vw, 5rem);
}

.miliki-gallery-section__intro {
    max-width: 760px;
    margin: 0 auto clamp(2rem, 4vw, 4rem);
}

.miliki-gallery-section__intro h2 {
    color: var(--miliki-ink, #17110d);
    font-family: var(--miliki-serif, var(--font-display, Georgia, serif));
    font-size: clamp(2.4rem, 6vw, 6.5rem);
    line-height: 0.92;
    letter-spacing: -0.045em;
}

.miliki-gallery-section__intro p {
    color: rgba(31, 23, 18, 0.78);
    max-width: 58ch;
}

.miliki-gallery-section__intro .miliki-eyebrow {
    color: var(--miliki-gold-dark, var(--miliki-gold-deep, #9b7526));
}

.miliki-video-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(1rem, 2vw, 1.5rem);
    max-width: 1180px;
    margin: 0 auto;
}

.miliki-video-card {
    min-width: 0;
}

.miliki-video-card--featured {
    grid-column: span 2;
}

.miliki-video-card__button {
    appearance: none;
    width: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    text-align: left;
    cursor: pointer;
}

.miliki-video-card__preview {
    position: relative;
    display: block;
    overflow: hidden;
    aspect-ratio: 4 / 5;
    background: var(--miliki-black, #050403);
}

.miliki-video-card--featured .miliki-video-card__preview {
    aspect-ratio: 16 / 10;
}

.miliki-video-card__preview video {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    border: 0;
    filter: saturate(0.94) contrast(1.04);
    transform: scale(1.01);
    transition: transform 500ms ease, filter 500ms ease;
}

.miliki-video-card__button:hover .miliki-video-card__preview video,
.miliki-video-card__button:focus-visible .miliki-video-card__preview video {
    transform: scale(1.045);
    filter: saturate(1.04) contrast(1.08);
}

.miliki-video-card__play {
    position: absolute;
    left: 1rem;
    bottom: 1rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 4.25rem;
    min-height: 4.25rem;
    border-radius: 999px;
    background: var(--miliki-gold, #d6b35a);
    color: var(--miliki-black, #050403);
    font-weight: 800;
    font-size: 0.78rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    box-shadow: 0 18px 50px rgba(0, 0, 0, 0.28);
}

.miliki-video-card__content {
    display: block;
    padding-top: 1rem;
}

.miliki-video-card__title {
    display: block;
    color: var(--miliki-ink, #17110d);
    font-weight: 800;
    font-size: clamp(1.1rem, 1.6vw, 1.45rem);
}

.miliki-video-card--featured .miliki-video-card__title {
    font-size: clamp(1.35rem, 2.2vw, 2rem);
}

.miliki-video-card__caption {
    display: block;
    margin-top: 0.35rem;
    color: rgba(31, 23, 18, 0.72);
    line-height: 1.5;
}

.miliki-video-card__button:focus-visible {
    outline: 2px solid var(--miliki-gold, #d6b35a);
    outline-offset: 0.35rem;
}

.miliki-video-modal[hidden] {
    display: none;
}

.miliki-video-modal {
    position: fixed;
    inset: 0;
    z-index: 10020;
    display: grid;
    place-items: center;
    padding: clamp(1rem, 3vw, 3rem);
}

.miliki-video-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(5, 4, 3, 0.82);
    backdrop-filter: blur(10px);
}

.miliki-video-modal__dialog {
    position: relative;
    z-index: 1;
    width: min(100%, 980px);
    background: var(--miliki-black, #050403);
    box-shadow: 0 30px 100px rgba(0, 0, 0, 0.52);
}

.miliki-video-modal__player {
    display: block;
    width: 100%;
    max-height: 82vh;
    background: #000;
}

.miliki-video-modal__close {
    position: absolute;
    right: 0;
    top: -3rem;
    appearance: none;
    border: 0;
    background: transparent;
    color: var(--miliki-cream, #fff7ed);
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    cursor: pointer;
}

.miliki-video-modal__close:focus-visible {
    outline: 2px solid var(--miliki-gold, #d6b35a);
    outline-offset: 0.25rem;
}

html.miliki-video-modal-open,
html.miliki-video-modal-open body {
    overflow: hidden;
}

.miliki-catering-gallery-page .miliki-form-sidebar,
.miliki-catering-gallery-page .catering-form-sidebar,
.miliki-catering-gallery-page .miliki-catering-sidebar {
    display: grid;
    gap: 1rem;
}

.miliki-catering-gallery-page .miliki-sidebar-card,
.miliki-catering-gallery-page .catering-sidebar-card {
    background:
        linear-gradient(145deg, rgba(255, 246, 239, 0.08), rgba(224, 185, 91, 0.06));
    border: 1px solid rgba(224, 185, 91, 0.24);
    color: var(--miliki-cream, #fff7ed);
    padding: clamp(1.4rem, 2vw, 2rem);
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.25);
}

.miliki-catering-gallery-page .miliki-sidebar-card h2,
.miliki-catering-gallery-page .miliki-sidebar-card h3,
.miliki-catering-gallery-page .catering-sidebar-card h2,
.miliki-catering-gallery-page .catering-sidebar-card h3 {
    color: var(--miliki-cream, #fff7ed);
}

.miliki-catering-gallery-page .miliki-sidebar-card .miliki-eyebrow,
.miliki-catering-gallery-page .catering-sidebar-card .miliki-eyebrow {
    color: var(--miliki-gold, #e0b95b);
}

.miliki-catering-gallery-page .miliki-sidebar-card a,
.miliki-catering-gallery-page .catering-sidebar-card a {
    color: var(--miliki-gold, #e0b95b);
    text-decoration: none;
}

.miliki-catering-gallery-page .miliki-sidebar-card a:hover,
.miliki-catering-gallery-page .miliki-sidebar-card a:focus-visible,
.miliki-catering-gallery-page .catering-sidebar-card a:hover,
.miliki-catering-gallery-page .catering-sidebar-card a:focus-visible {
    color: var(--miliki-cream, #fff7ed);
    text-decoration: underline;
    text-underline-offset: 0.2em;
}

.miliki-catering-gallery-page .miliki-sidebar-links {
    display: grid;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}

.miliki-catering-gallery-page .miliki-sidebar-links a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.95rem 0;
    border-bottom: 1px solid rgba(255, 246, 239, 0.12);
}

.miliki-catering-gallery-page .miliki-sidebar-links a::after {
    content: "→";
    color: var(--miliki-gold, #e0b95b);
    transition: transform 180ms ease;
}

.miliki-catering-gallery-page .miliki-sidebar-links a:hover::after,
.miliki-catering-gallery-page .miliki-sidebar-links a:focus-visible::after {
    transform: translateX(0.25rem);
}

.miliki-catering-gallery-page .miliki-sidebar-card .miliki-button,
.miliki-catering-gallery-page .catering-sidebar-card .miliki-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.875rem;
    padding: 0.8rem 1.25rem;
    border-radius: 999px;
    border: 1px solid var(--miliki-gold, #e0b95b);
    background: var(--miliki-gold, #e0b95b);
    color: var(--miliki-black, #090806);
    font-weight: 900;
    text-decoration: none;
}

.miliki-catering-gallery-page .miliki-sidebar-card .miliki-button:hover,
.miliki-catering-gallery-page .miliki-sidebar-card .miliki-button:focus-visible,
.miliki-catering-gallery-page .catering-sidebar-card .miliki-button:hover,
.miliki-catering-gallery-page .catering-sidebar-card .miliki-button:focus-visible {
    background: transparent;
    color: var(--miliki-gold, #e0b95b);
}

.miliki-catering-gallery-page .miliki-catering-enquiry select,
.miliki-catering-gallery-page .wpforms-field-select select {
    appearance: none;
    -webkit-appearance: none;
    width: 100%;
    min-height: 3rem;
    padding: 0.85rem 3rem 0.85rem 1rem;

    color: var(--miliki-cream, #fff7ed);
    background-color: rgba(255, 246, 239, 0.08);
    border: 1px solid rgba(224, 185, 91, 0.45);
    border-radius: 0;

    background-image: url("data:image/svg+xml,%3Csvg width='14' height='9' viewBox='0 0 14 9' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.25L7 7.25L13 1.25' stroke='%23E0B95B' stroke-width='1.6' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 1rem center;
    background-size: 0.875rem auto;
}

.miliki-catering-gallery-page .miliki-catering-enquiry select:focus,
.miliki-catering-gallery-page .wpforms-field-select select:focus {
    outline: 2px solid var(--miliki-gold, #e0b95b);
    outline-offset: 3px;
    border-color: var(--miliki-gold, #e0b95b);
}

.miliki-catering-gallery-page .miliki-catering-enquiry select option,
.miliki-catering-gallery-page .wpforms-field-select select option {
    color: #090806;
    background-color: #fff6ef;
}

.miliki-catering-gallery-page .miliki-catering-enquiry select option:disabled,
.miliki-catering-gallery-page .wpforms-field-select select option:disabled {
    color: rgba(9, 8, 6, 0.55);
}

.miliki-catering-gallery-page .miliki-catering-enquiry label,
.miliki-catering-gallery-page .wpforms-field-label {
    color: var(--miliki-cream, #fff7ed);
    font-weight: 800;
}

.miliki-catering-gallery-page .miliki-catering-enquiry input,
.miliki-catering-gallery-page .miliki-catering-enquiry textarea,
.miliki-catering-gallery-page .wpforms-field input,
.miliki-catering-gallery-page .wpforms-field textarea {
    color: var(--miliki-cream, #fff7ed);
    background-color: rgba(255, 246, 239, 0.08);
    border: 1px solid rgba(224, 185, 91, 0.35);
    border-radius: 0;
}

.miliki-catering-gallery-page .miliki-catering-enquiry input:focus,
.miliki-catering-gallery-page .miliki-catering-enquiry textarea:focus,
.miliki-catering-gallery-page .wpforms-field input:focus,
.miliki-catering-gallery-page .wpforms-field textarea:focus {
    outline: 2px solid var(--miliki-gold, #e0b95b);
    outline-offset: 3px;
    border-color: var(--miliki-gold, #e0b95b);
}

@media (max-width: 900px) {
    .miliki-video-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .miliki-video-card--featured {
        grid-column: span 2;
    }
}

@media (max-width: 620px) {
    .miliki-video-grid {
        grid-template-columns: 1fr;
    }

    .miliki-video-card--featured {
        grid-column: span 1;
    }

    .miliki-video-card__preview,
    .miliki-video-card--featured .miliki-video-card__preview {
        aspect-ratio: 16 / 11;
    }

    .miliki-video-modal__close {
        right: 0.25rem;
        top: -2.5rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .miliki-video-card__preview video {
        transition: none;
    }

    .miliki-video-card__button:hover .miliki-video-card__preview video,
    .miliki-video-card__button:focus-visible .miliki-video-card__preview video {
        transform: scale(1.01);
    }
}

/* Global order choice modal -------------------------------------------------- */

.miliki-order-modal[hidden],
.miliki-order-modal__panel[hidden] {
    display: none;
}

.miliki-order-modal {
    position: fixed;
    inset: 0;
    z-index: 10030;
    display: grid;
    place-items: center;
    padding: clamp(1rem, 3vw, 3rem);
}

.miliki-order-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(5, 4, 3, 0.78);
    backdrop-filter: blur(12px);
}

.miliki-order-modal__dialog {
    position: relative;
    z-index: 1;
    width: min(100%, 760px);
    background:
        radial-gradient(circle at 10% 0%, rgba(224, 185, 91, 0.16), transparent 34%),
        var(--miliki-black, #090806);
    color: var(--miliki-cream, #fff7ed);
    padding: clamp(1.5rem, 4vw, 3rem);
    border: 1px solid rgba(224, 185, 91, 0.28);
    box-shadow: 0 34px 100px rgba(0, 0, 0, 0.5);
}

.miliki-order-modal__close {
    position: absolute;
    top: 1rem;
    right: 1rem;
    appearance: none;
    border: 1px solid rgba(224, 185, 91, 0.45);
    background: transparent;
    color: var(--miliki-cream, #fff7ed);
    width: 2.75rem;
    height: 2.75rem;
    display: grid;
    place-items: center;
    cursor: pointer;
}

.miliki-order-modal__close:hover,
.miliki-order-modal__close:focus-visible {
    border-color: var(--miliki-gold, #e0b95b);
    color: var(--miliki-gold, #e0b95b);
    outline: 2px solid transparent;
}

.miliki-order-modal__eyebrow {
    margin: 0 0 0.8rem;
    color: var(--miliki-gold, #e0b95b);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.miliki-order-modal h2 {
    margin: 0;
    color: var(--miliki-cream, #fff7ed);
    font-family: var(--miliki-serif, Georgia, serif);
    font-size: clamp(2.25rem, 6vw, 5rem);
    line-height: 0.95;
    letter-spacing: -0.045em;
}

.miliki-order-modal p {
    color: rgba(255, 246, 239, 0.78);
    max-width: 58ch;
}

.miliki-order-modal__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
    margin-top: 2rem;
}

.miliki-order-modal .button {
    min-height: 3rem;
}

.miliki-order-modal .button--secondary {
    border-color: rgba(224, 185, 91, 0.54);
    color: var(--miliki-cream, #fff6ef) !important;
    background: transparent;
}

.miliki-order-modal .button--secondary:hover,
.miliki-order-modal .button--secondary:focus-visible {
    border-color: var(--miliki-gold, #e0b95b);
    background: rgba(224, 185, 91, 0.12);
    color: var(--miliki-cream, #fff6ef) !important;
}

.miliki-order-modal__providers {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 2rem;
}

.miliki-order-provider {
    display: grid;
    gap: 0.9rem;
    align-content: space-between;
    min-height: 12rem;
    padding: 1.15rem;
    background: rgba(255, 246, 239, 0.06);
    color: var(--miliki-cream, #fff7ed);
    text-decoration: none;
    border: 1px solid rgba(224, 185, 91, 0.25);
    transition:
        transform 260ms ease,
        background-color 260ms ease,
        border-color 260ms ease;
}

.miliki-order-provider:hover,
.miliki-order-provider:focus-visible {
    transform: translateY(-0.18rem);
    background: rgba(255, 246, 239, 0.1);
    border-color: rgba(224, 185, 91, 0.68);
    color: var(--miliki-cream, #fff7ed);
    outline: 2px solid transparent;
}

.miliki-order-provider__logo-wrap {
    display: flex;
    align-items: center;
    min-height: 3rem;
}

.miliki-order-provider img {
    max-width: 8rem;
    max-height: 3rem;
    object-fit: contain;
    filter: brightness(1.1);
}

.miliki-order-provider__name {
    font-weight: 800;
}

.miliki-order-modal__back {
    margin-top: 1.5rem;
    appearance: none;
    border: 0;
    background: transparent;
    color: var(--miliki-gold, #e0b95b);
    font-weight: 800;
    text-decoration: underline;
    text-underline-offset: 0.22em;
    cursor: pointer;
}

.miliki-order-modal__back:hover,
.miliki-order-modal__back:focus-visible {
    color: var(--miliki-cream, #fff7ed);
    outline: 2px solid var(--miliki-gold, #e0b95b);
    outline-offset: 0.25rem;
}

html.miliki-order-modal-open,
html.miliki-order-modal-open body {
    overflow: hidden;
}

@media (max-width: 767px) {
    .miliki-order-modal {
        place-items: center;
        min-height: 100vh;
        min-height: 100dvh;
        padding: max(1rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));
    }

    .miliki-order-modal__dialog {
        box-sizing: border-box;
        width: min(100%, 92vw);
        max-height: min(82vh, 680px);
        max-height: min(82dvh, 680px);
        margin: 0;
        overflow-y: auto;
        overscroll-behavior: contain;
        -webkit-overflow-scrolling: touch;
        padding: 1.5rem;
    }

    .miliki-order-modal__close {
        z-index: 2;
    }

    .miliki-order-modal__providers {
        grid-template-columns: 1fr;
    }
}

@media (prefers-reduced-motion: reduce) {
    .miliki-order-provider {
        transition: none;
    }

    .miliki-order-provider:hover,
    .miliki-order-provider:focus-visible {
        transform: none;
    }
}


/* ==========================================================================
   REVIEWS-001 — premium full-viewport reviews page
   ========================================================================== */

body.page-slug-reviews .site-main,
body:has(.miliki-reviews-page) .site-main {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: 0 !important;
    background: var(--miliki-black, #090806);
}

.miliki-reviews-page {
    --miliki-black: #090806;
    --miliki-cream: #fff6ef;
    --miliki-gold: #e0b95b;
    --miliki-warm-brown: #4b2418;
    --miliki-serif: var(--font-display, Georgia, serif);
    background: var(--miliki-cream);
    color: var(--miliki-black);
}

.miliki-reviews-hero {
    position: relative;
    min-height: 100svh;
    overflow: hidden;
    display: grid;
    place-items: center;
    isolation: isolate;
    background:
        radial-gradient(circle at 50% 15%, rgba(224, 185, 91, 0.12), transparent 34%),
        radial-gradient(circle at 8% 82%, rgba(75, 36, 24, 0.44), transparent 32%),
        var(--miliki-black, #090806);
    color: var(--miliki-cream, #fff7ed);
    padding: clamp(7rem, 10vw, 9rem) clamp(1rem, 3vw, 3rem) clamp(13rem, 22vh, 18rem);
}

.miliki-reviews-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
        linear-gradient(180deg, rgba(9, 8, 6, 0.1) 0%, rgba(9, 8, 6, 0.82) 100%),
        repeating-linear-gradient(90deg, rgba(255, 246, 239, 0.035) 0 1px, transparent 1px 12.5vw);
    pointer-events: none;
}

.miliki-reviews-hero__content {
    position: relative;
    z-index: 2;
    width: min(100%, 980px);
    text-align: center;
}

.miliki-reviews-hero__eyebrow,
.miliki-reviews-page .miliki-eyebrow {
    margin: 0 0 1rem;
    color: var(--miliki-gold, #e0b95b);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.22em;
    text-transform: uppercase;
}

.miliki-reviews-hero h1 {
    margin: 0;
    font-family: var(--miliki-serif, Georgia, serif);
    font-size: clamp(3.4rem, 10vw, 10rem);
    font-weight: 400;
    line-height: 0.88;
    letter-spacing: -0.065em;
    color: var(--miliki-cream, #fff7ed);
    text-wrap: balance;
}

.miliki-reviews-hero__content > p:not(.miliki-eyebrow) {
    max-width: 58ch;
    margin: 1.25rem auto 0;
    color: rgba(255, 246, 239, 0.78);
    font-size: clamp(1rem, 1.3vw, 1.2rem);
    line-height: 1.7;
}

.miliki-reviews-hero__actions {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0.8rem;
    margin-top: 2rem;
}

.miliki-button--gold,
.miliki-button--gold:hover,
.miliki-button--gold:focus-visible {
    color: var(--miliki-black, #090806) !important;
}

.miliki-button--outline-light {
    color: var(--miliki-cream, #fff6ef) !important;
}

.miliki-button--outline-light:hover,
.miliki-button--outline-light:focus-visible {
    color: var(--miliki-gold, #e0b95b) !important;
}

.miliki-reviews-hero__media-strip {
    position: absolute;
    left: 0;
    right: 0;
    bottom: clamp(-3rem, -5vh, -1rem);
    z-index: 1;
    display: flex;
    gap: clamp(0.65rem, 1.4vw, 1.2rem);
    padding-inline: clamp(1rem, 3vw, 3rem);
    align-items: end;
    justify-content: center;
    pointer-events: auto;
    will-change: transform;
}

.miliki-reviews-strip-card {
    flex: 0 0 clamp(8.5rem, 15vw, 15.5rem);
    transform-origin: 50% 100%;
}

.miliki-reviews-strip-card:nth-child(2n) {
    margin-bottom: clamp(0.75rem, 2vh, 1.5rem);
}

.miliki-reviews-strip-card:nth-child(3n) {
    flex-basis: clamp(9rem, 17vw, 17rem);
}

.miliki-reviews-strip-card__button {
    appearance: none;
    display: block;
    width: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    cursor: pointer;
    text-align: left;
}

.miliki-reviews-strip-card__media {
    position: relative;
    display: block;
    overflow: hidden;
    height: clamp(8.75rem, 18vh, 15.5rem);
    background: var(--miliki-black, #090806);
    box-shadow: 0 1.3rem 4rem rgba(0, 0, 0, 0.38);
}

.miliki-reviews-strip-card__media::after {
    content: "Play";
    position: absolute;
    left: 0.7rem;
    bottom: 0.7rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 3.2rem;
    min-height: 3.2rem;
    border-radius: 999px;
    background: var(--miliki-gold, #e0b95b);
    color: var(--miliki-black, #090806);
    font-size: 0.68rem;
    font-weight: 900;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

.miliki-reviews-strip-card video,
.miliki-reviews-video-card video {
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    filter: saturate(0.94) contrast(1.05);
    transform: scale(1.01);
    transition: transform 500ms ease, filter 500ms ease;
}

.miliki-reviews-strip-card__meta {
    display: block;
    max-width: 100%;
    margin-top: 0.65rem;
    color: rgba(255, 246, 239, 0.76);
    font-size: clamp(0.72rem, 1vw, 0.86rem);
    font-weight: 800;
    line-height: 1.25;
}

.miliki-reviews-strip-card__button:hover video,
.miliki-reviews-strip-card__button:focus-visible video,
.miliki-reviews-video-card__button:hover video,
.miliki-reviews-video-card__button:focus-visible video {
    transform: scale(1.055);
    filter: saturate(1.06) contrast(1.1);
}

.miliki-reviews-strip-card__button:focus-visible,
.miliki-reviews-video-card__button:focus-visible {
    outline: 2px solid var(--miliki-gold, #e0b95b);
    outline-offset: 0.35rem;
}

.miliki-reviews-video-section,
.miliki-reviews-next-section {
    background:
        radial-gradient(circle at 10% 0%, rgba(224, 185, 91, 0.16), transparent 30%),
        var(--miliki-cream, #fff7ed);
    color: var(--miliki-black, #090806);
    padding: clamp(4.5rem, 9vw, 8rem) clamp(1.15rem, 4vw, 4rem);
}

.miliki-reviews-section-header {
    width: min(100%, 860px);
    margin: 0 auto clamp(2rem, 5vw, 4rem);
    text-align: center;
}

.miliki-reviews-section-header h2 {
    margin: 0;
    color: var(--miliki-black, #090806);
    font-family: var(--miliki-serif, Georgia, serif);
    font-size: clamp(2.7rem, 7vw, 7rem);
    font-weight: 400;
    line-height: 0.9;
    letter-spacing: -0.06em;
    text-wrap: balance;
}

.miliki-reviews-section-header > p:not(.miliki-eyebrow) {
    max-width: 60ch;
    margin: 1.15rem auto 0;
    color: rgba(9, 8, 6, 0.72);
    font-size: clamp(1rem, 1.25vw, 1.18rem);
    line-height: 1.7;
}

.miliki-reviews-video-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(1rem, 2vw, 1.5rem);
    width: min(100%, 1220px);
    margin: 0 auto;
}

.miliki-reviews-video-card--wide {
    grid-column: span 2;
}

.miliki-reviews-video-card__button {
    appearance: none;
    width: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    text-align: left;
    cursor: pointer;
}

.miliki-reviews-video-card__preview {
    position: relative;
    display: block;
    overflow: hidden;
    aspect-ratio: 4 / 5;
    background: var(--miliki-black, #090806);
    box-shadow: 0 1.4rem 4rem rgba(9, 8, 6, 0.18);
}

.miliki-reviews-video-card--wide .miliki-reviews-video-card__preview {
    aspect-ratio: 16 / 10;
}

.miliki-reviews-video-card__play {
    position: absolute;
    left: 1rem;
    bottom: 1rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 4.2rem;
    min-height: 4.2rem;
    border-radius: 999px;
    background: var(--miliki-gold, #e0b95b);
    color: var(--miliki-black, #090806);
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    box-shadow: 0 18px 50px rgba(0, 0, 0, 0.28);
}

.miliki-reviews-video-card__content {
    display: block;
    padding-top: 1rem;
}

.miliki-reviews-video-card__title {
    display: block;
    color: var(--miliki-black, #090806);
    font-size: clamp(1.08rem, 1.45vw, 1.45rem);
    font-weight: 900;
    letter-spacing: -0.015em;
}

.miliki-reviews-video-card--wide .miliki-reviews-video-card__title {
    font-size: clamp(1.35rem, 2vw, 2rem);
}

.miliki-reviews-video-card__caption {
    display: block;
    max-width: 62ch;
    margin-top: 0.35rem;
    color: rgba(9, 8, 6, 0.68);
    line-height: 1.55;
}

.miliki-reviews-google-section {
    background:
        radial-gradient(circle at 84% 18%, rgba(224, 185, 91, 0.15), transparent 32%),
        linear-gradient(180deg, #14100b 0%, var(--miliki-black, #090806) 100%);
    color: var(--miliki-cream, #fff7ed);
    padding: clamp(4.5rem, 9vw, 8rem) clamp(1.15rem, 4vw, 4rem);
}

.miliki-reviews-google-section__inner,
.miliki-reviews-next-section__inner {
    width: min(100%, 1120px);
    margin-inline: auto;
}

.miliki-reviews-section-header--dark h2,
.miliki-reviews-google-section h2,
.miliki-reviews-google-section h3 {
    color: var(--miliki-cream, #fff7ed);
}

.miliki-reviews-section-header--dark > p:not(.miliki-eyebrow),
.miliki-reviews-google-section p {
    color: rgba(255, 246, 239, 0.76);
}

.miliki-reviews-source-panel {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: clamp(1.25rem, 4vw, 3rem);
    border-top: 1px solid rgba(224, 185, 91, 0.32);
    border-bottom: 1px solid rgba(224, 185, 91, 0.32);
    padding: clamp(1.5rem, 4vw, 3rem) 0;
}

.miliki-reviews-source-panel__label {
    margin: 0 0 0.55rem;
    color: var(--miliki-gold, #e0b95b) !important;
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.miliki-reviews-source-panel h3 {
    margin: 0;
    font-family: var(--miliki-serif, Georgia, serif);
    font-size: clamp(2rem, 4vw, 4rem);
    font-weight: 400;
    line-height: 0.95;
    letter-spacing: -0.045em;
}

.miliki-reviews-source-panel p {
    max-width: 62ch;
    margin: 0.9rem 0 0;
    line-height: 1.65;
}

.miliki-reviews-source-panel__fallback {
    color: var(--miliki-gold, #e0b95b) !important;
    font-weight: 800;
}

.miliki-reviews-platform-links {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem 1rem;
    align-items: center;
    margin-top: 1.5rem;
    color: rgba(255, 246, 239, 0.68);
}

.miliki-reviews-platform-links span {
    font-size: 0.92rem;
}

.miliki-reviews-platform-links a {
    color: var(--miliki-gold, #e0b95b);
    font-weight: 900;
    text-decoration-thickness: 0.08em;
    text-underline-offset: 0.2em;
}

.miliki-reviews-platform-links a:hover,
.miliki-reviews-platform-links a:focus-visible {
    color: var(--miliki-cream, #fff7ed);
}

.miliki-reviews-next-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.85rem;
}

.miliki-reviews-next-section .button--secondary {
    border-color: rgba(9, 8, 6, 0.18);
    background: transparent;
    color: var(--miliki-black, #090806);
}

.miliki-reviews-next-section .button--secondary:hover,
.miliki-reviews-next-section .button--secondary:focus-visible {
    border-color: var(--miliki-warm-brown, #4b2418);
    color: var(--miliki-warm-brown, #4b2418);
}

/* REVIEWS-CTA-MEDIA-MOTION-003 — autonomous final CTA media stream ----------- */

.miliki-final-cta--collage,
.reviews-moment-cta {
    position: relative;
    isolation: isolate;
    min-height: min(92svh, 52rem);
    overflow: hidden;
    display: grid;
    place-items: center;
    padding: clamp(6rem, 12vw, 10rem) clamp(1.25rem, 4vw, 4rem);
    background:
        radial-gradient(circle at 50% 40%, rgba(226, 189, 98, 0.16), transparent 42%),
        var(--miliki-cream, #fbf4ed);
    color: var(--miliki-black, #090806);
}

.miliki-final-cta--collage::before,
.reviews-moment-cta::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    background:
        radial-gradient(circle at 50% 48%, rgba(251, 244, 237, 0.95), rgba(251, 244, 237, 0.78) 16rem, rgba(251, 244, 237, 0.22) 30rem, transparent 43rem);
}

.miliki-final-cta__media,
.reviews-moment-cta__media {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    overflow: hidden;
}

.miliki-final-cta__slot,
.reviews-moment-cta__item {
    position: absolute;
    width: clamp(7rem, 9.5vw, 10.75rem);
    aspect-ratio: 3 / 4;
    height: auto;
    margin: 0;
    opacity: 0.64;
    will-change: transform;
}

.miliki-final-cta__slot-frame {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    overflow: hidden;
    border: 0;
    background: transparent;
    box-shadow: 0 1.8rem 4rem rgba(8, 6, 4, 0.16);
}

.miliki-final-cta__image,
.reviews-moment-cta__item img,
.reviews-moment-cta__item video {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    border: 0;
    object-fit: cover;
    object-position: var(--image-position, center);
    opacity: 0;
    filter: saturate(0.98) contrast(1.02);
    transform: scale(1.015);
    transition:
        opacity 900ms ease,
        transform 1600ms ease,
        filter 900ms ease;
}

.miliki-final-cta__image.is-active {
    opacity: 1;
    transform: scale(1);
}

.miliki-final-cta__slot--1,
.reviews-moment-cta__item--1,
.reviews-moment-cta__item--one {
    --image-position: center 35%;
    top: 5%;
    left: 105%;
}

.miliki-final-cta__slot--2,
.reviews-moment-cta__item--2,
.reviews-moment-cta__item--two {
    --image-position: center 42%;
    top: 35%;
    left: 124%;
    width: clamp(6rem, 8vw, 9rem);
}

.miliki-final-cta__slot--3,
.reviews-moment-cta__item--3,
.reviews-moment-cta__item--three {
    --image-position: center 45%;
    top: 62%;
    left: 144%;
    width: clamp(6.5rem, 8.8vw, 9.75rem);
    opacity: 0.6;
}

.miliki-final-cta__slot--4,
.reviews-moment-cta__item--4,
.reviews-moment-cta__item--four {
    --image-position: center 38%;
    top: 84%;
    left: 166%;
    width: clamp(5.75rem, 7.6vw, 8.5rem);
    opacity: 0.58;
}

.miliki-final-cta__slot--5,
.reviews-moment-cta__item--5 {
    --image-position: center 34%;
    top: 16%;
    left: 188%;
    width: clamp(6.75rem, 10vw, 11rem);
    opacity: 0.56;
    display: none;
}

.miliki-final-cta__slot--6,
.reviews-moment-cta__item--6 {
    --image-position: center 46%;
    top: 68%;
    left: 210%;
    width: clamp(7.5rem, 11vw, 12.5rem);
    opacity: 0.56;
    display: none;
}

.miliki-final-cta__content,
.reviews-moment-cta__content {
    position: relative;
    z-index: 3;
    isolation: isolate;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: min(100%, 58rem);
    margin-inline: auto;
    text-align: center;
}

.miliki-final-cta__content::before,
.reviews-moment-cta__content::before {
    content: "";
    position: absolute;
    inset: 50% auto auto 50%;
    z-index: -1;
    width: min(82vw, 46rem);
    height: min(72vw, 30rem);
    border-radius: 999px;
    background: rgba(251, 244, 237, 0.78);
    filter: blur(2rem);
    transform: translate(-50%, -50%);
    pointer-events: none;
}

.miliki-final-cta__eyebrow,
.reviews-moment-cta__eyebrow {
    color: var(--miliki-bronze-text, #7a5706);
}

.miliki-final-cta__title,
.reviews-moment-cta__title {
    max-width: 11ch;
    margin: 0;
    color: var(--miliki-black, #090806);
    font-family: var(--miliki-serif, var(--font-display, Georgia, serif));
    font-size: clamp(3.15rem, 8vw, 7.5rem);
    font-weight: 400;
    line-height: 0.88;
    letter-spacing: -0.065em;
    text-wrap: balance;
}

.miliki-final-cta__copy,
.reviews-moment-cta__copy {
    max-width: 42rem;
    margin: 1.25rem auto 0;
    color: rgba(9, 8, 6, 0.72);
    font-size: clamp(1rem, 1.35vw, 1.2rem);
    line-height: 1.7;
}

.miliki-final-cta__actions,
.reviews-moment-cta__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.85rem;
    margin-top: clamp(1.5rem, 3vw, 2.25rem);
}

.miliki-final-cta--collage .button,
.reviews-moment-cta .button {
    position: relative;
    z-index: 1;
}

.miliki-final-cta--collage .button--secondary,
.reviews-moment-cta .button--secondary {
    border-color: rgba(9, 8, 6, 0.18);
    background: rgba(251, 244, 237, 0.55);
    color: var(--miliki-black, #090806);
}

.miliki-final-cta--collage .button--secondary:hover,
.miliki-final-cta--collage .button--secondary:focus-visible,
.reviews-moment-cta .button--secondary:hover,
.reviews-moment-cta .button--secondary:focus-visible {
    border-color: var(--miliki-warm-brown, #4b2418);
    background: rgba(255, 250, 246, 0.78);
    color: var(--miliki-warm-brown, #4b2418);
}

@media (max-width: 767px) {
    .miliki-final-cta--collage,
    .reviews-moment-cta {
        min-height: 82svh;
        padding: 6rem 1rem;
    }

    .miliki-final-cta--collage::before,
    .reviews-moment-cta::before {
        background:
            radial-gradient(circle at 50% 46%, rgba(251, 244, 237, 0.97), rgba(251, 244, 237, 0.88) 12rem, rgba(251, 244, 237, 0.24) 22rem, transparent 30rem);
    }

    .miliki-final-cta__content,
    .reviews-moment-cta__content {
        max-width: 22rem;
    }

    .miliki-final-cta__title,
    .reviews-moment-cta__title {
        font-size: clamp(3rem, 15vw, 5rem);
    }

    .miliki-final-cta__copy,
    .reviews-moment-cta__copy {
        max-width: 21rem;
        font-size: 1rem;
        line-height: 1.65;
    }

    .miliki-final-cta__actions,
    .reviews-moment-cta__actions {
        align-items: stretch;
        flex-direction: column;
        width: min(100%, 22rem);
    }

    .miliki-final-cta__actions .button,
    .reviews-moment-cta__actions .button {
        width: 100%;
    }

    .miliki-final-cta__slot,
    .reviews-moment-cta__item {
        width: clamp(4.75rem, 18vw, 6.75rem);
        opacity: 0.56;
    }

    .miliki-final-cta__slot-frame {
        box-shadow: 0 0.8rem 2rem rgba(33, 29, 26, 0.095);
    }

    .miliki-final-cta__slot--1,
    .reviews-moment-cta__item--1,
    .reviews-moment-cta__item--one {
        top: 7%;
        left: 108%;
    }

    .miliki-final-cta__slot--2,
    .reviews-moment-cta__item--2,
    .reviews-moment-cta__item--two {
        top: 25%;
        left: 132%;
    }

    .miliki-final-cta__slot--3,
    .reviews-moment-cta__item--3,
    .reviews-moment-cta__item--three {
        top: 76%;
        left: 156%;
    }

    .miliki-final-cta__slot--4,
    .reviews-moment-cta__item--4,
    .reviews-moment-cta__item--four {
        display: none;
    }

    .miliki-final-cta__slot--5,
    .miliki-final-cta__slot--6,
    .miliki-final-cta__slot--4,
    .reviews-moment-cta__item--4,
    .reviews-moment-cta__item--5,
    .reviews-moment-cta__item--6 {
        display: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .miliki-final-cta__image {
        transition: none;
    }
}

@media (max-height: 820px) and (min-width: 1024px) {
    .miliki-reviews-hero {
        padding-top: clamp(5.5rem, 8vw, 7rem);
        padding-bottom: clamp(10rem, 20vh, 13rem);
    }

    .miliki-reviews-hero h1 {
        font-size: clamp(3.4rem, 8.2vw, 7rem);
    }

    .miliki-reviews-hero__content > p:not(.miliki-eyebrow) {
        margin-top: 0.95rem;
        line-height: 1.55;
    }

    .miliki-reviews-hero__actions {
        margin-top: 1.25rem;
    }

    .miliki-reviews-strip-card__media {
        height: clamp(8.25rem, 17vh, 10.5rem);
    }
}

@media (max-width: 985px) {
    .miliki-reviews-video-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .miliki-reviews-video-card--wide {
        grid-column: span 2;
    }
}

@media (max-width: 760px) {
    .miliki-reviews-hero {
        min-height: 92svh;
        padding-bottom: 11rem;
    }

    .miliki-reviews-hero h1 {
        font-size: clamp(3rem, 16vw, 5.6rem);
    }

    .miliki-reviews-hero__actions {
        align-items: stretch;
        flex-direction: column;
        width: min(100%, 24rem);
        margin-inline: auto;
    }

    .miliki-reviews-hero__media-strip {
        overflow-x: auto;
        justify-content: flex-start;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
        padding-bottom: 0.65rem;
    }

    .miliki-reviews-hero__media-strip::-webkit-scrollbar {
        display: none;
    }

    .miliki-reviews-strip-card {
        flex-basis: 9.25rem;
        scroll-snap-align: start;
    }

    .miliki-reviews-strip-card:nth-child(2n),
    .miliki-reviews-strip-card:nth-child(3n) {
        flex-basis: 9.25rem;
        margin-bottom: 0;
    }

    .miliki-reviews-strip-card__media {
        height: 8.75rem;
    }

    .miliki-reviews-strip-card__meta {
        display: none;
    }

    .miliki-reviews-source-panel {
        grid-template-columns: 1fr;
        align-items: start;
    }
}

@media (max-width: 620px) {
    .miliki-reviews-video-grid {
        grid-template-columns: 1fr;
    }

    .miliki-reviews-video-card--wide {
        grid-column: span 1;
    }

    .miliki-reviews-video-card__preview,
    .miliki-reviews-video-card--wide .miliki-reviews-video-card__preview {
        aspect-ratio: 16 / 11;
    }

    .miliki-reviews-video-section,
    .miliki-reviews-google-section,
    .miliki-reviews-next-section {
        padding-inline: 1rem;
    }
}

@media (max-width: 390px) {
    .miliki-reviews-hero {
        padding-inline: 1rem;
        padding-bottom: 10rem;
    }

    .miliki-reviews-hero__content > p:not(.miliki-eyebrow) {
        font-size: 1rem;
        line-height: 1.55;
    }

    .miliki-reviews-strip-card {
        flex-basis: 8.5rem;
    }

    .miliki-reviews-strip-card:nth-child(3n) {
        flex-basis: 8.5rem;
    }

    .miliki-reviews-strip-card__media {
        height: 8.2rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .miliki-reviews-strip-card video,
    .miliki-reviews-video-card video {
        transition: none;
    }

    .miliki-reviews-strip-card__button:hover video,
    .miliki-reviews-strip-card__button:focus-visible video,
    .miliki-reviews-video-card__button:hover video,
    .miliki-reviews-video-card__button:focus-visible video {
        transform: scale(1.01);
    }
}

/* REVIEWS-002 — native uploaded review video cards ------------------------- */

.miliki-reviews-strip-card__link {
    display: block;
    color: inherit;
    text-decoration: none;
}

.miliki-reviews-strip-card__link:focus-visible {
    outline: 2px solid var(--miliki-gold, #e0b95b);
    outline-offset: 0.35rem;
}

.miliki-reviews-strip-card__media::after {
    content: "Review";
}

.miliki-reviews-strip-card__context {
    display: block;
    margin-bottom: 0.2rem;
    color: var(--miliki-gold, #e0b95b);
    font-size: 0.68rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.miliki-review-card {
    position: relative;
    min-width: 0;
    background: transparent;
    color: var(--miliki-black, #090806);
}

.miliki-review-card--wide {
    grid-column: span 2;
}

.miliki-review-card__media {
    position: relative;
    overflow: hidden;
    aspect-ratio: 4 / 5;
    background: var(--miliki-black, #090806);
    box-shadow: 0 1.4rem 4rem rgba(9, 8, 6, 0.18);
}

.miliki-review-card--wide .miliki-review-card__media {
    aspect-ratio: 16 / 10;
}

.miliki-review-card__video {
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    background: var(--miliki-black, #090806);
}

.miliki-review-card__meta {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 2;
    padding: clamp(1rem, 2vw, 1.35rem);
    background: linear-gradient(180deg, transparent 0%, rgba(9, 8, 6, 0.82) 100%);
    color: var(--miliki-cream, #fff7ed);
    opacity: 0;
    transform: translateY(0.75rem);
    transition: opacity 220ms ease, transform 220ms ease;
    pointer-events: none;
}

.miliki-review-card:hover .miliki-review-card__meta,
.miliki-review-card:focus-within .miliki-review-card__meta {
    opacity: 1;
    transform: translateY(0);
}

.miliki-review-card__meta p {
    margin: 0 0 0.35rem;
    color: var(--miliki-gold, #e0b95b);
    font-size: 0.76rem;
    font-weight: 900;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.miliki-review-card__meta h2 {
    margin: 0;
    color: var(--miliki-cream, #fff7ed);
    font-family: var(--miliki-serif, Georgia, serif);
    font-size: clamp(1.35rem, 2.2vw, 2.25rem);
    font-weight: 400;
    line-height: 0.98;
    letter-spacing: -0.045em;
}

.miliki-review-card__video:focus-visible {
    outline: 3px solid var(--miliki-gold, #e0b95b);
    outline-offset: 0.25rem;
}

@media (max-width: 985px) {
    .miliki-review-card--wide {
        grid-column: span 2;
    }
}

@media (max-width: 620px) {
    .miliki-review-card--wide {
        grid-column: span 1;
    }

    .miliki-review-card__media,
    .miliki-review-card--wide .miliki-review-card__media {
        aspect-ratio: 16 / 11;
    }

    .miliki-review-card__meta {
        position: static;
        padding: 0.85rem 0 0;
        background: transparent;
        color: var(--miliki-black, #090806);
        opacity: 1;
        transform: none;
        transition: none;
    }

    .miliki-review-card__meta p {
        color: var(--miliki-warm-brown, #4b2418);
    }

    .miliki-review-card__meta h2 {
        color: var(--miliki-black, #090806);
        font-size: clamp(1.35rem, 8vw, 2rem);
    }
}

@media (prefers-reduced-motion: reduce) {
    .miliki-review-card__meta {
        transition: none;
    }
}

/* Keep native controls unobstructed: metadata reveals below the video, not over controls. */
.miliki-review-card__meta {
    position: static;
    padding: 1rem 0 0;
    background: transparent;
    color: var(--miliki-black, #090806);
    pointer-events: auto;
}

.miliki-review-card__meta p {
    color: var(--miliki-warm-brown, #4b2418);
}

.miliki-review-card__meta h2 {
    color: var(--miliki-black, #090806);
}

/* REVIEWS-004 — premium uploaded video reviews grid ------------------------ */

.miliki-review-videos {
    background:
        radial-gradient(circle at 12% 0%, rgba(224, 185, 91, 0.14), transparent 30%),
        var(--miliki-cream, #fff7ed);
    color: var(--miliki-black, #090806);
    padding: clamp(4.5rem, 9vw, 8rem) clamp(1.15rem, 4vw, 4rem);
}

.miliki-review-videos .miliki-section__header {
    width: min(100%, 900px);
    max-width: none;
    margin: 0 auto clamp(2rem, 5vw, 4rem);
    padding: 0;
    text-align: center;
}

.miliki-review-videos .miliki-section__header h2 {
    margin: 0;
    color: var(--miliki-black, #090806);
    font-family: var(--miliki-serif, Georgia, serif);
    font-size: clamp(2.7rem, 7vw, 7rem);
    font-weight: 400;
    line-height: 0.9;
    letter-spacing: -0.06em;
    text-wrap: balance;
}

.miliki-review-videos .miliki-section__header > p:not(.miliki-eyebrow) {
    max-width: 66ch;
    margin: 1.15rem auto 0;
    color: rgba(9, 8, 6, 0.72);
    font-size: clamp(1rem, 1.25vw, 1.18rem);
    line-height: 1.7;
}

.miliki-review-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(1rem, 2vw, 1.5rem);
    width: min(100%, 1220px);
    margin: 0 auto;
}

.miliki-review-card,
.miliki-review-card--wide {
    grid-column: auto;
}

.miliki-review-card {
    position: relative;
    overflow: hidden;
    min-width: 0;
    min-height: clamp(22rem, 42vw, 36rem);
    background: var(--miliki-black, #090806);
    color: var(--miliki-cream, #fff7ed);
    box-shadow: 0 24px 70px rgba(9, 8, 6, 0.12);
}

.miliki-review-card__media,
.miliki-review-card--wide .miliki-review-card__media {
    position: absolute;
    inset: 0;
    overflow: hidden;
    aspect-ratio: auto;
    background: var(--miliki-black, #090806);
    box-shadow: none;
}

.miliki-review-card__video {
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    border: 0;
    object-fit: cover;
    background: var(--miliki-black, #090806);
}

.miliki-review-card__meta {
    position: absolute;
    inset-inline: 0;
    bottom: 0;
    z-index: 2;
    padding: clamp(1rem, 2vw, 1.4rem);
    color: var(--miliki-cream, #fff7ed);
    background: linear-gradient(to top, rgba(0, 0, 0, 0.78), transparent);
    opacity: 0.94;
    transform: translateY(34%);
    transition:
        transform 280ms ease,
        opacity 280ms ease;
    pointer-events: none;
}

.miliki-review-card:hover .miliki-review-card__meta,
.miliki-review-card:focus-within .miliki-review-card__meta,
.miliki-review-card.is-playing .miliki-review-card__meta {
    opacity: 1;
    transform: translateY(0);
}

.miliki-review-card__meta p {
    margin: 0 0 0.4rem;
    color: var(--miliki-gold, #e0b95b);
    font-size: 0.78rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.14em;
}

.miliki-review-card__meta h3,
.miliki-review-card__meta h2 {
    margin: 0;
    color: var(--miliki-cream, #fff7ed);
    font-family: var(--miliki-serif, Georgia, serif);
    font-size: clamp(1.6rem, 3vw, 3rem);
    font-weight: 400;
    line-height: 0.95;
    letter-spacing: -0.045em;
}

.miliki-review-card__video:focus-visible {
    outline: 3px solid var(--miliki-gold, #e0b95b);
    outline-offset: -0.45rem;
}

@media (max-width: 980px) {
    .miliki-review-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .miliki-review-videos {
        padding-inline: 1rem;
    }

    .miliki-review-grid {
        grid-template-columns: 1fr;
    }

    .miliki-review-card {
        min-height: 70svh;
    }

    .miliki-review-card__meta {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (prefers-reduced-motion: reduce) {
    .miliki-review-card__meta {
        transition: none;
    }
}

/* REVIEWS-005 — Google reviews source and map section ---------------------- */

.miliki-google-reviews {
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(22rem, 0.85fr);
    gap: clamp(2rem, 5vw, 4rem);
    align-items: stretch;
    background:
        radial-gradient(circle at 14% 16%, rgba(224, 185, 91, 0.15), transparent 34%),
        linear-gradient(180deg, #14100b 0%, var(--miliki-black, #090806) 100%);
    color: var(--miliki-cream, #fff7ed);
    padding: clamp(4.5rem, 9vw, 8rem) clamp(1.15rem, 4vw, 4rem);
}

.miliki-google-reviews__content,
.miliki-google-reviews__map {
    width: min(100%, 640px);
}

.miliki-google-reviews__content {
    align-self: center;
    justify-self: end;
}

.miliki-google-reviews__map {
    justify-self: start;
}

.miliki-google-reviews .miliki-eyebrow {
    color: var(--miliki-gold, #e0b95b);
}

.miliki-google-reviews h2 {
    max-width: 10ch;
    margin: 0;
    color: var(--miliki-cream, #fff7ed);
    font-family: var(--miliki-serif, Georgia, serif);
    font-size: clamp(3rem, 7vw, 7rem);
    font-weight: 400;
    line-height: 0.9;
    letter-spacing: -0.06em;
    text-wrap: balance;
}

.miliki-google-reviews__content > p:not(.miliki-eyebrow) {
    max-width: 60ch;
    margin: 1.15rem 0 0;
    color: rgba(255, 246, 239, 0.78);
    font-size: clamp(1rem, 1.25vw, 1.18rem);
    line-height: 1.7;
}

.miliki-google-reviews__source-card {
    margin-top: clamp(1.5rem, 3vw, 2.25rem);
    border-top: 1px solid rgba(224, 185, 91, 0.34);
    border-bottom: 1px solid rgba(224, 185, 91, 0.22);
    padding: clamp(1.2rem, 3vw, 1.8rem) 0;
}

.miliki-google-reviews__source-label {
    margin: 0 0 0.6rem;
    color: var(--miliki-gold, #e0b95b) !important;
    font-size: 0.76rem;
    font-weight: 900;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.miliki-google-reviews__source-card h3 {
    margin: 0;
    color: var(--miliki-cream, #fff7ed);
    font-family: var(--miliki-serif, Georgia, serif);
    font-size: clamp(1.8rem, 3vw, 3.25rem);
    font-weight: 400;
    line-height: 0.95;
    letter-spacing: -0.045em;
}

.miliki-google-reviews__source-card p:not(.miliki-google-reviews__source-label) {
    max-width: 58ch;
    margin: 0.85rem 0 0;
    color: rgba(255, 246, 239, 0.72);
    line-height: 1.65;
}

.miliki-google-reviews__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.85rem;
    margin-top: clamp(1.4rem, 3vw, 2rem);
}

.miliki-google-reviews__map {
    position: relative;
    min-height: clamp(24rem, 48vw, 40rem);
    overflow: hidden;
    background: var(--miliki-warm-brown, #4b2418);
    box-shadow: 0 24px 80px rgba(0, 0, 0, 0.32);
}

.miliki-google-reviews__map iframe {
    display: block;
    width: 100%;
    height: 100%;
    min-height: inherit;
    border: 0;
    filter: grayscale(0.08) contrast(1.02) saturate(0.92);
}

@media (max-width: 980px) {
    .miliki-google-reviews {
        grid-template-columns: 1fr;
    }

    .miliki-google-reviews__content,
    .miliki-google-reviews__map {
        width: min(100%, 760px);
        justify-self: center;
    }

    .miliki-google-reviews h2 {
        max-width: 12ch;
    }
}

@media (max-width: 640px) {
    .miliki-google-reviews {
        padding-inline: 1rem;
    }

    .miliki-google-reviews__actions {
        align-items: stretch;
        flex-direction: column;
    }

    .miliki-google-reviews__map {
        min-height: 22rem;
    }
}

/* ==========================================================================
   GLOBAL-LAYOUT-GAPS-001 — branded section transitions and breadcrumb bands
   ========================================================================== */

.site-main {
    min-height: 0;
    margin: 0;
    padding: 0;
    background: var(--miliki-cream, #fff7ed);
}

.site-main > *:first-child {
    margin-top: 0;
}

.site-main > *:last-child {
    margin-bottom: 0;
}

.site-main + .site-footer,
.site-footer {
    margin-top: 0;
}

.site-main > section:last-of-type,
.site-main > .miliki-section:last-of-type,
.site-main > .page-section:last-of-type,
.site-main > article:last-child,
.site-main > div:last-child {
    margin-bottom: 0;
}

.site-main > section:last-of-type {
    padding-bottom: clamp(4rem, 7vw, 6rem);
}

.site-main > article:last-child > section:last-of-type,
.site-main > div:last-child > section:last-of-type {
    margin-bottom: 0;
    padding-bottom: clamp(4rem, 7vw, 6rem);
}

.site-main > .breadcrumbs-wrap + section,
.site-main > .breadcrumbs-wrap + .miliki-section,
.site-main > .breadcrumbs-wrap + article,
.site-main > .breadcrumbs-wrap + div {
    margin-top: 0;
}

.page-hero,
.miliki-menu-hero,
.miliki-catering-hero,
.miliki-reviews-hero,
.miliki-visit-hero {
    margin-bottom: 0;
}

.miliki-section--light,
.miliki-section--cream,
.section--miliki-cream {
    background:
        radial-gradient(circle at 12% 18%, rgba(224, 185, 91, 0.12), transparent 34%),
        var(--miliki-cream, #fff7ed);
    color: var(--miliki-black, #090806);
}

.miliki-section--warm {
    background:
        radial-gradient(circle at 12% 18%, rgba(224, 185, 91, 0.12), transparent 34%),
        var(--miliki-warm-cream, #f6eadb);
    color: var(--miliki-black, #090806);
}

.miliki-section--tight {
    padding-block: clamp(2.5rem, 5vw, 4rem);
}

.miliki-section--tight > .miliki-section__inner {
    padding-block: 0;
}

.catering-section--service,
.catering-section--tasting,
.catering-section--contact,
.catering-section--wedding,
.catering-section--events,
.catering-section--catering-menu,
.catering-section--gallery,
.catering-section--dishes,
.catering-section--faq,
.catering-section--scope,
.catering-section--process,
.catering-section--minimum,
.catering-section--event-types {
    background:
        radial-gradient(circle at 12% 18%, rgba(224, 185, 91, 0.12), transparent 34%),
        var(--miliki-warm-cream, #f6eadb);
    color: var(--miliki-black, #090806);
}

.miliki-section--dark,
.miliki-proof-section--dark,
.section--miliki-dark {
    background:
        radial-gradient(circle at 15% 15%, rgba(224, 185, 91, 0.12), transparent 32%),
        linear-gradient(135deg, var(--miliki-black, #090806) 0%, #17110b 100%);
    color: var(--miliki-cream, #fff7ed);
}

.breadcrumbs-wrap {
    margin: 0;
    padding-block: 0.8rem;
    background: var(--miliki-warm-cream, #f6eadb);
    border-top: 1px solid rgba(224, 185, 91, 0.14);
    border-bottom: 1px solid rgba(224, 185, 91, 0.14);
    color: var(--miliki-black, #090806);
}

.breadcrumbs-wrap--cream {
    background: var(--miliki-cream, #fff7ed);
}

.breadcrumbs-wrap--dark {
    background: var(--miliki-black, #090806);
    border-color: rgba(224, 185, 91, 0.24);
    color: var(--miliki-cream, #fff7ed);
}

.breadcrumbs {
    margin: 0;
    padding: 0;
    background: transparent;
    color: inherit;
    font-size: 0.9rem;
}

.breadcrumbs__list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    align-items: center;
    list-style: none;
    margin: 0;
    padding: 0;
}

.breadcrumbs__item,
.breadcrumbs__list li {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    color: rgba(9, 8, 6, 0.68);
    font-size: 0.9rem;
}

.breadcrumbs__item:not(:last-child)::after {
    content: '/';
    margin-left: 0;
    color: currentColor;
    opacity: 0.55;
}

.breadcrumbs__list a {
    color: var(--miliki-gold, #e0b95b);
    font-weight: 800;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.2em;
}

.breadcrumbs__list a:hover,
.breadcrumbs__list a:focus-visible {
    color: var(--miliki-black, #090806);
}

.breadcrumbs-wrap--dark .breadcrumbs__item,
.breadcrumbs-wrap--dark .breadcrumbs__list li {
    color: rgba(255, 246, 239, 0.68);
}

.breadcrumbs-wrap--dark .breadcrumbs__list a {
    color: var(--miliki-gold, #e0b95b);
}

.breadcrumbs-wrap--dark .breadcrumbs__list a:hover,
.breadcrumbs-wrap--dark .breadcrumbs__list a:focus-visible {
    color: var(--miliki-cream, #fff7ed);
}

body:has(.page-hero) .site-main > .breadcrumbs-wrap {
    padding-top: 0.8rem !important;
    margin-top: 0;
    margin-bottom: 0;
}

body.page-slug-nigerian-event-catering-london .breadcrumbs-wrap,
body.page-slug-nigerian-wedding-catering-london .breadcrumbs-wrap {
    margin: 0;
    background: var(--miliki-warm-cream, #f6eadb);
}

body.page-slug-nigerian-event-catering-london .breadcrumbs-wrap + .miliki-section,
body.page-slug-nigerian-event-catering-london .breadcrumbs-wrap + section,
body.page-slug-nigerian-wedding-catering-london .breadcrumbs-wrap + .miliki-section,
body.page-slug-nigerian-wedding-catering-london .breadcrumbs-wrap + section {
    padding-top: clamp(3rem, 6vw, 5rem);
}

.site-footer {
    margin-top: 0;
    border-top: 1px solid rgba(224, 185, 91, 0.24);
    background: var(--miliki-black, #090806);
    color: var(--miliki-cream, #fff7ed);
}

/* =========================================================
   Miliki forms — stable field colours and native select fix
   ========================================================= */

:root {
    --miliki-black: #090806;
    --miliki-cream: #fff6ef;
    --miliki-warm-cream: #f6eadb;
    --miliki-gold: #e0b95b;
    --miliki-earth: #4a2618;
    --miliki-border-gold: rgba(224, 185, 91, 0.42);
    --miliki-field-bg: rgba(255, 246, 239, 0.96);
}

/*
 * Form panels inside dark sections must not inherit white text.
 * This fixes labels/select text becoming invisible on dark section backgrounds.
 */
.miliki-form,
.miliki-form-card,
.catering-form,
.catering-form-card,
.catering-enquiry-form,
.contact-form,
.contact-form-card,
.wpforms-container {
    color: var(--miliki-black);
}

/*
 * Premium form surface.
 * Avoid pure white blocks; use the same warm cream family as the site.
 */
.miliki-form-card,
.catering-form-card,
.catering-enquiry-form,
.contact-form-card,
.wpforms-container form {
    background:
        radial-gradient(circle at 15% 12%, rgba(224, 185, 91, 0.12), transparent 34%),
        rgba(255, 246, 239, 0.92);
    border: 1px solid rgba(224, 185, 91, 0.24);
    color: var(--miliki-black);
}

.catering-enquiry-form,
.contact-form.miliki-form {
    padding: clamp(1.25rem, 3vw, 2.25rem);
}

/*
 * Force readable form typography even when parent section is dark.
 */
.miliki-form h2,
.miliki-form h3,
.miliki-form legend,
.miliki-form label,
.miliki-form .form-label,
.catering-form h2,
.catering-form h3,
.catering-form legend,
.catering-form label,
.catering-form .form-label,
.contact-form h2,
.contact-form h3,
.contact-form legend,
.contact-form label,
.contact-form .form-label,
.wpforms-container label,
.wpforms-container legend {
    color: var(--miliki-black);
    text-shadow: none;
}

/*
 * Field baseline.
 */
.miliki-form input:not([type='checkbox']):not([type='radio']),
.miliki-form textarea,
.miliki-form select,
.catering-form input:not([type='checkbox']):not([type='radio']),
.catering-form textarea,
.catering-form select,
.contact-form input:not([type='checkbox']):not([type='radio']),
.contact-form textarea,
.contact-form select,
.wpforms-container input:not([type='checkbox']):not([type='radio']),
.wpforms-container textarea,
.wpforms-container select {
    width: 100%;
    min-height: 3rem;
    background-color: var(--miliki-field-bg);
    border: 1px solid var(--miliki-border-gold);
    border-radius: 0;
    color: var(--miliki-black);
    font: inherit;
    line-height: 1.4;
    box-shadow: none;
}

/*
 * Native select reset.
 * The repeated arrows were caused by dropdown background images being tiled/overridden.
 */
.miliki-form select,
.catering-form select,
.contact-form select,
.wpforms-container select {
    -webkit-appearance: none;
    appearance: none;

    color: var(--miliki-black);
    background-color: var(--miliki-field-bg);

    background-image:
        linear-gradient(45deg, transparent 50%, var(--miliki-gold) 50%),
        linear-gradient(135deg, var(--miliki-gold) 50%, transparent 50%);
    background-position:
        calc(100% - 1.25rem) 50%,
        calc(100% - 0.9rem) 50%;
    background-size:
        0.38rem 0.38rem,
        0.38rem 0.38rem;
    background-repeat: no-repeat;

    padding-right: 2.75rem;
    cursor: pointer;
}

/*
 * Native dropdown options.
 * Browser support varies, but this fixes Chromium/Firefox visibility.
 */
.miliki-form select option,
.catering-form select option,
.contact-form select option,
.wpforms-container select option {
    color: var(--miliki-black);
    background-color: var(--miliki-cream);
}

/*
 * Placeholder text should be visible but softer.
 */
.miliki-form input::placeholder,
.miliki-form textarea::placeholder,
.catering-form input::placeholder,
.catering-form textarea::placeholder,
.contact-form input::placeholder,
.contact-form textarea::placeholder,
.wpforms-container input::placeholder,
.wpforms-container textarea::placeholder {
    color: rgba(9, 8, 6, 0.55);
}

/*
 * Focus state: premium, visible, accessible.
 */
.miliki-form input:focus,
.miliki-form textarea:focus,
.miliki-form select:focus,
.catering-form input:focus,
.catering-form textarea:focus,
.catering-form select:focus,
.contact-form input:focus,
.contact-form textarea:focus,
.contact-form select:focus,
.wpforms-container input:focus,
.wpforms-container textarea:focus,
.wpforms-container select:focus {
    outline: 2px solid var(--miliki-gold);
    outline-offset: 3px;
    border-color: var(--miliki-gold);
}

/*
 * Checkbox/radio text must remain readable.
 */
.miliki-form input[type='checkbox'],
.miliki-form input[type='radio'],
.catering-form input[type='checkbox'],
.catering-form input[type='radio'],
.contact-form input[type='checkbox'],
.contact-form input[type='radio'],
.wpforms-container input[type='checkbox'],
.wpforms-container input[type='radio'] {
    accent-color: var(--miliki-gold);
}



/* Match/beat legacy dark-section form specificity so form cards own their colours. */
.miliki-section--dark .miliki-form,
.miliki-section--dark .catering-form,
.miliki-section--dark .contact-form,
.miliki-section--dark .wpforms-container {
    color: var(--miliki-black);
}

.miliki-section--dark .miliki-form h2,
.miliki-section--dark .miliki-form h3,
.miliki-section--dark .miliki-form legend,
.miliki-section--dark .miliki-form label,
.miliki-section--dark .catering-form .catering-form__group-legend,
.miliki-section--dark .catering-form .catering-form__label,
.miliki-section--dark .catering-form .catering-form__label-required,
.miliki-section--dark .catering-form .catering-form__label-optional,
.miliki-section--dark .contact-form .contact-form__label,
.miliki-section--dark .contact-form .contact-form__label-required,
.miliki-section--dark .contact-form .contact-form__label-optional,
.miliki-section--dark .wpforms-container label,
.miliki-section--dark .wpforms-container legend {
    color: var(--miliki-black);
    text-shadow: none;
}

.miliki-section--dark .miliki-form input:not([type='checkbox']):not([type='radio']),
.miliki-section--dark .miliki-form textarea,
.miliki-section--dark .miliki-form select,
.miliki-section--dark .catering-form input:not([type='checkbox']):not([type='radio']),
.miliki-section--dark .catering-form textarea,
.miliki-section--dark .catering-form select,
.miliki-section--dark .contact-form input:not([type='checkbox']):not([type='radio']),
.miliki-section--dark .contact-form textarea,
.miliki-section--dark .contact-form select,
.miliki-section--dark .wpforms-container input:not([type='checkbox']):not([type='radio']),
.miliki-section--dark .wpforms-container textarea,
.miliki-section--dark .wpforms-container select {
    background-color: var(--miliki-field-bg);
    border-color: var(--miliki-border-gold);
    color: var(--miliki-black);
}

.miliki-section--dark .miliki-form select,
.miliki-section--dark .catering-form select,
.miliki-section--dark .contact-form select,
.miliki-section--dark .wpforms-container select {
    background-image:
        linear-gradient(45deg, transparent 50%, var(--miliki-gold) 50%),
        linear-gradient(135deg, var(--miliki-gold) 50%, transparent 50%);
    background-position:
        calc(100% - 1.25rem) 50%,
        calc(100% - 0.9rem) 50%;
    background-size:
        0.38rem 0.38rem,
        0.38rem 0.38rem;
    background-repeat: no-repeat;
}

.catering-gallery-enquiry .support-card,
.catering-gallery-enquiry .useful-links-card,
.catering-gallery-enquiry .miliki-sidebar-card {
    background: rgba(246, 234, 219, 0.92);
    border: 1px solid rgba(224, 185, 91, 0.22);
    color: var(--miliki-black);
}

.catering-gallery-enquiry .support-card h2,
.catering-gallery-enquiry .support-card h3,
.catering-gallery-enquiry .useful-links-card h2,
.catering-gallery-enquiry .useful-links-card h3,
.catering-gallery-enquiry .miliki-sidebar-card h2,
.catering-gallery-enquiry .miliki-sidebar-card h3 {
    color: var(--miliki-black);
}

.catering-gallery-enquiry .support-card a,
.catering-gallery-enquiry .useful-links-card a,
.catering-gallery-enquiry .miliki-sidebar-card a {
    color: #8a6216;
    text-decoration-color: rgba(224, 185, 91, 0.65);
}

.catering-gallery-enquiry .support-card a:hover,
.catering-gallery-enquiry .support-card a:focus-visible,
.catering-gallery-enquiry .useful-links-card a:hover,
.catering-gallery-enquiry .useful-links-card a:focus-visible,
.catering-gallery-enquiry .miliki-sidebar-card a:hover,
.catering-gallery-enquiry .miliki-sidebar-card a:focus-visible {
    color: var(--miliki-black);
    text-decoration: underline;
    text-underline-offset: 0.2em;
}

.catering-gallery-enquiry .support-card .button,
.catering-gallery-enquiry .useful-links-card .button,
.catering-gallery-enquiry .button,
.catering-gallery-enquiry .btn,
.catering-gallery-enquiry .miliki-button {
    color: var(--miliki-black);
}

.catering-gallery-enquiry .button--outline,
.catering-gallery-enquiry .btn--outline {
    border-color: rgba(9, 8, 6, 0.28);
    color: var(--miliki-black);
    background: transparent;
}

.catering-gallery-enquiry .button--outline:hover,
.catering-gallery-enquiry .button--outline:focus-visible,
.catering-gallery-enquiry .btn--outline:hover,
.catering-gallery-enquiry .btn--outline:focus-visible {
    background: var(--miliki-black);
    color: var(--miliki-cream);
}

.catering-gallery-enquiry .miliki-sidebar-links a {
    border-bottom-color: rgba(9, 8, 6, 0.12);
}

.catering-gallery-enquiry .miliki-sidebar-card .miliki-button:hover,
.catering-gallery-enquiry .miliki-sidebar-card .miliki-button:focus-visible {
    background: var(--miliki-black);
    color: var(--miliki-cream);
}

/* ============================================================================
   MENU-MOTION-001 — progressive menu reveal motion safeguards
   Content remains visible by default; JS only adds will-change after GSAP and
   ScrollTrigger are available. Reduced-motion users receive no transforms.
   ============================================================================ */

.js .miliki-motion-ready [data-menu-section] [data-reveal-item],
.js .miliki-motion-ready [data-menu-card] {
    will-change: transform, opacity;
}

@media (prefers-reduced-motion: reduce) {
    [data-menu-section],
    [data-menu-card],
    [data-reveal-item] {
        transition: none !important;
        transform: none !important;
        opacity: 1 !important;
    }
}

/* ============================================================================
   MENU-PREMIUM-PASS-001 — premium menu page visual pass
   Scoped to the menu experience so legacy global colours cannot leak into /menu/.
   ============================================================================ */

:root {
    --miliki-black: #0b0906;
    --miliki-ink: #1f1712;
    --miliki-cream: #fff6ef;
    --miliki-warm-cream: #f3e6d7;
    --miliki-gold: #e0b95b;
    --miliki-deep-gold: #9a6f1f;
}

body:has(.miliki-menu-page),
body:has(.miliki-menu-page) .site-main,
.miliki-menu-page,
.menu-page {
    background:
        radial-gradient(circle at 20% 10%, rgb(224 185 91 / 0.16), transparent 32rem),
        linear-gradient(180deg, var(--miliki-black) 0%, #120d08 28rem, var(--miliki-warm-cream) 28rem);
    color: var(--miliki-ink);
}

.miliki-menu-page {
    overflow: clip;
}

.miliki-menu-page .miliki-menu-hero {
    background: var(--miliki-black);
    color: var(--miliki-cream);
}

.miliki-menu-page .miliki-menu-hero__overlay {
    background:
        radial-gradient(circle at 18% 18%, rgb(224 185 91 / 0.2), transparent 28rem),
        linear-gradient(90deg, rgb(11 9 6 / 0.88) 0%, rgb(11 9 6 / 0.62) 48%, rgb(11 9 6 / 0.34) 100%),
        linear-gradient(0deg, rgb(11 9 6 / 0.82) 0%, rgb(11 9 6 / 0.26) 62%, rgb(11 9 6 / 0.08) 100%);
}

.miliki-menu-page .miliki-menu-hero__eyebrow,
.miliki-menu-page .menu-hub-section__eyebrow,
.miliki-menu-page .menu-section__eyebrow,
.miliki-menu-page .menu-section-page__eyebrow {
    color: var(--miliki-deep-gold);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.miliki-menu-page .miliki-menu-hero__eyebrow,
.miliki-menu-page .menu-hub-final-cta .menu-hub-section__eyebrow {
    color: var(--miliki-gold);
}

.miliki-menu-page .miliki-menu-hero__title,
.miliki-menu-page .menu-section__title,
.miliki-menu-page .menu-hub-section h2,
.miliki-menu-page .menu-preview__header h3,
.miliki-menu-page .menu-hub-final-cta h2 {
    font-family: var(--miliki-display-font, var(--font-display, Georgia, serif));
    font-size: clamp(2.25rem, 6vw, 5.5rem);
    font-weight: 400;
    line-height: 0.92;
    letter-spacing: -0.055em;
    color: var(--miliki-ink);
    text-wrap: balance;
}

.miliki-menu-page .miliki-menu-hero__title,
.miliki-menu-page .menu-hub-final-cta h2 {
    color: var(--miliki-cream);
}

.miliki-menu-page .miliki-menu-hero__title {
    font-size: clamp(4rem, 10vw, 9.5rem);
    line-height: 0.84;
    letter-spacing: -0.075em;
}

.miliki-menu-page .menu-section__description,
.miliki-menu-page .menu-hub-section__header p:not(.menu-hub-section__eyebrow),
.miliki-menu-page .menu-preview__header p,
.miliki-menu-page .miliki-menu-hero__intro {
    max-width: 46rem;
    color: color-mix(in srgb, var(--miliki-ink) 78%, var(--miliki-cream));
    font-size: clamp(1rem, 1.4vw, 1.15rem);
    line-height: 1.7;
}

.miliki-menu-page .miliki-menu-hero__intro,
.miliki-menu-page .menu-hub-final-cta p {
    color: color-mix(in srgb, var(--miliki-cream) 84%, var(--miliki-gold));
}

.miliki-menu-page > .miliki-section,
.miliki-menu-page .menu-hub-section,
.miliki-menu-page .menu-section {
    margin-block: clamp(2rem, 5vw, 5rem);
    background: transparent;
}

.miliki-menu-page > .miliki-section:first-of-type {
    margin-top: clamp(3rem, 7vw, 6rem);
}

.miliki-menu-page .menu-hub-section__header,
.miliki-menu-page .menu-section__header,
.miliki-menu-page .menu-preview__header {
    gap: clamp(1rem, 3vw, 2.5rem);
}

.miliki-menu-page .menu-preview {
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--miliki-cream) 90%, transparent), color-mix(in srgb, var(--miliki-warm-cream) 92%, transparent)),
        var(--miliki-cream);
    border: 1px solid color-mix(in srgb, var(--miliki-gold) 24%, transparent);
    box-shadow: 0 28px 80px rgb(11 9 6 / 0.08);
}

.miliki-menu-page .menu-hub-chooser__item,
.miliki-menu-page .menu-hub-combo,
.miliki-menu-page .menu-hub-step,
.miliki-menu-page .menu-hub-support-card,
.miliki-menu-page .menu-section-nav__link,
.miliki-menu-page .menu-section-related__link,
.miliki-menu-page .menu-hub-fallback,
.miliki-menu-page .menu-preview__empty {
    border: 1px solid color-mix(in srgb, var(--miliki-gold) 22%, transparent);
    border-radius: 0;
    background: color-mix(in srgb, var(--miliki-cream) 88%, transparent);
    color: var(--miliki-ink);
    box-shadow: 0 18px 50px rgb(11 9 6 / 0.07);
}

.miliki-menu-page .menu-hub-chooser__item,
.miliki-menu-page .menu-hub-combo {
    border-top: 1px solid color-mix(in srgb, var(--miliki-gold) 32%, transparent);
    border-left: 1px solid color-mix(in srgb, var(--miliki-gold) 32%, transparent);
}

.miliki-menu-page .menu-hub-step {
    padding: clamp(1rem, 2.5vw, 1.5rem);
}

.miliki-menu-page .menu-hub-step__number {
    background: var(--miliki-gold);
    color: var(--miliki-black);
    box-shadow: 0 10px 24px rgb(154 111 31 / 0.24);
}

.miliki-menu-page .menu-hub-chooser__scenario,
.miliki-menu-page .menu-hub-step__title,
.miliki-menu-page .menu-hub-combo__title,
.miliki-menu-page .dish-card__title a {
    color: var(--miliki-ink);
}

.miliki-menu-page .menu-hub-chooser__item > p,
.miliki-menu-page .menu-hub-step__body > p,
.miliki-menu-page .menu-hub-combo__body,
.miliki-menu-page .dish-card__excerpt,
.miliki-menu-page .dish-card__meta,
.miliki-menu-page .menu-card__description {
    color: color-mix(in srgb, var(--miliki-ink) 76%, var(--miliki-cream));
}

.miliki-menu-page .menu-section-nav__list,
.miliki-menu-page .menu-section-related__list {
    gap: clamp(0.75rem, 1.5vw, 1rem);
    border: 0;
    background: transparent;
}

.miliki-menu-page .menu-section-nav__link,
.miliki-menu-page .menu-section-related__link {
    min-width: 0;
    text-decoration: none;
    transition: transform 220ms ease, border-color 220ms ease, box-shadow 220ms ease, background-color 220ms ease;
}

.miliki-menu-page .menu-section-nav__link:hover,
.miliki-menu-page .menu-section-nav__link:focus-visible,
.miliki-menu-page .menu-section-related__link:hover,
.miliki-menu-page .menu-section-related__link:focus-visible {
    transform: translateY(-3px);
    border-color: color-mix(in srgb, var(--miliki-gold) 46%, transparent);
    background: color-mix(in srgb, var(--miliki-cream) 94%, var(--miliki-gold));
    box-shadow: 0 24px 60px rgb(11 9 6 / 0.1);
}

.miliki-menu-page .menu-section-nav__count,
.miliki-menu-page .menu-section-related__link span:last-child {
    color: color-mix(in srgb, var(--miliki-ink) 66%, var(--miliki-cream));
}

.miliki-menu-page .menu-card,
.miliki-menu-page .miliki-premium-dish-grid .dish-card {
    border: 1px solid color-mix(in srgb, var(--miliki-gold) 18%, transparent);
    border-radius: 0;
    background: color-mix(in srgb, var(--miliki-cream) 92%, transparent);
    box-shadow: 0 22px 50px rgb(11 9 6 / 0.08);
    transition:
        transform 240ms ease,
        box-shadow 240ms ease,
        border-color 240ms ease,
        background-color 240ms ease;
}

.miliki-menu-page .menu-card:hover,
.miliki-menu-page .menu-card:focus-within,
.miliki-menu-page .miliki-premium-dish-grid .dish-card:hover,
.miliki-menu-page .miliki-premium-dish-grid .dish-card:focus-within {
    transform: translateY(-4px);
    border-color: color-mix(in srgb, var(--miliki-gold) 38%, transparent);
    background: var(--miliki-cream);
    box-shadow: 0 34px 80px rgb(11 9 6 / 0.14);
}

.miliki-menu-page .menu-card__image,
.miliki-menu-page .dish-card__media {
    background: color-mix(in srgb, var(--miliki-black) 8%, transparent);
}

.miliki-menu-page .menu-card img,
.miliki-menu-page .menu-section img,
.miliki-menu-page .menu-preview img,
.miliki-menu-page .menu-section-page img,
.miliki-menu-page .miliki-premium-dish-grid .dish-card img,
.miliki-menu-page .dish-card__image {
    border: 0;
    box-shadow: none;
}

.miliki-menu-page .menu-card__link,
.miliki-menu-page .dish-card__cta,
.miliki-menu-page .menu-preview__section-link,
.miliki-menu-page .menu-hub-chooser__link,
.miliki-menu-page .menu-hub-combo__dish-link,
.miliki-menu-page .menu-hub-support-card a:not(.btn):not(.button) {
    color: var(--miliki-deep-gold);
    font-weight: 800;
    text-decoration-color: color-mix(in srgb, var(--miliki-gold) 46%, transparent);
    text-decoration-thickness: 0.08em;
    text-underline-offset: 0.22em;
}

.miliki-menu-page .menu-hub-combo__dish-link {
    border-color: color-mix(in srgb, var(--miliki-gold) 30%, transparent);
    background: color-mix(in srgb, var(--miliki-cream) 92%, transparent);
    text-decoration: none;
}

.miliki-menu-page .menu-card__link:hover,
.miliki-menu-page .menu-card__link:focus-visible,
.miliki-menu-page .dish-card__cta:hover,
.miliki-menu-page .dish-card__cta:focus-visible,
.miliki-menu-page .menu-preview__section-link:hover,
.miliki-menu-page .menu-preview__section-link:focus-visible,
.miliki-menu-page .menu-hub-chooser__link:hover,
.miliki-menu-page .menu-hub-chooser__link:focus-visible,
.miliki-menu-page .menu-hub-combo__dish-link:hover,
.miliki-menu-page .menu-hub-combo__dish-link:focus-visible,
.miliki-menu-page .menu-hub-support-card a:not(.btn):not(.button):hover,
.miliki-menu-page .menu-hub-support-card a:not(.btn):not(.button):focus-visible {
    color: var(--miliki-black);
    text-decoration-color: var(--miliki-gold);
}

.miliki-menu-page .dish-card__price {
    color: var(--miliki-deep-gold);
}

.miliki-menu-page .btn,
.miliki-menu-page .button,
.miliki-menu-page .btn--miliki-gold,
.miliki-menu-page .menu-hub-support-card .button {
    border-color: var(--miliki-gold) !important;
    background: var(--miliki-gold) !important;
    color: var(--miliki-black) !important;
}

.miliki-menu-page .btn:hover,
.miliki-menu-page .btn:focus-visible,
.miliki-menu-page .button:hover,
.miliki-menu-page .button:focus-visible,
.miliki-menu-page .btn--miliki-gold:hover,
.miliki-menu-page .btn--miliki-gold:focus-visible,
.miliki-menu-page .menu-hub-support-card .button:hover,
.miliki-menu-page .menu-hub-support-card .button:focus-visible {
    border-color: var(--miliki-deep-gold) !important;
    background: var(--miliki-deep-gold) !important;
    color: var(--miliki-cream) !important;
}

.miliki-menu-page .btn--miliki-outline-light {
    border-color: color-mix(in srgb, var(--miliki-cream) 52%, transparent) !important;
    background: transparent !important;
    color: var(--miliki-cream) !important;
}

.miliki-menu-page .btn--miliki-outline-light:hover,
.miliki-menu-page .btn--miliki-outline-light:focus-visible {
    border-color: var(--miliki-gold) !important;
    background: var(--miliki-gold) !important;
    color: var(--miliki-black) !important;
}

.miliki-menu-page .menu-hub-support-card--catering,
.miliki-menu-page .menu-hub-final-cta,
.miliki-menu-page .menu-hub-final-cta__inner {
    background:
        radial-gradient(circle at 18% 18%, rgb(224 185 91 / 0.14), transparent 26rem),
        var(--miliki-black);
    color: var(--miliki-cream);
    border-color: color-mix(in srgb, var(--miliki-gold) 28%, transparent);
}

.miliki-menu-page .menu-hub-support-card--catering h2,
.miliki-menu-page .menu-hub-support-card--catering h3,
.miliki-menu-page .menu-hub-support-card--catering p,
.miliki-menu-page .menu-hub-final-cta h2,
.miliki-menu-page .menu-hub-final-cta p {
    color: inherit;
}

@media (max-width: 56rem) {
    .miliki-menu-page .miliki-menu-hero__title,
    .miliki-menu-page .menu-section__title,
    .miliki-menu-page .menu-hub-section h2,
    .miliki-menu-page .menu-preview__header h3 {
        font-size: clamp(2.4rem, 13vw, 4.25rem);
    }
}

@media (prefers-reduced-motion: reduce) {
    .miliki-menu-page .menu-card,
    .miliki-menu-page .dish-card,
    .miliki-menu-page .menu-section-nav__link,
    .miliki-menu-page .menu-section-related__link {
        transition: none !important;
        transform: none !important;
    }
}


/* REVIEWS-HERO-RAIL-002 — reference-style reviews hero rail ---------------- */
body.page-slug-reviews .site-main,
body:has(.reviews-showcase-hero) .site-main {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: 0 !important;
    background: #080604;
}

.miliki-reviews-page {
    --miliki-black: #080604;
    --miliki-cream: #f8efe4;
    --miliki-gold: #e2bd62;
    --miliki-warm-brown: #4b2418;
    --miliki-brown: #4b2418;
}

.reviews-showcase-hero {
    position: relative;
    min-height: 100vh;
    min-height: 100svh;
    overflow: hidden;
    overflow: clip;
    isolation: isolate;
    background:
        radial-gradient(circle at 50% 18%, rgba(226, 189, 98, 0.12), transparent 34%),
        radial-gradient(circle at 7% 86%, rgba(75, 36, 24, 0.4), transparent 33%),
        #080604;
    color: #fff8ee;
}

.reviews-showcase-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background:
        linear-gradient(180deg, rgba(8, 6, 4, 0.05) 0%, rgba(8, 6, 4, 0.72) 100%),
        repeating-linear-gradient(90deg, rgba(248, 239, 228, 0.032) 0 1px, transparent 1px 12.5vw);
}

.reviews-showcase-hero__content {
    position: relative;
    z-index: 2;
    box-sizing: border-box;
    max-width: 62rem;
    margin-inline: auto;
    min-height: calc(100vh - 12rem);
    min-height: calc(100svh - 12rem);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: clamp(7rem, 10vw, 10rem) 1.25rem clamp(9rem, 16vh, 13rem);
}

.reviews-showcase-hero__eyebrow {
    margin: 0 0 clamp(0.75rem, 1.4vw, 1.1rem);
    color: #e2bd62;
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.22em;
    line-height: 1.2;
    text-transform: uppercase;
}

.reviews-showcase-hero__title {
    max-width: 11ch;
    margin: 0;
    color: #fff8ee;
    font-family: var(--font-display, var(--miliki-serif, Georgia, serif));
    font-size: clamp(4.5rem, 8.2vw, 9rem);
    font-weight: 400;
    line-height: 0.86;
    letter-spacing: -0.055em;
    text-wrap: balance;
}

.reviews-showcase-hero__intro {
    max-width: 48rem;
    margin: clamp(1rem, 1.8vw, 1.35rem) auto 0;
    color: rgba(255, 248, 238, 0.78);
    font-size: clamp(0.98rem, 1.25vw, 1.16rem);
    line-height: 1.65;
    text-wrap: pretty;
}

.reviews-showcase-hero__rail {
    position: absolute;
    left: 0;
    right: 0;
    bottom: clamp(1rem, 3vh, 2rem);
    z-index: 3;
    display: flex;
    gap: clamp(0.5rem, 0.9vw, 0.9rem);
    align-items: end;
    padding-inline: clamp(0.75rem, 2vw, 2rem);
    overflow: hidden;
    pointer-events: auto;
    will-change: transform, opacity;
}

.reviews-showcase-card {
    appearance: none;
    flex: 0 0 clamp(8rem, 10vw, 12rem);
    aspect-ratio: 3 / 4;
    position: relative;
    display: block;
    overflow: hidden;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: #1b1510;
    color: inherit;
    cursor: pointer;
    transform-origin: 50% 100%;
}

.reviews-showcase-card video {
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    filter: saturate(0.92) contrast(1.02);
    transform: scale(1.01);
    transition: transform 420ms ease, filter 420ms ease;
}

.reviews-showcase-card:hover video,
.reviews-showcase-card:focus-visible video,
.reviews-showcase-card.is-playing video {
    filter: saturate(1) contrast(1.05);
    transform: scale(1.045);
}

.reviews-showcase-card:focus-visible {
    outline: 2px solid #e2bd62;
    outline-offset: 0.25rem;
}

.reviews-showcase-card__label {
    position: absolute;
    inset-inline: 0;
    bottom: 0;
    z-index: 2;
    display: flex;
    align-items: end;
    min-height: 44%;
    padding: 0.7rem;
    color: #fff8ee;
    background: linear-gradient(180deg, transparent, rgba(8, 6, 4, 0.72));
    font-size: 0.68rem;
    font-weight: 900;
    letter-spacing: 0.12em;
    line-height: 1.2;
    text-align: left;
    text-transform: uppercase;
    opacity: 0;
    transform: translateY(0.45rem);
    transition: opacity 220ms ease, transform 220ms ease;
    pointer-events: none;
}

.reviews-showcase-card:hover .reviews-showcase-card__label,
.reviews-showcase-card:focus-visible .reviews-showcase-card__label,
.reviews-showcase-card.is-playing .reviews-showcase-card__label {
    opacity: 1;
    transform: translateY(0);
}

.reviews-video-gallery {
    position: relative;
    z-index: 1;
    background:
        radial-gradient(circle at 14% 0%, rgba(226, 189, 98, 0.15), transparent 30%),
        linear-gradient(180deg, #f8efe4 0%, #f5eadc 100%);
    color: #080604;
    padding: clamp(4.75rem, 9vw, 8.5rem) clamp(1.15rem, 4vw, 4rem);
}

.reviews-video-gallery__header {
    width: min(100%, 58rem);
    margin: 0 auto clamp(2rem, 5vw, 4rem);
    text-align: center;
}

.reviews-video-gallery__header h2 {
    max-width: 13ch;
    margin: 0 auto;
    color: #080604;
    font-family: var(--font-display, var(--miliki-serif, Georgia, serif));
    font-size: clamp(2.7rem, 6.8vw, 7rem);
    font-weight: 400;
    line-height: 0.9;
    letter-spacing: -0.058em;
    text-wrap: balance;
}

.reviews-video-gallery__header > p:not(.reviews-showcase-hero__eyebrow) {
    max-width: 66ch;
    margin: 1.15rem auto 0;
    color: rgba(8, 6, 4, 0.72);
    font-size: clamp(1rem, 1.25vw, 1.16rem);
    line-height: 1.7;
}

.reviews-video-gallery__inner {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(1rem, 2vw, 1.6rem);
    width: min(100%, 1240px);
    margin-inline: auto;
}

.review-video-card {
    position: relative;
    min-width: 0;
    min-height: clamp(22rem, 42vw, 36rem);
    overflow: hidden;
    background: #080604;
    color: #f8efe4;
    box-shadow: 0 24px 70px rgba(8, 6, 4, 0.14);
}

.review-video-card:nth-child(6n + 2),
.review-video-card:nth-child(6n + 5) {
    transform: translateY(clamp(1rem, 3vw, 2.25rem));
}

.review-video-card__media {
    position: absolute;
    inset: 0;
    overflow: hidden;
    background: #080604;
}

.review-video-card__video {
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    border: 0;
    object-fit: cover;
    background: #080604;
    filter: saturate(0.96) contrast(1.03);
}

.review-video-card__meta {
    position: absolute;
    inset-inline: 0;
    bottom: 0;
    z-index: 2;
    padding: clamp(1rem, 2vw, 1.45rem);
    color: #f8efe4;
    background: linear-gradient(to top, rgba(8, 6, 4, 0.82), transparent);
    opacity: 0.94;
    transform: translateY(34%);
    transition: transform 280ms ease, opacity 280ms ease;
    pointer-events: none;
}

.review-video-card:hover .review-video-card__meta,
.review-video-card:focus-within .review-video-card__meta,
.review-video-card.is-playing .review-video-card__meta {
    opacity: 1;
    transform: translateY(0);
}

.review-video-card__meta p {
    margin: 0 0 0.4rem;
    color: #e2bd62;
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.14em;
    line-height: 1.2;
    text-transform: uppercase;
}

.review-video-card__meta h2 {
    margin: 0;
    color: #f8efe4;
    font-family: var(--font-display, var(--miliki-serif, Georgia, serif));
    font-size: clamp(1.55rem, 3vw, 3rem);
    font-weight: 400;
    line-height: 0.95;
    letter-spacing: -0.045em;
}

.review-video-card__video:focus-visible {
    outline: 3px solid #e2bd62;
    outline-offset: -0.45rem;
}

@media (max-height: 820px) and (min-width: 1024px) {
    .reviews-showcase-hero__content {
        min-height: calc(100vh - 10rem);
        min-height: calc(100svh - 10rem);
        padding-top: clamp(5.5rem, 8vw, 7rem);
        padding-bottom: clamp(8.25rem, 14vh, 11rem);
    }

    .reviews-showcase-hero__title {
        font-size: clamp(4.2rem, 7.6vw, 7rem);
    }

    .reviews-showcase-hero__intro {
        margin-top: 0.95rem;
        line-height: 1.55;
    }

    .reviews-showcase-card {
        flex-basis: clamp(7.5rem, 9vw, 10.5rem);
    }
}

@media (max-width: 980px) {
    .reviews-video-gallery__inner {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .reviews-showcase-hero__content {
        min-height: calc(100vh - 8rem);
        min-height: calc(100svh - 8rem);
        padding-top: 7rem;
        padding-bottom: 9rem;
    }

    .reviews-showcase-hero__title {
        max-width: 12ch;
        font-size: clamp(2.4rem, 11vw, 4.2rem);
        line-height: 0.94;
    }

    .reviews-showcase-hero__intro {
        max-width: 28ch;
        font-size: 0.95rem;
        line-height: 1.55;
    }

    .reviews-showcase-hero__rail {
        bottom: 1rem;
        gap: 0.5rem;
        padding-inline: 0.75rem;
        overflow-x: hidden;
    }

    .reviews-showcase-card {
        flex-basis: clamp(5.5rem, 22vw, 7rem);
        aspect-ratio: 3 / 4;
    }

    .reviews-showcase-card__label {
        display: none;
    }

    .reviews-video-gallery {
        padding-inline: 1rem;
    }

    .reviews-video-gallery__header h2 {
        max-width: 12ch;
        font-size: clamp(2.4rem, 12vw, 4.2rem);
    }

    .reviews-video-gallery__inner {
        grid-template-columns: 1fr;
    }

    .review-video-card {
        min-height: 70svh;
        transform: none !important;
    }

    .review-video-card__meta {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (max-width: 390px) {
    .reviews-showcase-hero__content {
        padding-inline: 1rem;
        padding-top: 6.5rem;
        padding-bottom: 8.5rem;
    }

    .reviews-showcase-card {
        flex-basis: clamp(5.15rem, 21vw, 6rem);
    }
}

@media (prefers-reduced-motion: reduce) {
    .reviews-showcase-card video,
    .reviews-showcase-card__label,
    .review-video-card__meta {
        transition: none;
    }

    .review-video-card:nth-child(n) {
        transform: none;
    }
}

/* ==========================================================================
   HEADER-OVERLAY-FLOW-006 — fixed overlay header and first-hero flow
   ========================================================================== */

:root {
    --miliki-admin-bar-height: 0px;
    --miliki-header-safe-top: 0px;
}

body.admin-bar {
    --miliki-admin-bar-height: 32px;
}

@media (max-width: 782px) {
    body.admin-bar {
        --miliki-admin-bar-height: 46px;
    }
}

.has-overlay-header .site-header--overlay-nav,
.site-header--overlay-nav[data-overlay-header] {
    position: fixed;
    top: var(--miliki-admin-bar-height, 0px);
    left: 0;
    right: 0;
    z-index: 9997;
    width: 100%;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    background-color: transparent !important;
    border: 0 !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
    pointer-events: none;
}

.has-overlay-header .site-header--overlay-nav::before,
.has-overlay-header .site-header--overlay-nav::after,
.site-header--overlay-nav[data-overlay-header]::before,
.site-header--overlay-nav[data-overlay-header]::after {
    content: none !important;
    display: none !important;
}

.has-overlay-header .site-header--overlay-nav .site-header__inner,
.site-header--overlay-nav[data-overlay-header] .site-header__inner {
    box-sizing: border-box;
    width: min(100% - clamp(2rem, 8vw, 9rem), 72rem);
    min-height: 0 !important;
    margin-inline: auto;
    padding-block: clamp(0.85rem, 1.4vw, 1.25rem);
    padding-inline: 0;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1.5rem;
    background: transparent !important;
    background-color: transparent !important;
    border: 0 !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
    pointer-events: auto;
}

.has-overlay-header .site-header--overlay-nav,
.has-overlay-header .site-header--overlay-nav *,
.has-overlay-header .site-header--overlay-nav .site-header__inner,
.has-overlay-header .site-header--overlay-nav .site-header__container,
.has-overlay-header .site-header--overlay-nav .site-header__nav-row,
.has-overlay-header .site-header--overlay-nav .site-header__bar,
.has-overlay-header .site-header--overlay-nav .site-header__content,
.has-overlay-header .site-header--overlay-nav .lsp-container,
.has-overlay-header .site-header--overlay-nav .miliki-container {
    background-color: transparent !important;
}

.has-overlay-header .site-main {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

.has-overlay-header .site-main > .page-hero:first-child,
.has-overlay-header .site-main > .reviews-hero:first-child,
.has-overlay-header .site-main > .reviews-showcase-hero:first-child,
.has-overlay-header .site-main > .miliki-hero:first-child,
.has-overlay-header .site-main > section:first-child,
.has-overlay-header .site-main > .miliki-reviews-page:first-child,
.has-overlay-header .site-main > .miliki-reviews-page:first-child > .reviews-hero:first-child,
.has-overlay-header .site-main > .miliki-reviews-page:first-child > .reviews-showcase-hero:first-child {
    margin-top: 0 !important;
}

.has-overlay-header .site-main > .breadcrumbs:first-child,
.has-overlay-header .site-main > nav.breadcrumbs:first-child,
.has-overlay-header .site-main > .breadcrumbs-wrap:first-child {
    display: none !important;
}

.has-overlay-header .page-hero,
.has-overlay-header .reviews-hero,
.has-overlay-header .reviews-showcase-hero,
.has-overlay-header .miliki-hero,
.has-overlay-header .miliki-reviews-hero {
    min-height: calc(100svh - var(--miliki-admin-bar-height, 0px));
}

.has-overlay-header .reviews-hero,
.has-overlay-header .reviews-showcase-hero {
    position: relative;
    overflow: hidden;
    overflow: clip;
    background-color: var(--miliki-black, #080604);
    color: var(--miliki-cream, #fff7ed);
}

.has-overlay-header .reviews-showcase-hero__content {
    min-height: calc(100svh - var(--miliki-admin-bar-height, 0px));
}

body.has-desktop-menu-open .site-header--overlay-nav[data-overlay-header] {
    z-index: 10001;
}

.has-overlay-header .site-header--overlay-nav .site-header__menu-icon span,
.has-overlay-header .site-header--overlay-nav .site-header__menu-lines,
.has-overlay-header .site-header--overlay-nav .site-header__menu-lines::before,
.has-overlay-header .site-header--overlay-nav .site-header__menu-lines::after {
    background: currentColor !important;
    background-color: currentColor !important;
}

/* --------------------------------------------------------------------------
   REVIEWS-HERO-LAYOUT-007 — reviews overlay header and hero viewport fit
   The overlay header must float above hero sections and must not reserve page height.
-------------------------------------------------------------------------- */

:root {
    --miliki-admin-bar-height: 0px;
}

body.admin-bar {
    --miliki-admin-bar-height: 32px;
}

@media (max-width: 782px) {
    body.admin-bar {
        --miliki-admin-bar-height: 46px;
    }
}

body.page-slug-reviews {
    --miliki-black: #050402;
    --miliki-cream: #fff6ef;
    --miliki-gold: #e4bd5f;
    background: #050402 !important;
}

html:has(body.page-slug-reviews) {
    background: #050402 !important;
}

body.has-overlay-header .site-header.site-header--overlay-nav {
    position: fixed !important;
    top: var(--miliki-admin-bar-height) !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    z-index: 9997 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    pointer-events: none;
}

body.has-overlay-header .site-header.site-header--overlay-nav .site-header__inner,
body.page-slug-reviews .site-header.site-header--overlay-nav .site-header__inner {
    width: min(100% - clamp(2rem, 8vw, 9rem), 72rem);
    max-width: 72rem;
    min-height: 0 !important;
    margin: 0 auto !important;
    padding: clamp(0.85rem, 1.5vw, 1.35rem) 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1.5rem;
    pointer-events: auto;
}

body.has-overlay-header .site-header.site-header--overlay-nav *,
body.page-slug-reviews .site-header.site-header--overlay-nav * {
    background-color: transparent !important;
}

body.has-overlay-header .site-main,
body.page-slug-reviews .site-main {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

body.page-slug-reviews .site-main > .breadcrumbs:first-child,
body.page-slug-reviews .site-main > nav.breadcrumbs:first-child,
body.page-slug-reviews .site-main > .breadcrumbs-wrap:first-child {
    display: none !important;
}

/* --------------------------------------------------------------------------
   Reviews hero viewport fit
-------------------------------------------------------------------------- */

body.page-slug-reviews .reviews-hero,
body.page-slug-reviews .reviews-showcase-hero {
    position: relative;
    min-height: calc(100svh - var(--miliki-admin-bar-height));
    padding-top: clamp(5.5rem, 11vh, 7rem);
    padding-bottom: clamp(10rem, 20vh, 15rem);
    overflow: hidden;
    background: #050402;
    color: #fff6ef;
}

body.page-slug-reviews .reviews-hero__inner,
body.page-slug-reviews .reviews-showcase-hero__content {
    position: relative;
    z-index: 2;
    width: min(100% - clamp(2rem, 8vw, 9rem), 72rem);
    margin-inline: auto;
    padding: 0 !important;
    display: grid;
    place-items: center;
    align-content: center;
    text-align: center;
    min-height: calc(100svh - var(--miliki-admin-bar-height) - clamp(15rem, 28vh, 20rem));
}

body.page-slug-reviews .reviews-hero h1,
body.page-slug-reviews .reviews-hero__title,
body.page-slug-reviews .reviews-showcase-hero__title {
    max-width: 10ch;
    margin-inline: auto;
    font-size: clamp(4.4rem, 9.2vw, 10.5rem);
    line-height: 0.84;
    letter-spacing: -0.055em;
}

body.page-slug-reviews .reviews-hero__eyebrow,
body.page-slug-reviews .reviews-showcase-hero__eyebrow {
    color: #e4bd5f;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    font-weight: 800;
}

body.page-slug-reviews .reviews-hero__copy,
body.page-slug-reviews .reviews-showcase-hero__intro {
    max-width: 42rem;
    margin: clamp(1.25rem, 2vw, 2rem) auto 0;
    color: rgba(255, 246, 239, 0.78);
    font-size: clamp(1rem, 1.2vw, 1.2rem);
    line-height: 1.65;
}

body.page-slug-reviews .reviews-hero__actions,
body.page-slug-reviews .reviews-showcase-hero__actions {
    position: relative;
    z-index: 4;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0.85rem;
    margin-top: clamp(1.25rem, 2vw, 2rem);
}

body.page-slug-reviews .reviews-hero__media-rail,
body.page-slug-reviews .reviews-showcase__rail,
body.page-slug-reviews .reviews-showcase-hero__rail,
body.page-slug-reviews .reviews-video-rail {
    position: absolute;
    left: 0;
    right: 0;
    bottom: clamp(1rem, 2.4vh, 2rem);
    z-index: 1;
    display: flex;
    align-items: flex-end;
    gap: clamp(0.65rem, 1vw, 1rem);
    overflow: hidden;
    pointer-events: auto;
}

body.page-slug-reviews .reviews-showcase-card {
    flex: 0 0 clamp(8rem, 10vw, 13rem);
    width: clamp(8rem, 10vw, 13rem);
    aspect-ratio: 9 / 13;
    border: 0 !important;
    box-shadow: none;
    background: transparent;
}

body.page-slug-reviews .reviews-hero__media-rail video,
body.page-slug-reviews .reviews-showcase__rail video,
body.page-slug-reviews .reviews-showcase-hero__rail video,
body.page-slug-reviews .reviews-video-rail video,
body.page-slug-reviews .reviews-hero__media-rail img,
body.page-slug-reviews .reviews-showcase__rail img,
body.page-slug-reviews .reviews-showcase-hero__rail img,
body.page-slug-reviews .reviews-video-rail img {
    width: 100%;
    height: 100%;
    aspect-ratio: 9 / 13;
    object-fit: cover;
    border: 0 !important;
    box-shadow: none;
    background: transparent;
}

body.page-slug-reviews .site-header--on-dark .site-header__name,
body.page-slug-reviews .site-header--on-dark .site-header__hours,
body.page-slug-reviews .site-header--on-dark .site-header__menu-trigger {
    color: #fff6ef !important;
    text-shadow: 0 0.08em 0.8em rgba(0, 0, 0, 0.35);
}

body.page-slug-reviews .site-header__menu-trigger {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
    text-transform: uppercase;
    letter-spacing: 0.18em;
    font-weight: 800;
}

body.page-slug-reviews .site-header__menu-lines,
body.page-slug-reviews .site-header__menu-lines::before,
body.page-slug-reviews .site-header__menu-lines::after,
body.page-slug-reviews .site-header__menu-icon span {
    background: currentColor !important;
    background-color: currentColor !important;
}

@media (max-width: 767px) {
    body.page-slug-reviews .reviews-hero,
    body.page-slug-reviews .reviews-showcase-hero {
        min-height: calc(100svh - var(--miliki-admin-bar-height));
        padding-top: clamp(5rem, 13vh, 7rem);
        padding-bottom: clamp(9rem, 22vh, 13rem);
    }

    body.page-slug-reviews .reviews-hero__inner,
    body.page-slug-reviews .reviews-showcase-hero__content {
        min-height: calc(100svh - var(--miliki-admin-bar-height) - 15rem);
        align-content: center;
    }

    body.page-slug-reviews .reviews-hero h1,
    body.page-slug-reviews .reviews-hero__title,
    body.page-slug-reviews .reviews-showcase-hero__title {
        font-size: clamp(3.2rem, 18vw, 5.8rem);
        line-height: 0.88;
        max-width: 8.5ch;
    }

    body.page-slug-reviews .reviews-hero__copy,
    body.page-slug-reviews .reviews-showcase-hero__intro {
        font-size: 0.95rem;
        max-width: 22rem;
    }

    body.page-slug-reviews .reviews-showcase-card {
        flex-basis: clamp(5.25rem, 23vw, 7rem);
        width: clamp(5.25rem, 23vw, 7rem);
    }
}


/* REVIEWS-FINAL-CTA-START-002 — keep CTA media visible before motion starts -- */
.reviews-moment-cta .miliki-final-cta__slot,
.reviews-moment-cta .reviews-moment-cta__item {
    display: block;
    opacity: 0.58;
}

.reviews-moment-cta .miliki-final-cta__slot--1,
.reviews-moment-cta .reviews-moment-cta__item--one {
    top: 6%;
    left: 6%;
    width: clamp(12rem, 16vw, 18rem);
}

.reviews-moment-cta .miliki-final-cta__slot--2,
.reviews-moment-cta .reviews-moment-cta__item--two {
    top: 30%;
    left: 21.5%;
    width: clamp(7rem, 8.7vw, 10rem);
    opacity: 0.5;
}

.reviews-moment-cta .miliki-final-cta__slot--3,
.reviews-moment-cta .reviews-moment-cta__item--three {
    top: 66%;
    left: 9.5%;
    width: clamp(9rem, 11vw, 13rem);
    opacity: 0.56;
}

.reviews-moment-cta .miliki-final-cta__slot--4,
.reviews-moment-cta .reviews-moment-cta__item--four {
    top: 58%;
    left: auto;
    right: 4.5%;
    width: clamp(13rem, 16.5vw, 19rem);
    opacity: 0.62;
}

.reviews-moment-cta .miliki-final-cta__slot--5,
.reviews-moment-cta .reviews-moment-cta__item--5 {
    top: 44%;
    left: auto;
    right: 20.5%;
    width: clamp(7.25rem, 9.5vw, 11rem);
    opacity: 0.42;
}

.reviews-moment-cta .miliki-final-cta__slot--6,
.reviews-moment-cta .reviews-moment-cta__item--6 {
    top: 9%;
    left: auto;
    right: 6%;
    width: clamp(10rem, 13vw, 15rem);
    opacity: 0.56;
}

@media (max-width: 767px) {
    .reviews-moment-cta .miliki-final-cta__slot,
    .reviews-moment-cta .reviews-moment-cta__item {
        width: clamp(4.75rem, 18vw, 6.75rem);
        opacity: 0.5;
    }

    .reviews-moment-cta .miliki-final-cta__slot--1,
    .reviews-moment-cta .reviews-moment-cta__item--one {
        top: 5%;
        left: 2%;
        width: clamp(5.75rem, 24vw, 7.75rem);
    }

    .reviews-moment-cta .miliki-final-cta__slot--2,
    .reviews-moment-cta .reviews-moment-cta__item--two {
        top: 20%;
        left: 21%;
        width: clamp(4.5rem, 18vw, 6rem);
    }

    .reviews-moment-cta .miliki-final-cta__slot--3,
    .reviews-moment-cta .reviews-moment-cta__item--three {
        top: 76%;
        left: 4%;
        width: clamp(5.25rem, 21vw, 7rem);
    }

    .reviews-moment-cta .miliki-final-cta__slot--4,
    .reviews-moment-cta .reviews-moment-cta__item--four {
        display: block;
        top: 72%;
        right: 3%;
        width: clamp(5.75rem, 24vw, 8rem);
    }

    .reviews-moment-cta .miliki-final-cta__slot--5,
    .reviews-moment-cta .miliki-final-cta__slot--6,
    .reviews-moment-cta .reviews-moment-cta__item--5,
    .reviews-moment-cta .reviews-moment-cta__item--6 {
        display: none;
    }
}

/* --------------------------------------------------------------------------
   REVIEWS-HEADER-BLOCK-008 — force overlay header to stop creating a
   visible/top layout block on the reviews page
-------------------------------------------------------------------------- */

body.page-slug-reviews,
body.page-id-223 {
    --miliki-admin-bar-height: 0px;
}

body.admin-bar.page-slug-reviews,
body.admin-bar.page-id-223 {
    --miliki-admin-bar-height: 32px;
}

@media (max-width: 782px) {
    body.admin-bar.page-slug-reviews,
    body.admin-bar.page-id-223 {
        --miliki-admin-bar-height: 46px;
    }
}

/* Header must float over the hero, not sit above it */
body.page-slug-reviews .site-header.site-header--overlay-nav,
body.page-id-223 .site-header.site-header--overlay-nav {
    position: fixed !important;
    inset-block-start: var(--miliki-admin-bar-height) !important;
    inset-inline: 0 !important;
    z-index: 9997 !important;

    width: 100% !important;
    height: 0 !important;
    min-height: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    background: transparent !important;
    background-color: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
    pointer-events: none !important;
}

/* Inner header can have content height, but no visual block */
body.page-slug-reviews .site-header.site-header--overlay-nav .site-header__inner,
body.page-id-223 .site-header.site-header--overlay-nav .site-header__inner {
    position: relative !important;

    width: min(100% - clamp(2rem, 8vw, 9rem), 72rem) !important;
    max-width: 72rem !important;

    height: auto !important;
    min-height: 0 !important;

    margin: 0 auto !important;
    padding-block: clamp(1rem, 1.7vw, 1.4rem) !important;
    padding-inline: 0 !important;

    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 1.5rem !important;

    background: transparent !important;
    background-color: transparent !important;
    border: 0 !important;
    box-shadow: none !important;

    pointer-events: auto !important;
}

/* Kill any nested background strips */
body.page-slug-reviews .site-header.site-header--overlay-nav *,
body.page-id-223 .site-header.site-header--overlay-nav * {
    background-color: transparent !important;
    box-shadow: none !important;
}

/* Make sure the first hero starts at the top */
body.page-slug-reviews .site-main,
body.page-id-223 .site-main {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

body.page-slug-reviews .site-main > .reviews-hero:first-child,
body.page-id-223 .site-main > .reviews-hero:first-child {
    margin-top: 0 !important;
    padding-top: clamp(6rem, 11vh, 7.5rem) !important;
    min-height: calc(100svh - var(--miliki-admin-bar-height)) !important;
}

/* Header text should be readable but not boxed */
body.page-slug-reviews .site-header__brand,
body.page-slug-reviews .site-header__name,
body.page-slug-reviews .site-header__hours,
body.page-slug-reviews .site-header__menu-trigger,
body.page-id-223 .site-header__brand,
body.page-id-223 .site-header__name,
body.page-id-223 .site-header__hours,
body.page-id-223 .site-header__menu-trigger {
    color: #fff6ef !important;
    text-shadow: 0 0.08em 0.85em rgba(0, 0, 0, 0.45) !important;
}

/* Remove button/pill visuals from menu trigger */
body.page-slug-reviews .site-header__menu-trigger,
body.page-id-223 .site-header__menu-trigger {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    color: #fff6ef !important;
}

/* If menu line/icon exists, inherit white */
body.page-slug-reviews .site-header__menu-trigger svg,
body.page-id-223 .site-header__menu-trigger svg {
    color: currentColor !important;
    stroke: currentColor !important;
}

/* --------------------------------------------------------------------------
   HOME: overlay header must not create a layout block above the hero
-------------------------------------------------------------------------- */

body.home,
body.page-template-page-home,
body.page-template-front-page {
    --miliki-admin-bar-height: 0px;
}

body.admin-bar.home,
body.admin-bar.page-template-page-home,
body.admin-bar.page-template-front-page {
    --miliki-admin-bar-height: 32px;
}

@media (max-width: 782px) {
    body.admin-bar.home,
    body.admin-bar.page-template-page-home,
    body.admin-bar.page-template-front-page {
        --miliki-admin-bar-height: 46px;
    }
}

body.home .site-header.site-header--overlay-nav,
body.page-template-page-home .site-header.site-header--overlay-nav,
body.page-template-front-page .site-header.site-header--overlay-nav {
    position: fixed !important;
    inset-block-start: var(--miliki-admin-bar-height) !important;
    inset-inline: 0 !important;
    z-index: 9997 !important;

    width: 100% !important;
    height: 0 !important;
    min-height: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    background: transparent !important;
    background-color: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
    pointer-events: none !important;
}

body.home .site-header.site-header--overlay-nav .site-header__inner,
body.page-template-page-home .site-header.site-header--overlay-nav .site-header__inner,
body.page-template-front-page .site-header.site-header--overlay-nav .site-header__inner {
    position: relative !important;

    width: min(100% - clamp(2rem, 8vw, 9rem), 72rem) !important;
    max-width: 72rem !important;

    height: auto !important;
    min-height: 0 !important;

    margin: 0 auto !important;
    padding-block: clamp(1rem, 1.7vw, 1.4rem) !important;
    padding-inline: 0 !important;

    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 1.5rem !important;

    background: transparent !important;
    background-color: transparent !important;
    border: 0 !important;
    box-shadow: none !important;

    pointer-events: auto !important;
}

body.home .site-header.site-header--overlay-nav *,
body.page-template-page-home .site-header.site-header--overlay-nav *,
body.page-template-front-page .site-header.site-header--overlay-nav * {
    box-shadow: none !important;
}

body.home .site-main,
body.page-template-page-home .site-main,
body.page-template-front-page .site-main {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

body.home .site-main > section:first-child,
body.page-template-page-home .site-main > section:first-child,
body.page-template-front-page .site-main > section:first-child {
    margin-top: 0 !important;
}

/* --------------------------------------------------------------------------
   HOME-HERO-011 — constrain hero to one viewport, reveal media, fit title
-------------------------------------------------------------------------- */

/* 1. Lock hero to exactly one viewport height. align-items: start ensures
      the title is always visible from the top even if content is tall. */
body.home .miliki-cinematic-hero {
    height: calc(100svh - var(--miliki-admin-bar-height, 0px));
    max-height: calc(100svh - var(--miliki-admin-bar-height, 0px));
    align-items: start;
    padding: clamp(5.5rem, 9vh, 7rem) clamp(1rem, 4vw, 3rem) clamp(2rem, 5vh, 4rem);
}

/* 2. Tighten inner content stack with grid gap; remove per-element margins */
body.home .miliki-cinematic-hero__inner {
    width: min(100%, 78rem);
    gap: clamp(0.75rem, 1.8vh, 1.35rem);
    align-content: start;
}

body.home .miliki-cinematic-hero__eyebrow {
    margin: 0 0 clamp(0.4rem, 0.8vh, 0.6rem);
}

/* 3. Desktop title — reduce from 9.75rem cap to 8.8rem */
body.home .miliki-cinematic-hero__title {
    font-size: clamp(4.25rem, 8.2vw, 8.8rem);
    line-height: 0.86;
    letter-spacing: -0.055em;
    max-width: 10.5ch;
    margin-inline: auto;
}

/* 4. Remove media-frame block margin; gap on __inner handles spacing */
body.home .miliki-cinematic-hero__media-frame {
    width: min(58vw, 32rem);
    margin-block: 0;
}

body.home .miliki-cinematic-hero__image,
body.home .miliki-cinematic-hero__video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    filter: none;
    opacity: 1;
}

/* 5. Summary and action spacing */
body.home .miliki-cinematic-hero__summary {
    max-width: 42rem;
    margin: 0;
}

body.home .miliki-cinematic-hero__summary p {
    font-size: clamp(0.95rem, 1.05vw, 1.1rem);
    line-height: 1.55;
}

body.home .miliki-cinematic-hero__actions {
    gap: 0.75rem;
    margin-top: clamp(0.4rem, 1.2vh, 1rem);
}

/* 6. Side labels */
body.home .miliki-cinematic-hero__side-label {
    font-size: 0.7rem;
    letter-spacing: 0.28em;
    opacity: 0.78;
}

/* Short viewport breakpoints — title scale staircase */

/* Catches 858px–900px viewports (e.g. 1536×858) */
@media (min-width: 900px) and (max-height: 900px) {
    body.home .miliki-cinematic-hero__title {
        font-size: clamp(3.75rem, 7.4vw, 7.4rem);
        line-height: 0.86;
    }

    body.home .miliki-cinematic-hero__media-frame {
        width: min(50vw, 26rem);
    }
}

@media (min-width: 900px) and (max-height: 820px) {
    body.home .miliki-cinematic-hero__title {
        font-size: clamp(3.75rem, 7.4vw, 7.4rem);
        line-height: 0.86;
    }
}

@media (min-width: 900px) and (max-height: 720px) {
    body.home .miliki-cinematic-hero__title {
        font-size: clamp(3.25rem, 6.6vw, 6.5rem);
    }
}

@media (max-width: 900px) {
    body.home .miliki-cinematic-hero__side-label {
        display: none;
    }
}

/* Mobile — release the height cap, allow natural scroll */
@media (max-width: 767px) {
    body.home .miliki-cinematic-hero {
        height: auto;
        max-height: none;
        align-items: center;
        padding-block: clamp(5rem, 14vw, 7rem);
    }

    body.home .miliki-cinematic-hero__title {
        font-size: clamp(3.1rem, 15vw, 5rem);
        line-height: 0.88;
        max-width: 9ch;
    }
}


/* ========================================================================== 
   GLOBAL-HEADER-017 — non-blocking overlay header + reviews viewport fit
   Final overrides live at the end of the file so they win over legacy header
   and reviews-page hotfixes above.
   ========================================================================== */

body.has-overlay-header {
    --miliki-overlay-admin-offset: 0px;
}

body.admin-bar.has-overlay-header {
    --miliki-overlay-admin-offset: var(--wp-admin--admin-bar--height, var(--miliki-admin-bar-height, 32px));
}

@media (max-width: 782px) {
    body.admin-bar.has-overlay-header {
        --miliki-overlay-admin-offset: var(--wp-admin--admin-bar--height, var(--miliki-admin-bar-height, 46px));
    }
}

body.has-overlay-header .site-header,
body.has-overlay-header .site-header.site-header--overlay-nav {
    position: absolute !important;
    inset-block-start: var(--miliki-overlay-admin-offset, 0px) !important;
    inset-inline: 0 !important;
    z-index: 9997 !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    background-color: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
    pointer-events: none !important;
}

body.has-overlay-header .site-header::before,
body.has-overlay-header .site-header::after {
    content: none !important;
    display: none !important;
}

body.has-overlay-header .site-header__inner {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: clamp(1rem, 2vw, 1.5rem) clamp(1rem, 4vw, 4rem) !important;
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: clamp(1rem, 3vw, 2rem) !important;
    background: transparent !important;
    background-color: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    pointer-events: auto !important;
}

body.has-overlay-header .site-header__container,
body.has-overlay-header .site-header__nav-row,
body.has-overlay-header .site-header__bar,
body.has-overlay-header .site-header__content,
body.has-overlay-header .site-header .lsp-container,
body.has-overlay-header .site-header .miliki-container {
    background: transparent !important;
    background-color: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

body.has-overlay-header .site-main {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

body.has-overlay-header .site-main > .breadcrumbs:first-child,
body.has-overlay-header .site-main > nav.breadcrumbs:first-child,
body.has-overlay-header .site-main > .breadcrumbs-wrap:first-child {
    display: none !important;
}

body.page-slug-reviews .reviews-hero,
body.page-slug-reviews .reviews-showcase-hero {
    box-sizing: border-box !important;
    position: relative !important;
    min-height: 100svh !important;
    min-height: 100dvh !important;
    overflow: hidden !important;
    display: grid !important;
    align-items: center !important;
    isolation: isolate;
    background:
        radial-gradient(circle at 50% 18%, rgba(226, 189, 98, 0.12), transparent 34%),
        radial-gradient(circle at 7% 86%, rgba(75, 36, 24, 0.4), transparent 33%),
        var(--miliki-black, #050403) !important;
    color: var(--miliki-cream, #fff6ef) !important;
    padding: clamp(6rem, 10vh, 8rem) clamp(1rem, 5vw, 5rem) clamp(9rem, 20vh, 13rem) !important;
}

body.admin-bar.page-slug-reviews .reviews-hero,
body.admin-bar.page-slug-reviews .reviews-showcase-hero {
    min-height: calc(100svh - var(--miliki-overlay-admin-offset, 32px)) !important;
    min-height: calc(100dvh - var(--miliki-overlay-admin-offset, 32px)) !important;
}

body.page-slug-reviews .site-main > .reviews-hero:first-child,
body.page-slug-reviews .site-main > .reviews-showcase-hero:first-child {
    margin-top: 0 !important;
}

body.page-slug-reviews .reviews-hero__inner,
body.page-slug-reviews .reviews-hero__content,
body.page-slug-reviews .reviews-showcase-hero__content {
    position: relative !important;
    z-index: 2 !important;
    box-sizing: border-box !important;
    width: min(100%, 72rem) !important;
    max-width: 72rem !important;
    min-height: 0 !important;
    margin-inline: auto !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    transform: translateY(-3vh);
}

body.page-slug-reviews .reviews-hero h1,
body.page-slug-reviews .reviews-hero__title,
body.page-slug-reviews .reviews-showcase-hero__title {
    width: min(100%, 58rem) !important;
    max-width: min(100%, 58rem) !important;
    margin: 0 auto !important;
    font-size: clamp(4rem, 8.2vw, 9rem) !important;
    line-height: 0.86 !important;
    letter-spacing: -0.055em;
    text-wrap: balance;
}

body.page-slug-reviews .reviews-hero__copy,
body.page-slug-reviews .reviews-showcase-hero__intro {
    max-width: 42rem !important;
    margin: clamp(0.9rem, 1.6vh, 1.25rem) auto 0 !important;
    font-size: clamp(0.95rem, 1.1vw, 1.12rem) !important;
    line-height: 1.55 !important;
}

body.page-slug-reviews .reviews-hero__actions,
body.page-slug-reviews .reviews-showcase-hero__actions {
    position: relative !important;
    z-index: 3 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 0.75rem !important;
    margin-top: clamp(0.9rem, 1.8vh, 1.35rem) !important;
}

body.page-slug-reviews .reviews-showcase-hero__actions .button--secondary {
    border-color: rgba(255, 246, 239, 0.5);
    background: rgba(255, 246, 239, 0.06);
    color: var(--miliki-cream, #fff7ed);
}

body.page-slug-reviews .reviews-showcase-hero__actions .button--secondary:hover,
body.page-slug-reviews .reviews-showcase-hero__actions .button--secondary:focus-visible {
    border-color: var(--miliki-gold, #e2bd62);
    color: var(--miliki-gold, #e2bd62);
}

body.page-slug-reviews .reviews-hero__media-rail,
body.page-slug-reviews .reviews-hero__video-rail,
body.page-slug-reviews .reviews-showcase__rail,
body.page-slug-reviews .reviews-showcase-hero__rail,
body.page-slug-reviews .reviews-video-rail {
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 1 !important;
    height: clamp(7rem, 17vh, 12rem) !important;
    display: flex !important;
    align-items: flex-end !important;
    gap: clamp(0.5rem, 1vw, 1rem) !important;
    padding-inline: clamp(0.5rem, 1.5vw, 1.25rem) !important;
    overflow: hidden !important;
    pointer-events: auto !important;
}

body.page-slug-reviews .reviews-hero__video-card,
body.page-slug-reviews .reviews-showcase-card {
    flex: 0 0 clamp(8rem, 13vw, 14rem) !important;
    width: clamp(8rem, 13vw, 14rem) !important;
    height: 100% !important;
    aspect-ratio: auto !important;
    overflow: hidden !important;
}

body.page-slug-reviews .reviews-hero__video-card video,
body.page-slug-reviews .reviews-showcase-card video {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

@media (min-width: 900px) and (max-height: 820px) {
    body.page-slug-reviews .reviews-hero,
    body.page-slug-reviews .reviews-showcase-hero {
        padding-bottom: clamp(7rem, 17vh, 10rem) !important;
    }

    body.page-slug-reviews .reviews-hero h1,
    body.page-slug-reviews .reviews-hero__title,
    body.page-slug-reviews .reviews-showcase-hero__title {
        font-size: clamp(3.5rem, 7vw, 7.25rem) !important;
    }

    body.page-slug-reviews .reviews-hero__copy,
    body.page-slug-reviews .reviews-showcase-hero__intro {
        max-width: 38rem !important;
        font-size: clamp(0.92rem, 1vw, 1rem) !important;
    }

    body.page-slug-reviews .reviews-hero__actions,
    body.page-slug-reviews .reviews-showcase-hero__actions {
        margin-top: 0.85rem !important;
    }
}

@media (max-width: 767px) {
    body.has-overlay-header .site-header__inner {
        padding: clamp(0.85rem, 3.5vw, 1.1rem) 1rem !important;
        align-items: flex-start !important;
    }

    body.has-overlay-header .site-header__hours {
        max-width: 12rem;
        font-size: 0.72rem;
        line-height: 1.25;
    }

    body.page-slug-reviews .reviews-hero,
    body.page-slug-reviews .reviews-showcase-hero {
        min-height: auto !important;
        display: block !important;
        padding: clamp(5rem, 14vh, 7rem) 1rem 2rem !important;
        overflow: hidden !important;
    }

    body.admin-bar.page-slug-reviews .reviews-hero,
    body.admin-bar.page-slug-reviews .reviews-showcase-hero {
        min-height: auto !important;
    }

    body.page-slug-reviews .reviews-hero__inner,
    body.page-slug-reviews .reviews-hero__content,
    body.page-slug-reviews .reviews-showcase-hero__content {
        width: 100% !important;
        transform: none !important;
    }

    body.page-slug-reviews .reviews-hero h1,
    body.page-slug-reviews .reviews-hero__title,
    body.page-slug-reviews .reviews-showcase-hero__title {
        width: min(100%, 22rem) !important;
        max-width: min(100%, 22rem) !important;
        font-size: clamp(3rem, 16vw, 5rem) !important;
        line-height: 0.9 !important;
    }

    body.page-slug-reviews .reviews-hero__copy,
    body.page-slug-reviews .reviews-showcase-hero__intro {
        max-width: 24rem !important;
        font-size: 0.96rem !important;
        line-height: 1.55 !important;
    }

    body.page-slug-reviews .reviews-hero__actions,
    body.page-slug-reviews .reviews-showcase-hero__actions {
        align-items: stretch !important;
        flex-direction: column !important;
        width: min(100%, 22rem) !important;
        margin-inline: auto !important;
    }

    body.page-slug-reviews .reviews-hero__actions .button,
    body.page-slug-reviews .reviews-showcase-hero__actions .button {
        width: 100% !important;
    }

    body.page-slug-reviews .reviews-hero__media-rail,
    body.page-slug-reviews .reviews-hero__video-rail,
    body.page-slug-reviews .reviews-showcase__rail,
    body.page-slug-reviews .reviews-showcase-hero__rail,
    body.page-slug-reviews .reviews-video-rail {
        position: relative !important;
        left: auto !important;
        right: auto !important;
        bottom: auto !important;
        z-index: 1 !important;
        height: auto !important;
        margin-top: 2rem !important;
        margin-inline: -1rem !important;
        padding-inline: 1rem !important;
        padding-bottom: 0.5rem !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        scrollbar-width: thin;
    }

    body.page-slug-reviews .reviews-hero__video-card,
    body.page-slug-reviews .reviews-showcase-card {
        flex: 0 0 42vw !important;
        width: 42vw !important;
        max-width: 11rem !important;
        height: auto !important;
        aspect-ratio: 9 / 12 !important;
    }
}


/* GLOBAL-HEADER-017 cascade guard: beat legacy :not(...) page-offset rules. */
body.has-overlay-header #main-content.site-main {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

body.page-slug-reviews.has-overlay-header #main-content.site-main > .reviews-hero:first-child,
body.page-slug-reviews.has-overlay-header #main-content.site-main > .reviews-showcase-hero:first-child {
    padding: clamp(6rem, 10vh, 8rem) clamp(1rem, 5vw, 5rem) clamp(9rem, 20vh, 13rem) !important;
}

@media (min-width: 900px) and (max-height: 820px) {
    body.page-slug-reviews.has-overlay-header #main-content.site-main > .reviews-hero:first-child,
    body.page-slug-reviews.has-overlay-header #main-content.site-main > .reviews-showcase-hero:first-child {
        padding-bottom: clamp(7rem, 17vh, 10rem) !important;
    }
}

@media (max-width: 767px) {
    body.page-slug-reviews.has-overlay-header #main-content.site-main > .reviews-hero:first-child,
    body.page-slug-reviews.has-overlay-header #main-content.site-main > .reviews-showcase-hero:first-child {
        padding: clamp(5rem, 14vh, 7rem) 1rem 2rem !important;
    }
}


@media (max-width: 767px) {
    body.page-slug-reviews.has-overlay-header #main-content.site-main > .reviews-hero:first-child,
    body.page-slug-reviews.has-overlay-header #main-content.site-main > .reviews-showcase-hero:first-child {
        min-height: auto !important;
    }
}

/* REVIEWS-HERO-CTA-001 — keep outline CTA readable on the dark reviews hero. */
body.page-slug-reviews .reviews-showcase-hero__actions .button--secondary,
body.page-slug-reviews .reviews-hero__actions .button--secondary {
    border-color: rgba(255, 246, 239, 0.62) !important;
    background: rgba(255, 246, 239, 0.08) !important;
    color: var(--miliki-cream, #fff6ef) !important;
}

body.page-slug-reviews .reviews-showcase-hero__actions .button--secondary:hover,
body.page-slug-reviews .reviews-showcase-hero__actions .button--secondary:focus-visible,
body.page-slug-reviews .reviews-hero__actions .button--secondary:hover,
body.page-slug-reviews .reviews-hero__actions .button--secondary:focus-visible {
    border-color: var(--miliki-gold, #e2bd62) !important;
    background: rgba(226, 189, 98, 0.14) !important;
    color: var(--miliki-gold, #e2bd62) !important;
}


/* ========================================================================== 
   HOME-HERO-021 — full-viewport image-led premium homepage hero
   ========================================================================== */
body.home .home-hero,
body.home .miliki-cinematic-hero {
    box-sizing: border-box !important;
    position: relative !important;
    min-height: 100svh !important;
    min-height: 100dvh !important;
    height: auto !important;
    max-height: none !important;
    margin-top: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    display: grid !important;
    place-items: center !important;
    isolation: isolate !important;
    background-image:
        linear-gradient(
            90deg,
            rgba(5, 4, 3, 0.72) 0%,
            rgba(5, 4, 3, 0.46) 45%,
            rgba(5, 4, 3, 0.64) 100%
        ),
        url("../milikispotfood.jpg") !important;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    color: var(--miliki-cream, #fffaf0) !important;
}

body.home .home-hero::before,
body.home .miliki-cinematic-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background:
        radial-gradient(circle at 50% 44%, rgba(5, 4, 3, 0.08), transparent 32%),
        linear-gradient(180deg, rgba(5, 4, 3, 0.16) 0%, rgba(5, 4, 3, 0.28) 100%);
}

body.home .home-hero__inner,
body.home .miliki-cinematic-hero__inner {
    box-sizing: border-box !important;
    position: relative !important;
    z-index: 2 !important;
    min-height: inherit !important;
    width: 100% !important;
    max-width: none !important;
    display: grid !important;
    place-items: center !important;
    padding: clamp(6rem, 12vh, 8rem) clamp(1.25rem, 5vw, 5rem) clamp(3rem, 7vh, 5rem) !important;
    text-align: center !important;
}

body.home .home-hero__content,
body.home .miliki-cinematic-hero__content {
    position: relative !important;
    z-index: 2 !important;
    width: min(100%, 72rem) !important;
    margin-inline: auto !important;
    text-align: center !important;
}

body.home .home-hero__eyebrow,
body.home .miliki-cinematic-hero__eyebrow {
    margin: 0 0 clamp(0.75rem, 2vh, 1.25rem) !important;
    color: var(--miliki-gold, #e0b95b) !important;
    font-size: clamp(0.72rem, 0.9vw, 0.9rem) !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    letter-spacing: 0.28em !important;
    text-transform: uppercase !important;
}

body.home .home-hero__title,
body.home .miliki-cinematic-hero__title {
    max-width: min(92vw, 62rem) !important;
    margin: 0 auto !important;
    color: var(--miliki-cream, #fffaf0) !important;
    font-family: var(--font-display) !important;
    font-size: clamp(4.2rem, 8vw, 8.5rem) !important;
    font-weight: 400 !important;
    line-height: 0.88 !important;
    letter-spacing: -0.045em !important;
    text-align: center !important;
    text-wrap: balance;
    text-shadow: 0 0.08em 0.25em rgba(0, 0, 0, 0.42);
}

body.home .home-hero__lede,
body.home .miliki-cinematic-hero__lede {
    max-width: 42rem !important;
    margin: clamp(1rem, 2vh, 1.5rem) auto 0 !important;
    color: rgba(255, 250, 240, 0.82) !important;
    font-size: clamp(1rem, 1.25vw, 1.2rem) !important;
    line-height: 1.55 !important;
}

body.home .home-hero__actions,
body.home .miliki-cinematic-hero__actions {
    position: relative !important;
    z-index: 2 !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 0.75rem !important;
    margin-top: clamp(1.4rem, 3vh, 2rem) !important;
}

body.home .home-hero__actions .btn,
body.home .miliki-cinematic-hero__actions .btn {
    width: auto !important;
    min-height: 2.9rem;
    color: var(--miliki-cream, #fffaf0);
}

body.home .home-hero__actions .btn--miliki-gold,
body.home .miliki-cinematic-hero__actions .btn--miliki-gold,
body.home .home-hero__actions .btn--miliki-gold:hover,
body.home .home-hero__actions .btn--miliki-gold:focus-visible,
body.home .miliki-cinematic-hero__actions .btn--miliki-gold:hover,
body.home .miliki-cinematic-hero__actions .btn--miliki-gold:focus-visible {
    color: var(--miliki-black, #050403) !important;
}

body.home .home-hero__actions .btn--miliki-outline-light,
body.home .miliki-cinematic-hero__actions .btn--miliki-outline-light {
    background: rgba(5, 4, 3, 0.16) !important;
    border-color: rgba(255, 250, 240, 0.52) !important;
    color: var(--miliki-cream, #fffaf0) !important;
    backdrop-filter: blur(6px);
}

body.home .home-hero__actions .btn--miliki-outline-light:hover,
body.home .home-hero__actions .btn--miliki-outline-light:focus-visible,
body.home .miliki-cinematic-hero__actions .btn--miliki-outline-light:hover,
body.home .miliki-cinematic-hero__actions .btn--miliki-outline-light:focus-visible {
    border-color: var(--miliki-gold, #e0b95b) !important;
    color: var(--miliki-gold, #e0b95b) !important;
}

body.home .home-hero__side-label,
body.home .miliki-cinematic-hero__side-label {
    position: absolute !important;
    top: 50% !important;
    z-index: 2 !important;
    margin: 0 !important;
    transform: translateY(-50%) !important;
    writing-mode: vertical-rl !important;
    text-orientation: mixed !important;
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    letter-spacing: 0.28em !important;
    text-transform: uppercase !important;
    color: rgba(255, 250, 240, 0.68) !important;
}

body.home .home-hero__side-label--left,
body.home .miliki-cinematic-hero__side-label--left {
    left: clamp(1rem, 2.5vw, 2.5rem) !important;
}

body.home .home-hero__side-label--right,
body.home .miliki-cinematic-hero__side-label--right {
    right: clamp(1rem, 2.5vw, 2.5rem) !important;
}

body.home .miliki-cinematic-hero__media-frame,
body.home .miliki-cinematic-hero__title-overlay,
body.home .miliki-cinematic-hero__copy,
body.home .miliki-cinematic-hero__summary {
    display: none !important;
}

body.home .miliki-cinematic-hero__content {
    display: block !important;
}

body.admin-bar.home .home-hero,
body.admin-bar.home .miliki-cinematic-hero {
    min-height: calc(100svh - var(--wp-admin--admin-bar--height, var(--miliki-admin-bar-height, 32px))) !important;
    min-height: calc(100dvh - var(--wp-admin--admin-bar--height, var(--miliki-admin-bar-height, 32px))) !important;
}

@media (min-width: 900px) and (max-height: 820px) {
    body.home .home-hero__inner,
    body.home .miliki-cinematic-hero__inner {
        padding-top: clamp(5.25rem, 10vh, 6.75rem) !important;
        padding-bottom: clamp(2.25rem, 5vh, 3.5rem) !important;
    }

    body.home .home-hero__title,
    body.home .miliki-cinematic-hero__title {
        font-size: clamp(3.6rem, 6.7vw, 6.9rem) !important;
        line-height: 0.9 !important;
    }

    body.home .home-hero__lede,
    body.home .miliki-cinematic-hero__lede {
        max-width: 38rem !important;
        font-size: clamp(0.95rem, 1.05vw, 1.05rem) !important;
    }

    body.home .home-hero__actions,
    body.home .miliki-cinematic-hero__actions {
        margin-top: clamp(1rem, 2.2vh, 1.45rem) !important;
    }
}

@media (max-width: 767px) {
    body.home .home-hero,
    body.home .miliki-cinematic-hero {
        width: 100% !important;
        max-width: 100% !important;
        min-height: 100svh !important;
        min-height: 100dvh !important;
        overflow: hidden !important;
        background-position: center center !important;
    }

    body.home .home-hero *,
    body.home .miliki-cinematic-hero * {
        max-width: 100%;
    }

    body.home .home-hero__inner,
    body.home .miliki-cinematic-hero__inner {
        /* Leave room for the fixed mobile quick-action row rendered outside main. */
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
        padding: clamp(5.25rem, 13vh, 6.75rem) clamp(1rem, 5vw, 1.5rem) clamp(5.25rem, 12vh, 7rem) !important;
    }

    body.home .home-hero__content,
    body.home .miliki-cinematic-hero__content {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    body.home .home-hero__title,
    body.home .miliki-cinematic-hero__title {
        max-width: 100% !important;
        font-size: clamp(3.2rem, 15vw, 5rem) !important;
        line-height: 0.9 !important;
        overflow-wrap: anywhere;
    }

    body.home .home-hero__lede,
    body.home .miliki-cinematic-hero__lede {
        max-width: min(100%, 32rem) !important;
        font-size: clamp(0.96rem, 4vw, 1.08rem) !important;
    }

    body.home .home-hero__actions,
    body.home .miliki-cinematic-hero__actions {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
        overflow: hidden;
    }

    body.home .home-hero__side-label,
    body.home .miliki-cinematic-hero__side-label {
        display: none !important;
    }
}

@media (max-width: 520px) {
    body.home .home-hero__actions,
    body.home .miliki-cinematic-hero__actions {
        flex-direction: column !important;
        align-items: stretch !important;
        width: min(100%, 20rem) !important;
        margin-inline: auto !important;
    }

    body.home .home-hero__actions .btn,
    body.home .miliki-cinematic-hero__actions .btn {
        width: 100% !important;
        justify-content: center !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.home .home-hero__content > *,
    body.home .miliki-cinematic-hero__content > * {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
}


/* HOME-026 � full-viewport draggable customer moments carousel -------------- */
.home-reviews-carousel {
    position: relative;
    isolation: isolate;
    display: grid;
    align-content: center;
    gap: clamp(1.5rem, 3vw, 2.75rem);
    min-height: 100svh;
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    border: 0;
    outline: none;
    padding: clamp(5.5rem, 9vw, 8rem) 0 clamp(2.5rem, 5vw, 4rem);
    background:
        radial-gradient(circle at 14% 8%, rgba(224, 185, 91, 0.18), transparent 32rem),
        linear-gradient(135deg, var(--miliki-charcoal, #14100b) 0%, var(--miliki-black, #090806) 72%);
    color: var(--miliki-cream, #fff6ef);
}

.home-reviews-carousel::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background: linear-gradient(180deg, rgba(9, 8, 6, 0.12), rgba(9, 8, 6, 0.62));
}

.home-reviews-carousel__intro,
.home-reviews-carousel__conversion {
    width: min(100% - clamp(2rem, 8vw, 8rem), 86rem);
    margin-inline: auto;
}

.home-reviews-carousel__intro {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: clamp(1.5rem, 4vw, 4rem);
}

.home-reviews-carousel__copy {
    max-width: 48rem;
}

.home-reviews-carousel__eyebrow {
    margin: 0 0 0.7rem;
    color: var(--miliki-gold, #e0b95b);
    font-size: clamp(0.72rem, 0.85vw, 0.86rem);
    font-weight: 850;
    letter-spacing: 0.28em;
    line-height: 1.2;
}

.home-reviews-carousel h2,
.home-reviews-carousel__conversion h3,
.home-reviews-carousel__meta h3 {
    color: inherit;
}

.home-reviews-carousel h2 {
    max-width: 13ch;
    margin: 0;
    font-family: var(--font-display, Georgia, "Times New Roman", serif);
    font-size: clamp(3.1rem, 8vw, 7.7rem);
    font-weight: 400;
    letter-spacing: -0.065em;
    line-height: 0.88;
}

.home-reviews-carousel__copy > p:not(.home-reviews-carousel__eyebrow) {
    max-width: 42rem;
    margin: clamp(1rem, 2vw, 1.4rem) 0 0;
    color: rgba(255, 246, 239, 0.78);
    font-size: clamp(1rem, 1.35vw, 1.18rem);
    line-height: 1.7;
}

.home-reviews-carousel__actions,
.home-reviews-carousel__conversion-links {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.home-reviews-carousel__actions {
    justify-content: flex-end;
    max-width: 31rem;
}

.home-reviews-carousel .button--secondary {
    border-color: rgba(255, 246, 239, 0.38);
    background: rgba(255, 246, 239, 0.06);
    color: rgba(255, 246, 239, 0.92) !important;
}

.home-reviews-carousel .button--secondary:hover,
.home-reviews-carousel .button--secondary:focus-visible {
    border-color: var(--miliki-gold, #e0b95b);
    background: rgba(224, 185, 91, 0.12);
    color: var(--miliki-gold-light, #efcd73) !important;
}

.home-reviews-carousel__rail-wrap {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    border: 0;
    outline: none;
}

.home-reviews-carousel__rail,
.home-reviews-track {
    display: flex;
    gap: clamp(1rem, 2vw, 2rem);
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-x: contain;
    scroll-padding-inline: clamp(1rem, 7vw, 6rem);
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    padding: 0 clamp(1rem, 7vw, 6rem) 1rem;
    border: 0;
    outline: none;
    cursor: grab;
    user-select: none;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-x pan-y;
    scrollbar-width: none;
}

.home-reviews-carousel__rail::-webkit-scrollbar,
.home-reviews-track::-webkit-scrollbar {
    display: none;
}

.home-reviews-carousel__rail:focus-visible,
.home-reviews-track:focus-visible {
    outline: none;
}

.home-reviews-carousel__rail.is-dragging,
.home-reviews-track.is-dragging {
    cursor: grabbing;
    scroll-snap-type: none;
}

.home-reviews-carousel__item,
.home-review-card {
    flex: 0 0 clamp(280px, 31vw, 520px);
    scroll-snap-align: start;
    display: grid;
    gap: clamp(0.85rem, 1.35vw, 1.2rem);
    min-width: 0;
    border: 0;
    outline: none;
    color: inherit;
}

.home-reviews-carousel__media {
    position: relative;
    aspect-ratio: 9 / 13;
    overflow: hidden;
    background: var(--miliki-black, #090806);
    box-shadow: 0 1.7rem 4.5rem rgba(0, 0, 0, 0.34);
}

.home-reviews-carousel__media::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(180deg, rgba(9, 8, 6, 0.04), rgba(9, 8, 6, 0.28));
    transition: opacity 220ms ease;
}

.home-reviews-carousel__video {
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    background: var(--miliki-black, #090806);
}

.home-reviews-carousel__play {
    position: absolute;
    inset: 50% auto auto 50%;
    z-index: 2;
    display: grid;
    place-items: center;
    width: clamp(4rem, 6vw, 5.6rem);
    height: clamp(4rem, 6vw, 5.6rem);
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: var(--miliki-gold, #e0b95b);
    color: var(--miliki-black, #090806);
    box-shadow: 0 1rem 2.25rem rgba(0, 0, 0, 0.28);
    cursor: pointer;
    transform: translate(-50%, -50%);
    transition: transform 180ms ease, background-color 180ms ease, opacity 180ms ease;
}

.home-reviews-carousel__play span {
    display: block;
    width: 0;
    height: 0;
    margin-left: 0.22rem;
    border-block: 0.62rem solid transparent;
    border-left: 0.95rem solid currentColor;
}

.home-reviews-carousel__play:hover,
.home-reviews-carousel__play:focus-visible {
    background: var(--miliki-gold-light, #efcd73);
    transform: translate(-50%, -50%) scale(1.06);
}

.home-reviews-carousel__play:focus-visible,
.home-reviews-carousel__conversion-links a:focus-visible {
    outline: 2px solid var(--miliki-gold-light, #efcd73);
    outline-offset: 0.25rem;
}

.home-reviews-carousel__item.is-playing .home-reviews-carousel__play,
.home-reviews-carousel__item.is-playing .home-reviews-carousel__media::after {
    opacity: 0;
    pointer-events: none;
}

.home-reviews-carousel__meta {
    display: grid;
    gap: 0.35rem;
    max-width: 92%;
}

.home-reviews-carousel__meta p {
    margin: 0;
    color: var(--miliki-gold, #e0b95b);
    font-size: 0.78rem;
    font-weight: 850;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.home-reviews-carousel__meta h3 {
    margin: 0;
    font-size: clamp(1.25rem, 2vw, 1.75rem);
    line-height: 1.05;
    letter-spacing: -0.035em;
}

.home-reviews-carousel__meta span {
    color: rgba(255, 246, 239, 0.68);
    font-size: 0.96rem;
    line-height: 1.55;
}

.home-reviews-carousel__conversion {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: clamp(1rem, 3vw, 2rem);
    padding-top: clamp(0.5rem, 1.5vw, 1rem);
}

.home-reviews-carousel__conversion h3 {
    margin: 0;
    font-size: clamp(1.25rem, 2.2vw, 2rem);
    letter-spacing: -0.035em;
}

.home-reviews-carousel__conversion p {
    margin: 0.35rem 0 0;
    color: rgba(255, 246, 239, 0.66);
}

.home-reviews-carousel__conversion-links {
    justify-content: flex-end;
}

.home-reviews-carousel__conversion-links a {
    color: rgba(255, 246, 239, 0.88);
    font-weight: 800;
    text-decoration-color: rgba(224, 185, 91, 0.55);
    text-underline-offset: 0.22em;
}

.home-reviews-carousel__conversion-links a:hover,
.home-reviews-carousel__conversion-links a:focus-visible {
    color: var(--miliki-gold-light, #efcd73);
}

@media (max-width: 899px) {
    .home-reviews-carousel {
        align-content: start;
        gap: 1.5rem;
        padding-block: clamp(5rem, 12vw, 6.5rem) 2.25rem;
    }

    .home-reviews-carousel__intro,
    .home-reviews-carousel__conversion {
        width: min(100% - 2rem, 44rem);
    }

    .home-reviews-carousel__intro,
    .home-reviews-carousel__conversion {
        grid-template-columns: 1fr;
        display: grid;
    }

    .home-reviews-carousel__actions,
    .home-reviews-carousel__conversion-links {
        justify-content: flex-start;
    }

    .home-reviews-carousel__actions .button {
        flex: 1 1 12rem;
        justify-content: center;
    }

    .home-reviews-carousel__rail {
        gap: 1rem;
        scroll-padding-inline: 1rem;
        padding-inline: 1rem;
    }

    .home-reviews-carousel__item {
        flex-basis: min(82vw, 27rem);
    }

    .home-reviews-carousel__conversion {
        gap: 1rem;
    }
}

@media (max-width: 540px) {
    .home-reviews-carousel h2 {
        max-width: 10ch;
        font-size: clamp(3rem, 17vw, 4.8rem);
    }

    .home-reviews-carousel__actions {
        flex-direction: column;
    }

    .home-reviews-carousel__actions .button {
        width: 100%;
    }

    .home-reviews-carousel__item {
        flex-basis: 84vw;
    }

    .home-reviews-carousel__play {
        width: 4.4rem;
        height: 4.4rem;
    }
}

@media (max-width: 767px) {
    /* Keep Customer Moments CTAs usable on mobile. The tablet rule above uses
       flex-basis for wrapping; in a stacked column that can become a huge pill. */
    #customer-moments .home-reviews-carousel__actions {
        display: grid;
        gap: 0.75rem;
        margin-top: 1.5rem;
        max-width: none;
        width: 100%;
    }

    #customer-moments .home-reviews-carousel__actions .button,
    #customer-moments .home-reviews-carousel__actions .btn,
    #customer-moments .home-reviews-carousel__actions a {
        width: 100%;
        min-height: 48px;
        height: auto;
        flex: none;
        aspect-ratio: auto;
        padding: 0.875rem 1.125rem;
        border-radius: 999px;
        font-size: 1rem;
        line-height: 1.1;
        text-align: center;
        white-space: normal;
    }
}

@media (prefers-reduced-motion: reduce) {
    .home-reviews-carousel__media::after,
    .home-reviews-carousel__play {
        transition: none;
    }
}

/* HOME-025 — premium readable homepage catering section with video cards. */
body.home .homepage-section--catering {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    margin: 0;
    padding: clamp(4.5rem, 8vw, 7.5rem) 0;
    background:
        radial-gradient(circle at 12% 10%, rgba(224, 185, 91, 0.18), transparent 30rem),
        linear-gradient(135deg, var(--miliki-cream, #fff6ef) 0%, var(--miliki-warm-cream, #f6eadb) 100%);
    color: var(--miliki-ink, #211d1a);
}

body.home .homepage-section--catering::before {
    content: "";
    position: absolute;
    inset: auto -10vw -18rem auto;
    z-index: -1;
    width: min(34rem, 72vw);
    aspect-ratio: 1;
    border-radius: 999px;
    background: radial-gradient(circle, rgba(155, 117, 38, 0.14), transparent 68%);
    pointer-events: none;
}

.home-catering-showcase {
    display: grid;
    gap: clamp(2.25rem, 5vw, 4.75rem);
}

.home-catering-showcase__intro {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(18rem, 25rem);
    align-items: end;
    gap: clamp(1.75rem, 5vw, 5rem);
}

.home-catering-showcase__copy {
    max-width: 56rem;
}

body.home .homepage-section--catering .homepage-section__eyebrow {
    color: var(--miliki-gold-deep, #9b7526);
    letter-spacing: 0.16em;
}

body.home .homepage-section--catering h2 {
    max-width: 14ch;
    color: var(--miliki-black, #090806);
    font-family: var(--font-display, Georgia, "Times New Roman", serif);
    font-size: clamp(2.65rem, 6.5vw, 5.65rem);
    font-weight: 400;
    line-height: 0.94;
    letter-spacing: -0.055em;
    text-wrap: balance;
}

body.home .homepage-section--catering p {
    color: var(--miliki-color-muted, #665b54);
    font-size: clamp(1.02rem, 1.3vw, 1.16rem);
    line-height: 1.7;
}

.home-catering-showcase__copy p:not(.homepage-section__eyebrow) {
    max-width: 66ch;
}

.home-catering-showcase__copy a {
    color: var(--miliki-bronze-text, #7a5706);
    font-weight: 800;
    text-decoration: underline;
    text-decoration-thickness: 0.08em;
    text-underline-offset: 0.2em;
}

.home-catering-showcase__copy a:hover,
.home-catering-showcase__copy a:focus-visible {
    color: var(--miliki-black, #090806);
    text-decoration-thickness: 0.12em;
}

.home-catering-showcase__cta-card {
    border: 0;
    border-radius: clamp(1.1rem, 2vw, 1.65rem);
    background:
        linear-gradient(145deg, rgba(255, 250, 243, 0.88), rgba(246, 234, 219, 0.78));
    color: var(--miliki-ink, #211d1a);
    box-shadow: 0 1.4rem 3.5rem rgba(33, 29, 26, 0.12);
}

body.home .homepage-section--catering .home-catering-showcase__cta-card p {
    margin-top: 0;
    color: var(--miliki-ink, #211d1a);
}

body.home .homepage-section--catering .button--primary {
    border-color: var(--miliki-gold, #e0b95b);
    background: var(--miliki-gold, #e0b95b);
    color: var(--miliki-black, #090806);
}

body.home .homepage-section--catering .button--primary:hover,
body.home .homepage-section--catering .button--primary:focus-visible {
    border-color: var(--miliki-gold-light, #efcd73);
    background: var(--miliki-gold-light, #efcd73);
    color: var(--miliki-black, #090806);
}

.home-catering-showcase__videos.miliki-video-grid {
    max-width: none;
    margin: 0;
    gap: clamp(1.2rem, 2.5vw, 2rem);
}

.home-catering-video-card .miliki-video-card__button {
    height: 100%;
}

.home-catering-video-card .miliki-video-card__preview {
    overflow: hidden;
    border: 0;
    border-radius: clamp(1.15rem, 2vw, 1.75rem);
    box-shadow: 0 1.35rem 3.25rem rgba(33, 29, 26, 0.16);
}

.home-catering-video-card .miliki-video-card__preview video {
    filter: grayscale(100%) contrast(1.04);
    opacity: 0.78;
    transform: scale(1.015);
    transition:
        filter 450ms ease,
        opacity 450ms ease,
        transform 450ms ease;
}

.home-catering-video-card:hover .miliki-video-card__preview video,
.home-catering-video-card:focus-within .miliki-video-card__preview video {
    filter: grayscale(0%) contrast(1.06) saturate(1.04);
    opacity: 1;
    transform: scale(1.045);
}

.home-catering-video-card .miliki-video-card__play {
    left: 1.1rem;
    bottom: 1.1rem;
    min-width: 4.5rem;
    min-height: 4.5rem;
}

.home-catering-video-card .miliki-video-card__content {
    padding-top: 1.05rem;
}

.home-catering-video-card .miliki-video-card__title {
    color: var(--miliki-black, #090806);
    font-size: clamp(1.18rem, 1.7vw, 1.55rem);
}

.home-catering-video-card .miliki-video-card__caption {
    color: var(--miliki-color-muted, #665b54);
}

.home-catering-video-card .miliki-video-card__button:focus-visible {
    outline-color: var(--miliki-gold-deep, #9b7526);
}

@media (max-width: 900px) {
    .home-catering-showcase__intro {
        grid-template-columns: 1fr;
        align-items: start;
    }

    body.home .homepage-section--catering h2 {
        max-width: 16ch;
    }
}

@media (max-width: 760px) {
    body.home .homepage-section--catering {
        padding: clamp(3.25rem, 12vw, 4.75rem) 0;
    }

    .home-catering-showcase__videos.miliki-video-grid {
        grid-template-columns: 1fr;
    }

    .home-catering-video-card .miliki-video-card__preview {
        aspect-ratio: 16 / 11;
    }

    .home-catering-video-card .miliki-video-card__preview video {
        filter: grayscale(0%) contrast(1.04) saturate(1.02);
        opacity: 1;
    }
}

@media (hover: none), (pointer: coarse) {
    .home-catering-video-card .miliki-video-card__preview video {
        filter: grayscale(0%) contrast(1.04) saturate(1.02);
        opacity: 1;
    }
}

@media (prefers-reduced-motion: reduce) {
    .home-catering-video-card .miliki-video-card__preview video {
        transition: none;
    }

    .home-catering-video-card:hover .miliki-video-card__preview video,
    .home-catering-video-card:focus-within .miliki-video-card__preview video {
        transform: scale(1.015);
    }
}

/* HOMEPAGE-FINAL-CTA-ORDER-001 - premium, readable final CTA ---------------- */

body.home .homepage-final-cta.section--miliki-dark {
    padding: clamp(3.5rem, 8vw, 6rem) 0;
    background:
        radial-gradient(circle at 18% 10%, rgba(224, 185, 91, 0.12), transparent 34%),
        linear-gradient(135deg, #130d08 0%, #21150d 52%, #080604 100%);
    color: #fff6ef;
}

body.home .homepage-final-cta__inner {
    display: grid;
    grid-template-columns: minmax(0, 1.12fr) minmax(17rem, 0.88fr);
    gap: clamp(1.25rem, 4vw, 2.5rem);
    align-items: center;
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(235, 184, 92, 0.32);
    border-radius: clamp(1.5rem, 4vw, 2rem);
    background:
        radial-gradient(circle at top left, rgba(235, 156, 84, 0.2), transparent 34%),
        radial-gradient(circle at bottom right, rgba(214, 179, 90, 0.14), transparent 30%),
        linear-gradient(135deg, #1b120c 0%, #2a1a10 48%, #120d09 100%);
    box-shadow: 0 1.5rem 4.375rem rgba(0, 0, 0, 0.24);
    padding: clamp(1.25rem, 4vw, 2.75rem);
    color: #fff6ef;
    isolation: isolate;
}

body.home .homepage-final-cta__inner::before {
    content: "";
    position: absolute;
    inset: 1px;
    border-radius: inherit;
    background: linear-gradient(135deg, rgba(255, 246, 239, 0.08), transparent 45%);
    pointer-events: none;
    z-index: -1;
}

body.home .homepage-final-cta__content {
    max-width: 45rem;
}

body.home .homepage-final-cta .homepage-section__eyebrow {
    color: #f5c56f;
}

body.home .homepage-final-cta h2 {
    max-width: 14ch;
    margin: 0;
    color: #fff6ef;
    font-size: clamp(1.85rem, 5vw, 3.35rem);
    line-height: 1.05;
    letter-spacing: -0.045em;
    text-wrap: balance;
}

body.home .homepage-final-cta__content p:not(.homepage-section__eyebrow) {
    max-width: 60ch;
    margin: var(--miliki-space-3, 1rem) 0 0;
    color: rgba(255, 246, 239, 0.9);
    font-size: clamp(1rem, 2vw, 1.12rem);
    line-height: 1.65;
}

body.home .homepage-final-cta__actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--miliki-space-3, 0.75rem);
    justify-content: flex-end;
    align-items: stretch;
}

body.home .homepage-final-cta__actions .button,
body.home .homepage-final-cta__actions .button:visited {
    min-width: min(100%, 12.5rem);
    border-width: 2px;
}

body.home .homepage-final-cta__actions .button--primary,
body.home .homepage-final-cta__actions .button--primary:visited {
    border-color: #f2c267;
    background: linear-gradient(180deg, #f7d47e 0%, #d6a840 100%);
    color: #160f0a;
    box-shadow: 0 0.75rem 1.75rem rgba(0, 0, 0, 0.22);
}

body.home .homepage-final-cta__actions .button--primary:hover,
body.home .homepage-final-cta__actions .button--primary:focus-visible {
    border-color: #ffe3a3;
    background: linear-gradient(180deg, #ffe3a3 0%, #e0b34f 100%);
    color: #120d09;
}

body.home .homepage-final-cta__actions .button--secondary,
body.home .homepage-final-cta__actions .button--secondary:visited {
    border-color: rgba(255, 246, 239, 0.72);
    background: rgba(255, 246, 239, 0.08);
    color: #fff6ef;
}

body.home .homepage-final-cta__actions .button--secondary:hover,
body.home .homepage-final-cta__actions .button--secondary:focus-visible {
    border-color: #fff6ef;
    background: #fff6ef;
    color: #1b120c;
}

body.home .homepage-final-cta__actions .button:focus-visible {
    outline: 3px solid #fff6ef;
    outline-offset: 3px;
}

@media (max-width: 64rem) {
    body.home .homepage-final-cta__inner {
        grid-template-columns: 1fr;
    }

    body.home .homepage-final-cta__actions {
        justify-content: flex-start;
    }
}

@media (max-width: 48rem) {
    body.home .homepage-final-cta h2 {
        max-width: 100%;
    }

    body.home .homepage-final-cta__actions {
        flex-direction: column;
    }

    body.home .homepage-final-cta__actions .button {
        width: 100%;
    }
}
/* HOME-027 — viewport-height homepage panel sequence ----------------------- */
.home-panel-sequence {
    background: var(--miliki-cream, #fff6ef);
}

.home-panel {
    position: relative;
    isolation: isolate;
    color: var(--miliki-ink, #1f1712);
}

.home-panel--dark {
    background: var(--miliki-black, #050403);
    color: var(--miliki-cream, #fff6ef);
}

.home-panel__inner,
.home-panel__inner.container {
    width: min(100% - 2rem, 1360px);
    margin-inline: auto;
    display: grid;
    gap: clamp(1.5rem, 3vw, 4rem);
}

.home-panel--catering.homepage-section--catering,
.home-panel--visit.home-visit-hero,
.home-panel--reviews.home-reviews-carousel,
.home-panel--about.home-about-editorial {
    margin: 0;
}

@media (min-width: 1024px) {
    .home-panel {
        min-height: 100svh;
        height: 100svh;
        overflow: hidden;
        display: grid;
        align-items: center;
    }

    .admin-bar .home-panel {
        min-height: calc(100svh - var(--wp-admin--admin-bar--height, 32px));
        height: calc(100svh - var(--wp-admin--admin-bar--height, 32px));
    }

    .home-panel__inner,
    .home-panel__inner.container {
        max-height: calc(100svh - 6rem);
    }

    .admin-bar .home-panel__inner,
    .admin-bar .home-panel__inner.container {
        max-height: calc(100svh - 6rem - var(--wp-admin--admin-bar--height, 32px));
    }

    .home-panel--catering.homepage-section--catering,
    .home-panel--reviews.home-reviews-carousel,
    .home-panel--about.home-about-editorial {
        padding: 0;
    }

    .home-panel--catering .home-catering-showcase {
        gap: clamp(0.9rem, 2vh, 1.5rem);
    }

    .home-panel--catering .home-catering-showcase__intro {
        grid-template-columns: minmax(0, 1fr) minmax(16rem, 22rem);
        align-items: end;
        gap: clamp(1.25rem, 3vw, 3rem);
    }

    .home-panel--catering .home-catering-showcase__copy {
        max-width: 52rem;
    }

    body.home .home-panel--catering.homepage-section--catering h2 {
        max-width: 16ch;
        font-size: clamp(2.35rem, 4.8vw, 4.6rem);
        line-height: 0.94;
    }

    body.home .home-panel--catering.homepage-section--catering p {
        font-size: clamp(0.96rem, 1vw, 1.05rem);
        line-height: 1.48;
    }

    .home-panel--catering .home-catering-showcase__copy p:not(.homepage-section__eyebrow) {
        max-width: 58ch;
        margin-block: 0.65rem 0;
    }

    .home-panel--catering .home-catering-showcase__cta-card {
        padding: clamp(1rem, 2vw, 1.35rem);
    }

    .home-panel--catering .home-catering-showcase__videos.miliki-video-grid {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: clamp(1rem, 2vw, 2rem);
    }

    .home-panel--catering .home-catering-video-card,
    .home-panel--catering .home-catering-video-card .miliki-video-card__preview {
        max-height: 52vh;
    }

    .home-panel--catering .home-catering-video-card .miliki-video-card__preview {
        aspect-ratio: 4 / 5;
    }

    .home-panel--catering .home-catering-video-card .miliki-video-card__content {
        padding-top: 0.7rem;
    }

    .home-panel--catering .home-catering-video-card .miliki-video-card__title {
        font-size: clamp(1rem, 1.25vw, 1.22rem);
        line-height: 1.1;
    }

    .home-panel--catering .home-catering-video-card .miliki-video-card__caption {
        margin-top: 0.25rem;
        font-size: 0.92rem;
        line-height: 1.35;
    }

    .home-panel--visit.home-visit-hero {
        align-items: center;
    }

    .home-panel--visit .home-visit-hero__inner {
        padding: 0;
    }

    .home-panel--visit .home-visit-hero__content {
        max-width: none;
    }

    .home-panel--visit .home-visit-hero__heading {
        max-width: 12ch;
        font-size: clamp(2.55rem, 5vw, 5.4rem);
        line-height: 0.92;
    }

    .home-panel--visit .home-visit-hero__intro {
        max-width: 48rem;
        margin-top: 0.85rem;
        font-size: clamp(0.98rem, 1.05vw, 1.08rem);
        line-height: 1.5;
    }

    .home-panel--visit .home-visit-hero__details {
        grid-template-columns: minmax(0, 1.05fr) minmax(19rem, 0.72fr);
        gap: clamp(1.2rem, 3vw, 2.5rem);
        margin-top: clamp(1rem, 2.4vh, 1.75rem);
    }

    .home-panel--visit .home-visit-hero__details h3 {
        margin-bottom: 0.5rem;
        font-size: clamp(1.05rem, 1.5vw, 1.38rem);
    }

    .home-panel--visit .home-visit-hero__details address,
    .home-panel--visit .home-visit-hero__details p,
    .home-panel--visit .home-visit-hero__details li {
        font-size: clamp(0.9rem, 0.95vw, 1rem);
        line-height: 1.38;
    }

    .home-panel--visit .home-visit-hero__phone,
    .home-panel--visit .home-visit-hero__email,
    .home-panel--visit .home-visit-hero__actions,
    .home-panel--visit .home-visit-hero__map {
        margin-top: 0.78rem;
    }

    .home-panel--visit .home-visit-hero__map {
        width: min(100%, 38rem);
    }

    .home-panel--visit .home-visit-hero__map iframe {
        height: clamp(180px, 24vh, 260px);
    }

    .home-panel--visit .home-visit-hero__hours {
        padding: clamp(1rem, 1.6vw, 1.35rem);
    }

    .home-panel--visit .home-visit-hero__hours ul {
        gap: 0.25rem;
        margin-bottom: 0.95rem;
    }

    .home-panel--visit .home-visit-hero__hours li {
        padding-bottom: 0.28rem;
    }

    .home-panel--visit .home-visit-hero__hours .miliki-button {
        margin-top: 0.75rem;
    }

    .home-panel--reviews.home-reviews-carousel {
        align-content: center;
        gap: 0;
        padding: 0;
    }

    .home-reviews-carousel__panel.home-panel__inner {
        width: 100%;
        max-width: none;
        gap: clamp(0.9rem, 2vh, 1.5rem);
    }

    .home-panel--reviews .home-reviews-carousel__intro,
    .home-panel--reviews .home-reviews-carousel__conversion {
        width: min(100% - 2rem, 1360px);
    }

    .home-panel--reviews .home-reviews-carousel__intro {
        grid-template-columns: minmax(0, 1fr) minmax(18rem, 32rem);
        align-items: end;
        gap: clamp(1rem, 2.6vw, 2.5rem);
    }

    .home-panel--reviews .home-reviews-carousel__copy {
        max-width: 54rem;
    }

    .home-panel--reviews .home-reviews-carousel h2 {
        max-width: 18ch;
        font-size: clamp(2.45rem, 4.6vw, 4.8rem);
        line-height: 0.94;
    }

    .home-panel--reviews .home-reviews-carousel__copy > p:not(.home-reviews-carousel__eyebrow) {
        max-width: 58rem;
        margin-top: 0.75rem;
        font-size: clamp(0.96rem, 1vw, 1.06rem);
        line-height: 1.45;
    }

    .home-panel--reviews .home-reviews-carousel__actions {
        max-width: 34rem;
    }

    .home-panel--reviews .home-reviews-carousel__rail {
        gap: clamp(1rem, 2vw, 2rem);
        padding-bottom: 0.5rem;
    }

    .home-panel--reviews .home-reviews-carousel__item {
        flex-basis: clamp(280px, 31vw, 520px);
        gap: 0.65rem;
    }

    .home-panel--reviews .home-reviews-carousel__media {
        height: clamp(17rem, 43vh, 28rem);
        aspect-ratio: auto;
    }

    .home-panel--reviews .home-reviews-carousel__meta {
        gap: 0.22rem;
    }

    .home-panel--reviews .home-reviews-carousel__meta h3 {
        font-size: clamp(1.05rem, 1.35vw, 1.35rem);
        line-height: 1.08;
    }

    .home-panel--reviews .home-reviews-carousel__meta span {
        font-size: 0.9rem;
        line-height: 1.35;
    }

    .home-panel--reviews .home-reviews-carousel__conversion {
        padding-top: 0;
    }

    .home-panel--reviews .home-reviews-carousel__conversion h3 {
        font-size: clamp(1.1rem, 1.7vw, 1.55rem);
    }

    .home-panel--reviews .home-reviews-carousel__conversion p {
        margin-top: 0.2rem;
        line-height: 1.35;
    }

    .home-panel--about.home-about-editorial {
        padding: 0;
    }

    .home-panel--about .home-about-editorial__inner {
        grid-template-columns: minmax(0, 0.92fr) minmax(0, 1fr);
        align-items: center;
        gap: clamp(1.5rem, 4vw, 4rem);
        width: min(100% - 2rem, 1280px);
    }

    .home-panel--about .home-about-editorial__media {
        width: 100%;
        max-width: none;
        margin: 0;
    }

    .home-panel--about .home-about-editorial__figure img {
        height: clamp(20rem, 62vh, 38rem);
    }

    .home-panel--about .home-about-editorial__figure--right {
        transform: translateY(clamp(0.75rem, 2vh, 1.5rem));
    }

    .home-panel--about .home-about-editorial__content {
        width: min(100%, 42rem);
        margin: 0;
    }

    .home-panel--about .home-about-editorial__heading {
        font-size: clamp(2.45rem, 4.8vw, 4.9rem);
    }

    .home-panel--about .home-about-editorial__copy {
        margin-top: 0.9rem;
        font-size: clamp(0.98rem, 1vw, 1.08rem);
        line-height: 1.55;
    }

    .home-panel--about .home-about-editorial .miliki-button {
        margin-top: 1.25rem;
    }
}

@media (min-width: 1024px) and (max-height: 860px) {
    .home-panel__inner,
    .home-panel__inner.container {
        max-height: calc(100svh - 3rem);
    }

    .admin-bar .home-panel__inner,
    .admin-bar .home-panel__inner.container {
        max-height: calc(100svh - 3rem - var(--wp-admin--admin-bar--height, 32px));
    }

    body.home .home-panel--catering.homepage-section--catering h2,
    .home-panel--visit .home-visit-hero__heading,
    .home-panel--reviews .home-reviews-carousel h2,
    .home-panel--about .home-about-editorial__heading {
        font-size: clamp(2.15rem, 4.2vw, 4rem);
    }

    .home-panel--catering .home-catering-video-card .miliki-video-card__preview {
        max-height: 42vh;
    }

    .home-panel--reviews .home-reviews-carousel__media {
        height: clamp(14rem, 36vh, 21rem);
    }

    .home-panel--about .home-about-editorial__figure img {
        height: clamp(16rem, 52vh, 28rem);
    }
}

@media (max-width: 1023px) {
    .home-panel-sequence {
        background: var(--miliki-cream, #fff6ef);
    }

    .home-panel {
        min-height: auto;
        height: auto;
        overflow: visible;
        padding-block: clamp(4rem, 12vw, 7rem);
    }

    .home-panel.home-visit-hero,
    .home-panel.home-reviews-carousel,
    .home-panel.home-about-editorial {
        min-height: auto;
    }

    .home-panel.home-visit-hero {
        align-items: flex-start;
    }

    .home-panel__inner,
    .home-panel__inner.container {
        width: min(100% - 2rem, 44rem);
        gap: clamp(1.75rem, 6vw, 3rem);
    }

    .home-reviews-carousel__panel.home-panel__inner {
        width: 100%;
        max-width: none;
    }

    .home-panel--catering .home-catering-showcase__intro,
    .home-panel--visit .home-visit-hero__details,
    .home-panel--reviews .home-reviews-carousel__intro,
    .home-panel--reviews .home-reviews-carousel__conversion,
    .home-panel--about .home-about-editorial__inner {
        grid-template-columns: 1fr;
    }

    .home-panel--about .home-about-editorial__media {
        grid-template-columns: 1fr 1fr;
        width: 100%;
    }
}

/* HOME-027-FIX-001 — tighten panel math without clipping media ------------- */
@media (min-width: 1024px) {
    body.home .home-panel {
        --home-panel-gutter-y: clamp(1rem, 2.6vh, 2rem);
        align-items: center;
    }

    body.home .home-panel__inner,
    body.home .home-panel__inner.container {
        max-height: calc(100svh - (var(--home-panel-gutter-y) * 2));
    }

    body.admin-bar.home .home-panel__inner,
    body.admin-bar.home .home-panel__inner.container {
        max-height: calc(100svh - (var(--home-panel-gutter-y) * 2) - var(--wp-admin--admin-bar--height, 32px));
    }

    body.home .home-panel--catering .home-catering-showcase,
    body.home .home-panel--reviews .home-reviews-carousel__panel {
        height: calc(100svh - (var(--home-panel-gutter-y) * 2));
        max-height: none;
        min-height: 0;
    }

    body.admin-bar.home .home-panel--catering .home-catering-showcase,
    body.admin-bar.home .home-panel--reviews .home-reviews-carousel__panel {
        height: calc(100svh - (var(--home-panel-gutter-y) * 2) - var(--wp-admin--admin-bar--height, 32px));
    }

    body.home .home-panel--catering .home-catering-showcase {
        grid-template-rows: auto minmax(0, 1fr);
        align-content: stretch;
        gap: clamp(0.65rem, 1.5vh, 1.1rem);
    }

    body.home .home-panel--catering .home-catering-showcase__intro {
        align-items: end;
        gap: clamp(1rem, 2.4vw, 2rem);
    }

    body.home .home-panel--catering .homepage-section__eyebrow {
        margin-bottom: 0.45rem;
    }

    body.home .home-panel--catering.homepage-section--catering h2 {
        max-width: 17ch;
        font-size: clamp(2.15rem, 4vw, 4.15rem);
        line-height: 0.93;
    }

    body.home .home-panel--catering.homepage-section--catering p {
        font-size: clamp(0.94rem, 0.95vw, 1.02rem);
        line-height: 1.38;
    }

    body.home .home-panel--catering .home-catering-showcase__copy p:not(.homepage-section__eyebrow) {
        margin-block-start: 0.55rem;
    }

    body.home .home-panel--catering .home-catering-showcase__cta-card {
        padding: clamp(0.95rem, 1.6vw, 1.2rem);
        border-radius: clamp(1rem, 1.6vw, 1.35rem);
    }

    body.home .home-panel--catering .home-catering-showcase__cta-card p {
        line-height: 1.35;
    }

    body.home .home-panel--catering .home-catering-showcase__videos.miliki-video-grid {
        min-height: 0;
        align-items: stretch;
        grid-auto-rows: minmax(0, 1fr);
    }

    body.home .home-panel--catering .home-catering-video-card {
        min-height: 0;
        max-height: none;
        overflow: visible;
    }

    body.home .home-panel--catering .home-catering-video-card .miliki-video-card__button {
        display: grid;
        grid-template-rows: minmax(0, 1fr) auto;
        min-height: 0;
        height: 100%;
    }

    body.home .home-panel--catering .home-catering-video-card .miliki-video-card__preview {
        min-height: 0;
        height: 100%;
        max-height: none;
        aspect-ratio: auto;
    }

    body.home .home-panel--catering .home-catering-video-card .miliki-video-card__content {
        padding-top: clamp(0.45rem, 1vh, 0.65rem);
    }

    body.home .home-panel--catering .home-catering-video-card .miliki-video-card__title {
        font-size: clamp(0.96rem, 1.08vw, 1.12rem);
        line-height: 1.08;
    }

    body.home .home-panel--catering .home-catering-video-card .miliki-video-card__caption {
        font-size: clamp(0.82rem, 0.9vw, 0.92rem);
        line-height: 1.25;
    }

    body.home .home-panel--catering .home-catering-video-card .miliki-video-card__play {
        bottom: 0.75rem;
        min-width: 3.75rem;
        min-height: 3.75rem;
    }

    body.home .home-panel--reviews .home-reviews-carousel__panel {
        grid-template-rows: auto minmax(0, 1fr) auto;
        align-content: stretch;
        gap: clamp(0.7rem, 1.4vh, 1.15rem);
    }

    body.home .home-panel--reviews .home-reviews-carousel h2 {
        font-size: clamp(2.3rem, 4vw, 4.35rem);
        line-height: 0.92;
    }

    body.home .home-panel--reviews .home-reviews-carousel__copy > p:not(.home-reviews-carousel__eyebrow) {
        margin-top: 0.55rem;
        line-height: 1.36;
    }

    body.home .home-panel--reviews .home-reviews-carousel__rail-wrap,
    body.home .home-panel--reviews .home-reviews-carousel__rail,
    body.home .home-panel--reviews .home-reviews-carousel__item {
        min-height: 0;
    }

    body.home .home-panel--reviews .home-reviews-carousel__rail {
        height: 100%;
        align-items: stretch;
        padding-bottom: 0.25rem;
    }

    body.home .home-panel--reviews .home-reviews-carousel__item {
        grid-template-rows: minmax(0, 1fr) auto;
    }

    body.home .home-panel--reviews .home-reviews-carousel__media {
        height: 100%;
        min-height: 0;
        max-height: none;
    }

    body.home .home-panel--about .home-about-editorial__inner {
        max-height: calc(100svh - (var(--home-panel-gutter-y) * 2));
    }

    body.admin-bar.home .home-panel--about .home-about-editorial__inner {
        max-height: calc(100svh - (var(--home-panel-gutter-y) * 2) - var(--wp-admin--admin-bar--height, 32px));
    }
}

@media (min-width: 1024px) and (max-height: 860px) {
    body.home .home-panel {
        --home-panel-gutter-y: clamp(0.6rem, 1.5vh, 1.15rem);
    }

    body.home .home-panel--catering.homepage-section--catering h2,
    body.home .home-panel--reviews .home-reviews-carousel h2 {
        font-size: clamp(2rem, 3.7vw, 3.75rem);
    }

    body.home .home-panel--catering .home-catering-showcase__intro,
    body.home .home-panel--reviews .home-reviews-carousel__intro {
        gap: clamp(0.8rem, 2vw, 1.5rem);
    }
}

/* HOME-027-FIX-002 — logged-in viewport fill + catering media breathing room - */
@media (min-width: 1024px) {
    /* WordPress already offsets logged-in front-end content for the admin bar.
       Subtracting the admin-bar height again made each panel too short and
       exposed a strip of the next section at the bottom. */
    body.admin-bar.home .home-panel {
        min-height: 100svh;
        height: 100svh;
    }

    body.admin-bar.home .home-panel__inner,
    body.admin-bar.home .home-panel__inner.container,
    body.admin-bar.home .home-panel--about .home-about-editorial__inner {
        max-height: calc(100svh - (var(--home-panel-gutter-y) * 2));
    }

    body.admin-bar.home .home-panel--catering .home-catering-showcase,
    body.admin-bar.home .home-panel--reviews .home-reviews-carousel__panel {
        height: calc(100svh - (var(--home-panel-gutter-y) * 2));
    }

    body.home .home-panel--catering .home-catering-showcase {
        box-sizing: border-box;
        padding-bottom: clamp(0.85rem, 2vh, 1.5rem);
    }

    body.home .home-panel--catering .home-catering-showcase__videos.miliki-video-grid {
        padding-bottom: 0;
    }
}

/* HOME-027-FIX-003 — show catering video titles without bottom clipping ------ */
@media (min-width: 1024px) {
    body.home .home-panel--catering {
        --home-panel-gutter-y: clamp(0.45rem, 1.2vh, 0.9rem);
    }

    body.home .home-panel--catering .home-catering-showcase {
        padding-bottom: clamp(1rem, 2.2vh, 1.75rem);
        gap: clamp(0.5rem, 1.2vh, 0.9rem);
    }

    body.home .home-panel--catering .home-catering-showcase__intro {
        transform: translateY(clamp(-1.1rem, -1.8vh, -0.5rem));
    }

    body.home .home-panel--catering .home-catering-showcase__videos.miliki-video-grid {
        transform: translateY(clamp(-0.7rem, -1vh, -0.3rem));
    }

    body.home .home-panel--catering .home-catering-video-card .miliki-video-card__button {
        height: 100%;
        overflow: visible;
    }

    body.home .home-panel--catering .home-catering-video-card .miliki-video-card__preview {
        height: auto;
        min-height: 0;
        max-height: none;
    }

    body.home .home-panel--catering .home-catering-video-card .miliki-video-card__content {
        min-height: 2.8rem;
        padding-top: clamp(0.35rem, 0.75vh, 0.55rem);
    }

    body.home .home-panel--catering .home-catering-video-card .miliki-video-card__caption {
        display: -webkit-box;
        overflow: hidden;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 1;
    }
}

@media (min-width: 1024px) and (max-height: 860px) {
    body.home .home-panel--catering .home-catering-video-card .miliki-video-card__content {
        min-height: 2.45rem;
    }

    body.home .home-panel--catering .home-catering-video-card .miliki-video-card__caption {
        display: none;
    }
}

/* HOME-027-FIX-004 — explicit catering card media cap + visible titles ------- */
@media (min-width: 1024px) {
    body.home .home-panel--catering {
        align-items: center;
    }

    body.home .home-panel--catering .home-catering-showcase {
        height: auto;
        max-height: calc(100svh - 2rem);
        padding-bottom: clamp(0.9rem, 1.8vh, 1.35rem);
        grid-template-rows: auto auto;
        align-content: center;
        gap: clamp(0.85rem, 1.8vh, 1.35rem);
        overflow: visible;
    }

    body.admin-bar.home .home-panel--catering .home-catering-showcase {
        height: auto;
        max-height: calc(100svh - 2rem);
    }

    body.home .home-panel--catering .home-catering-showcase__intro,
    body.home .home-panel--catering .home-catering-showcase__videos.miliki-video-grid {
        transform: none;
    }

    body.home .home-panel--catering .home-catering-showcase__videos.miliki-video-grid {
        align-items: start;
        grid-auto-rows: auto;
        min-height: 0;
        overflow: visible;
    }

    body.home .home-panel--catering .home-catering-video-card,
    body.home .home-panel--catering .home-catering-video-card .miliki-video-card__button {
        display: block;
        height: auto;
        min-height: 0;
        overflow: visible;
    }

    body.home .home-panel--catering .home-catering-video-card .miliki-video-card__preview {
        display: block;
        height: clamp(17rem, 42vh, 29rem);
        min-height: 0;
        max-height: none;
        aspect-ratio: auto;
        overflow: hidden;
    }

    body.home .home-panel--catering .home-catering-video-card .miliki-video-card__content {
        display: block;
        min-height: 0;
        padding-top: clamp(0.55rem, 1vh, 0.8rem);
        padding-bottom: 0;
    }

    body.home .home-panel--catering .home-catering-video-card .miliki-video-card__title {
        display: block;
        color: var(--miliki-black, #090806);
        font-size: clamp(0.98rem, 1.08vw, 1.14rem);
        line-height: 1.12;
    }

    body.home .home-panel--catering .home-catering-video-card .miliki-video-card__caption {
        display: block;
        margin-top: 0.2rem;
        overflow: hidden;
        color: var(--miliki-color-muted, #665b54);
        font-size: clamp(0.82rem, 0.9vw, 0.9rem);
        line-height: 1.22;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
}

@media (min-width: 1024px) and (max-height: 860px) {
    body.home .home-panel--catering .home-catering-showcase {
        max-height: calc(100svh - 1rem);
        gap: clamp(0.55rem, 1.2vh, 0.9rem);
    }

    body.home .home-panel--catering .home-catering-video-card .miliki-video-card__preview {
        height: clamp(14rem, 38vh, 22rem);
    }

    body.home .home-panel--catering .home-catering-video-card .miliki-video-card__caption {
        display: none;
    }
}


/* ========================================================================== 
   HEADER-006 — true overlay smart reveal header
   Final cascade guard: keep heroes flush to the viewport while restoring the
   hide-on-scroll-down / reveal-on-scroll-up behaviour.
   ========================================================================== */

body.admin-bar {
    --wp-admin--admin-bar--height: 32px;
}

@media (max-width: 782px) {
    body.admin-bar {
        --wp-admin--admin-bar--height: 46px;
    }
}

.site-header,
.site-header.site-header--overlay-nav,
body.has-overlay-header .site-header,
body.has-overlay-header .site-header.site-header--overlay-nav,
.site-header--overlay-nav[data-overlay-header] {
    position: fixed !important;
    top: var(--wp-admin--admin-bar--height, 0px) !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    z-index: 1000 !important;
    color: inherit;
    background: transparent !important;
    background-color: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    opacity: 1;
    overflow: visible !important;
    pointer-events: none;
    transform: translateY(0);
    transition:
        transform 260ms ease,
        background-color 260ms ease,
        color 260ms ease,
        opacity 260ms ease;
    will-change: transform;
}

.site-header.is-hidden,
.site-header.site-header--hidden,
.site-header--overlay-nav.is-hidden,
.site-header--overlay-nav.site-header--hidden,
body.has-overlay-header .site-header.is-hidden,
body.has-overlay-header .site-header.site-header--hidden {
    transform: translateY(calc(-100% - var(--wp-admin--admin-bar--height, 0px))) !important;
}

body.has-desktop-menu-open .site-header,
body.has-desktop-menu-open .site-header.site-header--overlay-nav {
    transform: translateY(0) !important;
}

.site-header.is-scrolled,
.site-header.site-header--overlay-nav.is-scrolled,
body.has-overlay-header .site-header.is-scrolled,
body.has-overlay-header .site-header.site-header--overlay-nav.is-scrolled {
    color: #fffaf2 !important;
    background: rgba(11, 7, 4, 0.72) !important;
    background-color: rgba(11, 7, 4, 0.72) !important;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

.site-header::before,
.site-header::after,
.site-header--overlay-nav::before,
.site-header--overlay-nav::after,
body.has-overlay-header .site-header::before,
body.has-overlay-header .site-header::after {
    content: none !important;
    display: none !important;
}

.site-header .site-header__inner,
.site-header.site-header--overlay-nav .site-header__inner,
body.has-overlay-header .site-header .site-header__inner,
body.has-overlay-header .site-header.site-header--overlay-nav .site-header__inner {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: clamp(1rem, 2vw, 1.5rem) clamp(1rem, 4vw, 4rem) !important;
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: clamp(1rem, 3vw, 2rem) !important;
    color: inherit;
    background: transparent !important;
    background-color: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    pointer-events: auto;
}

.site-header .site-header__container,
.site-header .site-header__nav-row,
.site-header .site-header__bar,
.site-header .site-header__content,
.site-header .lsp-container,
.site-header .miliki-container,
body.has-overlay-header .site-header .site-header__container,
body.has-overlay-header .site-header .site-header__nav-row,
body.has-overlay-header .site-header .site-header__bar,
body.has-overlay-header .site-header .site-header__content,
body.has-overlay-header .site-header .lsp-container,
body.has-overlay-header .site-header .miliki-container {
    background: transparent !important;
    background-color: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

body.has-overlay-header .site-main,
body.has-overlay-header #main-content.site-main,
body.home .site-main,
body.home #main-content.site-main,
body.page-slug-reviews .site-main,
body.page-slug-reviews #main-content.site-main {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

.site-header--on-dark,
.site-header.is-on-dark {
    color: #fffaf2;
}

.site-header--on-light,
.site-header.is-on-light {
    color: #1f1712;
}

.site-header--on-dark .site-header__site-name,
.site-header--on-dark .site-header__name,
.site-header--on-dark .custom-logo-link,
.site-header--on-dark .site-header__hours,
.site-header--on-dark .site-header__menu-trigger,
.site-header.is-on-dark .site-header__site-name,
.site-header.is-on-dark .site-header__name,
.site-header.is-on-dark .custom-logo-link,
.site-header.is-on-dark .site-header__hours,
.site-header.is-on-dark .site-header__menu-trigger {
    color: #fffaf2 !important;
    text-shadow: 0 1px 8px rgba(0, 0, 0, 0.58);
}

.site-header--on-light .site-header__site-name,
.site-header--on-light .site-header__name,
.site-header--on-light .custom-logo-link,
.site-header--on-light .site-header__hours,
.site-header--on-light .site-header__menu-trigger,
.site-header.is-on-light .site-header__site-name,
.site-header.is-on-light .site-header__name,
.site-header.is-on-light .custom-logo-link,
.site-header.is-on-light .site-header__hours,
.site-header.is-on-light .site-header__menu-trigger {
    color: #1f1712 !important;
    text-shadow: none;
}

.site-header.is-scrolled .site-header__site-name,
.site-header.is-scrolled .site-header__name,
.site-header.is-scrolled .custom-logo-link,
.site-header.is-scrolled .site-header__hours,
.site-header.is-scrolled .site-header__menu-trigger {
    color: #fffaf2 !important;
    text-shadow: none;
}

.site-header .site-header__menu-icon span,
.site-header .site-header__menu-lines,
.site-header .site-header__menu-lines::before,
.site-header .site-header__menu-lines::after,
body.has-overlay-header .site-header .site-header__menu-icon span,
body.has-overlay-header .site-header .site-header__menu-lines,
body.has-overlay-header .site-header .site-header__menu-lines::before,
body.has-overlay-header .site-header .site-header__menu-lines::after {
    background: currentColor !important;
    background-color: currentColor !important;
}

@media (max-width: 767px) {
    .site-header .site-header__inner,
    body.has-overlay-header .site-header .site-header__inner {
        padding: clamp(0.85rem, 3.5vw, 1.1rem) 1rem !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .site-header,
    .site-header.site-header--overlay-nav,
    body.has-overlay-header .site-header,
    body.has-overlay-header .site-header.site-header--overlay-nav {
        transition: none !important;
    }
}

/* HOME-028 — simple premium hover/focus life for post-menu homepage sections - */
@media (hover: hover) and (pointer: fine) {
    body.home .home-panel-sequence .button,
    body.home .home-panel-sequence .miliki-button,
    body.home .homepage-section--faq .button,
    body.home .homepage-final-cta .button {
        transition:
            transform 220ms ease,
            box-shadow 220ms ease,
            border-color 220ms ease,
            background-color 220ms ease,
            color 220ms ease;
    }

    body.home .home-panel-sequence .button:hover,
    body.home .home-panel-sequence .miliki-button:hover,
    body.home .homepage-section--faq .button:hover,
    body.home .homepage-final-cta .button:hover {
        transform: translateY(-2px);
    }

    body.home .home-catering-video-card .miliki-video-card__preview,
    body.home .home-reviews-carousel__media,
    body.home .home-about-editorial__figure,
    body.home .home-visit-hero__map,
    body.home .home-visit-hero__hours,
    body.home .faq-accordion__item {
        transition:
            transform 260ms ease,
            box-shadow 260ms ease,
            border-color 260ms ease,
            filter 260ms ease,
            opacity 260ms ease;
        will-change: transform;
    }

    body.home .home-catering-video-card:hover .miliki-video-card__preview,
    body.home .home-catering-video-card:focus-within .miliki-video-card__preview,
    body.home .home-reviews-carousel__item:hover .home-reviews-carousel__media,
    body.home .home-reviews-carousel__item:focus-within .home-reviews-carousel__media,
    body.home .home-about-editorial__figure:hover,
    body.home .home-visit-hero__map:hover,
    body.home .home-visit-hero__hours:hover,
    body.home .faq-accordion__item:hover,
    body.home .faq-accordion__item:focus-within {
        transform: translateY(-4px);
    }

    body.home .home-catering-video-card:hover .miliki-video-card__preview,
    body.home .home-catering-video-card:focus-within .miliki-video-card__preview {
        box-shadow: 0 1.6rem 3.8rem rgba(33, 29, 26, 0.2);
    }

    body.home .home-reviews-carousel__item:hover .home-reviews-carousel__media,
    body.home .home-reviews-carousel__item:focus-within .home-reviews-carousel__media,
    body.home .home-visit-hero__map:hover,
    body.home .home-visit-hero__hours:hover {
        border-color: rgba(224, 185, 91, 0.46);
        box-shadow: 0 1.4rem 3.4rem rgba(0, 0, 0, 0.26);
    }

    body.home .home-about-editorial__figure:hover {
        filter: saturate(1.04) contrast(1.03);
    }

    body.home .faq-accordion__item:hover,
    body.home .faq-accordion__item:focus-within {
        border-color: rgba(224, 185, 91, 0.42);
        box-shadow: 0 1rem 2.4rem rgba(33, 29, 26, 0.08);
    }

    body.home .home-reviews-carousel__play {
        transition:
            transform 220ms ease,
            background-color 220ms ease,
            box-shadow 220ms ease,
            opacity 180ms ease;
    }

    body.home .home-reviews-carousel__item:hover .home-reviews-carousel__play,
    body.home .home-reviews-carousel__item:focus-within .home-reviews-carousel__play {
        transform: translate(-50%, -50%) scale(1.07);
        box-shadow: 0 1.1rem 2.4rem rgba(0, 0, 0, 0.34);
    }
}

@media (prefers-reduced-motion: reduce) {
    body.home .home-panel-sequence .button,
    body.home .home-panel-sequence .miliki-button,
    body.home .homepage-section--faq .button,
    body.home .homepage-final-cta .button,
    body.home .home-catering-video-card .miliki-video-card__preview,
    body.home .home-reviews-carousel__media,
    body.home .home-about-editorial__figure,
    body.home .home-visit-hero__map,
    body.home .home-visit-hero__hours,
    body.home .faq-accordion__item,
    body.home .home-reviews-carousel__play {
        transition: none;
        will-change: auto;
    }
}

/* ---- Mobile overlay: readable grouped strip layout ------------------------- */
.desktop-menu-overlay__mobile-nav {
    display: none;
}

@media (max-width: 767px) {
    .desktop-menu-overlay {
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior: contain;
    }

    .desktop-menu-overlay__inner {
        min-height: 100%;
        height: auto;
        padding: calc(var(--miliki-admin-bar-offset) + 5rem) 1.25rem 7.5rem;
    }

    .desktop-menu-overlay__nav {
        display: none;
    }

    .desktop-menu-overlay__mobile-nav {
        display: flex;
        flex-direction: column;
        gap: 2rem;
        width: 100%;
        max-width: 42rem;
        margin: 0 auto;
    }

    .desktop-menu-overlay__mobile-section {
        display: block;
        min-width: 0;
        padding: 0 0 1.5rem;
        border-bottom: 1px solid rgba(201, 168, 76, 0.24);
    }

    .desktop-menu-overlay__mobile-section:last-child {
        border-bottom: 0;
        padding-bottom: 0;
    }

    .desktop-menu-overlay__mobile-heading {
        margin: 0 0 0.9rem;
        color: var(--overlay-gold, #c9a84c);
        font-size: 0.78rem;
        font-weight: 800;
        line-height: 1.2;
        letter-spacing: 0.18em;
        text-transform: uppercase;
    }

    .desktop-menu-overlay__mobile-list {
        display: flex;
        flex-direction: column;
        gap: 0.4rem;
        margin: 0;
        padding: 0;
        list-style: none;
    }

    .desktop-menu-overlay__mobile-link {
        display: block;
        width: 100%;
        min-height: 3rem;
        padding: 0.35rem 0;
        color: var(--overlay-cream, #fffaf6);
        font-family: var(--font-display, Georgia, 'Times New Roman', serif);
        font-size: clamp(1.75rem, 8vw, 2.75rem);
        font-weight: 700;
        line-height: 1.08;
        letter-spacing: -0.04em;
        text-decoration: none;
        white-space: normal;
        overflow-wrap: normal;
        word-break: normal;
    }

    .desktop-menu-overlay__mobile-link:hover,
    .desktop-menu-overlay__mobile-link:focus-visible {
        color: var(--overlay-gold, #c9a84c);
    }

    .desktop-menu-overlay__mobile-link:focus-visible {
        outline: 3px solid var(--overlay-gold, #c9a84c);
        outline-offset: 0.25rem;
        border-radius: 0.25rem;
    }

    .desktop-menu-overlay__close {
        top: calc(var(--miliki-admin-bar-offset) + 1rem);
        right: 1rem;
        z-index: 10002;
        background: rgba(5, 4, 3, 0.72);
    }
}

/* ========================================================================== 
   TICKET-002 — remove mobile dead scroll space after footer
   Keep the fixed mobile CTA row out of document flow; reserve tappable space
   inside the footer instead of adding fake page height to <body>.
   ========================================================================== */
@media (max-width: 48rem) {
    :root {
        --miliki-mobile-cta-row-height: 4.35rem;
    }

    body {
        padding-bottom: 0 !important;
    }

    .site-main,
    #main-content.site-main {
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
    }

    .site-main > :last-child {
        margin-bottom: 0 !important;
    }

    .site-footer {
        margin-bottom: 0 !important;
        padding-bottom: calc(2rem + var(--miliki-mobile-cta-row-height) + env(safe-area-inset-bottom)) !important;
    }

    .mobile-cta-row {
        position: fixed;
        inset-inline: 0;
        bottom: 0;
        z-index: 999;
    }
}

