:root {
    --orchid: #8a3b82;
    --orchid-dark: #5e2361;
    --ivory: #fff7ec;
    --white: #ffffff;
    --plum: #241422;
    --basil: #4e7a4b;
    --bamboo: #d8b982;
    --gold: #e2a93b;
    --chili: #c63d2f;
    --shadow: 0 16px 40px rgba(36, 20, 34, 0.10);
    --radius: 22px;
    --container: 1180px;
    --home-hero-title-desktop: clamp(3rem,4.5vw,4.6rem);
    --home-hero-title-mobile: clamp(3.05rem,13.5vw,4.35rem);
    --home-hero-script-mobile: clamp(2.75rem,12vw,3.9rem);
    --home-hero-body-desktop: .96rem;
    --home-hero-body-mobile: .9rem;
    --home-section-title-desktop: clamp(1.8rem,2.6vw,2.5rem);
    --home-section-title-mobile: clamp(1.85rem,8vw,2.35rem);
}

.branches-map-status {
    margin: .6rem 0 0;
    color: #6f646b;
    font-size: .58rem;
}

.branches-map-list article {
    cursor: pointer;
    transition: background .18s ease, box-shadow .18s ease;
}

.branches-map-list article.is-active,
.branches-map-list article:focus-visible {
    outline: 0;
    background: rgba(255, 247, 236, .88);
    box-shadow: inset 3px 0 0 var(--orchid);
}

.branch-actions .branch-maps-button {
    color: var(--orchid);
    background: var(--white);
}

/* Final shared homepage-style hero banner override */
.menu-page-hero,
.noodle-page-hero,
.branches-page-hero,
.offers-page-hero,
.catering-page-hero,
.about-page-hero,
.contact-page-hero,
.gallery-page-hero,
.error-page {
    position: relative;
    overflow: hidden;
    border-bottom: 1px solid rgba(216,185,130,.36);
    background:
        radial-gradient(circle at 15% 25%,rgba(226,169,59,.10),transparent 26%),
        linear-gradient(110deg,#fffaf3 0 43%,var(--ivory) 72%,#f1dfc6 100%) !important;
}

.menu-page-hero > .container,
.noodle-page-hero > .container,
.branches-page-hero > .container,
.offers-page-hero > .container,
.catering-page-hero > .container,
.about-page-hero > .container,
.contact-page-hero > .container,
.gallery-page-hero > .container {
    width: 100%;
    max-width: none;
    padding-inline: 0;
}

.menu-hero-grid,
.noodle-hero-grid,
.branches-hero-grid,
.offers-hero-grid,
.catering-hero-grid,
.about-hero-grid,
.contact-hero-grid,
.gallery-hero-grid,
.error-layout {
    position: relative;
    min-height: clamp(360px,32vw,520px);
    display: grid;
    grid-template-columns: minmax(420px,calc((100vw - var(--container)) / 2 + 520px)) minmax(0,1fr);
    align-items: stretch;
}

.menu-hero-copy,
.noodle-hero-copy,
.branches-hero-copy,
.offers-hero-copy,
.catering-hero-copy,
.about-hero-copy,
.contact-hero-copy,
.gallery-hero-copy,
.error-copy {
    position: relative;
    z-index: 3;
    width: min(540px,calc(100vw - 40px));
    min-height: inherit;
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin-left: max(20px,calc((100vw - var(--container)) / 2));
    padding: clamp(2.5rem,4vw,4rem) 1rem clamp(2.5rem,4vw,4rem) 0;
}

.menu-hero-image,
.noodle-hero-media,
.branches-hero-media,
.offers-hero-media,
.catering-hero-media,
.about-hero-media,
.contact-hero-media,
.gallery-hero-media,
.error-media {
    position: relative;
    min-width: 0;
    min-height: inherit;
    overflow: hidden;
}

.menu-hero-image::before,
.noodle-hero-media::before,
.branches-hero-media::before,
.offers-hero-media::before,
.catering-hero-media::before,
.about-hero-media::before,
.contact-hero-media::before,
.gallery-hero-media::before,
.error-media::before {
    position: absolute;
    inset: 0 auto 0 0;
    z-index: 2;
    width: clamp(170px,23vw,390px);
    content: '';
    background: linear-gradient(90deg,#fffaf3 0%,rgba(255,250,243,.92) 24%,rgba(255,250,243,.50) 60%,transparent 100%);
    pointer-events: none;
}

.menu-hero-image picture,
.noodle-hero-media picture,
.branches-hero-media picture,
.offers-hero-media picture,
.catering-hero-media picture,
.about-hero-media picture,
.contact-hero-media picture,
.gallery-hero-media picture,
.error-media picture {
    display: block;
    width: 100%;
    height: 100%;
}

.menu-hero-image > img,
.menu-hero-image picture > img,
.menu-hero-placeholder,
.noodle-hero-media img,
.noodle-hero-placeholder,
.branches-hero-media img,
.branches-hero-placeholder,
.offers-hero-media > img,
.offers-hero-media picture > img,
.offers-hero-placeholder,
.catering-hero-media img,
.catering-hero-placeholder,
.about-hero-media img,
.about-hero-placeholder,
.contact-hero-media img,
.contact-hero-placeholder,
.gallery-hero-media img,
.gallery-hero-placeholder,
.error-media img,
.error-food-placeholder {
    width: 100%;
    height: 100%;
    min-height: inherit;
    object-fit: cover;
    object-position: center;
}

@media (max-width: 767px) {
    .menu-page-hero,
    .noodle-page-hero,
    .branches-page-hero,
    .offers-page-hero,
    .catering-page-hero,
    .about-page-hero,
    .contact-page-hero,
    .gallery-page-hero,
    .error-page {
        background: linear-gradient(90deg,#fffaf2 0 42%,var(--ivory) 100%) !important;
    }

    .menu-hero-grid,
    .noodle-hero-grid,
    .branches-hero-grid,
    .offers-hero-grid,
    .catering-hero-grid,
    .about-hero-grid,
    .contact-hero-grid,
    .gallery-hero-grid,
    .error-layout {
        min-height: clamp(300px,82vw,500px);
        display: block;
    }

    .menu-hero-copy,
    .noodle-hero-copy,
    .branches-hero-copy,
    .offers-hero-copy,
    .catering-hero-copy,
    .about-hero-copy,
    .contact-hero-copy,
    .gallery-hero-copy,
    .error-copy {
        width: min(64%,300px);
        min-height: inherit;
        margin-left: 20px;
        padding: 2rem 0;
        justify-content: center;
    }

    .menu-hero-image,
    .noodle-hero-media,
    .branches-hero-media,
    .offers-hero-media,
    .catering-hero-media,
    .about-hero-media,
    .contact-hero-media,
    .gallery-hero-media,
    .error-media {
        position: absolute;
        inset: 0 -46% 0 34%;
        z-index: 1;
        min-height: inherit;
    }

    .menu-hero-image::before,
    .noodle-hero-media::before,
    .branches-hero-media::before,
    .offers-hero-media::before,
    .catering-hero-media::before,
    .about-hero-media::before,
    .contact-hero-media::before,
    .gallery-hero-media::before,
    .error-media::before {
        width: 62%;
        background: linear-gradient(90deg,#fffaf2 8%,rgba(255,250,242,.90) 42%,rgba(255,250,242,.48) 72%,transparent);
    }
}

@media (max-width: 430px) {
    .menu-hero-copy,
    .noodle-hero-copy,
    .branches-hero-copy,
    .offers-hero-copy,
    .catering-hero-copy,
    .about-hero-copy,
    .contact-hero-copy,
    .gallery-hero-copy,
    .error-copy {
        width: min(68%,285px);
    }

    .menu-hero-image,
    .noodle-hero-media,
    .branches-hero-media,
    .offers-hero-media,
    .catering-hero-media,
    .about-hero-media,
    .contact-hero-media,
    .gallery-hero-media,
    .error-media {
        inset: 0 -58% 0 36%;
    }
}

/* Final Contact-only guard: preserve approved global header/footer while overriding older Contact body rules. */
.contact-page .contact-page-hero {
    position: relative;
    isolation: isolate;
    overflow: visible;
    min-height: clamp(420px, 44vw, 600px);
    padding: clamp(3.8rem, 7vw, 7rem) 0 clamp(2.5rem, 4.5vw, 4.5rem);
    background:
        linear-gradient(90deg, rgba(255,247,236,.98) 0%, rgba(255,247,236,.93) 42%, rgba(255,247,236,.32) 66%, rgba(255,247,236,.05) 100%),
        radial-gradient(circle at 18% 32%, rgba(226,169,59,.11), transparent 20rem);
}

.contact-page .contact-page-hero::before {
    position: absolute;
    top: 60px;
    right: auto;
    bottom: auto;
    left: -70px;
    display: block;
    width: 230px;
    height: 230px;
    border-radius: 50%;
    content: "";
    opacity: .38;
    background:
        radial-gradient(circle, transparent 28%, rgba(216,185,130,.16) 29%, transparent 31%),
        linear-gradient(45deg, transparent 45%, rgba(216,185,130,.18) 46%, transparent 55%);
    pointer-events: none;
    transform: rotate(-18deg);
}

.contact-page .contact-page-hero > .container.contact-hero-content {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(320px, .82fr) minmax(460px, 1.18fr);
    align-items: center;
    gap: clamp(2rem, 4vw, 4.5rem);
    min-height: 0;
}

.contact-page .contact-hero-copy {
    position: relative;
    z-index: 2;
    display: block;
    width: auto;
    max-width: 540px;
    min-height: 0;
    padding: 0;
}

.contact-page .contact-hero-copy h1 {
    margin: 0;
    font-size: clamp(3.2rem, 6vw, 5.45rem);
    line-height: .96;
    letter-spacing: -.04em;
}

.contact-page .contact-hero-copy p {
    max-width: 430px;
    margin: 0;
    color: rgba(36,20,34,.86);
    font-size: clamp(1.05rem, 1.45vw, 1.35rem);
    line-height: 1.65;
}

.contact-page .contact-hero-media {
    position: relative;
    inset: auto;
    z-index: 1;
    min-height: clamp(300px, 35vw, 470px);
}

.contact-page .contact-hero-media::before {
    display: none;
}

.contact-page .contact-hero-media picture,
.contact-page .contact-hero-media img {
    display: block;
    width: 100%;
    height: 100%;
}

.contact-page .contact-hero-media img {
    min-height: clamp(300px, 35vw, 470px);
    object-fit: cover;
    object-position: center;
    filter: drop-shadow(0 24px 36px rgba(36,20,34,.13));
}

@media (max-width: 980px) {
    .contact-page .contact-page-hero > .container.contact-hero-content {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .contact-page .contact-page-hero {
        min-height: 0;
        padding: 2.5rem 0 1.5rem;
    }

    .contact-page .contact-hero-copy h1 {
        font-size: clamp(2.5rem, 13vw, 3.6rem);
    }
}

/* Contact page body rebuild — scoped to Contact only. */
.contact-page {
    --contact-orchid: #8A3B82;
    --contact-ivory: #FFF7EC;
    --contact-white: #FFFFFF;
    --contact-plum: #241422;
    --contact-basil: #4E7A4B;
    --contact-bamboo: #D8B982;
    --contact-gold: #E2A93B;
    --contact-red: #C63D2F;
    color: var(--contact-plum);
    background:
        radial-gradient(circle at 8% 14%, rgba(226,169,59,.12), transparent 25rem),
        linear-gradient(180deg, #fffaf2 0%, var(--contact-ivory) 48%, #fffaf6 100%);
    overflow: hidden;
}

.contact-page :is(h1,h2,h3) {
    color: var(--contact-orchid);
    font-family: "Playfair Display", Georgia, serif;
}

.contact-hero-section {
    position: relative;
    isolation: isolate;
    min-height: clamp(420px, 44vw, 600px);
    padding: clamp(3.8rem, 7vw, 7rem) 0 clamp(2.5rem, 4.5vw, 4.5rem);
    background:
        linear-gradient(90deg, rgba(255,247,236,.98) 0%, rgba(255,247,236,.93) 42%, rgba(255,247,236,.32) 66%, rgba(255,247,236,.05) 100%),
        radial-gradient(circle at 18% 32%, rgba(226,169,59,.11), transparent 20rem);
}

.contact-hero-section::before,
.contact-social-card::after {
    position: absolute;
    content: "";
    width: 230px;
    height: 230px;
    background:
        radial-gradient(circle, transparent 28%, rgba(216,185,130,.16) 29%, transparent 31%),
        linear-gradient(45deg, transparent 45%, rgba(216,185,130,.18) 46%, transparent 55%);
    opacity: .38;
    pointer-events: none;
    transform: rotate(-18deg);
}

.contact-hero-section::before {
    left: -70px;
    top: 60px;
    border-radius: 50%;
}

.contact-hero-content {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(320px, .82fr) minmax(460px, 1.18fr);
    align-items: center;
    gap: clamp(2rem, 4vw, 4.5rem);
}

.contact-hero-copy {
    max-width: 540px;
}

.contact-hero-copy h1 {
    margin: 0;
    font-size: clamp(3.2rem, 6vw, 5.45rem);
    line-height: .96;
    letter-spacing: -.04em;
}

.contact-lotus-divider {
    display: flex;
    align-items: center;
    gap: .9rem;
    width: min(340px, 78%);
    margin: 1.65rem 0 1.35rem;
    color: var(--contact-gold);
}

.contact-lotus-divider span {
    height: 1px;
    flex: 1;
    background: linear-gradient(90deg, transparent, var(--contact-gold), transparent);
}

.contact-lotus-divider b {
    font-size: 1.25rem;
    line-height: 1;
}

.contact-hero-copy p {
    max-width: 430px;
    margin: 0;
    color: rgba(36,20,34,.86);
    font-size: clamp(1.05rem, 1.45vw, 1.35rem);
    line-height: 1.65;
}

.contact-hero-media {
    position: relative;
    min-height: clamp(300px, 35vw, 470px);
}

.contact-hero-media picture,
.contact-hero-media img {
    display: block;
    width: 100%;
    height: 100%;
}

.contact-hero-img {
    min-height: clamp(300px, 35vw, 470px);
    object-fit: cover;
    object-position: center;
    filter: drop-shadow(0 24px 36px rgba(36,20,34,.13));
}

.contact-image-placeholder,
.contact-feature-placeholder {
    display: grid;
    min-height: 340px;
    place-items: center;
    border: 1px solid rgba(216,185,130,.55);
    border-radius: 28px;
    background: linear-gradient(135deg, #f8ead6, #fffaf2);
    color: var(--contact-orchid);
    font-family: "Playfair Display", Georgia, serif;
    font-size: 3rem;
    box-shadow: 0 20px 40px rgba(36,20,34,.08);
}

.contact-card-section {
    position: relative;
    z-index: 2;
    margin-top: clamp(-1.8rem, -2vw, -.6rem);
}

.contact-card-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.03fr) minmax(360px, .97fr);
    gap: 1.5rem;
}

.contact-form-card,
.contact-branch-card,
.contact-social-card {
    border: 1px solid rgba(216,185,130,.42);
    border-radius: 22px;
    background: rgba(255,255,255,.88);
    box-shadow: 0 18px 40px rgba(36,20,34,.08);
    backdrop-filter: blur(10px);
}

.contact-form-card,
.contact-branch-card {
    padding: clamp(1.35rem, 2vw, 2rem);
}

.contact-card-title {
    display: flex;
    align-items: center;
    gap: .8rem;
    margin-bottom: 1.35rem;
}

.contact-card-title span {
    color: var(--contact-gold);
    font-size: 1.55rem;
}

.contact-card-title h2 {
    margin: 0;
    font-size: clamp(1.35rem, 2vw, 1.75rem);
}

.contact-website-field {
    position: absolute;
    left: -9999px;
}

.contact-form-message {
    min-height: 1.2rem;
    margin-bottom: .75rem;
    color: var(--contact-red);
    font-size: .9rem;
}

.contact-form-message.is-success {
    color: var(--contact-basil);
}

.contact-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.contact-form-grid label {
    display: grid;
    gap: .45rem;
    color: rgba(36,20,34,.72);
    font-size: .88rem;
    font-weight: 500;
}

.contact-form-grid input,
.contact-form-grid textarea {
    width: 100%;
    border: 1px solid rgba(216,185,130,.76);
    border-radius: 10px;
    background: rgba(255,253,249,.92);
    color: var(--contact-plum);
    font: inherit;
    outline: none;
    padding: .95rem 1rem;
    transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.contact-form-grid textarea {
    min-height: 190px;
    resize: vertical;
}

.contact-form-grid input:focus,
.contact-form-grid textarea:focus {
    border-color: var(--contact-orchid);
    background: var(--contact-white);
    box-shadow: 0 0 0 3px rgba(138,59,130,.12);
}

.contact-form-grid small {
    min-height: 1rem;
    color: var(--contact-red);
    font-size: .78rem;
}

.contact-form-wide {
    grid-column: 1 / -1;
}

.contact-submit-button {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: .8rem;
    width: 100%;
    margin-top: 1rem;
    border: 0;
    border-radius: 10px;
    padding: 1rem 1.25rem;
    background: linear-gradient(135deg, var(--contact-orchid), #761967);
    color: var(--contact-white);
    font-weight: 700;
    cursor: pointer;
    box-shadow: 0 14px 28px rgba(138,59,130,.22);
}

.contact-submit-button:disabled {
    cursor: wait;
    opacity: .72;
}

.contact-branch-list {
    display: grid;
    gap: .85rem;
}

.contact-branch-item {
    display: grid;
    grid-template-columns: 136px minmax(0, 1fr) auto;
    align-items: center;
    gap: 1rem;
    padding: .7rem;
    border: 1px solid rgba(216,185,130,.55);
    border-radius: 12px;
    background: linear-gradient(135deg, rgba(255,247,236,.82), rgba(255,255,255,.92));
}

.contact-branch-item img,
.contact-branch-placeholder {
    width: 136px;
    height: 110px;
    border-radius: 10px;
    object-fit: cover;
}

.contact-branch-placeholder {
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, var(--contact-orchid), var(--contact-plum));
    color: var(--contact-white);
    font: 700 1.45rem "Playfair Display", Georgia, serif;
}

.contact-branch-item h3 {
    margin: 0 0 .35rem;
    font-size: 1.17rem;
}

.contact-branch-item p,
.contact-branch-item small {
    display: block;
    margin: .18rem 0;
    color: rgba(36,20,34,.78);
    font-size: .86rem;
    line-height: 1.4;
}

.contact-branch-item nav {
    display: grid;
    gap: .62rem;
}

.contact-branch-item nav a {
    display: grid;
    width: 48px;
    height: 48px;
    place-items: center;
    border-radius: 9px;
    text-decoration: none;
    font-weight: 700;
}

.contact-call-button {
    background: #3f963c;
    color: var(--contact-white);
}

.contact-map-button {
    border: 1px solid var(--contact-gold);
    background: rgba(255,247,236,.9);
    color: var(--contact-gold);
}

.contact-branches-button {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .8rem;
    margin-top: .85rem;
    border: 1px solid rgba(36,20,34,.55);
    border-radius: 8px;
    padding: .9rem 1rem;
    color: var(--contact-plum);
    text-decoration: none;
    font-weight: 700;
}

.contact-empty {
    margin: 0;
    padding: 1rem;
    border: 1px dashed rgba(226,169,59,.8);
    border-radius: 12px;
    text-align: center;
}

.contact-social-strip {
    padding: 2.2rem 0 1.4rem;
}

.contact-social-card {
    position: relative;
    overflow: hidden;
    padding: 1.15rem 1.6rem 1.35rem;
}

.contact-social-card::after {
    right: -50px;
    bottom: -80px;
}

.contact-social-heading {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    margin-bottom: 1rem;
}

.contact-social-heading span {
    width: min(180px, 22vw);
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--contact-gold));
}

.contact-social-heading span:last-child {
    background: linear-gradient(90deg, var(--contact-gold), transparent);
}

.contact-social-heading h2 {
    margin: 0;
    font-size: clamp(1.35rem, 2vw, 1.75rem);
}

.contact-social-links {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
    align-items: center;
}

.contact-social-links a {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: .7rem;
    color: var(--contact-plum);
    text-decoration: none;
    font-weight: 600;
}

.contact-social-links b {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--contact-orchid), var(--contact-red));
    color: var(--contact-white);
    font-size: .85rem;
}

.contact-faq-feature-section {
    padding: 0 0 clamp(2rem, 4vw, 4rem);
}

.contact-faq-feature-grid {
    display: grid;
    grid-template-columns: minmax(320px, .86fr) minmax(460px, 1.14fr);
    gap: clamp(1.6rem, 3vw, 3rem);
    align-items: start;
}

.contact-faq-heading h2 {
    margin: 0;
    font-size: clamp(1.7rem, 2.6vw, 2.25rem);
}

.contact-faq-heading .contact-lotus-divider {
    width: 200px;
    margin: .7rem 0 1.1rem;
}

.contact-faq-list {
    display: grid;
    gap: .7rem;
}

.contact-faq-list article {
    border: 1px solid rgba(216,185,130,.55);
    border-radius: 8px;
    background: rgba(255,253,249,.78);
    overflow: hidden;
}

.contact-faq-list h5 {
    margin: 0;
}

.contact-faq-list button {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    width: 100%;
    border: 0;
    background: transparent;
    color: var(--contact-plum);
    cursor: pointer;
    font: inherit;
    padding: .95rem 1rem;
    text-align: start;
}

.contact-faq-list button span {
    font: inherit;
}

.contact-faq-list button b {
    color: var(--contact-orchid);
    font-size: 1.2rem;
}

.contact-faq-list article.is-open button b {
    transform: rotate(45deg);
}

.contact-faq-list article > div {
    display: none;
    padding: 0 1rem 1rem;
}

.contact-faq-list article.is-open > div {
    display: block;
}

.contact-faq-list p {
    margin: 0;
    color: rgba(36,20,34,.75);
    line-height: 1.65;
}

.contact-feature-image {
    position: relative;
    overflow: hidden;
    min-height: 290px;
    border-radius: 16px;
    box-shadow: 0 22px 44px rgba(36,20,34,.12);
}

.contact-feature-image picture,
.contact-feature-image img {
    display: block;
    width: 100%;
    height: 100%;
}

.contact-feature-img {
    min-height: 300px;
    object-fit: cover;
}

.contact-feature-placeholder {
    min-height: 300px;
    padding: 2rem;
    background:
        linear-gradient(135deg, rgba(36,20,34,.12), rgba(138,59,130,.2)),
        linear-gradient(135deg, #f7e5c8, #fff7ec);
}

.contact-feature-placeholder {
    color: var(--contact-orchid);
    text-align: center;
}

.contact-feature-placeholder strong,
.contact-feature-placeholder span,
.contact-feature-placeholder em {
    display: block;
}

.contact-feature-caption {
    position: absolute;
    right: 1rem;
    bottom: 1rem;
    left: 1rem;
    padding: 1rem;
    border-radius: 12px;
    background: rgba(255,247,236,.86);
    backdrop-filter: blur(8px);
}

.contact-feature-caption h2 {
    margin: 0 0 .25rem;
    font-size: 1.25rem;
}

.contact-feature-caption p {
    margin: 0;
    color: rgba(36,20,34,.78);
    font-size: var(--font-small-desktop);
}

@media (max-width: 980px) {
    .contact-hero-content,
    .contact-card-grid,
    .contact-faq-feature-grid {
        grid-template-columns: 1fr;
    }

    .contact-hero-section {
        padding-top: 3rem;
    }

    .contact-hero-media {
        min-height: 280px;
    }

    .contact-social-links {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .contact-hero-section {
        min-height: 0;
        padding: 2.5rem 0 1.5rem;
    }

    .contact-hero-copy h1 {
        font-size: clamp(2.5rem, 13vw, 3.6rem);
    }

    .contact-card-grid {
        gap: 1rem;
    }

    .contact-form-card,
    .contact-branch-card {
        padding: 1rem;
        border-radius: 18px;
    }

    .contact-form-grid,
    .contact-social-links {
        grid-template-columns: 1fr;
    }

    .contact-branch-item {
        grid-template-columns: 88px minmax(0, 1fr);
    }

    .contact-branch-item img,
    .contact-branch-placeholder {
        width: 88px;
        height: 88px;
    }

    .contact-branch-item nav {
        grid-column: 1 / -1;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .contact-branch-item nav a {
        width: 100%;
    }

    .contact-social-heading span {
        width: 46px;
    }

    .contact-feature-caption {
        position: static;
        border-radius: 0;
    }
}

.franchise-page-hero {
    position: relative;
    overflow: hidden;
    border-bottom: 1px solid rgba(216,185,130,.36);
    background:
        radial-gradient(circle at 15% 25%,rgba(226,169,59,.10),transparent 26%),
        linear-gradient(110deg,#fffaf3 0 43%,var(--ivory) 72%,#f1dfc6 100%) !important;
}

.franchise-page-hero > .container {
    width: 100%;
    max-width: none;
    padding-inline: 0;
}

.franchise-hero-grid {
    position: relative;
    min-height: clamp(360px,32vw,520px);
    display: grid;
    grid-template-columns: minmax(420px,calc((100vw - var(--container)) / 2 + 520px)) minmax(0,1fr);
    align-items: stretch;
}

.franchise-hero-copy {
    position: relative;
    z-index: 3;
    width: min(540px,calc(100vw - 40px));
    min-height: inherit;
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin-left: max(20px,calc((100vw - var(--container)) / 2));
    padding: clamp(2.5rem,4vw,4rem) 1rem clamp(2.5rem,4vw,4rem) 0;
}

.franchise-hero-rule {
    width: 170px;
    display: flex;
    align-items: center;
    gap: .6rem;
    margin-bottom: .55rem;
    color: var(--gold);
}

.franchise-hero-rule::before,
.franchise-hero-rule::after {
    height: 1px;
    flex: 1;
    content: '';
    background: var(--gold);
}

.franchise-hero-media {
    position: relative;
    min-width: 0;
    min-height: inherit;
    overflow: hidden;
}

.franchise-hero-media::before {
    position: absolute;
    inset: 0 auto 0 0;
    z-index: 2;
    width: clamp(170px,23vw,390px);
    content: '';
    background: linear-gradient(90deg,#fffaf3 0%,rgba(255,250,243,.92) 24%,rgba(255,250,243,.50) 60%,transparent 100%);
    pointer-events: none;
}

.franchise-hero-media picture {
    display: block;
    width: 100%;
    height: 100%;
}

.franchise-hero-media img,
.franchise-hero-placeholder {
    width: 100%;
    height: 100%;
    min-height: inherit;
    object-fit: cover;
    object-position: center;
}

.franchise-hero-placeholder {
    display: grid;
    place-items: center;
    color: var(--white);
    background: linear-gradient(135deg,var(--orchid-dark),var(--plum));
    font-family: 'Playfair Display',serif;
    font-size: 6rem;
}

@media (max-width: 767px) {
    .franchise-page-hero {
        background: linear-gradient(90deg,#fffaf2 0 42%,var(--ivory) 100%) !important;
    }

    .franchise-hero-grid {
        min-height: clamp(300px,82vw,500px);
        display: block;
    }

    .franchise-hero-copy {
        width: min(64%,300px);
        min-height: inherit;
        margin-left: 20px;
        padding: 2rem 0;
        justify-content: center;
    }

    .franchise-hero-media {
        position: absolute;
        inset: 0 -46% 0 34%;
        z-index: 1;
        min-height: inherit;
    }

    .franchise-hero-media::before {
        width: 62%;
        background: linear-gradient(90deg,#fffaf2 8%,rgba(255,250,242,.90) 42%,rgba(255,250,242,.48) 72%,transparent);
    }
}

@media (max-width: 430px) {
    .franchise-hero-copy {
        width: min(68%,285px);
    }

    .franchise-hero-media {
        inset: 0 -58% 0 36%;
    }
}

/* Shared homepage-style hero banner overrides */
.menu-page-hero,
.noodle-page-hero,
.branches-page-hero,
.offers-page-hero,
.catering-page-hero,
.about-page-hero,
.contact-page-hero,
.gallery-page-hero,
.error-page {
    position: relative;
    overflow: hidden;
    border-bottom: 1px solid rgba(216,185,130,.36);
    background:
        radial-gradient(circle at 15% 25%,rgba(226,169,59,.10),transparent 26%),
        linear-gradient(110deg,#fffaf3 0 43%,var(--ivory) 72%,#f1dfc6 100%) !important;
}

.menu-page-hero > .container,
.noodle-page-hero > .container,
.branches-page-hero > .container,
.offers-page-hero > .container,
.catering-page-hero > .container,
.about-page-hero > .container,
.contact-page-hero > .container,
.gallery-page-hero > .container {
    width: 100%;
    max-width: none;
    padding-inline: 0;
}

.menu-hero-grid,
.noodle-hero-grid,
.branches-hero-grid,
.offers-hero-grid,
.catering-hero-grid,
.about-hero-grid,
.contact-hero-grid,
.gallery-hero-grid,
.error-layout {
    position: relative;
    min-height: clamp(360px,32vw,520px);
    display: grid;
    grid-template-columns: minmax(420px,calc((100vw - var(--container)) / 2 + 520px)) minmax(0,1fr);
    align-items: stretch;
}

.menu-hero-copy,
.noodle-hero-copy,
.branches-hero-copy,
.offers-hero-copy,
.catering-hero-copy,
.about-hero-copy,
.contact-hero-copy,
.gallery-hero-copy,
.error-copy {
    position: relative;
    z-index: 3;
    width: min(540px,calc(100vw - 40px));
    min-height: inherit;
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin-left: max(20px,calc((100vw - var(--container)) / 2));
    padding: clamp(2.5rem,4vw,4rem) 1rem clamp(2.5rem,4vw,4rem) 0;
}

.menu-hero-image,
.noodle-hero-media,
.branches-hero-media,
.offers-hero-media,
.catering-hero-media,
.about-hero-media,
.contact-hero-media,
.gallery-hero-media,
.error-media {
    position: relative;
    min-width: 0;
    min-height: inherit;
    overflow: hidden;
}

.menu-hero-image::before,
.noodle-hero-media::before,
.branches-hero-media::before,
.offers-hero-media::before,
.catering-hero-media::before,
.about-hero-media::before,
.contact-hero-media::before,
.gallery-hero-media::before,
.error-media::before {
    position: absolute;
    inset: 0 auto 0 0;
    z-index: 2;
    width: clamp(170px,23vw,390px);
    content: '';
    background: linear-gradient(90deg,#fffaf3 0%,rgba(255,250,243,.92) 24%,rgba(255,250,243,.50) 60%,transparent 100%);
    pointer-events: none;
}

.menu-hero-image picture,
.noodle-hero-media picture,
.branches-hero-media picture,
.offers-hero-media picture,
.catering-hero-media picture,
.about-hero-media picture,
.contact-hero-media picture,
.gallery-hero-media picture,
.error-media picture {
    display: block;
    width: 100%;
    height: 100%;
}

.menu-hero-image > img,
.menu-hero-image picture > img,
.menu-hero-placeholder,
.noodle-hero-media img,
.noodle-hero-placeholder,
.branches-hero-media img,
.branches-hero-placeholder,
.offers-hero-media > img,
.offers-hero-media picture > img,
.offers-hero-placeholder,
.catering-hero-media img,
.catering-hero-placeholder,
.about-hero-media img,
.about-hero-placeholder,
.contact-hero-media img,
.contact-hero-placeholder,
.gallery-hero-media img,
.gallery-hero-placeholder,
.error-media img,
.error-food-placeholder {
    width: 100%;
    height: 100%;
    min-height: inherit;
    object-fit: cover;
    object-position: center;
}

@media (max-width: 767px) {
    .menu-page-hero,
    .noodle-page-hero,
    .branches-page-hero,
    .offers-page-hero,
    .catering-page-hero,
    .about-page-hero,
    .contact-page-hero,
    .gallery-page-hero,
    .error-page {
        background: linear-gradient(90deg,#fffaf2 0 42%,var(--ivory) 100%) !important;
    }

    .menu-hero-grid,
    .noodle-hero-grid,
    .branches-hero-grid,
    .offers-hero-grid,
    .catering-hero-grid,
    .about-hero-grid,
    .contact-hero-grid,
    .gallery-hero-grid,
    .error-layout {
        min-height: clamp(300px,82vw,500px);
        display: block;
    }

    .menu-hero-copy,
    .noodle-hero-copy,
    .branches-hero-copy,
    .offers-hero-copy,
    .catering-hero-copy,
    .about-hero-copy,
    .contact-hero-copy,
    .gallery-hero-copy,
    .error-copy {
        width: min(64%,300px);
        min-height: inherit;
        margin-left: 20px;
        padding: 2rem 0;
        justify-content: center;
    }

    .menu-hero-image,
    .noodle-hero-media,
    .branches-hero-media,
    .offers-hero-media,
    .catering-hero-media,
    .about-hero-media,
    .contact-hero-media,
    .gallery-hero-media,
    .error-media {
        position: absolute;
        inset: 0 -46% 0 34%;
        z-index: 1;
        min-height: inherit;
    }

    .menu-hero-image::before,
    .noodle-hero-media::before,
    .branches-hero-media::before,
    .offers-hero-media::before,
    .catering-hero-media::before,
    .about-hero-media::before,
    .contact-hero-media::before,
    .gallery-hero-media::before,
    .error-media::before {
        width: 62%;
        background: linear-gradient(90deg,#fffaf2 8%,rgba(255,250,242,.90) 42%,rgba(255,250,242,.48) 72%,transparent);
    }
}

@media (max-width: 430px) {
    .menu-hero-copy,
    .noodle-hero-copy,
    .branches-hero-copy,
    .offers-hero-copy,
    .catering-hero-copy,
    .about-hero-copy,
    .contact-hero-copy,
    .gallery-hero-copy,
    .error-copy {
        width: min(68%,285px);
    }

    .menu-hero-image,
    .noodle-hero-media,
    .branches-hero-media,
    .offers-hero-media,
    .catering-hero-media,
    .about-hero-media,
    .contact-hero-media,
    .gallery-hero-media,
    .error-media {
        inset: 0 -58% 0 36%;
    }
}

.noodle-guide-icon picture {
    width: 100%;
    display: grid;
    place-items: center;
}

.noodle-guide-icon img,
.noodle-guide-photo {
    width: 100%;
    max-width: 210px;
    height: 96px;
    object-fit: contain;
    display: block;
    margin: 0 auto;
    transform: translateY(-6px);
}

@media (max-width: 767px) {
    .noodle-guide-icon img,
    .noodle-guide-photo {
        max-width: 92px;
        height: 58px;
        transform: none;
    }
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--plum); background: var(--ivory); font-family: 'Poppins', sans-serif; line-height: 1.6; }
img { display: block; max-width: 100%; }
picture { display: contents; }
a { color: inherit; text-decoration: none; }
h1, h2, h3 { margin: 0 0 0.55em; font-family: 'Playfair Display', serif; line-height: 1.1; color: var(--orchid-dark); }
h1 { font-size: clamp(3rem, 6vw, 5.6rem); }
h2 { font-size: clamp(2rem, 4vw, 3.2rem); }
p { margin: 0 0 1.25rem; }
.container { width: min(calc(100% - 40px), var(--container)); margin-inline: auto; }
.skip-link { position: fixed; left: 1rem; top: -5rem; z-index: 100; padding: 0.75rem 1rem; background: var(--plum); color: var(--white); }
.skip-link:focus { top: 1rem; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); }
.announcement { display: none; color: var(--white); text-align: center; background: linear-gradient(90deg,var(--orchid-dark),var(--orchid)); font-size: .82rem; }
.announcement a { display: block; padding: .58rem 1rem; }
.announcement span { margin-inline: .35rem; }
.site-header { position: sticky; top: 0; z-index: 50; border-bottom: 1px solid rgba(216,185,130,.40); background: rgba(255,255,255,.97); transition: box-shadow .2s ease; backdrop-filter: blur(14px); }
.site-header.is-scrolled { box-shadow: 0 10px 28px rgba(36,20,34,.09); }
.header-inner { min-height: 76px; display: flex; align-items: center; gap: 1.45rem; }
.brand { width: 185px; flex: 0 0 185px; margin-inline-end: auto; }
.brand img, .footer-brand img { width: 100%; height: 62px; object-fit: contain; }
.primary-nav { display: flex; align-items: center; gap: 1.25rem; font-size: .77rem; font-weight: 600; }
.primary-nav > a { position: relative; padding-block: 1rem; white-space: nowrap; }
.primary-nav > a::after { position: absolute; right: 50%; bottom: .62rem; left: 50%; height: 2px; content: ''; background: var(--orchid); transition: 180ms ease; }
.primary-nav > a:hover::after, .primary-nav > a.is-active::after { right: 0; left: 0; }
.mobile-nav-item { display: none; }
.header-actions { display: flex; align-items: center; gap: .85rem; }
.language-switch, .mobile-nav-language { display: flex; align-items: center; gap: .45rem; font-size: .72rem; }
.language-switch a, .mobile-nav-language a { color: #7e7179; font-weight: 600; }
.language-switch a.is-current, .mobile-nav-language a.is-current { color: var(--orchid); }
.header-cta { position: relative; gap: .45rem; white-space: nowrap; }
.header-bag-icon { width: 1.05rem; height: 1.05rem; flex: 0 0 auto; }
.header-cart-badge { display: none; }
.mobile-bag-link { display: none; }
.menu-toggle { display: none; width: 46px; height: 46px; padding: 8px; border: 0; background: transparent; cursor: pointer; }
.menu-toggle span { display: block; height: 2px; margin: 6px 0; border-radius: 2px; background: var(--plum); transition: transform .2s ease, opacity .2s ease; }
.menu-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.menu-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }
.mobile-nav-language, .mobile-menu-overlay { display: none; }
.is-rtl .primary-nav, .is-rtl .header-actions { direction: rtl; }
.button { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; padding: 0.75rem 1.5rem; border: 2px solid var(--orchid); border-radius: 999px; color: var(--white); background: linear-gradient(135deg, var(--orchid), var(--orchid-dark)); font-weight: 600; box-shadow: 0 10px 22px rgba(138, 59, 130, 0.18); transition: transform 180ms ease, box-shadow 180ms ease; }
.button:hover { transform: translateY(-2px); box-shadow: 0 14px 28px rgba(138, 59, 130, 0.24); }
.button-small { min-height: 42px; padding: 0.55rem 1.15rem; font-size: 0.86rem; }
.button-outline { color: var(--orchid); background: transparent; box-shadow: none; }
.button-gold { border-color: var(--gold); color: var(--plum); background: var(--gold); }
.button-row { display: flex; flex-wrap: wrap; gap: 1rem; }
.eyebrow { display: inline-block; margin-bottom: 1rem; color: var(--gold); font-size: 0.78rem; font-weight: 700; letter-spacing: 0.15em; text-transform: uppercase; }
.eyebrow-light { color: #ffd978; }
.hero { position: relative; overflow: hidden; background: radial-gradient(circle at 83% 32%, rgba(226, 169, 59, 0.18), transparent 30%), linear-gradient(135deg, #fffaf3, var(--ivory)); }
.hero::before { position: absolute; inset: 0; content: ''; opacity: 0.35; background-image: radial-gradient(circle at 10% 20%, rgba(138,59,130,.12) 0 2px, transparent 3px); background-size: 38px 38px; }
.hero-grid { position: relative; min-height: 650px; display: grid; grid-template-columns: 1fr 0.9fr; align-items: center; gap: 4rem; padding-block: 5rem; }
.hero-copy { max-width: 650px; }
.hero-copy h1 em { display: block; color: var(--basil); font-family: 'Dancing Script', cursive; font-weight: 600; }
.hero-copy p { max-width: 600px; font-size: 1.1rem; }
.hero-art { position: relative; aspect-ratio: 1; display: grid; place-items: center; border-radius: 50%; background: radial-gradient(circle, var(--white) 0 48%, rgba(226, 169, 59, 0.16) 49% 63%, transparent 64%); }
.hero-bowl { font-size: clamp(8rem, 18vw, 15rem); filter: drop-shadow(0 24px 20px rgba(36, 20, 34, 0.16)); transform: rotate(-4deg); }
.hero-leaf { position: absolute; font-size: 3rem; }
.hero-leaf-one { top: 12%; right: 16%; transform: rotate(18deg); }
.hero-leaf-two { bottom: 12%; left: 10%; transform: rotate(-18deg); }
.section { padding-block: 5rem; }
.section-tint { background: var(--white); }
.section-heading { max-width: 760px; margin: 0 auto 2.5rem; text-align: center; }
.steps-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.25rem; }
.step-card { position: relative; padding: 2rem; border: 1px solid rgba(216,185,130,.45); border-radius: var(--radius); background: rgba(255,255,255,.88); box-shadow: var(--shadow); }
.step-card > span { display: grid; width: 44px; height: 44px; place-items: center; margin-bottom: 1rem; border-radius: 50%; color: var(--white); background: var(--orchid); font-weight: 700; }
.step-card h3 { font-family: 'Poppins', sans-serif; font-size: 1.05rem; }
.step-card p { margin: 0; color: rgba(36,20,34,.72); font-size: 0.9rem; }
.split-card { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: center; }
.promise-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.promise-grid div { padding: 1.5rem; border-radius: 18px; background: var(--ivory); border: 1px solid rgba(216,185,130,.4); }
.promise-grid strong, .promise-grid span { display: block; }
.promise-grid strong { color: var(--basil); font-family: 'Playfair Display', serif; font-size: 1.35rem; }
.promise-grid span { font-size: 0.86rem; }
.text-link { color: var(--orchid); font-weight: 700; }
.home-hero { position: relative; overflow: hidden; min-height: 440px; background: radial-gradient(circle at 15% 25%,rgba(226,169,59,.10),transparent 26%),linear-gradient(110deg,#fffaf3 0 43%,var(--ivory) 70%); }
.home-hero::before { position: absolute; inset: 0; content: ''; opacity: .22; background-image: radial-gradient(circle at 8% 20%,rgba(138,59,130,.18) 0 2px,transparent 2.5px); background-size: 42px 42px; }
.home-hero > .container.home-hero-grid { width: 100%; max-width: none; padding-inline: 0; }
.home-hero-grid { position: relative; min-height: 440px; display: grid; grid-template-columns: minmax(430px,calc((100vw - var(--container)) / 2 + 500px)) minmax(0,1fr); align-items: stretch; }
.home-hero-copy { position: relative; z-index: 2; width: min(520px,calc(100vw - 40px)); display: flex; flex-direction: column; justify-content: center; margin-left: max(20px,calc((100vw - var(--container)) / 2)); padding: 3.3rem 1rem 3.3rem 0; }
.home-lotus-rule { display: block; width: 220px; margin-bottom: .8rem; color: var(--gold); text-align: center; }
.home-lotus-rule::before, .home-lotus-rule::after { display: inline-block; width: 82px; height: 1px; margin: 0 .45rem .25rem; content: ''; background: var(--gold); }
.home-hero h1 { max-width: 520px; margin-bottom: 1.1rem; color: var(--orchid-dark); font-size: var(--home-hero-title-desktop); }
.home-hero-title-main, .home-hero-title-accent { color: var(--orchid-dark); }
.home-hero h1 em { display: block; color: var(--plum); font-style: normal; }
.home-hero-copy p { max-width: 520px; font-size: var(--home-hero-body-desktop); line-height: 1.65; }
.home-hero-media { position: relative; min-width: 0; }
.home-hero-media::before { position: absolute; inset: 0 auto 0 0; z-index: 1; width: clamp(150px,22vw,370px); content: ''; background: linear-gradient(90deg,#fffaf3 0%,rgba(255,250,243,.92) 24%,rgba(255,250,243,.46) 58%,transparent 100%); pointer-events: none; }
.home-hero-media img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.home-bowl-placeholder { position: relative; height: 100%; display: grid; place-items: center; background: radial-gradient(circle at 58% 48%,#fff 0 31%,#f2dcc0 32% 45%,transparent 46%); }
.home-bowl-placeholder > span { font-size: clamp(9rem,20vw,18rem); filter: drop-shadow(0 25px 24px rgba(36,20,34,.16)); }
.home-bowl-placeholder i, .home-bowl-placeholder b { position: absolute; font-style: normal; font-size: 3rem; }
.home-bowl-placeholder i { top: 15%; right: 12%; }.home-bowl-placeholder b { bottom: 14%; left: 13%; }
.home-section { padding-block: 2.8rem; }
.home-section-heading { display: flex; justify-content: center; margin-bottom: 1.45rem; text-align: center; }
.home-section-heading h2, .home-preview-section h2, .home-delivery-card h2 { margin: 0; font-size: var(--home-section-title-desktop); }
.home-heading-inline { align-items: center; gap: 1rem; }
.home-heading-inline > span { padding: .35rem .75rem; border-radius: 999px; color: var(--plum); background: #ffd46a; font-size: .7rem; font-weight: 700; }
.home-builder-section { background: #fffdf9; }
.home-builder-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1rem; }
.home-mobile-builder-feature { display: none; }
.home-builder-card { position: relative; min-height: 210px; display: flex; gap: .7rem; padding: 1.1rem; border: 1px solid rgba(216,185,130,.45); border-radius: 20px; background: var(--white); box-shadow: 0 10px 24px rgba(36,20,34,.07); text-align: center; }
.home-step-number { width: 32px; height: 32px; display: grid; flex: 0 0 32px; place-items: center; border-radius: 50%; color: var(--white); background: var(--orchid); font-weight: 700; }
.home-builder-card > div { min-width: 0; flex: 1; }
.home-builder-card h3 { min-height: 2.5em; margin: .1rem 0 .5rem; color: var(--plum); font-family: 'Poppins',sans-serif; font-size: .88rem; }
.home-builder-card img, .home-builder-symbol { width: 100%; height: 92px; border-radius: 12px; object-fit: cover; }
.home-builder-symbol { display: grid; place-items: center; color: var(--orchid); background: radial-gradient(circle,#fff 0 25%,#f9eddd 26% 100%); font-size: 2.2rem; }
.home-builder-uploaded-icon { width: 100%; height: 92px; display: grid; place-items: center; border-radius: 12px; background: #f9eddd; }
.home-builder-uploaded-icon img { width: 54px; height: 54px; border-radius: 50%; object-fit: contain; }
.home-builder-card p { margin: .6rem 0 0; color: #6f636b; font-size: .68rem; line-height: 1.5; }
.home-recommended-section { background: linear-gradient(180deg,var(--ivory),#fffdf9); }
.home-products-grid { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: .8rem; }
.home-product-card { overflow: hidden; border: 1px solid rgba(216,185,130,.45); border-radius: 17px; background: var(--white); box-shadow: 0 8px 20px rgba(36,20,34,.06); }
.home-product-image { position: relative; height: 150px; display: grid; place-items: center; overflow: hidden; background: #f6eadb; }
.home-product-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease; }.home-product-card:hover img { transform: scale(1.04); }
.home-product-image > span { font-size: 4.2rem; }
.home-product-image b { position: absolute; top: .55rem; left: .55rem; padding: .28rem .45rem; border-radius: 7px; color: var(--plum); background: var(--gold); font-size: .56rem; text-transform: uppercase; }
.home-product-body { padding: .85rem; }
.home-product-body h3 { margin: 0; color: var(--plum); font-family: 'Poppins',sans-serif; font-size: .8rem; }
.home-product-body p { min-height: 3.6em; margin: .4rem 0; color: #756871; font-size: .62rem; line-height: 1.45; }
.home-product-body strong { color: var(--basil); font-size: .76rem; }
.home-menu-section { background: #fffdf9; }
.home-category-grid { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 1rem; }
.home-category-card { overflow: hidden; border: 1px solid rgba(216,185,130,.48); border-radius: 18px; background: var(--white); box-shadow: 0 8px 20px rgba(36,20,34,.05); text-align: center; }
.home-category-card > div { height: 150px; display: grid; place-items: center; overflow: hidden; background: linear-gradient(160deg,#fffaf2,#f3e4cf); }
.home-category-card img { width: 100%; height: 100%; object-fit: cover; }.home-category-card span { display: grid; width: 72px; height: 72px; place-items: center; border-radius: 50%; color: var(--orchid); background: var(--white); font-family: 'Playfair Display',serif; font-size: 2rem; box-shadow: 0 8px 18px rgba(36,20,34,.08); }
.home-category-card h3 { margin: 0; padding: .75rem .5rem; color: var(--orchid-dark); font-family: 'Poppins',sans-serif; font-size: .78rem; }
.home-promise-section { padding-block: 1.8rem; border-block: 1px solid rgba(216,185,130,.35); background: var(--white); }
.home-promise-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); }
.home-promise-grid article { display: flex; align-items: center; gap: .8rem; padding: .7rem 1.2rem; border-inline-end: 1px solid rgba(216,185,130,.45); }
.home-promise-grid article:last-child { border: 0; }
.home-promise-grid article > span { width: 48px; height: 48px; display: grid; flex: 0 0 48px; place-items: center; border-radius: 50%; color: var(--basil); background: #edf4e8; font-size: .68rem; font-weight: 800; }
.home-promise-icon img { width: 100%; height: 100%; border-radius: 50%; object-fit: contain; }
.home-promise-grid h3 { margin: 0; color: var(--basil); font-family: 'Poppins',sans-serif; font-size: .76rem; }.home-promise-grid p { margin: .25rem 0 0; color: #695e65; font-size: .62rem; line-height: 1.45; }
.home-preview-section { background: #fffdf9; }
.home-preview-grid { display: grid; grid-template-columns: .9fr 1.45fr; gap: 1.2rem; }
.home-about-preview, .home-branches-preview { padding: 1.25rem; border: 1px solid rgba(216,185,130,.42); border-radius: 18px; background: var(--white); box-shadow: 0 8px 22px rgba(36,20,34,.05); }
.home-about-preview { display: grid; grid-template-columns: 1fr .8fr; gap: 1rem; align-items: stretch; }
.home-about-preview p { color: #695d65; font-size: .7rem; line-height: 1.7; }
.home-about-preview > img, .home-preview-placeholder { width: 100%; height: 100%; min-height: 215px; border-radius: 14px; object-fit: cover; }
.home-preview-placeholder, .home-branch-placeholder { display: grid; place-items: center; color: var(--white); background: linear-gradient(135deg,var(--orchid),var(--plum)); font-family: 'Playfair Display',serif; font-size: 2rem; }
.home-preview-title { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }.home-preview-title a { color: var(--orchid); font-size: .68rem; font-weight: 700; }
.home-branch-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .8rem; }
.home-branch-grid article { overflow: hidden; border: 1px solid rgba(216,185,130,.45); border-radius: 14px; background: #fffdf9; }.home-branch-grid img, .home-branch-placeholder { width: 100%; height: 105px; object-fit: cover; }
.home-branch-grid article > div { padding: .75rem; }.home-branch-grid h3 { margin: 0; color: var(--plum); font-family: 'Poppins',sans-serif; font-size: .72rem; }.home-branch-grid p { min-height: 2em; margin: .25rem 0 .55rem; color: #7a6e75; font-size: .6rem; }.home-branch-grid a { display: inline-flex; padding: .35rem .65rem; border-radius: 999px; color: var(--white); background: var(--orchid); font-size: .6rem; font-weight: 700; }
.home-empty-card { padding: 2rem; border: 1px dashed var(--bamboo); border-radius: 16px; color: #786c73; background: rgba(255,255,255,.7); text-align: center; font-size: .8rem; }
.home-delivery-section { padding: 0 0 2rem; background: #fffdf9; }
.home-delivery-card { min-height: 142px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 1.4rem; overflow: hidden; padding: 1.6rem 2rem; border-radius: 20px; color: var(--white); background: radial-gradient(circle at 92% 20%,rgba(226,169,59,.25),transparent 22%),linear-gradient(120deg,var(--plum),var(--orchid-dark),var(--orchid)); }
.home-delivery-card h2 { color: var(--white); }.home-delivery-card p { margin: .25rem 0 0; font-size: .75rem; }.home-delivery-icon { width: 72px; height: 72px; display: grid; place-items: center; border: 2px solid rgba(255,255,255,.55); border-radius: 50%; font-size: 2rem; }
.home-delivery-links { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .55rem; }.home-delivery-links a, .home-delivery-links span { padding: .5rem .7rem; border-radius: 7px; color: var(--plum); background: var(--white); font-size: .7rem; font-weight: 800; }.home-delivery-links .home-order-button { color: var(--plum); background: var(--gold); }
.menu-page-hero { position: relative; overflow: hidden; border-bottom: 1px solid rgba(216,185,130,.45); background: radial-gradient(circle at 15% 40%,rgba(226,169,59,.12),transparent 28%),linear-gradient(105deg,#fffaf3 0 42%,#f5e8d8 42% 100%); }
.menu-page-hero::before { position: absolute; inset: 0; content: ''; opacity: .2; background-image: radial-gradient(circle at 8% 20%,rgba(138,59,130,.18) 0 2px,transparent 2.5px); background-size: 40px 40px; }
.menu-hero-grid { position: relative; min-height: 320px; display: grid; grid-template-columns: .82fr 1.18fr; }
.menu-hero-copy { position: relative; z-index: 2; display: flex; flex-direction: column; justify-content: center; padding: 3rem 2.5rem 3rem 0; }
.menu-hero-copy h1 { margin: 0 0 .7rem; color: var(--orchid-dark); font-size: clamp(3.2rem,5vw,4.8rem); }
.menu-hero-copy p { max-width: 460px; margin: 0; color: #554950; font-size: .92rem; line-height: 1.75; }
.menu-hero-ornament { width: 190px; display: flex; align-items: center; gap: .7rem; margin-bottom: .55rem; color: var(--gold); }
.menu-hero-ornament::before, .menu-hero-ornament::after { height: 1px; flex: 1; content: ''; background: var(--gold); }
.menu-hero-image { position: relative; min-width: 0; }
.menu-hero-image::before { position: absolute; inset: 0 auto 0 0; z-index: 1; width: 24%; content: ''; background: linear-gradient(90deg,#fff8ed,transparent); }
.menu-hero-image > img, .menu-hero-placeholder { width: 100%; height: 100%; min-height: 320px; object-fit: cover; }
.menu-hero-placeholder { display: grid; place-items: center; color: var(--orchid); background: radial-gradient(circle at 55% 50%,#fff 0 25%,#ead7bd 26% 40%,#f8ecdd 41%); }
.menu-hero-placeholder span { font-size: 8rem; filter: drop-shadow(0 18px 14px rgba(36,20,34,.14)); }
.menu-builder-callout { position: absolute; right: 1.5rem; bottom: 1.25rem; z-index: 3; min-width: 255px; display: grid; grid-template-columns: 1fr auto; gap: .18rem 1rem; padding: 1rem 1.15rem; border: 1px solid rgba(216,185,130,.5); border-radius: 16px; background: rgba(255,255,255,.94); box-shadow: 0 14px 34px rgba(36,20,34,.16); backdrop-filter: blur(8px); }
.menu-builder-callout strong { color: var(--orchid); font-size: .9rem; }.menu-builder-callout strong span { margin-inline-end: .4rem; font-size: 1.35rem; }.menu-builder-callout small { color: #655a61; font-size: .66rem; }.menu-builder-callout b { grid-column: 2; grid-row: 1/3; align-self: center; color: var(--orchid); font-size: 1.8rem; font-weight: 400; }
.menu-catalogue { padding: 1.2rem 0 2.4rem; background: #fffdf9; }
.menu-category-tabs { display: flex; gap: .65rem; overflow-x: auto; padding: .2rem .1rem .8rem; scrollbar-width: none; scroll-snap-type: x proximity; }
.menu-category-tabs::-webkit-scrollbar { display: none; }
.menu-category-tab { min-width: 104px; min-height: 72px; display: grid; place-items: center; align-content: center; gap: .25rem; padding: .6rem .45rem; border: 1px solid rgba(216,185,130,.58); border-radius: 14px; color: var(--orchid-dark); background: rgba(255,255,255,.86); cursor: pointer; scroll-snap-align: start; transition: color .18s ease,background .18s ease,transform .18s ease,box-shadow .18s ease; }
.menu-category-tab:hover { transform: translateY(-2px); box-shadow: 0 8px 18px rgba(36,20,34,.08); }.menu-category-tab.is-active { border-color: var(--orchid); color: var(--white); background: linear-gradient(145deg,var(--orchid),var(--orchid-dark)); box-shadow: 0 9px 20px rgba(138,59,130,.2); }
.menu-category-tab span { font-size: 1.35rem; line-height: 1; }.menu-category-tab strong { font-size: .6rem; line-height: 1.25; }
.menu-tools { min-height: 84px; display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin: 1rem 0; }
.menu-tools > div { display: flex; align-items: center; gap: .8rem; }.menu-current-icon { color: var(--orchid); font-size: 2.1rem; }.menu-tools h2 { margin: 0; font-size: 1.75rem; }.menu-tools p { margin: .2rem 0 0; color: #6e6269; font-size: .7rem; }
.menu-search { width: min(320px,100%); min-height: 45px; display: flex; align-items: center; gap: .55rem; padding: 0 .9rem; border: 1px solid rgba(216,185,130,.62); border-radius: 999px; background: var(--white); box-shadow: 0 5px 15px rgba(36,20,34,.04); }
.menu-search:focus-within { border-color: var(--orchid); box-shadow: 0 0 0 3px rgba(138,59,130,.1); }.menu-search > span { color: var(--orchid); font-size: 1.25rem; }.menu-search input { width: 100%; border: 0; outline: 0; color: var(--plum); background: transparent; font: inherit; font-size: .75rem; }
.menu-item-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1.05rem; }
.menu-dish-card { min-width: 0; overflow: hidden; border: 1px solid rgba(216,185,130,.5); border-radius: 18px; background: var(--white); box-shadow: 0 8px 22px rgba(36,20,34,.06); transition: transform .2s ease,box-shadow .2s ease; }.menu-dish-card:hover { transform: translateY(-3px); box-shadow: 0 13px 28px rgba(36,20,34,.1); }.menu-dish-card[hidden] { display: none; }
.menu-dish-image { position: relative; height: 205px; overflow: hidden; background: #f4e7d6; }.menu-dish-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }.menu-dish-card:hover .menu-dish-image img { transform: scale(1.035); }
.menu-dish-placeholder { width: 100%; height: 100%; display: grid; place-items: center; color: var(--orchid); background: radial-gradient(circle,#fff 0 22%,#f5e8d7 23% 100%); font-size: 4.5rem; }
.menu-dish-badges { position: absolute; top: .65rem; left: .65rem; right: .65rem; display: flex; flex-wrap: wrap; gap: .35rem; }.is-rtl .menu-dish-badges { direction: rtl; }
.menu-dish-badges span { padding: .3rem .48rem; border-radius: 7px; color: var(--white); background: var(--orchid); font-size: .54rem; font-weight: 700; line-height: 1; text-transform: uppercase; box-shadow: 0 4px 10px rgba(36,20,34,.15); }.menu-dish-badges .is-best,.menu-dish-badges .is-chef { color: var(--plum); background: #ffd04d; }.menu-dish-badges .is-vegetarian { background: var(--basil); }.menu-dish-badges .is-new { background: #74945e; }.menu-dish-badges .is-spicy { background: var(--chili); }
.menu-dish-body { min-height: 200px; display: flex; flex-direction: column; padding: .9rem 1rem 1rem; }.menu-dish-body h3 { margin: 0; color: var(--plum); font-size: 1.05rem; }.menu-dish-ar { margin: .18rem 0 0; color: #554950; font-size: .7rem; }.menu-dish-description { margin: .4rem 0; color: #62565d; font-size: .66rem; line-height: 1.55; }.menu-spice { display: flex; align-items: center; gap: .4rem; margin-top: auto; color: var(--chili); }.menu-spice span { font-size: .73rem; letter-spacing: -.2em; }.menu-spice small { font-size: .61rem; font-weight: 600; }
.menu-dish-footer { display: flex; align-items: center; justify-content: space-between; gap: .5rem; margin-top: .75rem; }.menu-dish-footer strong { color: var(--basil); font-size: .85rem; white-space: nowrap; }.menu-dish-footer a { min-height: 31px; display: inline-flex; align-items: center; gap: .3rem; padding: .38rem .7rem; border-radius: 999px; color: var(--white); background: linear-gradient(135deg,var(--orchid),var(--orchid-dark)); font-size: .57rem; font-weight: 700; white-space: nowrap; }
.menu-empty-state { display: none; padding: 3.5rem 1rem; text-align: center; }.menu-empty-state.is-visible { display: block; }.menu-empty-state > span { color: var(--orchid); font-size: 3rem; }.menu-empty-state h2 { margin: .5rem 0; font-size: 1.7rem; }.menu-empty-state p { color: #74686f; font-size: .8rem; }
.menu-delivery-section { padding: 0 0 2.2rem; background: #fffdf9; }.menu-delivery-banner { min-height: 150px; display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; overflow: hidden; padding: 1.5rem 2rem; border-radius: 18px; color: var(--white); background: radial-gradient(circle at 93% 34%,rgba(226,169,59,.35),transparent 22%),linear-gradient(110deg,var(--orchid-dark),var(--orchid)); box-shadow: 0 12px 30px rgba(36,20,34,.13); }.menu-delivery-copy { display: flex; align-items: center; gap: 1rem; }.menu-delivery-copy > span { font-size: 3.5rem; }.menu-delivery-copy h2 { margin: 0; color: var(--white); font-size: 2rem; }.menu-delivery-copy p { margin: .25rem 0 0; font-size: .72rem; }.menu-delivery-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .5rem; }.menu-delivery-actions a,.menu-delivery-actions span { padding: .5rem .7rem; border-radius: 6px; color: var(--orchid-dark); background: var(--white); font-size: .68rem; font-weight: 800; }.menu-delivery-actions .menu-delivery-order { color: var(--plum); background: #ffd04d; }
.cta-band { padding-block: 3rem; color: var(--white); background: linear-gradient(120deg, var(--plum), var(--orchid-dark), var(--orchid)); }
.cta-band h2 { margin: 0; color: var(--white); }
.cta-inner { display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.page-hero { padding-block: 5rem; text-align: center; background: linear-gradient(135deg, var(--white), var(--ivory)); }
.page-shell { min-height: 45vh; padding-block: 5rem; }
.placeholder-card { max-width: 780px; margin: auto; padding: 3rem; border-radius: var(--radius); background: var(--white); box-shadow: var(--shadow); text-align: center; }
.franchise-intro-image { width: 100%; max-height: 360px; margin: 0 0 1.5rem; border-radius: 18px; object-fit: cover; }
.noodle-builder-hero { text-align: left; }
.noodle-builder-hero .container { max-width: var(--container); }
.noodle-builder-hero p { max-width: 620px; margin-inline: 0; font-size: 1.05rem; }
.noodle-builder { background: linear-gradient(180deg,var(--ivory),#fffdf9); }
.builder-progress { display: grid; grid-template-columns: repeat(4,1fr); margin-bottom: 2rem; padding: 1.25rem; border: 1px solid rgba(216,185,130,.42); border-radius: var(--radius); background: var(--white); box-shadow: var(--shadow); }
.builder-progress div { position: relative; display: grid; justify-items: center; gap: .5rem; text-align: center; }
.builder-progress div:not(:last-child)::after { position: absolute; top: 21px; right: -20%; width: 40%; border-top: 1px dashed var(--bamboo); content: ''; }
.builder-progress span, .builder-group-heading > span { display: grid; place-items: center; border-radius: 50%; color: var(--white); background: var(--orchid); font-weight: 700; }
.builder-progress span { width: 44px; height: 44px; }
.builder-progress strong { font-size: .8rem; }
.builder-option-group { margin-top: 1.25rem; padding: 1.5rem; border: 1px solid rgba(216,185,130,.42); border-radius: var(--radius); background: var(--white); box-shadow: 0 12px 30px rgba(36,20,34,.07); }
.builder-group-heading { display: flex; align-items: center; gap: .9rem; margin-bottom: 1.25rem; }
.builder-group-heading > span { width: 42px; height: 42px; flex: 0 0 42px; }
.builder-group-heading h2 { margin: 0; font-size: 1.75rem; }
.builder-group-heading p { margin: .2rem 0 0; color: rgba(36,20,34,.68); font-size: .82rem; }
.builder-option-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: .85rem; }
.builder-option-card { overflow: hidden; border: 1px solid rgba(216,185,130,.5); border-radius: 15px; background: #fffdf9; text-align: center; transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.builder-option-card:hover { transform: translateY(-2px); border-color: var(--orchid); box-shadow: 0 10px 24px rgba(36,20,34,.10); }
.builder-option-card img, .builder-option-placeholder { width: 100%; height: 120px; }
.builder-option-card img { object-fit: cover; }
.builder-option-placeholder { display: grid; place-items: center; color: var(--orchid); background: radial-gradient(circle,#fff 0 30%,#f6eaf2 31% 100%); font-family: 'Playfair Display',serif; font-size: 2rem; }
.builder-option-card > div { padding: .8rem; }
.builder-option-card h3 { margin: 0; color: var(--plum); font-family: 'Poppins',sans-serif; font-size: .84rem; }
.builder-option-card p { margin: .35rem 0 0; color: rgba(36,20,34,.65); font-size: .68rem; }
.builder-option-card small { display: block; margin-top: .45rem; color: var(--basil); font-weight: 700; }
.builder-empty, .builder-message { grid-column: 1/-1; padding: 1rem; border-radius: 12px; color: rgba(36,20,34,.68); background: var(--ivory); text-align: center; }
.noodle-page-hero { position: relative; overflow: hidden; background: radial-gradient(circle at 12% 30%,rgba(226,169,59,.12),transparent 25%),linear-gradient(108deg,#fffaf2 0 44%,#f1dfc6 44%); }
.noodle-page-hero::before { position: absolute; inset: 0; content: ''; opacity: .2; background-image: radial-gradient(circle at 8% 18%,rgba(138,59,130,.2) 0 2px,transparent 2.5px); background-size: 43px 43px; }
.noodle-hero-grid { position: relative; min-height: 390px; display: grid; grid-template-columns: .9fr 1.1fr; }
.noodle-hero-copy { position: relative; z-index: 3; display: flex; flex-direction: column; justify-content: center; padding: 2.2rem 2rem 2.2rem 0; }.noodle-hero-kicker { margin-bottom: .5rem; color: var(--gold); font-size: .72rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }.noodle-hero-copy h1 { max-width: 540px; margin: 0 0 .7rem; font-size: clamp(3rem,4.6vw,4.5rem); }.noodle-hero-copy > p { max-width: 470px; margin-bottom: .55rem; color: #574c52; font-size: .86rem; }.noodle-brand-promise { margin-bottom: .85rem; color: var(--basil); font-family: 'Playfair Display',serif; font-size: .9rem; }.noodle-hero-copy > .button { width: fit-content; min-height: 42px; padding: .55rem 1.2rem; font-size: .72rem; }
.noodle-hero-media { position: relative; min-width: 0; }.noodle-hero-media::before { position: absolute; inset: 0 auto 0 0; z-index: 1; width: 24%; content: ''; background: linear-gradient(90deg,#fff8ed,transparent); }.noodle-hero-media img,.noodle-hero-placeholder { width: 100%; height: 100%; object-fit: cover; }.noodle-hero-placeholder { display: grid; place-items: center; color: var(--orchid); background: radial-gradient(circle,#fff 0 28%,#e7d0af 29% 44%,#f3e4cf 45%); }.noodle-hero-placeholder span { font-size: 10rem; }
.noodle-hero-formula { max-width: 480px; display: flex; align-items: center; gap: .45rem; margin-top: .95rem; padding-top: .75rem; border-top: 1px solid rgba(216,185,130,.5); }.noodle-hero-formula > span { display: grid; justify-items: center; color: var(--orchid); font-size: 1.25rem; }.noodle-hero-formula small { color: #60545b; font-size: .48rem; white-space: nowrap; }.noodle-hero-formula b { color: var(--orchid); font-size: .8rem; }
.noodle-builder-page { padding: 1.2rem 0 2rem; background: #fffdf9; }.noodle-order-guide { display: grid; grid-template-columns: repeat(4,1fr); gap: 1rem; margin-bottom: 1rem; }.noodle-order-guide article { position: relative; min-height: 160px; display: grid; grid-template-columns: auto 1fr; align-content: start; gap: .25rem .7rem; padding: 1rem; border: 1px solid rgba(216,185,130,.5); border-radius: 17px; background: var(--white); box-shadow: 0 7px 18px rgba(36,20,34,.06); }.noodle-order-guide article:not(:last-child)::after { position: absolute; top: 50%; right: -.85rem; z-index: 2; color: var(--orchid); content: '⋯›'; font-size: 1rem; }.is-rtl .noodle-order-guide article:not(:last-child)::after { right: auto; left: -.85rem; transform: scaleX(-1); }.noodle-order-guide article > span { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; color: var(--white); background: var(--orchid); font-weight: 700; }.noodle-guide-icon { grid-column: 1/-1; min-height: 45px; display: grid; place-items: center; color: var(--orchid); font-size: 2rem; }.noodle-order-guide h3 { margin: 0; color: var(--plum); font-family: 'Poppins',sans-serif; font-size: .75rem; }.noodle-order-guide p { grid-column: 1/-1; margin: .25rem 0 0; color: #6e6269; text-align: center; font-size: .6rem; }
.noodle-step { margin-top: .7rem; border: 1px solid rgba(216,185,130,.5); border-radius: 17px; background: var(--white); box-shadow: 0 7px 20px rgba(36,20,34,.05); }.noodle-step-toggle { width: 100%; display: flex; align-items: center; gap: .75rem; padding: .85rem 1rem .6rem; border: 0; color: inherit; background: transparent; text-align: start; }.noodle-step-toggle > span { width: 34px; height: 34px; display: grid; flex: 0 0 34px; place-items: center; border-radius: 50%; color: var(--white); background: var(--orchid); font-weight: 700; }.noodle-step-toggle h2 { margin: 0; font-size: 1.65rem; }.noodle-step-toggle p { margin: .18rem 0 0; color: #71656c; font-size: .65rem; }.noodle-step-toggle > b { display: none; margin-inline-start: auto; font-size: 1.4rem; }.noodle-step-content { padding: .4rem 1rem 1rem; }
.noodle-options-grid { display: grid; gap: .75rem; }.noodle-options-noodles { grid-template-columns: repeat(5,1fr); }.noodle-options-protein { grid-template-columns: repeat(4,1fr); }.noodle-option-card { position: relative; min-width: 0; overflow: hidden; display: flex; flex-direction: column; align-items: center; padding: 0 0 .65rem; border: 1px solid rgba(216,185,130,.58); border-radius: 13px; color: var(--plum); background: #fffdf9; cursor: pointer; font: inherit; transition: border-color .18s ease,transform .18s ease,box-shadow .18s ease; }.noodle-option-card:hover { transform: translateY(-2px); border-color: var(--orchid); box-shadow: 0 8px 18px rgba(36,20,34,.08); }.noodle-option-card.is-selected { border: 2px solid var(--orchid); }.noodle-option-card img,.noodle-option-placeholder { width: 100%; height: 105px; object-fit: cover; }.noodle-option-placeholder { display: grid; place-items: center; color: var(--orchid); background: radial-gradient(circle,#fff 0 28%,#f4e6d4 29%); font-size: 2.3rem; }.noodle-option-card strong { padding: .55rem .35rem 0; font-size: .68rem; line-height: 1.3; }.noodle-option-card small { margin-top: .25rem; color: var(--basil); font-size: .55rem; font-weight: 700; }.noodle-option-check { position: absolute; top: .4rem; right: .4rem; z-index: 2; width: 24px; height: 24px; display: none; place-items: center; border-radius: 50%; color: var(--white); background: var(--orchid); font-size: .7rem; }.is-rtl .noodle-option-check { right: auto; left: .4rem; }.noodle-option-card.is-selected .noodle-option-check { display: grid; }
.noodle-tip { margin: .85rem 0 0; padding: .65rem 1rem; border-radius: 11px; color: #62565d; background: linear-gradient(90deg,#fff1d9,#fff8ec); font-size: .67rem; }.noodle-flavor-columns { display: grid; grid-template-columns: 1.25fr 1fr; gap: 1.25rem; }.noodle-flavor-columns > div + div { padding-inline-start: 1.25rem; border-inline-start: 1px dashed var(--bamboo); }.noodle-flavor-columns h3 { color: var(--orchid-dark); font-family: 'Poppins',sans-serif; font-size: .72rem; }.noodle-options-flavor { grid-template-columns: repeat(5,1fr); }.noodle-flavor-columns > div:last-child .noodle-options-flavor { grid-template-columns: repeat(4,1fr); }.noodle-options-flavor .noodle-option-card img,.noodle-options-flavor .noodle-option-placeholder { height: 72px; }
.noodle-spice-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 1rem; }.noodle-spice-card { position: relative; min-height: 78px; display: flex; align-items: center; gap: .65rem; padding: .65rem .8rem; border: 1px solid var(--basil); border-radius: 13px; color: var(--plum); background: var(--white); cursor: pointer; text-align: start; }.noodle-spice-card.is-medium { border-color: var(--gold); }.noodle-spice-card.is-hot,.noodle-spice-card.is-very-hot { border-color: var(--chili); }.noodle-spice-card > span { font-size: .9rem; letter-spacing: -.25em; }.noodle-spice-card div { display: grid; }.noodle-spice-card strong { color: var(--basil); font-size: .7rem; }.noodle-spice-card.is-medium strong { color: #bf7a00; }.noodle-spice-card.is-hot strong,.noodle-spice-card.is-very-hot strong { color: var(--chili); }.noodle-spice-card small { color: #64585f; font-size: .52rem; }.noodle-spice-card i { position: absolute; top: .35rem; right: .4rem; display: none; color: var(--orchid); font-style: normal; }.noodle-spice-card.is-selected { outline: 2px solid var(--orchid); outline-offset: 2px; }.noodle-spice-card.is-selected i { display: block; }
.noodle-selection-summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 1rem; padding: 1rem 1.2rem; border: 1px solid rgba(216,185,130,.52); border-radius: 16px; background: linear-gradient(90deg,#fffaf2,#fff); box-shadow: 0 8px 20px rgba(36,20,34,.06); }.noodle-selection-summary > div { display: flex; align-items: center; gap: .75rem; }.noodle-selection-summary > div > span { color: var(--orchid); font-size: 2rem; }.noodle-selection-summary h2 { margin: 0; font-size: 1.2rem; }.noodle-selection-summary p { margin: .2rem 0 0; color: #6a5e65; font-size: .65rem; }.noodle-selection-summary > a { padding: .6rem 1rem; border-radius: 9px; color: var(--white); background: linear-gradient(135deg,var(--orchid),var(--orchid-dark)); font-size: .7rem; font-weight: 700; }
.noodle-must-try { padding: .8rem 0 1.2rem; background: #fffdf9; }.noodle-section-title { display: flex; align-items: center; justify-content: center; gap: .8rem; margin-bottom: .75rem; }.noodle-section-title h2 { margin: 0; font-size: 1.75rem; }.noodle-section-title > span { padding: .3rem .65rem; border-radius: 999px; color: var(--plum); background: #ffd66b; font-size: .58rem; font-weight: 700; }.noodle-must-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: .8rem; }.noodle-must-grid article { overflow: hidden; border: 1px solid rgba(216,185,130,.48); border-radius: 14px; background: var(--white); box-shadow: 0 7px 18px rgba(36,20,34,.06); }.noodle-must-image { position: relative; height: 130px; display: grid; place-items: center; overflow: hidden; color: var(--orchid); background: #f4e5d1; font-size: 3rem; }.noodle-must-image img { width: 100%; height: 100%; object-fit: cover; }.noodle-must-image b { position: absolute; top: .45rem; left: .45rem; padding: .3rem .4rem; border-radius: 6px; color: var(--plum); background: #ffd04d; font-size: .48rem; text-transform: uppercase; }.noodle-must-grid article > div:last-child { padding: .7rem; }.noodle-must-grid h3 { margin: 0; color: var(--plum); font-family: 'Poppins',sans-serif; font-size: .72rem; }.noodle-must-grid p { min-height: 3.5em; margin: .3rem 0; color: #6b5f66; font-size: .55rem; line-height: 1.45; }.noodle-must-grid footer { display: flex; align-items: center; justify-content: space-between; }.noodle-must-grid footer strong { color: var(--basil); font-size: .68rem; }.noodle-must-grid footer a { padding: .35rem .6rem; border-radius: 999px; color: var(--white); background: var(--orchid); font-size: .5rem; font-weight: 700; }
.noodle-order-cta { padding: 0 0 1.8rem; background: #fffdf9; }.noodle-order-cta > .container { min-height: 130px; display: flex; align-items: center; justify-content: space-between; gap: 1.2rem; padding: 1.3rem 2rem; border-radius: 17px; color: var(--white); background: radial-gradient(circle at 88% 35%,rgba(226,169,59,.3),transparent 25%),linear-gradient(115deg,var(--orchid-dark),var(--orchid)); }.noodle-order-cta > .container > div:first-child { display: flex; align-items: center; gap: 1rem; }.noodle-order-cta > .container > div:first-child > span { font-size: 3rem; }.noodle-order-cta h2 { margin: 0; color: var(--white); font-size: 1.8rem; }.noodle-order-cta p { margin: .2rem 0 0; font-size: .7rem; }.noodle-order-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .45rem; }.noodle-order-actions a,.noodle-order-actions > span { padding: .48rem .65rem; border-radius: 6px; color: var(--orchid-dark); background: var(--white); font-size: .65rem; font-weight: 800; }.noodle-order-actions .noodle-order-button { color: var(--plum); background: #ffd04d; }
.branches-page-hero { position: relative; overflow: hidden; background: radial-gradient(circle at 12% 30%,rgba(226,169,59,.12),transparent 26%),linear-gradient(108deg,#fffaf2 0 44%,#ead8bf 44%); }.branches-page-hero::before { position: absolute; inset: 0; content: ''; opacity: .2; background-image: radial-gradient(circle at 7% 18%,rgba(138,59,130,.19) 0 2px,transparent 2.5px); background-size: 43px 43px; }.branches-hero-grid { position: relative; min-height: 390px; display: grid; grid-template-columns: .85fr 1.15fr; }.branches-hero-copy { position: relative; z-index: 3; display: flex; flex-direction: column; justify-content: center; padding: 2.5rem 2rem 2.5rem 0; }.branches-hero-copy h1 { max-width: 480px; margin: 0 0 .8rem; font-size: clamp(3.2rem,5vw,4.8rem); }.branches-hero-copy > p { max-width: 450px; margin-bottom: 1.2rem; color: #574b52; font-size: .87rem; }.branches-hero-rule { width: 170px; display: flex; align-items: center; gap: .6rem; margin-bottom: .6rem; color: var(--gold); }.branches-hero-rule::before,.branches-hero-rule::after { height: 1px; flex: 1; content: ''; background: var(--gold); }.branches-hero-media { position: relative; }.branches-hero-media::before { position: absolute; inset: 0 auto 0 0; z-index: 1; width: 22%; content: ''; background: linear-gradient(90deg,#fff8ed,transparent); }.branches-hero-media img,.branches-hero-placeholder { width: 100%; height: 100%; object-fit: cover; }.branches-hero-placeholder { display: grid; place-items: center; color: var(--white); background: linear-gradient(135deg,var(--orchid-dark),var(--plum)); font-family: 'Playfair Display',serif; font-size: 6rem; }.branches-hero-benefits { display: flex; gap: 1rem; }.branches-hero-benefits > span { min-width: 105px; display: grid; justify-items: center; padding-inline: .7rem; border-inline-end: 1px solid rgba(216,185,130,.6); color: var(--orchid); font-size: 1.4rem; text-align: center; }.branches-hero-benefits > span:last-child { border: 0; }.branches-hero-benefits small { max-width: 100px; margin-top: .2rem; color: var(--plum); font-size: .55rem; font-weight: 600; line-height: 1.35; }
.branches-page { padding: 1.3rem 0 1.5rem; background: #fffdf9; }.branches-filter-panel { display: grid; grid-template-columns: minmax(220px,1.2fr) minmax(150px,.6fr) 2fr; align-items: center; gap: .75rem; padding: 1rem; border: 1px solid rgba(216,185,130,.45); border-radius: 16px; background: var(--white); box-shadow: 0 8px 20px rgba(36,20,34,.05); }.branches-search { min-height: 44px; display: flex; align-items: center; gap: .55rem; padding: 0 .85rem; border: 1px solid rgba(216,185,130,.58); border-radius: 999px; }.branches-search > span { color: var(--orchid); font-size: 1.2rem; }.branches-search input { min-width: 0; width: 100%; border: 0; outline: 0; background: transparent; font: inherit; font-size: .68rem; }.branches-area-select select { width: 100%; min-height: 44px; padding: 0 .8rem; border: 1px solid rgba(216,185,130,.58); border-radius: 10px; color: var(--plum); background: var(--white); font: inherit; font-size: .68rem; }.branches-service-tabs { display: flex; justify-content: flex-end; gap: .5rem; }.branches-service-tabs button { min-height: 44px; display: inline-flex; align-items: center; gap: .35rem; padding: .55rem .75rem; border: 1px solid rgba(216,185,130,.58); border-radius: 10px; color: var(--orchid); background: var(--white); cursor: pointer; }.branches-service-tabs button.is-active { color: var(--white); border-color: var(--orchid); background: var(--orchid); }.branches-service-tabs strong { font-size: .6rem; }.branches-results { grid-column: 1/-1; margin: 0; color: #665a61; font-size: .65rem; }.branches-results strong { color: var(--orchid); }
.branches-card-grid { display: grid; grid-template-columns: repeat(var(--branches-grid-columns,5),minmax(0,1fr)); gap: .85rem; margin-top: 1rem; }.branch-card { min-width: 0; overflow: hidden; border: 1px solid rgba(216,185,130,.5); border-radius: 15px; background: var(--white); box-shadow: 0 8px 20px rgba(36,20,34,.06); }.branch-card[hidden] { display: none; }.branch-card-image { position: relative; height: 145px; display: grid; place-items: center; overflow: hidden; color: var(--white); background: linear-gradient(135deg,var(--orchid),var(--plum)); font-family: 'Playfair Display',serif; font-size: 2rem; }.branch-card-image img { width: 100%; height: 100%; object-fit: cover; }.branch-card-image b { position: absolute; top: .5rem; left: .5rem; padding: .28rem .45rem; border-radius: 6px; color: var(--plum); background: #ffd04d; font-family: 'Poppins',sans-serif; font-size: .5rem; text-transform: uppercase; }.branch-card-body { min-height: 270px; display: flex; flex-direction: column; padding: .75rem; }.branch-card h2 { margin: 0 0 .45rem; font-size: 1.05rem; }.branch-card p { margin: 0; }.branch-area { color: #bc6900; font-size: .59rem; font-weight: 600; }.branch-address { min-height: 3.2em; margin-top: .35rem!important; color: #665a61; font-size: .55rem; line-height: 1.5; }.branch-hours { margin-top: .55rem!important; padding-top: .5rem; border-top: 1px dashed rgba(216,185,130,.6); color: #544950; font-size: .53rem; line-height: 1.55; }.branch-hours span { color: var(--orchid); }.branch-phone { margin-top: .5rem; color: var(--basil); font-size: .58rem; font-weight: 700; }.branch-services { display: none; }.branch-actions { display: grid; grid-template-columns: 1.25fr 1fr; gap: .35rem; margin-top: auto; padding-top: .7rem; }.branch-actions a { min-height: 31px; display: grid; place-items: center; padding: .3rem; border: 1px solid var(--orchid); border-radius: 7px; color: var(--orchid); font-size: .51rem; font-weight: 700; text-align: center; }.branch-actions .branch-order-button { color: var(--white); background: var(--orchid); }.branches-empty { display: none; padding: 3rem 1rem; text-align: center; }.branches-empty.is-visible { display: block; }.branches-empty > span { color: var(--orchid); font-size: 3rem; }.branches-empty h2 { margin: .4rem 0; font-size: 1.6rem; }.branches-empty p { color: #6b5f66; font-size: .75rem; }
.branches-map-section { min-height: 390px; display: grid; grid-template-columns: 1.25fr 1fr; overflow: hidden; margin-top: 1.2rem; border: 1px solid rgba(216,185,130,.48); border-radius: 17px; background: var(--white); box-shadow: 0 8px 22px rgba(36,20,34,.06); }.branches-map-visual { position: relative; min-width: 0; padding: 1rem; }.branches-map-visual h2 { position: relative; z-index: 2; margin: 0 0 .75rem; font-size: 1.55rem; }.branches-map-visual iframe,.branches-map-placeholder { width: 100%; height: 320px; border: 0; border-radius: 12px; }.branches-map-placeholder { position: relative; overflow: hidden; background: linear-gradient(135deg,#f4ecd9,#dbe9e5 58%,#cfe0ed); }.branches-map-placeholder::before { position: absolute; inset: 0; content: ''; opacity: .65; background-image: linear-gradient(30deg,transparent 45%,rgba(255,255,255,.9) 46% 49%,transparent 50%),linear-gradient(-18deg,transparent 42%,rgba(255,255,255,.82) 43% 46%,transparent 47%); background-size: 130px 95px,170px 120px; }.branches-map-placeholder i { position: absolute; left: var(--marker-x); top: var(--marker-y); z-index: 2; display: grid; justify-items: center; color: var(--orchid); font-style: normal; transform: translate(-50%,-50%); }.branches-map-placeholder i b { font-size: 1.8rem; }.branches-map-placeholder i small { max-width: 100px; padding: .25rem .4rem; border-radius: 5px; color: var(--plum); background: rgba(255,255,255,.92); box-shadow: 0 4px 10px rgba(36,20,34,.1); font-size: .48rem; font-weight: 700; text-align: center; }.branches-map-list { overflow-y: auto; max-height: 390px; padding: .8rem; border-inline-start: 1px solid rgba(216,185,130,.45); }.branches-map-list article { display: grid; grid-template-columns: 28px 70px 1fr auto; align-items: center; gap: .55rem; padding: .55rem; border-bottom: 1px solid rgba(216,185,130,.35); }.branches-map-list article > span { width: 24px; height: 24px; display: grid; place-items: center; border-radius: 50%; color: var(--white); background: var(--orchid); font-size: .55rem; font-weight: 700; }.branches-map-list img,.branches-map-list article > div { width: 70px; height: 46px; display: grid; place-items: center; border-radius: 7px; color: var(--white); background: var(--orchid); object-fit: cover; font-size: .7rem; }.branches-map-list p { display: grid; gap: .1rem; margin: 0; }.branches-map-list strong { color: var(--orchid-dark); font-size: .6rem; }.branches-map-list small { color: #766a71; font-size: .5rem; }.branches-map-list a { color: var(--basil); font-size: .5rem; font-weight: 700; }
.branches-delivery-cta { padding: 0 0 1.8rem; background: #fffdf9; }.branches-delivery-cta > .container { min-height: 135px; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.4rem 2rem; border-radius: 17px; color: var(--white); background: radial-gradient(circle at 90% 35%,rgba(226,169,59,.28),transparent 23%),linear-gradient(115deg,var(--orchid-dark),var(--orchid)); }.branches-delivery-cta > .container > div:first-child { display: flex; align-items: center; gap: 1rem; }.branches-delivery-cta > .container > div:first-child > span { font-size: 3rem; }.branches-delivery-cta h2 { margin: 0; color: var(--white); font-size: 1.8rem; }.branches-delivery-cta p { margin: .2rem 0 0; font-size: .68rem; }.branches-delivery-links { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .45rem; }.branches-delivery-links a,.branches-delivery-links > span { padding: .48rem .65rem; border-radius: 6px; color: var(--orchid-dark); background: var(--white); font-size: .64rem; font-weight: 800; }.branches-delivery-links .branches-delivery-order { color: var(--plum); background: #ffd04d; }
.offers-page-hero { position: relative; overflow: hidden; background: radial-gradient(circle at 12% 30%,rgba(226,169,59,.12),transparent 26%),linear-gradient(108deg,#fffaf2 0 42%,#f0dfc8 42%); }.offers-page-hero::before { position: absolute; inset: 0; content: ''; opacity: .2; background-image: radial-gradient(circle at 7% 18%,rgba(138,59,130,.19) 0 2px,transparent 2.5px); background-size: 42px 42px; }.offers-hero-grid { position: relative; min-height: 345px; display: grid; grid-template-columns: .76fr 1.24fr; }.offers-hero-copy { position: relative; z-index: 3; display: flex; flex-direction: column; justify-content: center; padding: 2.5rem 2rem 2.5rem 0; }.offers-hero-copy h1 { margin: 0 0 .75rem; font-size: clamp(3.2rem,5vw,4.8rem); }.offers-hero-copy > p { max-width: 420px; color: #574b52; font-size: .86rem; }.offers-hero-rule { width: 170px; display: flex; align-items: center; gap: .6rem; margin-bottom: .55rem; color: var(--gold); }.offers-hero-rule::before,.offers-hero-rule::after { height: 1px; flex: 1; content: ''; background: var(--gold); }.offers-hero-benefits { display: flex; gap: .7rem; }.offers-hero-benefits > span { min-width: 100px; display: grid; justify-items: center; color: var(--orchid); font-size: 1.35rem; text-align: center; }.offers-hero-benefits small { max-width: 100px; color: var(--plum); font-size: .52rem; font-weight: 600; line-height: 1.35; }.offers-hero-media { position: relative; }.offers-hero-media::before { position: absolute; inset: 0 auto 0 0; z-index: 1; width: 20%; content: ''; background: linear-gradient(90deg,#fff8ed,transparent); }.offers-hero-media > img,.offers-hero-placeholder { width: 100%; height: 100%; object-fit: cover; }.offers-hero-placeholder { display: grid; place-items: center; color: var(--orchid); background: radial-gradient(circle,#fff 0 23%,#ead5b7 24% 42%,#f4e7d5 43%); }.offers-hero-placeholder span { font-size: 9rem; }.offers-hero-media > strong { position: absolute; top: 1.3rem; right: 1.5rem; z-index: 2; width: 110px; height: 110px; display: grid; place-items: center; padding: .9rem; border: 3px solid var(--gold); border-radius: 50%; color: #ffe070; background: var(--orchid-dark); font-family: 'Playfair Display',serif; font-size: .9rem; line-height: 1.15; text-align: center; transform: rotate(5deg); }
.offers-page { padding: 1.2rem 0 1rem; background: #fffdf9; }.offers-mobile-nav { display: none; }.featured-offer { min-height: 300px; display: grid; grid-template-columns: .84fr 1.16fr; overflow: hidden; border-radius: 18px; color: var(--white); background: linear-gradient(120deg,var(--plum),var(--orchid-dark)); box-shadow: 0 12px 28px rgba(36,20,34,.13); }.featured-offer-copy { position: relative; z-index: 2; display: flex; flex-direction: column; justify-content: center; padding: 1.7rem 2rem; }.featured-offer-badge { position: absolute; top: 1rem; left: 1rem; padding: .38rem .65rem; border-radius: 999px; color: var(--plum); background: #ffd45f; font-size: .57rem; font-weight: 800; text-transform: uppercase; }.featured-label { margin: .8rem 0 .2rem; color: var(--gold); font-size: .66rem; font-weight: 700; text-transform: uppercase; }.featured-offer h2 { margin: 0 0 .5rem; color: var(--white); font-size: 2.6rem; }.featured-offer-copy > p:not(.featured-label) { max-width: 430px; margin-bottom: .7rem; color: rgba(255,255,255,.9); font-size: .72rem; }.featured-price { display: flex; align-items: flex-end; gap: .65rem; color: #ffd45f; }.featured-price small { font-size: .58rem; }.featured-price strong { font-family: 'Playfair Display',serif; font-size: 2.1rem; line-height: 1; }.featured-price del { color: rgba(255,255,255,.65); font-size: .7rem; }.featured-offer-footer { display: flex; align-items: center; gap: 1rem; margin-top: .9rem; }.featured-offer-footer > span { font-size: .57rem; }.featured-offer-footer > span strong { display: block; }.featured-offer-footer a { padding: .55rem .9rem; border-radius: 999px; color: var(--plum); background: #ffd45f; font-size: .65rem; font-weight: 700; }.featured-offer-image { position: relative; min-width: 0; display: grid; place-items: center; color: var(--white); background: radial-gradient(circle at 65% 50%,var(--orchid),var(--plum)); font-size: 7rem; }.featured-offer-image::before { position: absolute; inset: 0 auto 0 0; z-index: 1; width: 20%; content: ''; background: linear-gradient(90deg,var(--orchid-dark),transparent); }.featured-offer-image > img { width: 100%; height: 100%; object-fit: cover; }.featured-offer-image > b { position: absolute; top: 1rem; right: 1rem; z-index: 2; width: 86px; height: 86px; display: grid; place-items: center; border-radius: 50%; color: var(--orchid-dark); background: #fff0c5; font-family: 'Poppins',sans-serif; font-size: .58rem; text-align: center; }.featured-offer-image > b strong { display: block; font-size: 1.3rem; }
.offers-list { padding-top: 1.3rem; }.offers-section-title { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 1rem; margin-bottom: .9rem; }.offers-section-title > span { height: 1px; background: var(--gold); }.offers-section-title h2 { margin: 0; font-size: 1.8rem; }.offers-card-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .9rem; }.offer-card { overflow: hidden; border: 1px solid rgba(216,185,130,.52); border-radius: 15px; background: var(--white); box-shadow: 0 7px 18px rgba(36,20,34,.05); }.offer-card-image { position: relative; height: 160px; display: grid; place-items: center; overflow: hidden; color: var(--orchid); background: #f2e2cd; font-size: 3.5rem; }.offer-card-image img { width: 100%; height: 100%; object-fit: cover; }.offer-card-image b,.offer-card-image i { position: absolute; top: .55rem; padding: .3rem .48rem; border-radius: 7px; color: var(--white); font-size: .5rem; font-style: normal; font-weight: 700; text-transform: uppercase; }.offer-card-image b { left: .55rem; background: var(--chili); }.offer-card-image i { right: .55rem; color: var(--orchid-dark); background: #ffe08b; }.offer-card-body { min-height: 185px; display: flex; flex-direction: column; padding: .75rem; }.offer-card h3 { margin: 0; color: var(--plum); font-size: .98rem; }.offer-card-body > p { min-height: 3.4em; margin: .35rem 0; color: #62565d; font-size: .58rem; line-height: 1.5; }.offer-card-meta { display: flex; align-items: flex-end; justify-content: space-between; gap: .5rem; margin-top: auto; }.offer-card-meta > div { display: flex; align-items: baseline; gap: .35rem; }.offer-card-meta strong { color: var(--basil); font-size: .75rem; }.offer-card-meta del { color: #8b7f86; font-size: .52rem; }.offer-card-meta small { color: #61555c; font-size: .48rem; line-height: 1.25; }.offer-card-body > a { align-self: center; margin-top: .65rem; padding: .4rem .9rem; border-radius: 999px; color: var(--white); background: linear-gradient(135deg,var(--orchid),var(--orchid-dark)); font-size: .55rem; font-weight: 700; }.offers-empty { padding: 4rem 1rem; border: 1px dashed var(--bamboo); border-radius: 18px; background: var(--white); text-align: center; }.offers-empty > span { color: var(--orchid); font-size: 3rem; }.offers-empty h2 { margin: .4rem 0; font-size: 1.7rem; }.offers-empty p { color: #6d6168; font-size: .75rem; }
.offers-terms { display: flex; align-items: center; gap: .75rem; margin-top: 1rem; padding: .7rem 1rem; border: 1px solid rgba(216,185,130,.5); border-radius: 12px; background: linear-gradient(90deg,#fffaf1,#fff); }.offers-terms > span { width: 25px; height: 25px; display: grid; flex: 0 0 25px; place-items: center; border-radius: 50%; color: var(--white); background: var(--orchid); font-family: 'Playfair Display',serif; font-weight: 700; }.offers-terms p { margin: 0; color: #62565d; font-size: .59rem; }.offers-order-cta { padding: 0 0 1.8rem; background: #fffdf9; }.offers-order-cta > .container { min-height: 135px; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.4rem 2rem; border-radius: 17px; color: var(--white); background: radial-gradient(circle at 90% 35%,rgba(226,169,59,.28),transparent 23%),linear-gradient(115deg,var(--orchid-dark),var(--orchid)); }.offers-order-cta > .container > div:first-child { display: flex; align-items: center; gap: 1rem; }.offers-order-cta > .container > div:first-child > span { font-size: 3rem; }.offers-order-cta h2 { margin: 0; color: var(--white); font-size: 1.8rem; }.offers-order-cta p { margin: .2rem 0 0; font-size: .68rem; }.offers-order-links { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .45rem; }.offers-order-links a,.offers-order-links > span { padding: .48rem .65rem; border-radius: 6px; color: var(--orchid-dark); background: var(--white); font-size: .64rem; font-weight: 800; }.offers-order-links .offers-order-button { color: var(--plum); background: #ffd04d; }
.catering-page-hero { position: relative; overflow: hidden; background: radial-gradient(circle at 12% 28%,rgba(226,169,59,.12),transparent 27%),linear-gradient(108deg,#fffaf2 0 43%,#eddcc3 43%); }.catering-page-hero::before { position: absolute; inset: 0; content: ''; opacity: .2; background-image: radial-gradient(circle at 7% 18%,rgba(138,59,130,.19) 0 2px,transparent 2.5px); background-size: 42px 42px; }.catering-hero-grid { position: relative; min-height: 390px; display: grid; grid-template-columns: .82fr 1.18fr; }.catering-hero-copy { position: relative; z-index: 3; display: flex; flex-direction: column; justify-content: center; padding: 2.5rem 2rem 2.5rem 0; }.catering-hero-copy h1 { margin: 0 0 .75rem; font-size: clamp(3.1rem,5vw,4.7rem); }.catering-hero-copy p { max-width: 450px; color: #574b52; font-size: .87rem; }.catering-hero-copy .button { width: fit-content; min-height: 43px; padding: .55rem 1.15rem; font-size: .7rem; }.catering-hero-rule { width: 170px; display: flex; align-items: center; gap: .6rem; margin-bottom: .55rem; color: var(--gold); }.catering-hero-rule::before,.catering-hero-rule::after { height: 1px; flex: 1; content: ''; background: var(--gold); }.catering-hero-media { position: relative; }.catering-hero-media::before { position: absolute; inset: 0 auto 0 0; z-index: 1; width: 22%; content: ''; background: linear-gradient(90deg,#fff8ed,transparent); }.catering-hero-media img,.catering-hero-placeholder { width: 100%; height: 100%; object-fit: cover; }.catering-hero-placeholder { display: grid; place-items: center; color: var(--orchid); background: radial-gradient(circle,#fff 0 24%,#ead4b5 25% 42%,#f4e6d4 43%); }.catering-hero-placeholder span { font-size: 9rem; }
.catering-intro { padding: 1rem 0; background: #fffdf9; }.catering-intro > .container { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 1rem; padding: 1.2rem 1.5rem; border: 1px solid rgba(216,185,130,.48); border-radius: 16px; background: var(--white); box-shadow: 0 8px 20px rgba(36,20,34,.05); }.catering-intro > .container > span { width: 58px; height: 58px; display: grid; place-items: center; border-radius: 50%; color: var(--orchid); background: #f6eaf3; font-size: 1.7rem; }.catering-intro h2 { margin: 0; font-size: 1.7rem; }.catering-intro p { max-width: 720px; margin: .25rem 0 0; color: #675b62; font-size: .68rem; }.catering-intro a { padding: .55rem .9rem; border: 1px solid var(--orchid); border-radius: 999px; color: var(--orchid); font-size: .65rem; font-weight: 700; }
.catering-packages,.catering-why { padding: 1.8rem 0; background: #fffdf9; }.catering-section-heading { max-width: 700px; margin: 0 auto 1.2rem; text-align: center; }.catering-section-heading > span { color: var(--gold); font-size: .62rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }.catering-section-heading h2 { margin: .2rem 0 .4rem; font-size: 2rem; }.catering-section-heading p { margin: 0; color: #6b5f66; font-size: .7rem; }.catering-package-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; }.catering-package-card { overflow: hidden; border: 1px solid rgba(216,185,130,.5); border-radius: 17px; background: var(--white); box-shadow: 0 8px 22px rgba(36,20,34,.06); }.catering-package-card > img,.catering-package-placeholder { width: 100%; height: 190px; object-fit: cover; }.catering-package-placeholder { display: grid; place-items: center; color: var(--orchid); background: radial-gradient(circle,#fff 0 23%,#f3e4d0 24%); font-size: 4rem; }.catering-package-card > div:last-child { position: relative; min-height: 170px; display: flex; flex-direction: column; padding: 1rem; }.catering-package-card > div > span { position: absolute; top: -22px; right: 1rem; width: 44px; height: 44px; display: grid; place-items: center; border: 3px solid var(--white); border-radius: 50%; color: var(--white); background: var(--orchid); font-size: .65rem; font-weight: 700; }.catering-package-card h3 { margin: 0; font-size: 1.25rem; }.catering-package-card p { margin: .4rem 0; color: #665a61; font-size: .65rem; }.catering-package-card a { margin-top: auto; color: var(--orchid); font-size: .65rem; font-weight: 700; }.catering-empty { grid-column: 1/-1; padding: 2.5rem; border: 1px dashed var(--bamboo); border-radius: 16px; color: #6e6269; background: var(--white); text-align: center; }
.catering-why { border-block: 1px solid rgba(216,185,130,.35); background: var(--white); }.catering-why-grid { display: grid; grid-template-columns: repeat(4,1fr); }.catering-why-grid article { padding: 1rem 1.4rem; border-inline-end: 1px solid rgba(216,185,130,.45); text-align: center; }.catering-why-grid article:last-child { border: 0; }.catering-why-grid article > span { width: 54px; height: 54px; display: grid; place-items: center; margin: 0 auto .65rem; border-radius: 50%; color: var(--basil); background: #edf4e8; font-size: 1.25rem; }.catering-why-grid h3 { margin: 0; color: var(--plum); font-family: 'Poppins',sans-serif; font-size: .75rem; }.catering-why-grid p { margin: .3rem 0 0; color: #6b5f66; font-size: .58rem; }
.catering-inquiry { padding: 2.2rem 0; background: linear-gradient(145deg,#fffaf1,#f6ead9); }.catering-form-layout { display: grid; grid-template-columns: .72fr 1.28fr; overflow: hidden; border: 1px solid rgba(216,185,130,.5); border-radius: 20px; background: var(--white); box-shadow: 0 14px 34px rgba(36,20,34,.09); }.catering-form-intro { padding: 2.2rem; color: var(--white); background: radial-gradient(circle at 20% 85%,rgba(226,169,59,.22),transparent 25%),linear-gradient(145deg,var(--plum),var(--orchid-dark)); }.catering-form-intro > span { color: #ffd46a; font-size: .62rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }.catering-form-intro h2 { margin: .45rem 0 .7rem; color: var(--white); font-size: 2.3rem; }.catering-form-intro p { color: rgba(255,255,255,.83); font-size: .7rem; }.catering-form-intro ul { display: grid; gap: .65rem; margin: 1.4rem 0 0; padding: 0; list-style: none; font-size: .66rem; }.catering-form-intro li { color: rgba(255,255,255,.9); }.catering-form { position: relative; padding: 1.6rem; }.catering-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; }.catering-form label { display: grid; gap: .3rem; }.catering-form label > span { color: #50444b; font-size: .62rem; font-weight: 600; }.catering-form input,.catering-form select,.catering-form textarea { width: 100%; min-height: 43px; padding: .65rem .75rem; border: 1px solid rgba(216,185,130,.62); border-radius: 9px; outline: 0; color: var(--plum); background: #fffdfa; font: inherit; font-size: .68rem; }.catering-form textarea { min-height: 115px; resize: vertical; }.catering-form input:focus,.catering-form select:focus,.catering-form textarea:focus { border-color: var(--orchid); box-shadow: 0 0 0 3px rgba(138,59,130,.1); }.catering-form [aria-invalid="true"] { border-color: var(--chili); }.catering-form label small { min-height: 1em; color: var(--chili); font-size: .52rem; }.catering-form-wide { grid-column: 1/-1; }.catering-form > button { width: 100%; min-height: 46px; display: flex; align-items: center; justify-content: center; gap: .7rem; margin-top: .8rem; border: 0; border-radius: 9px; color: var(--white); background: linear-gradient(135deg,var(--orchid),var(--orchid-dark)); cursor: pointer; font: inherit; font-size: .7rem; font-weight: 700; }.catering-form > button:disabled { opacity: .65; cursor: wait; }.catering-form > button b { font-size: 1rem; }.catering-website-field { position: absolute!important; left: -10000px!important; width: 1px!important; height: 1px!important; overflow: hidden!important; }.catering-form-message { display: none; margin-bottom: .8rem; padding: .65rem .8rem; border-radius: 8px; font-size: .62rem; }.catering-form-message:not(:empty) { display: block; }.catering-form-message.is-success { color: #2f602e; background: #edf7e8; }.catering-form-message.is-error { color: #8b2921; background: #fff0ec; }
.about-page-hero { position: relative; overflow: hidden; background: radial-gradient(circle at 12% 28%,rgba(226,169,59,.11),transparent 27%),linear-gradient(108deg,#fffaf2 0 43%,#ead8bf 43%); }.about-page-hero::before { position: absolute; inset: 0; content: ''; opacity: .2; background-image: radial-gradient(circle at 7% 18%,rgba(138,59,130,.19) 0 2px,transparent 2.5px); background-size: 42px 42px; }.about-hero-grid { position: relative; min-height: 415px; display: grid; grid-template-columns: .84fr 1.16fr; }.about-hero-copy { position: relative; z-index: 3; display: flex; flex-direction: column; justify-content: center; padding: 2.4rem 2rem 2.4rem 0; }.about-hero-copy h1 { max-width: 530px; margin: 0 0 .45rem; font-size: clamp(3.1rem,5vw,4.7rem); }.about-hero-copy h2 { max-width: 480px; margin: 0 0 .65rem; color: var(--plum); font-family: 'Poppins',sans-serif; font-size: 1rem; }.about-hero-copy p { max-width: 470px; color: #574b52; font-size: .78rem; }.about-hero-copy .button { width: fit-content; min-height: 41px; padding: .5rem 1rem; font-size: .66rem; }.about-hero-rule { width: 170px; display: flex; align-items: center; gap: .6rem; margin-bottom: .55rem; color: var(--gold); }.about-hero-rule::before,.about-hero-rule::after { height: 1px; flex: 1; content: ''; background: var(--gold); }.about-hero-media { position: relative; }.about-hero-media::before { position: absolute; inset: 0 auto 0 0; z-index: 1; width: 24%; content: ''; background: linear-gradient(90deg,#fff8ed,transparent); }.about-hero-media img,.about-hero-placeholder { width: 100%; height: 100%; object-fit: cover; }.about-hero-placeholder { display: grid; place-items: center; color: var(--white); background: linear-gradient(135deg,var(--orchid-dark),var(--plum)); font-family: 'Playfair Display',serif; font-size: 6rem; }
.about-story { padding: 1.7rem 0; background: #fffdf9; }.about-story-grid { display: grid; grid-template-columns: .95fr 1.05fr; align-items: center; gap: 2.2rem; }.about-story-media img,.about-image-placeholder { width: 100%; height: 300px; border-radius: 17px; object-fit: cover; }.about-image-placeholder { display: grid; place-items: center; color: var(--white); background: linear-gradient(135deg,var(--orchid),var(--plum)); font-family: 'Playfair Display',serif; font-size: 2.2rem; }.about-kicker { color: var(--gold); font-size: .62rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }.about-story-copy h2,.about-hospitality h2 { margin: .25rem 0 .65rem; font-size: 2rem; }.about-rich-copy,.about-hospitality-copy > p { color: #5e5259; font-size: .69rem; line-height: 1.7; }.about-signature { display: block; margin-top: .8rem; color: var(--orchid); font-family: 'Dancing Script',cursive; font-size: 1.8rem; }
.about-philosophy { padding: 1.6rem 0 2rem; border-block: 1px solid rgba(216,185,130,.35); background: linear-gradient(180deg,#fffaf2,#fffdf9); }.about-section-heading { max-width: 720px; margin: 0 auto 1.1rem; text-align: center; }.about-section-heading h2 { margin: 0; font-size: 2rem; }.about-section-heading p { margin: .35rem 0 0; color: #6b5f66; font-size: .68rem; }.about-philosophy-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 1rem; }.about-philosophy-grid article { padding: 1.25rem; border: 1px solid rgba(216,185,130,.45); border-radius: 16px; background: var(--white); box-shadow: 0 7px 18px rgba(36,20,34,.05); text-align: center; }.about-philosophy-grid article > span { width: 52px; height: 52px; display: grid; place-items: center; margin: 0 auto .6rem; border-radius: 50%; color: var(--basil); background: #eef5e9; font-size: 1.35rem; }.about-philosophy-grid h3 { margin: 0; color: var(--basil); font-family: 'Poppins',sans-serif; font-size: .72rem; }.about-philosophy-grid p { margin: .35rem 0 0; color: #665a61; font-size: .57rem; }
.about-noodle { padding: 1.8rem 0; background: #fffdf9; }.about-noodle-layout { display: grid; grid-template-columns: 1.4fr .6fr; gap: 1rem; }.about-noodle-steps { display: grid; grid-template-columns: repeat(4,1fr); gap: .65rem; }.about-noodle-steps article { min-height: 150px; display: flex; flex-direction: column; padding: .8rem; border: 1px solid rgba(216,185,130,.48); border-radius: 14px; background: var(--white); box-shadow: 0 6px 16px rgba(36,20,34,.05); }.about-noodle-steps article > span { width: 29px; height: 29px; display: grid; place-items: center; border-radius: 50%; color: var(--white); background: var(--orchid); font-size: .62rem; font-weight: 700; }.about-noodle-steps h3 { margin: .6rem 0 .3rem; color: var(--plum); font-family: 'Poppins',sans-serif; font-size: .64rem; }.about-noodle-steps p { margin: 0; color: #6c6067; font-size: .54rem; }.about-noodle-media { min-height: 150px; display: grid; place-items: center; overflow: hidden; border-radius: 14px; color: var(--orchid); background: radial-gradient(circle,#fff 0 24%,#f0dec5 25%); font-size: 4rem; }.about-noodle-media img { width: 100%; height: 100%; object-fit: cover; }.about-text-link { display: block; width: fit-content; margin: .9rem auto 0; color: var(--orchid); font-size: .67rem; font-weight: 700; }
.about-hospitality { padding: 1.8rem 0; border-block: 1px solid rgba(216,185,130,.35); background: var(--white); }.about-hospitality > .container { display: grid; grid-template-columns: .75fr 1.25fr; gap: 1.2rem; align-items: stretch; }.about-hospitality-copy { padding: 1rem; }.about-hospitality blockquote { margin: 1rem 0 0; padding: .85rem 1rem; border-radius: 11px; color: var(--orchid-dark); background: var(--ivory); font-family: 'Playfair Display',serif; font-size: .75rem; }.about-hospitality-media img,.about-hospitality-media .about-image-placeholder { height: 230px; }.about-hospitality-values { grid-column: 1/-1; display: grid; grid-template-columns: repeat(4,1fr); }.about-hospitality-values article { display: flex; align-items: center; gap: .6rem; padding: .7rem; }.about-hospitality-values article > span { width: 42px; height: 42px; display: grid; flex: 0 0 42px; place-items: center; border: 1px solid var(--basil); border-radius: 50%; color: var(--basil); }.about-hospitality-values h3 { margin: 0; color: var(--basil); font-family: 'Poppins',sans-serif; font-size: .6rem; }.about-hospitality-values p { margin: .15rem 0 0; color: #6e6269; font-size: .5rem; }
.about-inside { padding: 1.6rem 0; background: #fffdf9; }.about-inside-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: .8rem; }.about-inside-grid article { overflow: hidden; border-radius: 13px; background: var(--white); text-align: center; }.about-inside-grid img,.about-tile-placeholder { width: 100%; height: 135px; object-fit: cover; }.about-tile-placeholder { display: grid; place-items: center; color: var(--white); background: linear-gradient(135deg,var(--orchid),var(--plum)); font-family: 'Playfair Display',serif; font-size: 1.5rem; }.about-inside-grid h3 { margin: 0; padding: .45rem; color: var(--plum); font-family: 'Poppins',sans-serif; font-size: .58rem; }
.about-cta { padding: 0 0 1.8rem; background: #fffdf9; }.about-cta > .container { min-height: 135px; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.4rem 2rem; border-radius: 17px; color: var(--white); background: radial-gradient(circle at 90% 35%,rgba(226,169,59,.28),transparent 23%),linear-gradient(115deg,var(--orchid-dark),var(--orchid)); }.about-cta > .container > div:first-child { display: flex; align-items: center; gap: 1rem; }.about-cta > .container > div:first-child > span { font-size: 3rem; }.about-cta h2 { margin: 0; color: var(--white); font-size: 1.8rem; }.about-cta p { margin: .2rem 0 0; font-size: .68rem; }.about-cta-links { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .45rem; }.about-cta-links a,.about-cta-links > span { padding: .48rem .65rem; border-radius: 6px; color: var(--orchid-dark); background: var(--white); font-size: .64rem; font-weight: 800; }.about-cta-links .about-cta-order { color: var(--plum); background: #ffd04d; }
.contact-page-hero { position: relative; overflow: hidden; background: radial-gradient(circle at 12% 28%,rgba(226,169,59,.11),transparent 27%),linear-gradient(108deg,#fffaf2 0 43%,#ead8bf 43%); }.contact-page-hero::before { position: absolute; inset: 0; content: ''; opacity: .2; background-image: radial-gradient(circle at 7% 18%,rgba(138,59,130,.19) 0 2px,transparent 2.5px); background-size: 42px 42px; }.contact-hero-grid { position: relative; min-height: 350px; display: grid; grid-template-columns: .82fr 1.18fr; }.contact-hero-copy { position: relative; z-index: 3; display: flex; flex-direction: column; justify-content: center; padding: 2.4rem 2rem 2.4rem 0; }.contact-hero-copy h1 { margin: 0 0 .5rem; font-size: clamp(3.1rem,5vw,4.6rem); }.contact-hero-copy h2 { margin: 0 0 .45rem; color: var(--plum); font-family: 'Poppins',sans-serif; font-size: 1rem; }.contact-hero-copy p { max-width: 450px; color: #574b52; font-size: .82rem; }.contact-hero-rule { width: 170px; display: flex; align-items: center; gap: .6rem; margin-bottom: .55rem; color: var(--gold); }.contact-hero-rule::before,.contact-hero-rule::after { height: 1px; flex: 1; content: ''; background: var(--gold); }.contact-hero-media { position: relative; }.contact-hero-media::before { position: absolute; inset: 0 auto 0 0; z-index: 1; width: 24%; content: ''; background: linear-gradient(90deg,#fff8ed,transparent); }.contact-hero-media img,.contact-hero-placeholder { width: 100%; height: 100%; object-fit: cover; }.contact-hero-placeholder { display: grid; place-items: center; color: var(--orchid); background: radial-gradient(circle,#fff 0 24%,#ead4b6 25%); }.contact-hero-placeholder span { font-size: 8rem; }
.contact-methods { padding: 1rem 0; background: #fffdf9; }.contact-methods > .container { display: grid; grid-template-columns: repeat(4,1fr); padding: 1rem; border: 1px solid rgba(216,185,130,.45); border-radius: 18px; background: var(--white); box-shadow: 0 8px 22px rgba(36,20,34,.06); }.contact-methods article { min-width: 0; display: grid; justify-items: center; padding: .75rem; border-inline-end: 1px solid rgba(216,185,130,.48); text-align: center; }.contact-methods article:last-child { border: 0; }.contact-methods article > span { width: 52px; height: 52px; display: grid; place-items: center; border-radius: 50%; color: var(--orchid); background: #f5e8f2; font-size: 1.4rem; }.contact-methods article:nth-child(2) > span { color: var(--plum); background: #eef5e8; }.contact-methods article:nth-child(3) > span { color: #198b31; background: #edf8eb; }.contact-methods article:nth-child(4) > span { color: #a86600; background: #fff4df; }.contact-methods h2 { margin: .45rem 0 .2rem; color: var(--orchid-dark); font-family: 'Poppins',sans-serif; font-size: .7rem; }.contact-methods a,.contact-methods p { max-width: 100%; margin: 0; overflow-wrap: anywhere; color: #544950; font-size: .61rem; }
.contact-main { padding: 1rem 0 1.5rem; background: #fffdf9; }.contact-main-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 1rem; }.contact-form,.contact-branches { position: relative; padding: 1.2rem; border: 1px solid rgba(216,185,130,.48); border-radius: 17px; background: var(--white); box-shadow: 0 8px 22px rgba(36,20,34,.05); }.contact-panel-title { display: flex; align-items: center; gap: .6rem; margin-bottom: 1rem; }.contact-panel-title > span { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; color: var(--gold); font-size: 1rem; }.contact-panel-title h2 { margin: 0; font-size: 1.3rem; }.contact-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; }.contact-form label { display: grid; gap: .25rem; }.contact-form label > span { color: #554950; font-size: .6rem; font-weight: 600; }.contact-form input,.contact-form textarea { width: 100%; min-height: 43px; padding: .65rem .75rem; border: 1px solid rgba(216,185,130,.62); border-radius: 9px; outline: 0; color: var(--plum); background: #fffdfa; font: inherit; font-size: .67rem; }.contact-form textarea { min-height: 165px; resize: vertical; }.contact-form input:focus,.contact-form textarea:focus { border-color: var(--orchid); box-shadow: 0 0 0 3px rgba(138,59,130,.1); }.contact-form [aria-invalid="true"] { border-color: var(--chili); }.contact-form label small { min-height: 1em; color: var(--chili); font-size: .5rem; }.contact-form-wide { grid-column: 1/-1; }.contact-form > button { width: 100%; min-height: 45px; display: flex; align-items: center; justify-content: center; gap: .7rem; margin-top: .8rem; border: 0; border-radius: 8px; color: var(--white); background: linear-gradient(135deg,var(--orchid),var(--orchid-dark)); cursor: pointer; font: inherit; font-size: .68rem; font-weight: 700; }.contact-form > button:disabled { opacity: .65; cursor: wait; }.contact-website-field { position: absolute!important; left: -10000px!important; width: 1px!important; height: 1px!important; overflow: hidden!important; }.contact-form-message { display: none; margin-bottom: .7rem; padding: .65rem .8rem; border-radius: 8px; font-size: .6rem; }.contact-form-message:not(:empty) { display: block; }.contact-form-message.is-success { color: #2f602e; background: #edf7e8; }.contact-form-message.is-error { color: #8b2921; background: #fff0ec; }
.contact-branch-list { display: grid; gap: .6rem; }.contact-branch-list article { min-height: 94px; display: grid; grid-template-columns: 105px 1fr auto; align-items: center; gap: .7rem; padding: .55rem; border: 1px solid rgba(216,185,130,.5); border-radius: 11px; background: #fffdf9; }.contact-branch-list img,.contact-branch-placeholder { width: 105px; height: 82px; display: grid; place-items: center; border-radius: 8px; color: var(--white); background: var(--orchid); object-fit: cover; }.contact-branch-list h3 { margin: 0; font-size: .85rem; }.contact-branch-list p { margin: .2rem 0; color: #665a61; font-size: .53rem; }.contact-branch-list article > div a,.contact-branch-list small { display: block; margin-top: .15rem; color: #5c5057; font-size: .51rem; }.contact-branch-list article > nav { display: grid; gap: .4rem; }.contact-branch-list article > nav a { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 7px; color: var(--white); background: var(--basil); }.contact-branch-list article > nav a:last-child { color: #a76900; border: 1px solid var(--gold); background: #fff5df; }.contact-all-branches { min-height: 37px; display: grid; place-items: center; margin-top: .6rem; border: 1px solid var(--plum); border-radius: 7px; font-size: .6rem; font-weight: 700; }.contact-empty { color: #6d6168; font-size: .7rem; }
.contact-social { padding: .7rem 0 1.2rem; background: #fffdf9; }.contact-social > .container { padding: 1rem 1.4rem; border: 1px solid rgba(216,185,130,.45); border-radius: 14px; background: linear-gradient(90deg,#fffaf2,#fff); }.contact-section-heading { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 1rem; margin-bottom: .8rem; }.contact-section-heading span { height: 1px; background: var(--gold); }.contact-section-heading h2 { margin: 0; font-size: 1.35rem; }.contact-social-grid { display: grid; grid-template-columns: repeat(4,1fr); }.contact-social-grid a,.contact-social-grid > div { display: flex; align-items: center; justify-content: center; gap: .55rem; }.contact-social-grid span { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; color: var(--white); background: var(--orchid); font-size: .55rem; font-weight: 700; text-transform: uppercase; }.contact-social-grid strong { font-size: .58rem; }
.contact-faq { padding: 1rem 0 2rem; background: #fffdf9; }.contact-faq-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 1rem; }.contact-faq-grid > div,.contact-faq-grid > aside { padding: 1.1rem; border: 1px solid rgba(216,185,130,.45); border-radius: 16px; background: var(--white); }.contact-faq-list { display: grid; gap: .45rem; }.contact-faq-list article { overflow: hidden; border: 1px solid rgba(216,185,130,.52); border-radius: 8px; }.contact-faq-list button { width: 100%; min-height: 40px; display: flex; align-items: center; justify-content: space-between; padding: .55rem .75rem; border: 0; color: var(--plum); background: #fffdf9; cursor: pointer; text-align: start; }.contact-faq-list button span { font-size: .6rem; }.contact-faq-list button b { font-size: .9rem; transition: transform .2s ease; }.contact-faq-list article.is-open button b { transform: rotate(45deg); }.contact-faq-list article > div { max-height: 0; overflow: hidden; transition: max-height .25s ease; }.contact-faq-list article.is-open > div { max-height: 180px; }.contact-faq-list article p { margin: 0; padding: .65rem .75rem; color: #665a61; font-size: .57rem; }.contact-faq-grid > aside { display: flex; align-items: center; justify-content: center; gap: 1.2rem; background: linear-gradient(135deg,#fffaf2,#f6ead9); }.contact-faq-grid > aside > span { color: var(--orchid); font-size: 3rem; }.contact-faq-grid aside h2 { margin: 0; font-size: 1.5rem; }.contact-faq-grid aside p { margin: .35rem 0; color: var(--basil); font-size: .75rem; font-weight: 700; }.contact-faq-grid aside ul { display: grid; gap: .35rem; margin: .6rem 0 0; padding: 0; list-style: none; font-size: .6rem; }
.gallery-page-hero { position: relative; overflow: hidden; background: radial-gradient(circle at 12% 28%,rgba(226,169,59,.11),transparent 27%),linear-gradient(108deg,#fffaf2 0 43%,#ead8bf 43%); }.gallery-page-hero::before { position: absolute; inset: 0; content: ''; opacity: .2; background-image: radial-gradient(circle at 7% 18%,rgba(138,59,130,.19) 0 2px,transparent 2.5px); background-size: 42px 42px; }.gallery-hero-grid { position: relative; min-height: 330px; display: grid; grid-template-columns: .8fr 1.2fr; }.gallery-hero-copy { position: relative; z-index: 3; display: flex; flex-direction: column; justify-content: center; padding: 2.4rem 2rem 2.4rem 0; }.gallery-hero-copy h1 { margin: 0 0 .7rem; font-size: clamp(3.2rem,5vw,4.7rem); }.gallery-hero-copy p { max-width: 450px; color: #574b52; font-size: .83rem; }.gallery-hero-rule { width: 170px; display: flex; align-items: center; gap: .6rem; margin-bottom: .55rem; color: var(--gold); }.gallery-hero-rule::before,.gallery-hero-rule::after { height: 1px; flex: 1; content: ''; background: var(--gold); }.gallery-hero-media { position: relative; }.gallery-hero-media::before { position: absolute; inset: 0 auto 0 0; z-index: 1; width: 24%; content: ''; background: linear-gradient(90deg,#fff8ed,transparent); }.gallery-hero-media img,.gallery-hero-placeholder { width: 100%; height: 100%; object-fit: cover; }.gallery-hero-placeholder { display: grid; place-items: center; color: var(--white); background: linear-gradient(135deg,var(--orchid-dark),var(--plum)); font-family: 'Playfair Display',serif; font-size: 6rem; }
.gallery-page { padding: 1rem 0 1.4rem; background: #fffdf9; }.gallery-filter-tabs { display: flex; overflow-x: auto; padding: .65rem; border: 1px solid rgba(216,185,130,.45); border-radius: 16px; background: var(--white); box-shadow: 0 7px 18px rgba(36,20,34,.05); scrollbar-width: none; }.gallery-filter-tabs::-webkit-scrollbar { display: none; }.gallery-filter-tabs button { min-width: 130px; min-height: 46px; display: flex; align-items: center; justify-content: center; gap: .5rem; padding: .5rem .8rem; border: 0; border-inline-end: 1px solid rgba(216,185,130,.42); color: var(--plum); background: transparent; cursor: pointer; }.gallery-filter-tabs button:last-child { border: 0; }.gallery-filter-tabs button.is-active { border: 0; border-radius: 999px; color: var(--white); background: linear-gradient(135deg,var(--orchid),var(--orchid-dark)); }.gallery-filter-tabs button span { color: var(--orchid); font-size: 1.1rem; }.gallery-filter-tabs button.is-active span { color: var(--white); }.gallery-filter-tabs button strong { font-size: .63rem; white-space: nowrap; }
.gallery-masonry { display: grid; grid-template-columns: repeat(4,1fr); grid-auto-flow: dense; grid-auto-rows: 95px; gap: .65rem; margin-top: .8rem; }.gallery-item { position: relative; min-width: 0; overflow: hidden; grid-row: span 2; margin: 0; border-radius: 13px; background: #eadbc6; }.gallery-item-1,.gallery-item-4,.gallery-item-7 { grid-row: span 3; }.gallery-item-3,.gallery-item-6 { grid-row: span 2; }.gallery-item[hidden] { display: none; }.gallery-item img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease; }.gallery-item:hover img { transform: scale(1.035); }.gallery-item button { position: absolute; inset: 0; display: grid; place-items: center; border: 0; color: transparent; background: transparent; cursor: zoom-in; }.gallery-item button span { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 50%; color: var(--white); background: rgba(36,20,34,.72); font-size: 1.25rem; opacity: 0; transform: scale(.8); transition: opacity .2s ease,transform .2s ease; }.gallery-item:hover button span,.gallery-item button:focus-visible span { opacity: 1; transform: scale(1); }.gallery-item figcaption { position: absolute; right: 0; bottom: 0; left: 0; padding: 1.4rem .7rem .55rem; color: var(--white); background: linear-gradient(transparent,rgba(36,20,34,.75)); font-size: .56rem; opacity: 0; transition: opacity .2s ease; }.gallery-item:hover figcaption { opacity: 1; }.gallery-empty { display: none; padding: 3rem 1rem; text-align: center; }.gallery-empty.is-visible { display: block; }.gallery-empty > span { color: var(--orchid); font-size: 3rem; }.gallery-empty h2 { margin: .35rem 0; font-size: 1.6rem; }.gallery-empty p { color: #6d6168; font-size: .7rem; }
.gallery-instagram { padding: 0 0 1.8rem; background: #fffdf9; }.gallery-instagram > .container { display: grid; grid-template-columns: auto .9fr 1.1fr; align-items: center; gap: 1rem; padding: 1rem 1.4rem; border: 1px solid rgba(216,185,130,.5); border-radius: 16px; background: linear-gradient(90deg,#fffaf2,#fff); }.gallery-instagram-icon { width: 70px; height: 70px; display: grid; place-items: center; border-radius: 50%; color: var(--white); background: linear-gradient(135deg,#8a3b82,#ef6a50,#e2a93b); font-size: 2.4rem; }.gallery-instagram h2 { margin: 0; font-size: 1.35rem; }.gallery-instagram p { margin: .3rem 0 .55rem; color: #665a61; font-size: .6rem; }.gallery-instagram a { display: inline-flex; padding: .45rem .75rem; border-radius: 6px; color: var(--white); background: var(--orchid); font-size: .58rem; font-weight: 700; }.gallery-instagram-thumbs { display: grid; grid-template-columns: repeat(4,1fr); gap: .5rem; }.gallery-instagram-thumbs img { width: 100%; height: 88px; border-radius: 9px; object-fit: cover; }
.gallery-lightbox { position: fixed; inset: 50% auto auto 50%; z-index: 100; width: min(900px,calc(100% - 32px)); max-height: 90vh; padding: 0; overflow: visible; border: 0; border-radius: 16px; background: var(--plum); transform: translate(-50%,-50%); }.gallery-lightbox::backdrop { background: rgba(20,10,19,.82); backdrop-filter: blur(3px); }.gallery-lightbox img { width: 100%; max-height: 78vh; border-radius: 16px 16px 0 0; object-fit: contain; }.gallery-lightbox p { margin: 0; padding: .7rem 1rem; color: var(--white); font-size: .65rem; }.gallery-lightbox > button { position: absolute; top: -.8rem; right: -.8rem; z-index: 2; width: 38px; height: 38px; border: 2px solid var(--white); border-radius: 50%; color: var(--white); background: var(--orchid); cursor: pointer; font-size: 1.3rem; }
.legal-page { min-height: 70vh; padding: 3rem 0 4rem; background: radial-gradient(circle at 8% 12%,rgba(226,169,59,.1),transparent 22%),var(--ivory); }.legal-header { max-width: 760px; margin: 0 auto 1.4rem; text-align: center; }.legal-header > span { color: var(--gold); font-size: .65rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }.legal-header h1 { margin: .3rem 0 .55rem; font-size: clamp(2.8rem,5vw,4.2rem); }.legal-header p { margin: 0; color: #655960; font-size: .82rem; }.legal-header small { display: inline-flex; margin-top: .7rem; padding: .35rem .7rem; border-radius: 999px; color: var(--orchid); background: rgba(255,255,255,.8); font-size: .58rem; font-weight: 600; }.legal-card { max-width: 900px; margin: auto; padding: 2.2rem 2.5rem; border: 1px solid rgba(216,185,130,.48); border-radius: 19px; background: var(--white); box-shadow: 0 12px 30px rgba(36,20,34,.08); }.legal-card section { padding: 1.15rem 0; border-bottom: 1px solid rgba(216,185,130,.38); }.legal-card section:first-child { padding-top: 0; }.legal-card section:last-child { padding-bottom: 0; border: 0; }.legal-card h2 { margin: 0 0 .55rem; color: var(--orchid-dark); font-size: 1.35rem; }.legal-card section > div { color: #554950; font-size: .72rem; line-height: 1.8; }
.error-page { position: relative; overflow: hidden; background: radial-gradient(circle at 14% 25%,rgba(226,169,59,.1),transparent 25%),#fffaf2; }.error-page::before { position: absolute; inset: 0; content: ''; opacity: .18; background-image: radial-gradient(circle at 8% 18%,rgba(138,59,130,.18) 0 2px,transparent 2.5px); background-size: 44px 44px; }.error-layout { position: relative; min-height: 575px; display: grid; grid-template-columns: .92fr 1.08fr; }.error-copy { position: relative; z-index: 3; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 2rem; text-align: center; }.error-code { color: var(--orchid-dark); font-family: 'Playfair Display',serif; font-size: clamp(9rem,18vw,15rem); line-height: .78; letter-spacing: -.08em; }.error-code span { display: inline-grid; width: .55em; place-items: center; color: var(--gold); font-family: 'Poppins',sans-serif; font-size: .15em; vertical-align: middle; }.error-copy h1 { margin: 1rem 0 .55rem; font-size: 2.4rem; }.error-rule { width: 190px; display: flex; align-items: center; gap: .6rem; color: var(--gold); }.error-rule::before,.error-rule::after { height: 1px; flex: 1; content: ''; background: var(--gold); }.error-copy p { margin: .8rem 0 1.2rem; color: #51454c; font-size: .8rem; line-height: 1.8; }.error-actions { display: flex; gap: .7rem; }.error-actions .button { min-height: 43px; padding: .55rem 1.1rem; font-size: .68rem; }.error-media { position: relative; min-width: 0; }.error-media::before { position: absolute; inset: 0 auto 0 0; z-index: 1; width: 24%; content: ''; background: linear-gradient(90deg,#fffaf2,transparent); }.error-media img,.error-food-placeholder { width: 100%; height: 100%; object-fit: cover; }.error-food-placeholder { display: grid; place-items: center; align-content: center; gap: .8rem; color: var(--white); background: radial-gradient(circle at 55% 62%,#bd7d3e 0 24%,#ead2aa 25% 38%,transparent 39%),linear-gradient(145deg,var(--plum),var(--orchid-dark)); }.error-food-placeholder span { color: #ffd466; font-size: 9rem; }.error-food-placeholder b { font-family: 'Playfair Display',serif; font-size: 2rem; }.error-menu-cta { padding: 0; color: var(--white); background: linear-gradient(110deg,var(--orchid-dark),var(--orchid)); }.error-menu-cta > .container { min-height: 120px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 1rem; }.error-menu-cta > .container > span { font-size: 3rem; }.error-menu-cta h2 { margin: 0; color: #ffd466; font-size: 1.55rem; }.error-menu-cta p { margin: .2rem 0 0; font-size: .66rem; }.error-menu-cta a { padding: .55rem 1rem; border-radius: 9px; color: var(--plum); background: #ffd466; font-size: .68rem; font-weight: 700; }
.site-footer { padding-top: 3rem; color: rgba(255,255,255,.76); background: linear-gradient(135deg,#1d101c,var(--plum) 58%,#32152f); }
.footer-grid { display: grid; grid-template-columns: 1.45fr repeat(5,minmax(0,1fr)); gap: 2.1rem; }
.footer-about p { max-width: 260px; font-size: .72rem; line-height: 1.7; }
.footer-brand { display: block; width: 180px; margin-bottom: .8rem; filter: brightness(0) invert(1); opacity: .94; }
.footer-brand img { height: 70px; }
.site-footer h4 { margin: 0 0 1rem; color: var(--white); font-family: var(--font-heading-family); font-size: var(--font-h4-desktop); line-height: var(--line-height-heading); font-weight: var(--font-weight-heading); letter-spacing: var(--letter-spacing-heading); }
.site-footer a { display: flex; width: fit-content; align-items: center; gap: .45rem; margin-bottom: .5rem; font-size: .7rem; }
.site-footer a:hover { color: var(--gold); }
.footer-highlight { margin-top: .8rem; color: var(--gold); font-weight: 600; }
.footer-socials { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1rem; }
.footer-socials a, .footer-socials > span { width: 29px; height: 29px; display: grid; place-items: center; margin: 0; border: 1px solid rgba(255,255,255,.42); border-radius: 50%; color: var(--white); font-size: .58rem; font-weight: 700; text-transform: uppercase; }
.footer-socials > span { opacity: .62; }
.delivery-links span, .delivery-links a { display: block; margin-bottom: .5rem; color: var(--white); font-size: 1rem; font-weight: 700; }

/* Branches page: make the map-side branch selector use the full available height. */
@media (min-width: 769px) {
    .branches-map-list {
        display: grid;
        grid-auto-rows: minmax(0, 1fr);
        align-content: stretch;
        height: 100%;
        min-height: 390px;
        max-height: none;
    }

    .branches-map-list article {
        min-height: 0;
    }
}

/* Coming Soon page */
.coming-soon-page {
    min-height: 100vh;
    margin: 0;
    color: var(--plum);
    background:
        var(--coming-bg-image, none),
        radial-gradient(circle at 18% 18%, rgba(226,169,59,.12), transparent 28%),
        linear-gradient(110deg, #fff8ed 0 55%, #f4e2ca 100%);
    background-size: cover;
    background-position: center;
}

.coming-soon-page::before,
.coming-soon-page::after {
    position: fixed;
    z-index: 0;
    width: 260px;
    height: 260px;
    content: "";
    pointer-events: none;
    opacity: .22;
    background:
        radial-gradient(circle at center, transparent 0 27%, rgba(226,169,59,.34) 28% 29%, transparent 30%),
        conic-gradient(from 45deg, transparent 0 10%, rgba(226,169,59,.34) 10% 12%, transparent 12% 25%, rgba(226,169,59,.3) 25% 27%, transparent 27%);
    border-radius: 50%;
}

.coming-soon-page::before { top: -82px; left: -70px; }
.coming-soon-page::after { right: -88px; bottom: 36px; transform: rotate(28deg); }

.coming-soon-shell {
    position: relative;
    z-index: 1;
    min-height: calc(100vh - 70px);
    overflow: hidden;
}

.coming-soon-layout {
    min-height: calc(100vh - 70px);
    display: grid;
    grid-template-columns: minmax(520px, .92fr) minmax(520px, 1.08fr);
    align-items: stretch;
}

.coming-soon-content {
    position: relative;
    z-index: 3;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 2.3rem 2.7rem 2rem;
    text-align: center;
}

.coming-soon-logo {
    display: block;
    width: min(270px, 50vw);
    margin-bottom: .9rem;
}

.coming-soon-logo img {
    width: 100%;
    height: auto;
    display: block;
}

.coming-soon-divider,
.coming-soon-social-title {
    width: min(340px, 70vw);
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 1rem;
    color: var(--gold);
}

.coming-soon-divider::before,
.coming-soon-divider::after,
.coming-soon-social-title span {
    height: 1px;
    content: "";
    background: linear-gradient(90deg, transparent, var(--gold), transparent);
}

.coming-soon-divider-icon,
.coming-soon-badge-icon {
    width: 18px;
    height: 18px;
    object-fit: contain;
}

.coming-soon-title {
    margin: .65rem 0 .35rem;
    color: var(--orchid);
    font-family: var(--font-heading-family);
    font-size: clamp(5rem, 8.8vw, 8.6rem);
    line-height: .9;
    letter-spacing: -.045em;
}

.coming-soon-subtitle {
    margin: 0;
    color: var(--basil);
    font-family: var(--font-body-family);
    font-size: clamp(1.15rem, 1.8vw, 1.75rem);
    font-weight: 700;
    line-height: 1.35;
}

.coming-soon-body {
    max-width: 650px;
    margin: 1.15rem 0 1.1rem;
    color: #3d3439;
    font-size: clamp(1rem, 1.2vw, 1.28rem);
    line-height: 1.65;
}

.coming-soon-launch {
    display: inline-grid;
    grid-template-columns: 36px auto 110px;
    align-items: center;
    gap: .75rem;
    margin: .15rem 0 1.3rem;
    color: var(--orchid);
}

.coming-soon-launch::after {
    height: 1px;
    content: "";
    background: var(--gold);
}

.coming-soon-launch > span {
    color: var(--gold);
    font-size: 1.6rem;
}

.coming-soon-calendar-icon {
    width: 34px;
    height: 34px;
    object-fit: contain;
}

.coming-soon-launch strong {
    font-family: var(--font-heading-family);
    font-size: clamp(1.25rem, 1.8vw, 1.65rem);
    line-height: 1;
}

.coming-soon-signup {
    width: min(760px, 100%);
    display: grid;
    grid-template-columns: .95fr 1.05fr;
    align-items: center;
    gap: 1.2rem;
    padding: 1.25rem;
    border: 1px solid rgba(216,185,130,.54);
    border-radius: 22px;
    background: rgba(255,255,255,.64);
    box-shadow: 0 16px 38px rgba(36,20,34,.08);
    backdrop-filter: blur(8px);
}

.coming-soon-honeypot {
    position: absolute !important;
    left: -10000px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}

.coming-soon-signup-copy {
    display: grid;
    grid-template-columns: 62px 1fr;
    align-items: center;
    gap: .9rem;
    text-align: start;
}

.coming-soon-signup-copy > span {
    width: 62px;
    height: 62px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    color: var(--basil);
    background: #eaf2df;
    font-size: 1.8rem;
}

.coming-soon-email-icon {
    width: 34px;
    height: 34px;
    object-fit: contain;
}

.coming-soon-signup h2 {
    margin: 0 0 .25rem;
    color: var(--orchid);
    font-family: var(--font-heading-family);
    font-size: clamp(1.05rem, 1.35vw, 1.35rem);
}

.coming-soon-signup p {
    margin: 0;
    color: #3d3439;
    font-size: .82rem;
    line-height: 1.55;
}

.coming-soon-signup-fields {
    display: grid;
    grid-template-columns: 1fr 136px;
    gap: .75rem;
}

.coming-soon-signup input[type="email"] {
    width: 100%;
    min-height: 54px;
    padding: 0 1.1rem;
    border: 1px solid rgba(216,185,130,.7);
    border-radius: 13px;
    outline: 0;
    color: var(--plum);
    background: rgba(255,255,255,.78);
    font: inherit;
    font-size: .82rem;
}

.coming-soon-signup input[type="email"]:focus {
    border-color: var(--orchid);
    box-shadow: 0 0 0 3px rgba(138,59,130,.1);
}

.coming-soon-signup button {
    min-height: 54px;
    border: 0;
    border-radius: 13px;
    color: var(--white);
    background: linear-gradient(135deg, var(--orchid), var(--orchid-dark));
    cursor: pointer;
    font: inherit;
    font-size: .88rem;
    font-weight: 800;
    box-shadow: 0 8px 20px rgba(138,59,130,.18);
}

.coming-soon-form-message {
    grid-column: 1 / -1;
    margin: 0;
    padding: .6rem .85rem;
    border-radius: 10px;
    font-size: .78rem;
    font-weight: 600;
}

.coming-soon-form-message.is-success {
    color: #2e6a35;
    background: #ecf6e8;
}

.coming-soon-form-message.is-error {
    color: #8b2921;
    background: #fff0ec;
}

.coming-soon-whatsapp-wrap {
    width: min(420px, 100%);
    margin: 1rem auto 0;
}

.coming-soon-whatsapp-wrap p {
    margin: 0 0 .7rem;
    color: #3d3439;
    font-size: .95rem;
}

.coming-soon-whatsapp {
    min-height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .8rem;
    padding: .7rem 1.5rem;
    border: 1px solid var(--basil);
    border-radius: 999px;
    color: var(--basil);
    background: rgba(255,255,255,.35);
    font-size: 1rem;
    font-weight: 800;
}

.coming-soon-whatsapp-icon {
    width: 26px;
    height: 26px;
    object-fit: contain;
}

.coming-soon-social {
    width: min(420px, 100%);
    margin-top: 1.1rem;
}

.coming-soon-social-title {
    width: 100%;
    margin-bottom: .7rem;
    color: var(--orchid);
}

.coming-soon-social-title strong {
    font-family: var(--font-heading-family);
    font-size: 1.05rem;
}

.coming-soon-social-links {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.6rem;
}

.coming-soon-social-links a {
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    color: var(--orchid);
    font-size: 1rem;
    font-weight: 800;
}

.coming-soon-social-icon {
    width: 42px;
    height: 42px;
    object-fit: contain;
}

.coming-soon-food {
    position: relative;
    min-width: 0;
    min-height: 100%;
    display: flex;
    align-items: stretch;
    justify-content: center;
    overflow: hidden;
}

.coming-soon-food::before {
    position: absolute;
    inset: 0 auto 0 0;
    z-index: 2;
    width: 33%;
    content: "";
    background: linear-gradient(90deg, #fff8ed 0%, rgba(255,248,237,.86) 28%, rgba(255,248,237,.2) 72%, transparent 100%);
    pointer-events: none;
}

.coming-soon-food picture,
.coming-soon-food img {
    width: 100%;
    height: 100%;
    display: block;
}

.coming-soon-food img {
    object-fit: cover;
    object-position: center;
}

.coming-soon-badge {
    position: absolute;
    top: 17%;
    left: 8%;
    z-index: 3;
    width: 150px;
    height: 150px;
    display: grid;
    place-items: center;
    align-content: center;
    gap: .2rem;
    padding: 1rem;
    border: 1px dashed var(--gold);
    border-radius: 50%;
    color: var(--plum);
    background: rgba(255,248,237,.78);
    text-align: center;
    box-shadow: inset 0 0 0 9px rgba(255,255,255,.36);
}

.coming-soon-badge strong {
    font-size: .82rem;
    line-height: 1.25;
}

.coming-soon-badge em {
    color: var(--orchid);
    font-family: 'Dancing Script', cursive;
    font-size: 1.35rem;
    line-height: 1;
}

.coming-soon-footer {
    position: relative;
    z-index: 2;
    min-height: 70px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.5rem;
    padding: 1rem 1.4rem;
    color: rgba(255,255,255,.9);
    background:
        radial-gradient(circle at 12% 20%, rgba(255,255,255,.08), transparent 22%),
        linear-gradient(135deg, var(--orchid), var(--orchid-dark));
    font-size: .85rem;
}

.coming-soon-footer p {
    margin: 0;
}

.coming-soon-footer nav {
    display: flex;
    align-items: center;
    gap: 1.2rem;
}

.coming-soon-footer a {
    color: var(--white);
    font-weight: 500;
}

.coming-soon-footer a + a {
    padding-inline-start: 1.2rem;
    border-inline-start: 1px solid rgba(255,255,255,.3);
}

.is-rtl .coming-soon-food::before {
    inset: 0 0 0 auto;
    background: linear-gradient(270deg, #fff8ed 0%, rgba(255,248,237,.86) 28%, rgba(255,248,237,.2) 72%, transparent 100%);
}

.is-rtl .coming-soon-badge {
    right: 8%;
    left: auto;
}

@media (max-width: 1120px) {
    .coming-soon-layout {
        grid-template-columns: minmax(430px, .98fr) minmax(410px, 1.02fr);
    }

    .coming-soon-content {
        padding-inline: 1.6rem;
    }

    .coming-soon-signup {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767px) {
    .coming-soon-page {
        background:
            var(--coming-bg-image-mobile, var(--coming-bg-image, none)),
            radial-gradient(circle at 50% 6%, rgba(226,169,59,.14), transparent 26%),
            linear-gradient(180deg, #fff8ed 0%, #fff4e6 100%);
    }

    .coming-soon-page::before {
        width: 220px;
        height: 220px;
        top: -76px;
        left: -75px;
    }

    .coming-soon-page::after {
        display: none;
    }

    .coming-soon-shell {
        min-height: auto;
    }

    .coming-soon-layout {
        min-height: 0;
        display: flex;
        flex-direction: column;
    }

    .coming-soon-content {
        padding: 1.6rem 1.15rem 1.1rem;
    }

    .coming-soon-logo {
        width: min(255px, 62vw);
        margin-bottom: .65rem;
    }

    .coming-soon-title {
        margin-top: .55rem;
        font-size: clamp(4.2rem, 18vw, 6.3rem);
    }

    .coming-soon-subtitle {
        max-width: 650px;
        font-size: 1.35rem;
    }

    .coming-soon-body {
        max-width: 650px;
        margin-block: 1rem;
        font-size: 1.08rem;
    }

    .coming-soon-launch {
        grid-template-columns: 34px auto 70px;
        margin-bottom: .95rem;
    }

    .coming-soon-signup {
        width: min(660px, 100%);
        gap: .85rem;
        padding: 1.15rem;
        border-radius: 20px;
    }

    .coming-soon-signup-copy {
        grid-template-columns: 88px 1fr;
    }

    .coming-soon-signup-copy > span {
        width: 78px;
        height: 78px;
    }

    .coming-soon-signup h2 {
        font-size: 1.65rem;
    }

    .coming-soon-signup p {
        font-size: 1rem;
    }

    .coming-soon-signup-fields {
        grid-template-columns: 1fr;
        gap: .6rem;
    }

    .coming-soon-signup input[type="email"],
    .coming-soon-signup button,
    .coming-soon-whatsapp {
        min-height: 62px;
        font-size: 1rem;
    }

    .coming-soon-whatsapp-wrap {
        margin-top: 1rem;
    }

    .coming-soon-whatsapp {
        width: 100%;
    }

    .coming-soon-social {
        margin-top: 1.15rem;
    }

    .coming-soon-social-links {
        gap: 1.45rem;
    }

    .coming-soon-social-links a,
    .coming-soon-social-icon {
        width: 48px;
        height: 48px;
    }

    .coming-soon-food {
        min-height: 470px;
        margin-top: .35rem;
    }

    .coming-soon-food::before {
        inset: 0 0 auto;
        width: 100%;
        height: 34%;
        background: linear-gradient(180deg, #fff8ed 0%, rgba(255,248,237,.78) 45%, transparent 100%);
    }

    .coming-soon-food img {
        min-height: 470px;
        object-position: center bottom;
    }

    .coming-soon-badge {
        display: none;
    }

    .coming-soon-footer {
        flex-direction: column;
        gap: .7rem;
        padding: 1.4rem 1rem;
        text-align: center;
        font-size: 1rem;
    }
}
.footer-contact a { overflow-wrap: anywhere; }
.footer-contact a span { width: 20px; color: var(--gold); }
.footer-bottom { display: flex; justify-content: space-between; gap: 2rem; margin-top: 2.25rem; padding-block: 1.15rem; border-top: 1px solid rgba(255,255,255,.14); font-size: .66rem; }
.footer-bottom p { margin: 0; }
.footer-bottom div { display: flex; gap: 1.25rem; }
.footer-bottom a { margin: 0; font-size: inherit; }

@media (max-width: 980px) {
    .announcement { display: none; }
    .site-header { top: 0; }
    .header-inner { position: relative; min-height: 116px; justify-content: center; gap: 0; }
    .brand { position: absolute; top: 50%; left: 50%; width: 224px; flex: none; margin: 0; transform: translate(-50%,-50%); }
    .brand img { height: 104px; }
    .header-actions { width: 100%; display: block; margin: 0; }
    .menu-toggle { position: absolute!important; top: 50%; left: 0; z-index: 4; display: block; width: 50px; height: 50px; padding: 9px; transform: translateY(-50%)!important; }
    .language-switch { display: none; }
    .header-cta { display: none!important; }
    .mobile-bag-link { position: absolute; top: 50%; right: 0; z-index: 6; width: 54px; height: 54px; display: grid; place-items: center; overflow: visible; color: var(--plum); background: transparent; transform: translateY(-50%); }
    .mobile-bag-icon { width: 34px; height: 34px; display: block; }
    .mobile-bag-link b { position: absolute; top: 1px; right: 0; width: 24px; height: 24px; display: grid; place-items: center; border-radius: 50%; color: var(--white); background: var(--orchid); font-size: .78rem; line-height: 1; box-shadow: 0 3px 8px rgba(36,20,34,.18); }
    .header-cta:hover { transform: translateY(-50%); box-shadow: none; }
    .header-bag-icon { width: 32px; height: 32px; }
    .header-cta-label { display: none; }
    .header-cart-badge { position: absolute; top: 1px; right: 0; z-index: 2; width: 24px; height: 24px; display: grid; place-items: center; border-radius: 50%; color: var(--white); background: var(--orchid); font-size: .78rem; font-weight: 700; line-height: 1; box-shadow: 0 3px 8px rgba(36,20,34,.18); }
    .primary-nav { position: absolute; top: calc(100% + 1px); right: 0; left: 0; z-index: 3; display: grid; gap: 0; padding: .8rem 20px 1rem; border-bottom: 1px solid var(--bamboo); background: var(--ivory); box-shadow: var(--shadow); opacity: 0; visibility: hidden; transform: translateY(-12px); transition: opacity .2s ease, transform .2s ease; }
    .primary-nav.is-open { opacity: 1; visibility: visible; transform: translateY(0); }
    .primary-nav > a { padding: .78rem .4rem; border-bottom: 1px solid rgba(216,185,130,.28); font-size: .82rem; }
    .primary-nav > a::after { display: none; }
    .desktop-nav-item { display: none; }
    .mobile-nav-item { display: block; }
    .mobile-nav-language { display: flex; justify-content: center; padding-top: 1rem; }
    .mobile-menu-overlay { position: fixed; inset: 0; z-index: 45; border: 0; background: rgba(36,20,34,.38); opacity: 0; visibility: hidden; transition: opacity .2s ease, visibility .2s; }
    .menu-open { overflow: hidden; }
    .menu-open .mobile-menu-overlay { display: block; opacity: 1; visibility: visible; }
    .hero-grid { min-height: auto; grid-template-columns: 1fr; gap: 1rem; padding-block: 4rem; }
    .hero-art { max-width: 560px; width: 100%; margin: auto; }
    .steps-grid { grid-template-columns: 1fr 1fr; }
    .builder-option-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .home-hero-grid { grid-template-columns: minmax(390px,.92fr) minmax(0,1.08fr); }
    .home-hero-copy { width: min(420px,calc(100vw - 40px)); }
    .home-builder-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .home-products-grid, .home-category-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .home-promise-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .home-promise-grid article:nth-child(2) { border-inline-end: 0; }
    .home-preview-grid { grid-template-columns: 1fr; }
    .menu-item-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .menu-category-tab { min-width: 96px; }
    .noodle-options-noodles { grid-template-columns: repeat(4,1fr); }
    .noodle-flavor-columns { grid-template-columns: 1fr; }
    .noodle-flavor-columns > div + div { padding: 0; border: 0; }
    .noodle-must-grid { grid-template-columns: repeat(2,1fr); }
    .branches-filter-panel { grid-template-columns: 1fr 1fr; }
    .branches-service-tabs { grid-column: 1/-1; justify-content: flex-start; }
    .branches-card-grid { grid-template-columns: repeat(var(--branches-grid-tablet-columns,var(--branches-grid-columns,3)),1fr); }
    .offers-card-grid { grid-template-columns: repeat(3,1fr); }
    .catering-form-layout { grid-template-columns: .85fr 1.15fr; }
    .about-noodle-layout { grid-template-columns: 1fr; }
    .about-hospitality > .container { grid-template-columns: 1fr 1fr; }
    .contact-main-grid,.contact-faq-grid { grid-template-columns: 1fr; }
    .gallery-masonry { grid-template-columns: repeat(3,1fr); }
    .error-copy { padding-inline: 1rem; }
    .footer-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
}

@media (max-width: 767px) {
    .container { width: min(calc(100% - 28px), var(--container)); }
    .header-inner { min-height: 104px; }
    .brand { left: 50%; width: 198px; transform: translate(-50%,-50%); }
    .brand img { height: 92px; }
    .menu-toggle { left: 0; width: 46px; height: 46px; }
    .mobile-bag-link { right: 0; width: 50px; height: 50px; }
    .mobile-bag-icon { width: 30px; height: 30px; }
    .mobile-bag-link b { width: 23px; height: 23px; }
    .header-cta { right: 0; width: 50px; height: 50px; min-height: 50px; }
    .header-bag-icon { width: 30px; height: 30px; }
    .page-home #main-content { display: flex; flex-direction: column; }
    .hero-grid { padding-top: 3rem; }
    .hero-copy { text-align: left; }
    .hero-copy h1 { font-size: clamp(2.9rem, 14vw, 4.5rem); }
    .hero-copy p { font-size: 1rem; }
    .hero-art { margin-top: -1rem; }
    .home-hero { order: 1; }
    .home-menu-section { order: 2; }
    .home-builder-section { order: 3; }
    .home-recommended-section { order: 4; }
    .home-promise-section { order: 5; }
    .home-preview-section { order: 6; }
    .home-delivery-section { order: 7; }
    .home-hero, .home-hero-grid { min-height: 590px; }
    .home-hero-grid { display: block; }
    .home-hero-copy { position: relative; z-index: 3; width: 74%; min-height: 590px; margin-left: 20px; padding: 3rem 0 2rem; justify-content: flex-start; }
    .home-hero h1 { max-width: 360px; margin-top: .35rem; margin-bottom: .95rem; color: var(--plum); font-size: var(--home-hero-title-mobile); }
    .home-hero-title-main { display: block; color: var(--plum); }
    .home-hero-title-accent { display: block; color: var(--orchid); }
    .home-hero h1 em { color: var(--basil); font-family: 'Dancing Script',cursive; font-weight: 600; }
    .home-hero-copy p { max-width: 265px; font-size: var(--home-hero-body-mobile); line-height: 1.55; }
    .home-hero-copy .button { min-height: 55px; padding-inline: 1.55rem; border-radius: 15px; font-size: .9rem; }
    .home-hero-copy .button:not(.button-outline)::after { content: '\2192'; margin-inline-start: .7rem; font-size: 1.25rem; line-height: 0; }
    .home-hero-copy .button-outline { display: none; }
    .home-hero-media { position: absolute; inset: 0 -52% 0 43%; z-index: 1; }
    .home-hero-media::before { inset: 0 auto 0 0; width: 68%; background: linear-gradient(90deg,var(--ivory) 8%,rgba(255,247,236,.9) 42%,rgba(255,247,236,.46) 70%,transparent); }
    .home-hero-media img { object-position: 46% center; }
    .home-lotus-rule { width: 130px; text-align: left; }
    .home-lotus-rule::before, .home-lotus-rule::after { width: 40px; }
    .home-section { padding-block: 2.2rem; }
    .home-section-heading h2, .home-preview-section h2, .home-delivery-card h2 { font-size: var(--home-section-title-mobile); }
    .page-home .home-menu-section { position: relative; z-index: 4; margin-top: -44px; padding: 0 0 .95rem; background: transparent; }
    .page-home .home-menu-section .home-section-heading { display: none; }
    .page-home .home-menu-section > .container { width: calc(100% - 28px); }
    .home-builder-grid, .home-products-grid, .home-category-grid, .home-branch-grid { display: flex; overflow-x: auto; gap: .8rem; padding: .15rem .1rem .75rem; scroll-snap-type: x mandatory; scrollbar-width: none; }
    .home-builder-grid::-webkit-scrollbar, .home-products-grid::-webkit-scrollbar, .home-category-grid::-webkit-scrollbar, .home-branch-grid::-webkit-scrollbar { display: none; }
    .home-builder-card { min-width: 255px; scroll-snap-align: start; }
    .home-product-card { min-width: 220px; scroll-snap-align: start; }
    .home-category-card { min-width: 175px; scroll-snap-align: start; }
    .home-category-card > div { height: 130px; }
    .home-category-grid { gap: .7rem; padding: 1rem .75rem; border: 1px solid rgba(216,185,130,.36); border-radius: 18px; background: rgba(255,255,255,.96); box-shadow: 0 10px 24px rgba(36,20,34,.08); }
    .home-category-card { min-width: 94px; border: 0; border-radius: 0; background: transparent; box-shadow: none; text-align: center; }
    .home-category-card > div { width: 68px; height: 68px; margin-inline: auto; overflow: hidden; border: 1px solid rgba(216,185,130,.42); border-radius: 50%; background: #fff7ea; }
    .home-category-card img { width: 100%; height: 100%; object-fit: cover; }
    .home-category-card span { width: 100%; height: 100%; border: 0; background: transparent; box-shadow: none; font-size: 1.65rem; }
    .home-category-card h3 { padding: .45rem 0 0; color: var(--plum); font-size: .76rem; line-height: 1.25; }
    .page-home .home-builder-section { padding: .45rem 0 1.45rem; background: #fffdf9; }
    .page-home .home-builder-section .home-section-heading { display: none; }
    .page-home .home-builder-grid { display: block; overflow: visible; padding: 0; }
    .page-home .home-builder-card { display: none; }
    .home-mobile-builder-feature { position: relative; overflow: hidden; min-height: 330px; display: grid; grid-template-columns: 53% 47%; align-items: center; padding: 1.25rem 0 1.25rem 1.35rem; border: 1px solid rgba(216,185,130,.42); border-radius: 18px; background: linear-gradient(105deg,#fffaf3 0 54%,#f3dfc4 100%); box-shadow: 0 12px 28px rgba(36,20,34,.08); }
    .home-mobile-builder-feature h2 { margin: 0; color: var(--orchid); font-size: 2.15rem; }
    .home-mobile-builder-feature p { margin: .15rem 0 .65rem; color: var(--plum); font-size: 1rem; }
    .home-mobile-builder-feature ul { display: grid; gap: .32rem; margin: 0 0 1rem; padding: 0; list-style: none; color: #3f343a; font-size: .78rem; }
    .home-mobile-builder-feature li { position: relative; padding-inline-start: 1.35rem; }
    .home-mobile-builder-feature li::before { position: absolute; left: 0; top: .12rem; width: .9rem; height: .9rem; display: grid; place-items: center; border-radius: 50%; color: var(--white); background: var(--gold); content: '✓'; font-size: .58rem; }
    .home-mobile-builder-feature .button { min-height: 47px; padding-inline: 1.1rem; border-radius: 12px; font-size: .86rem; }
    .home-mobile-builder-image { position: absolute; inset: 0 0 0 42%; display: grid; place-items: center; }
    .home-mobile-builder-image::before { position: absolute; inset: 14% 0 11% 4%; content: ''; background: var(--orchid); opacity: .9; transform: rotate(-5deg); clip-path: polygon(5% 18%,100% 0,96% 82%,0 100%); }
    .home-mobile-builder-image img { position: relative; width: 118%; height: 100%; object-fit: cover; object-position: center; filter: drop-shadow(0 14px 18px rgba(36,20,34,.2)); }
    .home-mobile-builder-image > span { position: relative; font-size: 7rem; }
    .home-mobile-builder-image strong { position: absolute; top: 1.2rem; right: 1.05rem; width: 78px; height: 78px; display: grid; place-items: center; border-radius: 50%; color: var(--orchid); background: var(--white); font-size: 1.15rem; line-height: 1; text-align: center; box-shadow: 0 8px 18px rgba(36,20,34,.12); }
    .home-mobile-builder-image small { display: block; margin-top: .18rem; color: var(--plum); font-family: 'Poppins',sans-serif; font-size: .6rem; font-weight: 500; line-height: 1.18; }
    .home-promise-grid { grid-template-columns: 1fr 1fr; }
    .home-promise-grid article { align-items: flex-start; padding: .8rem; border-bottom: 1px solid rgba(216,185,130,.4); }
    .home-promise-grid article:nth-child(2n) { border-inline-end: 0; }
    .home-promise-grid article:nth-last-child(-n+2) { border-bottom: 0; }
    .home-promise-grid article > span { width: 38px; height: 38px; flex-basis: 38px; }
    .home-about-preview { grid-template-columns: 1fr; }
    .home-about-preview > img, .home-preview-placeholder { min-height: 200px; }
    .home-branch-grid article { min-width: 220px; scroll-snap-align: start; }
    .home-delivery-card { grid-template-columns: 1fr; padding: 1.5rem; text-align: center; }
    .home-delivery-icon { margin: auto; }
    .home-delivery-links { justify-content: center; }
    .menu-page-hero { color: var(--white); background: linear-gradient(105deg,var(--orchid-dark),#3b123c); }
    .menu-page-hero::before { opacity: .12; }
    .menu-hero-grid { min-height: 250px; display: block; }
    .menu-hero-copy { position: relative; z-index: 3; width: 54%; min-height: 250px; padding: 2.25rem 0 2rem; }
    .menu-hero-copy h1 { color: var(--white); font-size: clamp(2.8rem,13vw,4rem); }
    .menu-hero-copy p { color: rgba(255,255,255,.9); font-size: .84rem; line-height: 1.6; }
    .menu-hero-ornament { width: 135px; }
    .menu-hero-image { position: absolute; inset: 0 -30% 0 35%; }
    .menu-hero-image::before { width: 52%; background: linear-gradient(90deg,var(--orchid-dark),rgba(94,35,97,.62),transparent); }
    .menu-hero-image > img,.menu-hero-placeholder { min-height: 250px; }
    .menu-builder-callout { right: 1rem; bottom: 1rem; min-width: 190px; padding: .7rem .8rem; border-radius: 12px; }
    .menu-builder-callout strong { font-size: .72rem; }.menu-builder-callout strong span { font-size: 1rem; }.menu-builder-callout small { max-width: 130px; font-size: .55rem; }
    .menu-catalogue { padding-top: 0; }
    .menu-catalogue > .container { width: 100%; }
    .menu-category-tabs { gap: 0; padding: .75rem 1rem .55rem; border-radius: 0 0 24px 24px; background: var(--white); box-shadow: 0 8px 22px rgba(36,20,34,.08); }
    .menu-category-tab { min-width: 106px; min-height: 78px; border-width: 0 1px 0 0; border-radius: 0; background: transparent; box-shadow: none; }
    .menu-category-tab.is-active { position: relative; border-radius: 14px; color: var(--orchid); background: var(--ivory); box-shadow: 0 6px 15px rgba(36,20,34,.08); }
    .menu-category-tab.is-active::after { position: absolute; right: 28%; bottom: -.55rem; left: 28%; height: 3px; border-radius: 3px; content: ''; background: var(--orchid); }
    .menu-category-tab span { font-size: 1.65rem; }.menu-category-tab strong { color: var(--plum); font-size: .66rem; }
    .menu-tools { align-items: stretch; flex-direction: column; margin: 1rem 20px; }
    .menu-tools h2 { font-size: 1.75rem; }.menu-search { width: 100%; border-radius: 12px; }
    .menu-item-grid { grid-template-columns: 1fr; gap: .75rem; padding: 0 20px; }
    .menu-dish-card { min-height: 178px; display: grid; grid-template-columns: 38% 62%; border-radius: 15px; }
    .menu-dish-image { height: 100%; min-height: 178px; }.menu-dish-badges { top: .5rem; left: .5rem; right: .5rem; }.menu-dish-badges span { font-size: .47rem; }
    .menu-dish-body { min-height: 178px; padding: .8rem; }.menu-dish-body h3 { font-size: 1.4rem; }.menu-dish-ar { display: none; }.menu-dish-description { margin-top: .3rem; font-size: .68rem; line-height: 1.5; }
    .menu-dish-footer { margin-top: auto; }.menu-dish-footer strong { color: var(--orchid); font-size: .84rem; }.menu-dish-footer a { min-height: 36px; padding: .45rem .75rem; border-radius: 8px; font-size: .7rem; }
    .menu-empty-state { padding-inline: 20px; }
    .menu-delivery-section { padding: 1rem 14px 1.5rem; }.menu-delivery-banner { width: 100%; min-height: 165px; align-items: flex-start; flex-direction: column; padding: 1.2rem 1.35rem; }.menu-delivery-copy > span { font-size: 2.5rem; }.menu-delivery-copy h2 { font-size: 1.6rem; }.menu-delivery-actions { justify-content: flex-start; }
    .noodle-page-hero { background: linear-gradient(90deg,#fffaf2 0 40%,#eadac2 100%); }
    .noodle-hero-grid { min-height: 470px; display: block; }
    .noodle-hero-copy { width: 58%; min-height: 470px; padding: 2.2rem 0; justify-content: flex-start; }
    .noodle-hero-copy h1 { margin-top: .4rem; font-size: clamp(2.7rem,12vw,4rem); }
    .noodle-hero-copy > p { font-size: .8rem; }
    .noodle-hero-copy > .button,.noodle-hero-formula { display: none; }
    .noodle-hero-media { position: absolute; inset: 0 -40% 0 28%; z-index: 1; }
    .noodle-hero-media::before { width: 50%; background: linear-gradient(90deg,#fff8ed 12%,rgba(255,248,237,.82),transparent); }
    .noodle-hero-kicker { margin-top: .5rem; color: var(--orchid); font-family: 'Playfair Display',serif; font-size: 2rem; letter-spacing: 0; text-transform: none; }
    .noodle-builder-page { padding-top: 0; }
    .noodle-builder-page > .container { position: relative; z-index: 4; width: min(calc(100% - 28px),var(--container)); margin-top: -66px; }
    .noodle-order-guide { gap: 0; margin-bottom: 1rem; padding: 1rem .45rem; border-radius: 18px; background: var(--white); box-shadow: 0 10px 26px rgba(36,20,34,.11); }
    .noodle-order-guide article { min-height: 100px; display: grid; grid-template-columns: 1fr; justify-items: center; gap: .35rem; padding: .25rem; border: 0; border-radius: 0; box-shadow: none; }
    .noodle-order-guide article:not(:last-child)::after { top: 19px; right: -12%; width: 25%; border-top: 1px dashed var(--bamboo); color: transparent; content: ''; }
    .noodle-order-guide article > span { width: 42px; height: 42px; color: var(--plum); border: 1px solid var(--gold); background: var(--white); }
    .noodle-order-guide article:first-of-type > span { color: var(--white); border-color: var(--orchid); background: var(--orchid); }
    .noodle-order-guide .noodle-guide-icon,.noodle-order-guide p { display: none; }
    .noodle-order-guide h3 { text-align: center; font-size: .65rem; }
    .noodle-step-toggle { min-height: 74px; padding: .8rem 1rem; cursor: pointer; }
    .noodle-step-toggle h2 { font-family: 'Poppins',sans-serif; font-size: 1.1rem; }.noodle-step-toggle p { display: none; }
    .noodle-step-toggle > b { display: block; transition: transform .2s ease; }.noodle-step.is-open .noodle-step-toggle > b { transform: rotate(180deg); }
    .noodle-step-content { max-height: 0; overflow: hidden; padding: 0 1rem; opacity: 0; transition: max-height .35s ease,opacity .25s ease,padding .35s ease; }
    .noodle-step.is-open .noodle-step-content { max-height: 2400px; padding: .35rem 1rem 1rem; opacity: 1; }
    .noodle-options-grid { display: flex; overflow-x: auto; padding: .1rem .05rem .6rem; scrollbar-width: none; scroll-snap-type: x mandatory; }.noodle-options-grid::-webkit-scrollbar { display: none; }
    .noodle-option-card { min-width: 145px; scroll-snap-align: start; }.noodle-option-card img,.noodle-option-placeholder { height: 120px; }
    .noodle-flavor-columns { gap: .8rem; }.noodle-options-flavor .noodle-option-card img,.noodle-options-flavor .noodle-option-placeholder { height: 100px; }
    .noodle-spice-grid { display: flex; overflow-x: auto; padding: .15rem .1rem .55rem; scrollbar-width: none; }.noodle-spice-card { min-width: 205px; }
    .noodle-selection-summary { align-items: stretch; flex-direction: column; }.noodle-selection-summary > a { text-align: center; }
    .noodle-must-try { padding-top: 1rem; }.noodle-section-title { align-items: flex-start; flex-direction: column; padding-inline: 14px; }.noodle-must-grid { display: flex; overflow-x: auto; gap: .75rem; padding: 0 14px .7rem; scrollbar-width: none; }.noodle-must-grid article { min-width: 235px; }.noodle-must-grid .builder-empty { min-width: calc(100vw - 28px); }
    .noodle-order-cta { padding: .4rem 14px 1.5rem; }.noodle-order-cta > .container { width: 100%; align-items: flex-start; flex-direction: column; padding: 1.25rem; }.noodle-order-actions { justify-content: flex-start; }
    .branches-page-hero { background: linear-gradient(90deg,#fffaf2 0 38%,#ead8bf 100%); }
    .branches-hero-grid { min-height: 235px; display: block; }
    .branches-hero-copy { width: 54%; min-height: 235px; padding: 2.2rem 0; }
    .branches-hero-copy h1 { font-size: clamp(2.8rem,12vw,3.8rem); }.branches-hero-copy > p { font-size: .8rem; }
    .branches-hero-media { position: absolute; inset: 0 -28% 0 36%; z-index: 1; }.branches-hero-media::before { width: 52%; background: linear-gradient(90deg,#fff8ed 10%,rgba(255,248,237,.8),transparent); }
    .branches-hero-benefits { display: none; }.branches-hero-rule { width: 130px; }
    .branches-page { padding-top: .7rem; }.branches-page > .container { width: min(calc(100% - 28px),var(--container)); }
    .branches-filter-panel { display: grid; grid-template-columns: 1fr auto; gap: .7rem; padding: 0; border: 0; background: transparent; box-shadow: none; }
    .branches-search { min-height: 54px; border-radius: 999px; background: var(--white); box-shadow: 0 7px 18px rgba(36,20,34,.07); }.branches-area-select { display: block; }.branches-area-select select { width: 120px; min-height: 54px; border-radius: 999px; box-shadow: 0 7px 18px rgba(36,20,34,.07); }
    .branches-service-tabs { grid-column: 1/-1; display: grid; grid-template-columns: repeat(3,1fr); gap: 0; margin-top: .2rem; border-bottom: 1px solid rgba(216,185,130,.45); background: var(--white); }
    .branches-service-tabs button { min-height: 58px; justify-content: center; border: 0; border-radius: 0; font-size: 1.1rem; }.branches-service-tabs button.is-active { position: relative; color: var(--orchid); background: var(--white); }.branches-service-tabs button.is-active::after { position: absolute; right: 25%; bottom: 0; left: 25%; height: 3px; border-radius: 3px; content: ''; background: var(--orchid); }.branches-service-tabs strong { color: var(--plum); font-size: .65rem; }
    .branches-results { display: none; }.branches-card-grid { grid-template-columns: 1fr; gap: .75rem; }.branch-card { min-height: 210px; display: grid; grid-template-columns: 36% 64%; border-radius: 15px; }.branch-card-image { height: 100%; min-height: 210px; }.branch-card-body { min-height: 210px; padding: .8rem; }.branch-card h2 { font-size: 1.3rem; }.branch-address { min-height: auto; font-size: .61rem; }.branch-hours { margin-top: .35rem!important; padding-top: .35rem; font-size: .58rem; }.branch-phone { display: none; }.branch-services { display: flex; flex-wrap: wrap; gap: .35rem; margin-top: .5rem; }.branch-services span { padding: .3rem .5rem; border-radius: 999px; color: var(--basil); background: #f6f3ed; font-size: .5rem; }.branch-actions { display: flex; margin-top: auto; padding-top: .45rem; }.branch-actions a { min-height: 34px; padding: .35rem .55rem; }
    .branches-map-section { grid-template-columns: 1fr; }.branches-map-list { max-height: 300px; border: 0; border-top: 1px solid rgba(216,185,130,.45); }.branches-map-visual iframe,.branches-map-placeholder { height: 280px; }
    .branches-delivery-cta { padding: .3rem 14px 1.5rem; }.branches-delivery-cta > .container { width: 100%; align-items: flex-start; flex-direction: column; padding: 1.2rem; }.branches-delivery-links { justify-content: flex-start; }
    .offers-page-hero { background: linear-gradient(90deg,#fffaf2 0 38%,#ead8bf 100%); }.offers-hero-grid { min-height: 250px; display: block; }.offers-hero-copy { width: 50%; min-height: 250px; padding: 2rem 0; }.offers-hero-copy h1 { font-size: clamp(2.9rem,12vw,4rem); }.offers-hero-copy > p { font-size: .82rem; }.offers-hero-benefits { display: none; }.offers-hero-rule { width: 130px; }.offers-hero-media { position: absolute; inset: 0 -28% 0 34%; z-index: 1; }.offers-hero-media::before { width: 53%; background: linear-gradient(90deg,#fff8ed 10%,rgba(255,248,237,.78),transparent); }.offers-hero-media > strong { top: 1rem; right: 1rem; width: 85px; height: 85px; font-size: .72rem; }
    .offers-page { padding-top: 0; }.offers-page > .container { width: min(calc(100% - 28px),var(--container)); }.offers-mobile-nav { display: flex; overflow-x: auto; margin: 0 0 1rem; padding: .75rem .35rem .55rem; border-radius: 0 0 18px 18px; background: var(--white); box-shadow: 0 8px 20px rgba(36,20,34,.08); scrollbar-width: none; }.offers-mobile-nav a { position: relative; min-width: 108px; display: grid; justify-items: center; gap: .25rem; padding: .45rem; color: var(--orchid); font-size: 1.35rem; }.offers-mobile-nav a span { color: var(--plum); font-size: .62rem; font-weight: 600; }.offers-mobile-nav a.is-active::after { position: absolute; right: 25%; bottom: -.45rem; left: 25%; height: 3px; border-radius: 3px; content: ''; background: var(--orchid); }
    .featured-offer { min-height: 290px; grid-template-columns: 44% 56%; }.featured-offer-copy { padding: 1rem; }.featured-offer-badge { top: .7rem; left: .7rem; font-size: .48rem; }.featured-label { margin-top: 1.5rem; }.featured-offer h2 { font-size: 1.75rem; }.featured-offer-copy > p:not(.featured-label) { font-size: .6rem; }.featured-price { align-items: flex-start; flex-direction: column; gap: .2rem; }.featured-price strong { font-size: 1.55rem; }.featured-offer-footer { align-items: flex-start; flex-direction: column; gap: .55rem; }.featured-offer-footer a { padding: .5rem .75rem; }.featured-offer-image > b { width: 70px; height: 70px; font-size: .5rem; }.featured-offer-image > b strong { font-size: 1rem; }
    .offers-section-title { grid-template-columns: 1fr; }.offers-section-title > span { display: none; }.offers-section-title h2 { font-size: 1.55rem; }.offers-card-grid { display: flex; overflow-x: auto; gap: .7rem; padding-bottom: .7rem; scrollbar-width: none; scroll-snap-type: x mandatory; }.offer-card { min-width: 220px; scroll-snap-align: start; }.offers-terms { align-items: flex-start; }.offers-order-cta { padding: .3rem 14px 1.5rem; }.offers-order-cta > .container { width: 100%; align-items: flex-start; flex-direction: column; padding: 1.2rem; }.offers-order-links { justify-content: flex-start; }
    .catering-page-hero { background: linear-gradient(90deg,#fffaf2 0 38%,#ead8bf 100%); }.catering-hero-grid { min-height: 320px; display: block; }.catering-hero-copy { width: 58%; min-height: 320px; padding: 2rem 0; }.catering-hero-copy h1 { font-size: clamp(2.8rem,12vw,4rem); }.catering-hero-copy p { font-size: .8rem; }.catering-hero-copy .button { min-height: 39px; padding: .45rem .8rem; }.catering-hero-media { position: absolute; inset: 0 -30% 0 35%; z-index: 1; }.catering-hero-media::before { width: 52%; background: linear-gradient(90deg,#fff8ed 10%,rgba(255,248,237,.8),transparent); }.catering-hero-rule { width: 130px; }
    .catering-intro > .container { grid-template-columns: auto 1fr; }.catering-intro a { grid-column: 2; width: fit-content; }.catering-package-grid { display: flex; overflow-x: auto; gap: .75rem; padding-bottom: .7rem; scrollbar-width: none; scroll-snap-type: x mandatory; }.catering-package-card { min-width: 250px; scroll-snap-align: start; }.catering-why-grid { grid-template-columns: repeat(2,1fr); }.catering-why-grid article:nth-child(2) { border-inline-end: 0; }.catering-why-grid article:nth-child(-n+2) { border-bottom: 1px solid rgba(216,185,130,.45); }.catering-form-layout { grid-template-columns: 1fr; }.catering-form-intro { padding: 1.5rem; }.catering-form-intro h2 { font-size: 1.8rem; }.catering-form-intro ul { grid-template-columns: 1fr 1fr; }.catering-form { padding: 1.2rem; }
    .about-page-hero { background: linear-gradient(90deg,#fffaf2 0 38%,#ead8bf 100%); }.about-hero-grid { min-height: 365px; display: block; }.about-hero-copy { width: 61%; min-height: 365px; padding: 2rem 0; }.about-hero-copy h1 { font-size: clamp(2.8rem,12vw,4rem); }.about-hero-copy h2 { font-size: .9rem; }.about-hero-copy p { font-size: .72rem; }.about-hero-media { position: absolute; inset: 0 -35% 0 34%; z-index: 1; }.about-hero-media::before { width: 55%; background: linear-gradient(90deg,#fff8ed 10%,rgba(255,248,237,.82),transparent); }.about-hero-rule { width: 130px; }
    .about-story-grid { grid-template-columns: 1fr; gap: 1rem; }.about-story-media { order: 0; }.about-story-copy { order: 1; padding: .5rem; }.about-philosophy-grid { grid-template-columns: repeat(2,1fr); }.about-noodle-steps { display: flex; overflow-x: auto; gap: .65rem; padding-bottom: .6rem; scrollbar-width: none; }.about-noodle-steps article { min-width: 170px; }.about-hospitality > .container { grid-template-columns: 1fr; }.about-hospitality-values { grid-template-columns: repeat(2,1fr); }.about-inside-grid { display: flex; overflow-x: auto; gap: .75rem; padding-bottom: .6rem; scrollbar-width: none; }.about-inside-grid article { min-width: 220px; }.about-cta { padding: .3rem 14px 1.5rem; }.about-cta > .container { width: 100%; align-items: flex-start; flex-direction: column; padding: 1.2rem; }.about-cta-links { justify-content: flex-start; }
    .contact-page-hero { background: linear-gradient(90deg,#fffaf2 0 38%,#ead8bf 100%); }.contact-hero-grid { min-height: 300px; display: block; }.contact-hero-copy { width: 58%; min-height: 300px; padding: 2rem 0; }.contact-hero-copy h1 { font-size: clamp(2.9rem,12vw,4rem); }.contact-hero-copy h2 { font-size: .9rem; }.contact-hero-copy p { font-size: .75rem; }.contact-hero-media { position: absolute; inset: 0 -34% 0 35%; z-index: 1; }.contact-hero-media::before { width: 54%; background: linear-gradient(90deg,#fff8ed 10%,rgba(255,248,237,.82),transparent); }.contact-hero-rule { width: 130px; }
    .contact-methods > .container { width: min(calc(100% - 28px),var(--container)); grid-template-columns: repeat(2,1fr); }.contact-methods article:nth-child(2) { border-inline-end: 0; }.contact-methods article:nth-child(-n+2) { border-bottom: 1px solid rgba(216,185,130,.48); }.contact-main-grid,.contact-faq-grid { grid-template-columns: 1fr; }.contact-social-grid { grid-template-columns: repeat(2,1fr); gap: .8rem; }.contact-form,.contact-branches { padding: 1rem; }.contact-faq-grid > aside { justify-content: flex-start; }
    .gallery-page-hero { background: linear-gradient(90deg,#fffaf2 0 38%,#ead8bf 100%); }.gallery-hero-grid { min-height: 300px; display: block; }.gallery-hero-copy { width: 58%; min-height: 300px; padding: 2rem 0; }.gallery-hero-copy h1 { font-size: clamp(2.9rem,12vw,4rem); }.gallery-hero-copy p { font-size: .76rem; }.gallery-hero-media { position: absolute; inset: 0 -34% 0 35%; z-index: 1; }.gallery-hero-media::before { width: 54%; background: linear-gradient(90deg,#fff8ed 10%,rgba(255,248,237,.82),transparent); }.gallery-hero-rule { width: 130px; }
    .gallery-page { padding-top: 0; }.gallery-page > .container { width: min(calc(100% - 28px),var(--container)); }.gallery-filter-tabs { margin-top: 0; padding: .55rem .35rem; border-radius: 0 0 18px 18px; }.gallery-filter-tabs button { min-width: 108px; min-height: 58px; flex-direction: column; gap: .2rem; padding: .35rem; border: 0; }.gallery-filter-tabs button.is-active { position: relative; border-radius: 10px; color: var(--orchid); background: var(--ivory); }.gallery-filter-tabs button.is-active::after { position: absolute; right: 25%; bottom: -.55rem; left: 25%; height: 3px; border-radius: 3px; content: ''; background: var(--orchid); }.gallery-filter-tabs button.is-active span { color: var(--orchid); }.gallery-masonry { grid-template-columns: repeat(2,1fr); grid-auto-rows: 105px; gap: .55rem; }.gallery-item,.gallery-item-3,.gallery-item-6 { grid-row: span 2; }.gallery-item-1,.gallery-item-4,.gallery-item-7 { grid-row: span 3; }.gallery-item figcaption { opacity: 1; }.gallery-instagram { padding: .3rem 14px 1.5rem; }.gallery-instagram > .container { width: 100%; grid-template-columns: auto 1fr; }.gallery-instagram-thumbs { grid-column: 1/-1; }.gallery-instagram-thumbs img { height: 78px; }
    .legal-page { padding: 2.2rem 0 3rem; }.legal-card { padding: 1.4rem; border-radius: 15px; }.legal-card h2 { font-size: 1.2rem; }.legal-card section > div { font-size: .68rem; }
    .error-layout { min-height: auto; grid-template-columns: 1fr; }.error-copy { min-height: 540px; padding: 2.5rem 1rem 2rem; }.error-code { font-size: clamp(8.5rem,41vw,13rem); }.error-copy h1 { font-size: 2rem; }.error-copy p { font-size: .76rem; }.error-media { min-height: 430px; }.error-media::before { inset: 0 0 auto; width: 100%; height: 20%; background: linear-gradient(180deg,#fffaf2,transparent); }.error-actions { flex-wrap: wrap; justify-content: center; }.error-menu-cta { padding: 1rem 14px; background: #fffaf2; }.error-menu-cta > .container { width: 100%; min-height: 150px; grid-template-columns: auto 1fr; padding: 1rem; border: 1px solid rgba(216,185,130,.45); border-radius: 16px; color: var(--plum); background: var(--white); box-shadow: 0 8px 20px rgba(36,20,34,.06); }.error-menu-cta h2 { color: var(--orchid-dark); }.error-menu-cta a { grid-column: 2; width: fit-content; color: var(--white); background: var(--orchid); }
    .steps-grid, .split-card, .promise-grid { grid-template-columns: 1fr; }
    .builder-progress { grid-template-columns: repeat(4,minmax(0,1fr)); padding: .9rem .5rem; }
    .builder-progress span { width: 38px; height: 38px; }
    .builder-progress strong { font-size: .64rem; }
    .builder-progress div:not(:last-child)::after { display: none; }
    .builder-option-group { padding: 1rem; }
    .builder-option-grid { display: flex; overflow-x: auto; padding-bottom: .4rem; scroll-snap-type: x mandatory; }
    .builder-option-card { min-width: 165px; scroll-snap-align: start; }
    .split-card { gap: 2rem; }
    .section { padding-block: 3.5rem; }
    .cta-inner, .footer-bottom { align-items: flex-start; flex-direction: column; }
    .footer-grid { grid-template-columns: 1.2fr 1fr; gap: 2rem 1.25rem; }
    .footer-about { grid-column: 1/-1; }
    .footer-bottom div { flex-wrap: wrap; }
}

@media (max-width: 430px) {
    .header-inner { min-height: 96px; }
    .brand { width: 174px; }
    .brand img { height: 82px; }
    .menu-toggle { left: 0; width: 42px; height: 42px; padding: 7px; }
    .mobile-bag-link { right: 0; width: 46px; height: 46px; }
    .mobile-bag-icon { width: 28px; height: 28px; }
    .mobile-bag-link b { width: 22px; height: 22px; font-size: .72rem; }
    .header-cta { right: 0; width: 46px; height: 46px; min-height: 46px; }
    .header-bag-icon { width: 28px; height: 28px; }
    .header-cart-badge { width: 22px; height: 22px; font-size: .72rem; }
    .menu-hero-copy { width: 59%; }
    .menu-builder-callout { min-width: 170px; }
    .menu-dish-card { grid-template-columns: 41% 59%; }
    .menu-dish-body h3 { font-size: 1.18rem; }
    .menu-dish-description { font-size: .61rem; }
    .menu-dish-footer { align-items: flex-end; flex-direction: column; }
    .noodle-hero-copy { width: 64%; }
    .noodle-hero-kicker { font-size: 1.7rem; }
    .noodle-order-guide h3 { font-size: .56rem; }
    .noodle-step-toggle h2 { font-size: .95rem; }
    .noodle-selection-summary h2 { font-size: 1rem; }
    .branches-hero-copy { width: 60%; }
    .branches-area-select select { width: 105px; padding-inline: .6rem; }
    .branch-card { grid-template-columns: 39% 61%; }.branch-card h2 { font-size: 1.08rem; }.branch-address { font-size: .56rem; }.branch-hours { font-size: .52rem; }
    .branch-actions a { font-size: .47rem; }
    .branches-map-list article { grid-template-columns: 25px 55px 1fr; }.branches-map-list img,.branches-map-list article > div { width: 55px; }.branches-map-list article > a { display: none; }
    .offers-hero-copy { width: 57%; }.offers-hero-copy h1 { font-size: 2.85rem; }.offers-hero-media > strong { width: 72px; height: 72px; font-size: .6rem; }.featured-offer { grid-template-columns: 48% 52%; }.featured-offer h2 { font-size: 1.45rem; }.featured-offer-copy > p:not(.featured-label) { max-height: 4.5em; overflow: hidden; }.featured-offer-footer > span { display: none; }
    .catering-hero-copy { width: 64%; }.catering-hero-copy h1 { font-size: 2.65rem; }.catering-hero-copy .button { font-size: .6rem; }.catering-intro > .container { grid-template-columns: 1fr; text-align: center; }.catering-intro > .container > span { margin: auto; }.catering-intro a { grid-column: auto; margin: auto; }.catering-form-grid { grid-template-columns: 1fr; }.catering-form-wide { grid-column: auto; }.catering-form-intro ul { grid-template-columns: 1fr; }
    .about-hero-copy { width: 66%; }.about-hero-copy h1 { font-size: 2.55rem; }.about-hero-copy h2 { font-size: .78rem; }.about-hero-copy .button { font-size: .58rem; }.about-story { padding-top: .8rem; }.about-story-media img,.about-image-placeholder { height: 260px; }.about-philosophy-grid { gap: .6rem; }.about-philosophy-grid article { padding: .85rem .6rem; }.about-philosophy-grid p { font-size: .52rem; }.about-hospitality-values article { align-items: flex-start; }.about-inside-grid article { min-width: 185px; }
    .contact-hero-copy { width: 64%; }.contact-hero-copy h1 { font-size: 2.55rem; }.contact-hero-copy h2 { font-size: .8rem; }.contact-form-grid { grid-template-columns: 1fr; }.contact-form-wide { grid-column: auto; }.contact-branch-list article { grid-template-columns: 86px 1fr auto; }.contact-branch-list img,.contact-branch-placeholder { width: 86px; height: 78px; }.contact-social-grid strong { font-size: .52rem; }.contact-faq-grid > aside > span { font-size: 2.2rem; }
    .gallery-hero-copy { width: 64%; }.gallery-hero-copy h1 { font-size: 2.55rem; }.gallery-masonry { grid-auto-rows: 92px; }.gallery-instagram-icon { width: 56px; height: 56px; font-size: 1.8rem; }.gallery-instagram h2 { font-size: 1.1rem; }.gallery-instagram-thumbs img { height: 65px; }
    .legal-header h1 { font-size: 2.6rem; }.legal-card { padding: 1.15rem; }.error-copy { min-height: 500px; }.error-copy h1 { font-size: 1.7rem; }.error-media { min-height: 390px; }.error-actions .button { font-size: .6rem; }
}

/* Final shared homepage-style hero banner override */
.menu-page-hero,
.noodle-page-hero,
.branches-page-hero,
.offers-page-hero,
.catering-page-hero,
.about-page-hero,
.contact-page-hero,
.gallery-page-hero,
.error-page {
    position: relative;
    overflow: hidden;
    border-bottom: 1px solid rgba(216,185,130,.36);
    background:
        radial-gradient(circle at 15% 25%,rgba(226,169,59,.10),transparent 26%),
        linear-gradient(110deg,#fffaf3 0 43%,var(--ivory) 72%,#f1dfc6 100%) !important;
}

.menu-page-hero > .container,
.noodle-page-hero > .container,
.branches-page-hero > .container,
.offers-page-hero > .container,
.catering-page-hero > .container,
.about-page-hero > .container,
.contact-page-hero > .container,
.gallery-page-hero > .container {
    width: 100%;
    max-width: none;
    padding-inline: 0;
}

.menu-hero-grid,
.noodle-hero-grid,
.branches-hero-grid,
.offers-hero-grid,
.catering-hero-grid,
.about-hero-grid,
.contact-hero-grid,
.gallery-hero-grid,
.error-layout {
    position: relative;
    min-height: clamp(360px,32vw,520px);
    display: grid;
    grid-template-columns: minmax(420px,calc((100vw - var(--container)) / 2 + 520px)) minmax(0,1fr);
    align-items: stretch;
}

.menu-hero-copy,
.noodle-hero-copy,
.branches-hero-copy,
.offers-hero-copy,
.catering-hero-copy,
.about-hero-copy,
.contact-hero-copy,
.gallery-hero-copy,
.error-copy {
    position: relative;
    z-index: 3;
    width: min(540px,calc(100vw - 40px));
    min-height: inherit;
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin-left: max(20px,calc((100vw - var(--container)) / 2));
    padding: clamp(2.5rem,4vw,4rem) 1rem clamp(2.5rem,4vw,4rem) 0;
}

.menu-hero-image,
.noodle-hero-media,
.branches-hero-media,
.offers-hero-media,
.catering-hero-media,
.about-hero-media,
.contact-hero-media,
.gallery-hero-media,
.error-media {
    position: relative;
    min-width: 0;
    min-height: inherit;
    overflow: hidden;
}

.menu-hero-image::before,
.noodle-hero-media::before,
.branches-hero-media::before,
.offers-hero-media::before,
.catering-hero-media::before,
.about-hero-media::before,
.contact-hero-media::before,
.gallery-hero-media::before,
.error-media::before {
    position: absolute;
    inset: 0 auto 0 0;
    z-index: 2;
    width: clamp(170px,23vw,390px);
    content: '';
    background: linear-gradient(90deg,#fffaf3 0%,rgba(255,250,243,.92) 24%,rgba(255,250,243,.50) 60%,transparent 100%);
    pointer-events: none;
}

.menu-hero-image picture,
.noodle-hero-media picture,
.branches-hero-media picture,
.offers-hero-media picture,
.catering-hero-media picture,
.about-hero-media picture,
.contact-hero-media picture,
.gallery-hero-media picture,
.error-media picture {
    display: block;
    width: 100%;
    height: 100%;
}

.menu-hero-image > img,
.menu-hero-image picture > img,
.menu-hero-placeholder,
.noodle-hero-media img,
.noodle-hero-placeholder,
.branches-hero-media img,
.branches-hero-placeholder,
.offers-hero-media > img,
.offers-hero-media picture > img,
.offers-hero-placeholder,
.catering-hero-media img,
.catering-hero-placeholder,
.about-hero-media img,
.about-hero-placeholder,
.contact-hero-media img,
.contact-hero-placeholder,
.gallery-hero-media img,
.gallery-hero-placeholder,
.error-media img,
.error-food-placeholder {
    width: 100%;
    height: 100%;
    min-height: inherit;
    object-fit: cover;
    object-position: center;
}

@media (max-width: 767px) {
    .menu-page-hero,
    .noodle-page-hero,
    .branches-page-hero,
    .offers-page-hero,
    .catering-page-hero,
    .about-page-hero,
    .contact-page-hero,
    .gallery-page-hero,
    .error-page {
        background: linear-gradient(90deg,#fffaf2 0 42%,var(--ivory) 100%) !important;
    }

    .menu-hero-grid,
    .noodle-hero-grid,
    .branches-hero-grid,
    .offers-hero-grid,
    .catering-hero-grid,
    .about-hero-grid,
    .contact-hero-grid,
    .gallery-hero-grid,
    .error-layout {
        min-height: clamp(300px,82vw,500px);
        display: block;
    }

    .menu-hero-copy,
    .noodle-hero-copy,
    .branches-hero-copy,
    .offers-hero-copy,
    .catering-hero-copy,
    .about-hero-copy,
    .contact-hero-copy,
    .gallery-hero-copy,
    .error-copy {
        width: min(64%,300px);
        min-height: inherit;
        margin-left: 20px;
        padding: 2rem 0;
        justify-content: center;
    }

    .menu-hero-image,
    .noodle-hero-media,
    .branches-hero-media,
    .offers-hero-media,
    .catering-hero-media,
    .about-hero-media,
    .contact-hero-media,
    .gallery-hero-media,
    .error-media {
        position: absolute;
        inset: 0 -46% 0 34%;
        z-index: 1;
        min-height: inherit;
    }

    .menu-hero-image::before,
    .noodle-hero-media::before,
    .branches-hero-media::before,
    .offers-hero-media::before,
    .catering-hero-media::before,
    .about-hero-media::before,
    .contact-hero-media::before,
    .gallery-hero-media::before,
    .error-media::before {
        width: 62%;
        background: linear-gradient(90deg,#fffaf2 8%,rgba(255,250,242,.90) 42%,rgba(255,250,242,.48) 72%,transparent);
    }
}

@media (max-width: 430px) {
    .menu-hero-copy,
    .noodle-hero-copy,
    .branches-hero-copy,
    .offers-hero-copy,
    .catering-hero-copy,
    .about-hero-copy,
    .contact-hero-copy,
    .gallery-hero-copy,
    .error-copy {
        width: min(68%,285px);
    }

    .menu-hero-image,
    .noodle-hero-media,
    .branches-hero-media,
    .offers-hero-media,
    .catering-hero-media,
    .about-hero-media,
    .contact-hero-media,
    .gallery-hero-media,
    .error-media {
        inset: 0 -58% 0 36%;
    }
}

/* Final Contact-only guard: preserve approved global header/footer while overriding older Contact body rules. */
.contact-page .contact-page-hero {
    position: relative;
    isolation: isolate;
    overflow: visible;
    min-height: clamp(420px, 44vw, 600px);
    padding: clamp(3.8rem, 7vw, 7rem) 0 clamp(2.5rem, 4.5vw, 4.5rem);
    background:
        linear-gradient(90deg, rgba(255,247,236,.98) 0%, rgba(255,247,236,.93) 42%, rgba(255,247,236,.32) 66%, rgba(255,247,236,.05) 100%),
        var(--contact-hero-bg, linear-gradient(90deg, transparent, transparent)) right center / auto 100% no-repeat,
        radial-gradient(circle at 18% 32%, rgba(226,169,59,.11), transparent 20rem) !important;
}

.contact-page .contact-page-hero::before {
    position: absolute;
    top: 60px;
    right: auto;
    bottom: auto;
    left: -70px;
    display: block;
    width: 230px;
    height: 230px;
    border-radius: 50%;
    content: "";
    opacity: .38;
    background:
        radial-gradient(circle, transparent 28%, rgba(216,185,130,.16) 29%, transparent 31%),
        linear-gradient(45deg, transparent 45%, rgba(216,185,130,.18) 46%, transparent 55%);
    pointer-events: none;
    transform: rotate(-18deg);
}

.contact-page .contact-page-hero > .container.contact-hero-content {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(320px, .82fr) minmax(460px, 1.18fr);
    align-items: center;
    gap: clamp(2rem, 4vw, 4.5rem);
    min-height: 0;
}

.contact-page .contact-hero-copy {
    position: relative;
    z-index: 2;
    display: block;
    width: auto;
    max-width: 540px;
    min-height: 0;
    margin-left: 0;
    padding: 0;
}

.contact-page .contact-hero-copy h1 {
    margin: 0;
    font-size: clamp(3.2rem, 6vw, 5.45rem);
    line-height: .96;
    letter-spacing: -.04em;
}

.contact-page .contact-hero-copy p {
    max-width: 430px;
    margin: 0;
    color: rgba(36,20,34,.86);
    font-size: clamp(1.05rem, 1.45vw, 1.35rem);
    line-height: 1.65;
}

.contact-page .contact-hero-media {
    position: relative;
    inset: auto;
    z-index: 1;
    min-height: clamp(300px, 35vw, 470px);
    pointer-events: none;
}

.contact-page .contact-hero-media::before {
    display: none;
}

.contact-page .contact-hero-media picture,
.contact-page .contact-hero-media img {
    display: block;
    width: 100%;
    height: 100%;
}

.contact-page .contact-hero-media img {
    min-height: clamp(300px, 35vw, 470px);
    object-fit: cover;
    object-position: center;
    filter: drop-shadow(0 24px 36px rgba(36,20,34,.13));
}

@media (max-width: 980px) {
    .contact-page .contact-page-hero > .container.contact-hero-content {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .contact-page .contact-page-hero {
        min-height: 0;
        padding: 2.5rem 0 1.5rem;
    }

    .contact-page .contact-hero-copy h1 {
        font-size: clamp(2.5rem, 13vw, 3.6rem);
    }
}

.contact-page .contact-feature-image {
    background-image: var(--contact-feature-bg, none);
    background-size: cover;
    background-position: center;
}

/* Contact approved-reference refinements: scoped to /contact.php body only. */
.contact-page .contact-page-hero {
    min-height: 390px;
    padding: 4.15rem 0 3.1rem;
    overflow: hidden;
    background:
        linear-gradient(90deg, rgba(255,247,236,.99) 0%, rgba(255,247,236,.96) 36%, rgba(255,247,236,.62) 53%, rgba(255,247,236,.10) 70%, rgba(255,247,236,.02) 100%),
        var(--contact-hero-bg, linear-gradient(90deg, transparent, transparent)) right center / auto 100% no-repeat,
        radial-gradient(circle at 14% 34%, rgba(226,169,59,.10), transparent 18rem) !important;
}

.contact-page .contact-page-hero > .container.contact-hero-content {
    width: min(calc(100% - 70px), var(--container));
    grid-template-columns: minmax(430px, .74fr) minmax(520px, 1.26fr);
    gap: clamp(1.75rem, 3vw, 3.75rem);
    min-height: 300px;
}

.contact-page .contact-hero-copy {
    max-width: 580px;
}

.contact-page .contact-hero-copy h1 {
    white-space: nowrap;
    font-size: clamp(3.75rem, 5.15vw, 5rem);
    letter-spacing: -.045em;
}

.contact-page .contact-hero-copy p {
    max-width: 455px;
    font-size: clamp(1rem, 1.12vw, 1.18rem);
}

.contact-page .contact-hero-media {
    min-height: 300px;
}

.contact-page .contact-hero-media img {
    min-height: 300px;
}

.contact-page .contact-card-section {
    margin-top: -1.05rem;
}

@media (max-width: 980px) {
    .contact-page .contact-page-hero {
        min-height: 0;
        padding: 3.3rem 0 2.6rem;
        background:
            linear-gradient(90deg, rgba(255,247,236,.99) 0%, rgba(255,247,236,.90) 48%, rgba(255,247,236,.25) 100%),
            var(--contact-hero-bg, linear-gradient(90deg, transparent, transparent)) right center / auto 100% no-repeat,
            radial-gradient(circle at 14% 34%, rgba(226,169,59,.10), transparent 18rem) !important;
    }

    .contact-page .contact-page-hero > .container.contact-hero-content {
        width: min(calc(100% - 40px), var(--container));
        grid-template-columns: 1fr;
        min-height: 0;
    }

    .contact-page .contact-hero-copy h1 {
        white-space: normal;
    }
}

@media (max-width: 640px) {
    .contact-page .contact-page-hero {
        padding: 2.4rem 0 1.8rem;
        background:
            linear-gradient(90deg, rgba(255,247,236,.99) 0%, rgba(255,247,236,.92) 54%, rgba(255,247,236,.28) 100%),
            var(--contact-hero-bg, linear-gradient(90deg, transparent, transparent)) right center / auto 100% no-repeat,
            radial-gradient(circle at 14% 34%, rgba(226,169,59,.10), transparent 18rem) !important;
    }

    .contact-page .contact-hero-copy h1 {
        font-size: clamp(2.7rem, 12.5vw, 3.75rem);
    }

    .contact-page .contact-card-section {
        margin-top: 0;
    }
}

/* Contact hero edge-to-edge media layout. Scoped to Contact page body only. */
.contact-page .contact-page-hero {
    width: 100%;
    min-height: 0;
    padding: 0;
    overflow: hidden;
    background: #FFF7EC !important;
}

.contact-page .contact-page-hero::before {
    z-index: 1;
}

.contact-page .contact-hero-layout {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(540px, 44vw);
    align-items: stretch;
    width: 100%;
    min-height: clamp(330px, 24vw, 370px);
}

.contact-page .contact-hero-copy {
    position: relative;
    z-index: 3;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    width: 100%;
    max-width: none;
    min-height: inherit;
    margin: 0;
    padding: clamp(2.5rem, 4vw, 4rem) clamp(2.4rem, 5vw, 5rem) clamp(2.5rem, 4vw, 4rem) max(2rem, calc((100vw - var(--container)) / 2));
}

.contact-page .contact-hero-copy-inner {
    width: 100%;
    max-width: 560px;
}

.contact-page .contact-hero-copy h1 {
    white-space: normal;
    font-size: clamp(3.4rem, 4.9vw, 5rem);
}

.contact-page .contact-hero-copy p {
    max-width: 455px;
}

.contact-page .contact-hero-media {
    position: relative;
    inset: auto;
    z-index: 2;
    min-height: inherit;
    overflow: hidden;
    background: var(--contact-hero-bg, transparent) center center / cover no-repeat;
    pointer-events: none;
}

.contact-page .contact-hero-media::before {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: block;
    width: auto;
    content: "";
    background: linear-gradient(90deg, #FFF7EC 0%, rgba(255,247,236,.82) 13%, rgba(255,247,236,.28) 34%, rgba(255,247,236,0) 58%);
    pointer-events: none;
}

.contact-page .contact-hero-media picture,
.contact-page .contact-hero-media img {
    position: relative;
    z-index: 1;
    display: block;
    width: 100%;
    height: 100%;
}

.contact-page .contact-hero-media img {
    min-height: inherit;
    object-fit: cover;
    object-position: center;
    filter: none;
}

.contact-page .contact-card-section {
    margin-top: -1.2rem;
}

.contact-page .contact-branch-item nav {
    align-self: stretch;
    display: grid;
    grid-template-rows: 1fr 1fr;
    width: 44px;
    min-height: 82px;
    gap: 0;
    overflow: hidden;
    border-radius: 10px;
    box-shadow: 0 8px 16px rgba(36,20,34,.08);
}

.contact-page .contact-branch-item nav a {
    width: 100%;
    height: auto;
    min-height: 41px;
    display: grid;
    place-items: center;
    border-radius: 0;
    padding: 0;
    line-height: 1;
}

.contact-page .contact-branch-item nav .contact-call-button {
    order: 1;
    color: var(--contact-white);
    background: var(--contact-orchid);
}

.contact-page .contact-branch-item nav .contact-map-button {
    order: 2;
    border: 0;
    border-top: 1px solid rgba(226,169,59,.38);
    color: #b56d00;
    background: #fff1cf;
}

.contact-page .contact-branch-item nav a .dynamic-icon,
.contact-page .contact-branch-item nav a .contact-inline-icon {
    width: 18px;
    height: 18px;
    object-fit: contain;
}

@media (min-width: 1600px) {
    .contact-page .contact-hero-layout {
        grid-template-columns: minmax(0, 1fr) minmax(680px, 46vw);
    }
}

@media (max-width: 980px) {
    .contact-page .contact-hero-layout {
        grid-template-columns: 1fr;
        min-height: 0;
    }

    .contact-page .contact-hero-copy {
        justify-content: flex-start;
        min-height: 0;
        padding: 3rem 1.5rem 2rem;
    }

    .contact-page .contact-hero-copy-inner {
        max-width: 620px;
    }

    .contact-page .contact-hero-media {
        min-height: 300px;
    }

    .contact-page .contact-hero-media::before {
        background: linear-gradient(180deg, #FFF7EC 0%, rgba(255,247,236,.58) 24%, rgba(255,247,236,0) 62%);
    }
}

@media (max-width: 640px) {
    .contact-page .contact-hero-copy {
        padding: 2.35rem 1.25rem 1.4rem;
    }

    .contact-page .contact-hero-copy h1 {
        width: 100%;
        max-width: 330px;
        font-size: clamp(2.35rem, 10.5vw, 3.05rem) !important;
        white-space: normal !important;
        overflow-wrap: break-word;
    }

    .contact-page .contact-hero-media {
        min-height: 245px;
    }

    .contact-page .contact-branch-item {
        grid-template-columns: 88px minmax(0, 1fr) 42px;
    }

    .contact-page .contact-branch-item nav {
        grid-column: auto;
        grid-template-columns: 1fr;
        width: 42px;
        min-height: 78px;
    }

    .contact-page .contact-branch-item nav a {
        width: 100%;
        min-height: 39px;
    }
}

/* Global typography settings bridge.
   Keeps approved layouts intact while allowing Website Settings to control font scale. */
body,
input,
select,
textarea {
    font-family: var(--font-body-family) !important;
    font-size: var(--font-body-desktop) !important;
    line-height: var(--line-height-body) !important;
    font-weight: var(--font-weight-body) !important;
    letter-spacing: var(--letter-spacing-body) !important;
}

h1,
.hero-copy h1,
.home-hero h1,
.menu-hero-copy h1,
.noodle-hero-copy h1,
.branches-hero-copy h1,
.offers-hero-copy h1,
.catering-hero-copy h1,
.about-hero-copy h1,
.contact-hero-copy h1,
.gallery-hero-copy h1,
.legal-header h1,
.error-copy h1,
.cms-title {
    font-family: var(--font-heading-family) !important;
    font-size: var(--font-h1-desktop) !important;
    line-height: var(--line-height-heading) !important;
    font-weight: var(--font-weight-heading) !important;
    letter-spacing: var(--letter-spacing-heading) !important;
}

h2,
.section-heading h2,
.home-section-heading h2,
.home-preview-section h2,
.home-delivery-card h2,
.menu-tools h2,
.menu-delivery-copy h2,
.builder-group-heading h2,
.noodle-step-toggle h2,
.noodle-section-title h2,
.noodle-order-cta h2,
.branches-map-visual h2,
.offers-section-title h2,
.featured-offer h2,
.offers-order-cta h2,
.catering-form-intro h2,
.about-story-copy h2,
.about-section-heading h2,
.about-hospitality h2,
.about-cta h2,
.contact-card-title h2,
.contact-social-heading h2,
.contact-section-heading h2,
.contact-faq-heading h2,
.contact-feature-caption h2,
.contact-faq-grid aside h2,
.gallery-instagram h2,
.legal-card h2,
.error-menu-cta h2 {
    font-family: var(--font-heading-family) !important;
    font-size: var(--font-h2-desktop) !important;
    line-height: var(--line-height-heading) !important;
    font-weight: var(--font-weight-heading) !important;
    letter-spacing: var(--letter-spacing-heading) !important;
}

h3,
.step-card h3,
.home-builder-card h3,
.home-product-body h3,
.home-category-card h3,
.home-promise-grid h3,
.home-branch-grid h3,
.menu-dish-body h3,
.builder-option-card h3,
.noodle-order-guide h3,
.noodle-must-grid h3,
.branch-card h2,
.branches-map-list strong,
.offer-card h3,
.catering-why-grid h3,
.about-philosophy-grid h3,
.about-noodle-steps h3,
.about-hospitality-values h3,
.about-inside-grid h3,
.contact-branch-item h3,
.contact-branch-list h3,
.contact-methods h2 {
    font-family: var(--font-heading-family) !important;
    font-size: var(--font-h3-desktop) !important;
    line-height: var(--line-height-heading) !important;
    font-weight: var(--font-weight-heading) !important;
    letter-spacing: var(--letter-spacing-heading) !important;
}

h4,
.cms-subtitle,
.about-hero-copy h2,
.contact-hero-copy h2,
.noodle-brand-promise,
.featured-label {
    font-size: var(--font-h4-desktop) !important;
    line-height: var(--line-height-heading) !important;
}

h5,
.card-kicker,
.section-kicker,
.contact-faq-list h5,
.contact-faq-list h5 button,
.contact-faq-list h5 span {
    font-family: var(--font-heading-family) !important;
    font-size: var(--font-h5-desktop) !important;
    line-height: var(--line-height-heading) !important;
    font-weight: var(--font-weight-heading) !important;
    letter-spacing: var(--letter-spacing-heading) !important;
}

p,
li,
.cms-body,
.hero-copy p,
.home-hero-copy p,
.home-builder-card p,
.home-promise-grid p,
.home-about-preview p,
.home-branch-grid p,
.home-delivery-card p,
.menu-hero-copy p,
.menu-tools p,
.menu-dish-description,
.menu-delivery-copy p,
.noodle-hero-copy > p,
.builder-group-heading p,
.builder-option-card p,
.noodle-order-guide p,
.noodle-step-toggle p,
.noodle-selection-summary p,
.noodle-must-grid p,
.noodle-order-cta p,
.branches-hero-copy > p,
.branch-address,
.offers-hero-copy > p,
.offers-terms p,
.offers-order-cta p,
.catering-form-intro p,
.catering-why-grid p,
.about-hero-copy p,
.about-rich-copy,
.about-hospitality-copy > p,
.about-section-heading p,
.about-philosophy-grid p,
.about-noodle-steps p,
.about-hospitality-values p,
.about-cta p,
.contact-hero-copy p,
.contact-branch-item p,
.contact-branch-list p,
.contact-faq-list article p,
.gallery-hero-copy p,
.gallery-instagram p,
.legal-header p,
.legal-card section > div,
.error-copy p,
.error-menu-cta p,
.footer-about p {
    font-family: var(--font-body-family) !important;
    font-size: var(--font-body-desktop) !important;
    line-height: var(--line-height-body) !important;
    font-weight: var(--font-weight-body) !important;
    letter-spacing: var(--letter-spacing-body) !important;
}

small,
.caption,
.menu-builder-callout small,
.menu-hero-copy p,
.menu-tools p,
.home-product-body p,
.noodle-order-guide p,
.menu-dish-ar,
.menu-dish-description,
.menu-delivery-copy p,
.featured-offer-copy > p,
.offer-card-body > p,
.menu-spice small,
.branch-area,
.branch-hours,
.branch-phone,
.branches-map-status,
.branches-map-list small,
.contact-branch-item small,
.contact-branch-list small,
.contact-form label small,
.catering-form label small,
.contact-feature-caption p,
.legal-header small,
.footer-bottom {
    font-size: var(--font-small-desktop) !important;
    line-height: var(--line-height-body) !important;
}

.noodle-order-guide h3 {
    grid-column: 1 / -1;
    text-align: center;
}

.primary-nav,
.primary-nav > a,
.desktop-nav-item,
.mobile-nav-item,
.language-switch,
.mobile-nav-language,
.site-footer a,
.footer-links a,
.footer-bottom a {
    font-family: var(--font-nav-family) !important;
    font-size: var(--font-nav-desktop) !important;
    line-height: var(--line-height-body) !important;
    font-weight: var(--font-weight-nav) !important;
    letter-spacing: var(--letter-spacing-nav) !important;
}

.button,
.button-small,
.cms-button,
button,
input[type="submit"],
.header-cta,
.home-branch-grid a,
.home-delivery-links a,
.menu-dish-footer a,
.menu-delivery-actions a,
.noodle-selection-summary > a,
.noodle-must-grid footer a,
.noodle-order-actions a,
.branch-actions a,
.offers-order-links a,
.featured-offer-footer a,
.offer-card-body > a,
.about-cta-links a,
.contact-submit-button,
.contact-branches-button,
.contact-social-links a,
.gallery-instagram a,
.error-actions .button,
.error-menu-cta a {
    font-family: var(--font-button-family) !important;
    font-size: var(--font-button-desktop) !important;
    line-height: var(--line-height-button) !important;
    font-weight: var(--font-weight-button) !important;
    letter-spacing: var(--letter-spacing-button) !important;
}

.eyebrow,
.noodle-hero-kicker,
.about-kicker,
.featured-label,
.admin-kicker,
.hero-kicker,
.menu-builder-callout strong,
.legal-header > span {
    font-size: var(--font-accent-desktop) !important;
}

.badge,
.menu-dish-badges span,
.featured-offer-badge,
.offer-card-image b,
.offer-card-image i,
.home-product-image b,
.home-heading-inline > span,
.noodle-section-title > span,
.noodle-must-image b,
.branch-card-image b {
    font-size: var(--font-badge-desktop) !important;
}

.contact-form label > span,
.catering-form label > span,
.admin-form label {
    font-size: var(--font-form-desktop) !important;
}

@media (max-width: 1024px) {
    body,
    input,
    select,
    textarea { font-size: var(--font-body-tablet) !important; }
    h1,.hero-copy h1,.home-hero h1,.menu-hero-copy h1,.noodle-hero-copy h1,.branches-hero-copy h1,.offers-hero-copy h1,.catering-hero-copy h1,.about-hero-copy h1,.contact-hero-copy h1,.gallery-hero-copy h1,.legal-header h1,.error-copy h1,.cms-title { font-size: var(--font-h1-tablet) !important; }
    h2,.section-heading h2,.home-section-heading h2,.home-preview-section h2,.home-delivery-card h2,.menu-tools h2,.menu-delivery-copy h2,.builder-group-heading h2,.noodle-step-toggle h2,.noodle-section-title h2,.noodle-order-cta h2,.branches-map-visual h2,.offers-section-title h2,.featured-offer h2,.offers-order-cta h2,.catering-form-intro h2,.about-story-copy h2,.about-section-heading h2,.about-hospitality h2,.about-cta h2,.contact-card-title h2,.contact-social-heading h2,.contact-section-heading h2,.contact-faq-heading h2,.contact-feature-caption h2,.contact-faq-grid aside h2,.gallery-instagram h2,.legal-card h2,.error-menu-cta h2 { font-size: var(--font-h2-tablet) !important; }
    h3,.step-card h3,.home-builder-card h3,.home-product-body h3,.home-category-card h3,.home-promise-grid h3,.home-branch-grid h3,.menu-dish-body h3,.builder-option-card h3,.noodle-order-guide h3,.noodle-must-grid h3,.branch-card h2,.branches-map-list strong,.offer-card h3,.catering-why-grid h3,.about-philosophy-grid h3,.about-noodle-steps h3,.about-hospitality-values h3,.about-inside-grid h3,.contact-branch-item h3,.contact-branch-list h3,.contact-methods h2 { font-size: var(--font-h3-tablet) !important; }
    h4,.cms-subtitle,.about-hero-copy h2,.contact-hero-copy h2,.noodle-brand-promise,.featured-label { font-size: var(--font-h4-tablet) !important; }
    h5,.card-kicker,.section-kicker,.contact-faq-list h5,.contact-faq-list h5 button,.contact-faq-list h5 span { font-size: var(--font-h5-tablet) !important; }
    p,li,.cms-body,.hero-copy p,.home-hero-copy p,.home-builder-card p,.home-promise-grid p,.home-about-preview p,.home-branch-grid p,.home-delivery-card p,.noodle-hero-copy > p,.builder-group-heading p,.builder-option-card p,.noodle-order-guide p,.noodle-step-toggle p,.noodle-selection-summary p,.noodle-must-grid p,.noodle-order-cta p,.branches-hero-copy > p,.branch-address,.offers-hero-copy > p,.offers-terms p,.offers-order-cta p,.catering-form-intro p,.catering-why-grid p,.about-hero-copy p,.about-rich-copy,.about-hospitality-copy > p,.about-section-heading p,.about-philosophy-grid p,.about-noodle-steps p,.about-hospitality-values p,.about-cta p,.contact-hero-copy p,.contact-branch-item p,.contact-branch-list p,.contact-faq-list article p,.gallery-hero-copy p,.gallery-instagram p,.legal-header p,.legal-card section > div,.error-copy p,.error-menu-cta p,.footer-about p { font-size: var(--font-body-tablet) !important; }
    small,.caption,.menu-builder-callout small,.menu-hero-copy p,.menu-tools p,.home-product-body p,.noodle-order-guide p,.menu-dish-ar,.menu-dish-description,.menu-delivery-copy p,.featured-offer-copy > p,.offer-card-body > p,.menu-spice small,.branch-area,.branch-hours,.branch-phone,.branches-map-status,.branches-map-list small,.contact-branch-item small,.contact-branch-list small,.contact-form label small,.catering-form label small,.contact-feature-caption p,.legal-header small,.footer-bottom { font-size: var(--font-small-tablet) !important; }
    .primary-nav,.primary-nav > a,.desktop-nav-item,.mobile-nav-item,.language-switch,.mobile-nav-language,.site-footer a,.footer-links a,.footer-bottom a { font-size: var(--font-nav-tablet) !important; }
    .button,.button-small,.cms-button,button,input[type="submit"],.header-cta,.home-branch-grid a,.home-delivery-links a,.menu-dish-footer a,.menu-delivery-actions a,.noodle-selection-summary > a,.noodle-must-grid footer a,.noodle-order-actions a,.branch-actions a,.offers-order-links a,.featured-offer-footer a,.offer-card-body > a,.about-cta-links a,.contact-submit-button,.contact-branches-button,.contact-social-links a,.gallery-instagram a,.error-actions .button,.error-menu-cta a { font-size: var(--font-button-tablet) !important; }
    .eyebrow,.noodle-hero-kicker,.about-kicker,.featured-label,.admin-kicker,.hero-kicker,.menu-builder-callout strong,.legal-header > span { font-size: var(--font-accent-tablet) !important; }
    .badge,.menu-dish-badges span,.featured-offer-badge,.offer-card-image b,.offer-card-image i,.home-product-image b,.home-heading-inline > span,.noodle-section-title > span,.noodle-must-image b,.branch-card-image b { font-size: var(--font-badge-tablet) !important; }
    .contact-form label > span,.catering-form label > span,.admin-form label { font-size: var(--font-form-tablet) !important; }
}

@media (max-width: 767px) {
    body,
    input,
    select,
    textarea { font-size: var(--font-body-mobile) !important; }
    h1,.hero-copy h1,.home-hero h1,.menu-hero-copy h1,.noodle-hero-copy h1,.branches-hero-copy h1,.offers-hero-copy h1,.catering-hero-copy h1,.about-hero-copy h1,.contact-hero-copy h1,.gallery-hero-copy h1,.legal-header h1,.error-copy h1,.cms-title { font-size: var(--font-h1-mobile) !important; }
    h2,.section-heading h2,.home-section-heading h2,.home-preview-section h2,.home-delivery-card h2,.menu-tools h2,.menu-delivery-copy h2,.builder-group-heading h2,.noodle-step-toggle h2,.noodle-section-title h2,.noodle-order-cta h2,.branches-map-visual h2,.offers-section-title h2,.featured-offer h2,.offers-order-cta h2,.catering-form-intro h2,.about-story-copy h2,.about-section-heading h2,.about-hospitality h2,.about-cta h2,.contact-card-title h2,.contact-social-heading h2,.contact-section-heading h2,.contact-faq-heading h2,.contact-feature-caption h2,.contact-faq-grid aside h2,.gallery-instagram h2,.legal-card h2,.error-menu-cta h2 { font-size: var(--font-h2-mobile) !important; }
    h3,.step-card h3,.home-builder-card h3,.home-product-body h3,.home-category-card h3,.home-promise-grid h3,.home-branch-grid h3,.menu-dish-body h3,.builder-option-card h3,.noodle-order-guide h3,.noodle-must-grid h3,.branch-card h2,.branches-map-list strong,.offer-card h3,.catering-why-grid h3,.about-philosophy-grid h3,.about-noodle-steps h3,.about-hospitality-values h3,.about-inside-grid h3,.contact-branch-item h3,.contact-branch-list h3,.contact-methods h2 { font-size: var(--font-h3-mobile) !important; }
    h4,.cms-subtitle,.about-hero-copy h2,.contact-hero-copy h2,.noodle-brand-promise,.featured-label { font-size: var(--font-h4-mobile) !important; }
    h5,.card-kicker,.section-kicker,.contact-faq-list h5,.contact-faq-list h5 button,.contact-faq-list h5 span { font-size: var(--font-h5-mobile) !important; }
    p,li,.cms-body,.hero-copy p,.home-hero-copy p,.home-builder-card p,.home-promise-grid p,.home-about-preview p,.home-branch-grid p,.home-delivery-card p,.noodle-hero-copy > p,.builder-group-heading p,.builder-option-card p,.noodle-order-guide p,.noodle-step-toggle p,.noodle-selection-summary p,.noodle-must-grid p,.noodle-order-cta p,.branches-hero-copy > p,.branch-address,.offers-hero-copy > p,.offers-terms p,.offers-order-cta p,.catering-form-intro p,.catering-why-grid p,.about-hero-copy p,.about-rich-copy,.about-hospitality-copy > p,.about-section-heading p,.about-philosophy-grid p,.about-noodle-steps p,.about-hospitality-values p,.about-cta p,.contact-hero-copy p,.contact-branch-item p,.contact-branch-list p,.contact-faq-list article p,.gallery-hero-copy p,.gallery-instagram p,.legal-header p,.legal-card section > div,.error-copy p,.error-menu-cta p,.footer-about p { font-size: var(--font-body-mobile) !important; }
    small,.caption,.menu-builder-callout small,.menu-hero-copy p,.menu-tools p,.home-product-body p,.noodle-order-guide p,.menu-dish-ar,.menu-dish-description,.menu-delivery-copy p,.featured-offer-copy > p,.offer-card-body > p,.menu-spice small,.branch-area,.branch-hours,.branch-phone,.branches-map-status,.branches-map-list small,.contact-branch-item small,.contact-branch-list small,.contact-form label small,.catering-form label small,.contact-feature-caption p,.legal-header small,.footer-bottom { font-size: var(--font-small-mobile) !important; }
    .primary-nav,.primary-nav > a,.desktop-nav-item,.mobile-nav-item,.language-switch,.mobile-nav-language,.site-footer a,.footer-links a,.footer-bottom a { font-size: var(--font-nav-mobile) !important; }
    .button,.button-small,.cms-button,button,input[type="submit"],.header-cta,.home-branch-grid a,.home-delivery-links a,.menu-dish-footer a,.menu-delivery-actions a,.noodle-selection-summary > a,.noodle-must-grid footer a,.noodle-order-actions a,.branch-actions a,.offers-order-links a,.featured-offer-footer a,.offer-card-body > a,.about-cta-links a,.contact-submit-button,.contact-branches-button,.contact-social-links a,.gallery-instagram a,.error-actions .button,.error-menu-cta a { font-size: var(--font-button-mobile) !important; }
    .eyebrow,.noodle-hero-kicker,.about-kicker,.featured-label,.admin-kicker,.hero-kicker,.menu-builder-callout strong,.legal-header > span { font-size: var(--font-accent-mobile) !important; }
    .badge,.menu-dish-badges span,.featured-offer-badge,.offer-card-image b,.offer-card-image i,.home-product-image b,.home-heading-inline > span,.noodle-section-title > span,.noodle-must-image b,.branch-card-image b { font-size: var(--font-badge-mobile) !important; }
    .contact-form label > span,.catering-form label > span,.admin-form label { font-size: var(--font-form-mobile) !important; }
}

.dynamic-icon {
    display: inline-block;
    width: var(--icon-width-desktop, 1em);
    height: var(--icon-height-desktop, var(--icon-width-desktop, 1em));
    max-width: 100%;
    object-fit: contain;
    vertical-align: middle;
}

@media (max-width: 1024px) {
    .dynamic-icon {
        width: var(--icon-width-tablet, var(--icon-width-desktop, 1em));
        height: var(--icon-height-tablet, var(--icon-width-tablet, 1em));
    }
}

@media (max-width: 767px) {
    .dynamic-icon {
        width: var(--icon-width-mobile, var(--icon-width-tablet, var(--icon-width-desktop, 1em)));
        height: var(--icon-height-mobile, var(--icon-width-mobile, 1em));
    }
}

/* Square product photos only: Menu cards, Homepage Highly Recommended cards, and Offers cards. */
.menu-dish-image,
.home-product-image,
.offer-card-image {
    aspect-ratio: 1 / 1;
    width: 100%;
    height: 0 !important;
    min-height: 0 !important;
    padding-top: 100%;
}

.menu-dish-image img,
.home-product-image img,
.offer-card-image img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.menu-dish-image > span,
.home-product-image > span,
.offer-card-image > span {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
}

@media (max-width: 767px) {
    .menu-dish-card {
        align-items: start;
    }
}

/* Contact branch shortcut cards: match the approved branch-card action layout. */
.contact-page .contact-branch-list {
    gap: 12px;
}

.contact-page .contact-branch-item {
    grid-template-columns: 122px minmax(0, 1fr) 48px;
    gap: 18px;
    align-items: center;
    min-height: 118px;
    padding: 10px 12px 10px 10px;
    border: 1px solid rgba(216, 185, 130, .68);
    border-radius: 9px;
    background: linear-gradient(90deg, #fffaf3 0%, #fffdf8 100%);
    box-shadow: none;
}

.contact-page .contact-branch-item > img,
.contact-page .contact-branch-placeholder {
    width: 122px;
    height: 104px;
    border-radius: 7px;
    object-fit: cover;
}

.contact-page .contact-branch-item h3 {
    margin: 0 0 6px;
    color: var(--contact-orchid);
    line-height: 1.08;
}

.contact-page .contact-branch-item p {
    margin: 0 0 8px;
    color: rgba(36, 20, 34, .82);
    line-height: 1.35;
}

.contact-page .contact-branch-meta {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 6px;
    color: rgba(36, 20, 34, .86);
    line-height: 1.2;
}

.contact-page .contact-branch-meta .dynamic-icon,
.contact-page .contact-branch-meta .contact-meta-icon {
    width: 15px;
    height: 15px;
    flex: 0 0 15px;
    object-fit: contain;
    filter: brightness(0) saturate(100%) invert(46%) sepia(27%) saturate(863%) hue-rotate(353deg) brightness(92%) contrast(84%);
}

.contact-page .contact-branch-item nav {
    align-self: center;
    display: grid;
    grid-template-rows: none;
    gap: 10px;
    width: 48px;
    min-height: 0;
    overflow: visible;
    border-radius: 0;
    box-shadow: none;
}

.contact-page .contact-branch-item nav a {
    width: 48px;
    height: 48px;
    min-height: 48px;
    border-radius: 7px;
    border: 1px solid rgba(216, 185, 130, .82);
    box-shadow: 0 6px 12px rgba(36, 20, 34, .08);
}

.contact-page .contact-branch-item nav .contact-call-button {
    color: #fff;
    border-color: rgba(67, 150, 53, .55);
    background: linear-gradient(135deg, #5ab447, #3f963c);
}

.contact-page .contact-branch-item nav .contact-map-button {
    color: #b87412;
    border: 1px solid rgba(216, 185, 130, .92);
    background: #fff3d6;
}

.contact-page .contact-branch-item nav a .dynamic-icon,
.contact-page .contact-branch-item nav a .contact-action-icon,
.contact-page .contact-branch-item nav a .contact-inline-icon {
    width: 28px;
    height: 28px;
    display: block;
    border-radius: 0 !important;
    background: transparent !important;
    object-fit: contain;
}

.contact-page .contact-branch-item nav .contact-call-button .dynamic-icon,
.contact-page .contact-branch-item nav .contact-call-button .contact-action-icon,
.contact-page .contact-branch-item nav .contact-call-button .contact-inline-icon {
    width: 26px;
    height: 26px;
}

.contact-page .contact-branch-item nav .contact-call-button .dynamic-icon,
.contact-page .contact-branch-item nav .contact-call-button .contact-action-icon,
.contact-page .contact-branch-item nav .contact-call-button .contact-inline-icon,
.contact-page .contact-branch-item nav .contact-call-button img,
.contact-page .contact-branch-item nav .contact-call-button svg {
    color: #fff;
    filter: brightness(0) invert(1);
}

.contact-page .contact-branch-item nav .contact-map-button .dynamic-icon,
.contact-page .contact-branch-item nav .contact-map-button .contact-action-icon,
.contact-page .contact-branch-item nav .contact-map-button img {
    filter: brightness(0) saturate(100%) invert(45%) sepia(78%) saturate(803%) hue-rotate(2deg) brightness(94%) contrast(92%);
}

@media (max-width: 767px) {
    .contact-page .contact-branch-item {
        grid-template-columns: 96px minmax(0, 1fr) 44px;
        gap: 12px;
        min-height: 104px;
        padding: 8px;
    }

    .contact-page .contact-branch-item > img,
    .contact-page .contact-branch-placeholder {
        width: 96px;
        height: 88px;
    }

    .contact-page .contact-branch-item nav {
        width: 44px;
        gap: 8px;
    }

    .contact-page .contact-branch-item nav a {
        width: 44px;
        height: 44px;
        min-height: 44px;
    }
}

/* Contact branch shortcut: icon-only action links, no visible button background. */
.contact-page .contact-branch-item nav .contact-call-button,
.contact-page .contact-branch-item nav .contact-map-button {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.contact-page .contact-branch-item nav .contact-call-button .dynamic-icon,
.contact-page .contact-branch-item nav .contact-call-button .contact-action-icon,
.contact-page .contact-branch-item nav .contact-call-button img {
    filter: brightness(0) saturate(100%) invert(43%) sepia(24%) saturate(1235%) hue-rotate(68deg) brightness(94%) contrast(86%) !important;
}

.contact-page .contact-branch-item nav .contact-map-button .dynamic-icon,
.contact-page .contact-branch-item nav .contact-map-button .contact-action-icon,
.contact-page .contact-branch-item nav .contact-map-button img {
    filter: brightness(0) saturate(100%) invert(56%) sepia(80%) saturate(812%) hue-rotate(7deg) brightness(92%) contrast(91%) !important;
}

/* About page approved design rebuild — scoped only to About body. */
.about-page {
    --about-orchid: #8A3B82;
    --about-orchid-dark: #5d235b;
    --about-ivory: #FFF7EC;
    --about-white: #FFFFFF;
    --about-plum: #241422;
    --about-basil: #4E7A4B;
    --about-bamboo: #D8B982;
    --about-gold: #E2A93B;
    color: var(--about-plum);
    background:
        radial-gradient(circle at 8% 9%, rgba(226,169,59,.10), transparent 18rem),
        linear-gradient(180deg, #fffaf2 0%, #fffdf8 46%, var(--about-ivory) 100%);
    overflow: hidden;
}

.about-page h1,
.about-page h2 {
    color: var(--about-orchid);
}

.about-section {
    position: relative;
}

.about-lotus-divider {
    display: flex;
    align-items: center;
    gap: .8rem;
    width: min(330px, 82%);
    color: var(--about-gold);
}

.about-lotus-divider span {
    height: 1px;
    flex: 1;
    background: linear-gradient(90deg, transparent, var(--about-gold), transparent);
}

.about-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .65rem;
    width: fit-content;
    border: 0;
    border-radius: 999px;
    padding: .82rem 1.35rem;
    color: #fff;
    background: linear-gradient(135deg, var(--about-orchid), #741d6e);
    box-shadow: 0 14px 28px rgba(138,59,130,.18);
    text-decoration: none;
    font-family: var(--font-button-family);
    font-size: var(--font-button-desktop);
    font-weight: var(--font-weight-button);
}

.about-hero {
    min-height: clamp(440px, 39vw, 600px);
    display: grid;
    grid-template-columns: minmax(360px, calc((100vw - var(--container)) / 2 + 520px)) minmax(0, 1fr);
    align-items: stretch;
    border-bottom: 1px solid rgba(216,185,130,.35);
    background:
        radial-gradient(circle at 8% 22%, rgba(226,169,59,.12), transparent 15rem),
        linear-gradient(105deg, #fffaf2 0 44%, #f4e5cf 44% 100%);
}

.about-hero::before,
.about-story::after,
.about-promise-card::after {
    position: absolute;
    content: "";
    pointer-events: none;
    opacity: .22;
    background:
        radial-gradient(circle, transparent 32%, rgba(216,185,130,.26) 33%, transparent 35%),
        linear-gradient(45deg, transparent 46%, rgba(216,185,130,.22) 47%, transparent 54%);
}

.about-hero::before {
    left: -7rem;
    top: 2.5rem;
    width: 260px;
    height: 260px;
}

.about-hero-copy {
    z-index: 2;
    width: min(520px, calc(100vw - 2rem));
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin-left: max(1rem, calc((100vw - var(--container)) / 2));
    padding: clamp(3rem, 5vw, 5rem) 1.25rem clamp(3rem, 5vw, 5rem) 0;
}

.about-hero-copy h1 {
    max-width: 560px;
    margin: 0;
    color: var(--about-orchid);
    font-size: var(--font-h1-desktop);
    line-height: .96;
}

.about-hero-copy h2 {
    max-width: 470px;
    margin: 1rem 0 .75rem;
    color: var(--about-plum);
    font-family: var(--font-body-family);
    font-size: var(--font-h4-desktop);
    line-height: 1.35;
}

.about-hero-copy p {
    max-width: 500px;
    margin: 0 0 1.45rem;
    color: rgba(36,20,34,.78);
    font-size: var(--font-body-desktop);
    line-height: var(--line-height-body);
}

.about-hero-copy .about-lotus-divider {
    margin: 1.15rem 0 .8rem;
}

.about-hero-media {
    position: relative;
    min-height: inherit;
    overflow: hidden;
}

.about-hero-media::before {
    position: absolute;
    inset: 0 auto 0 0;
    z-index: 2;
    width: clamp(210px, 24vw, 380px);
    content: "";
    background: linear-gradient(90deg, #fffaf2 0%, rgba(255,250,242,.86) 35%, rgba(255,250,242,.24) 74%, transparent 100%);
}

.about-hero-media picture,
.about-hero-media img,
.about-image-fallback {
    display: block;
    width: 100%;
    height: 100%;
    min-height: inherit;
}

.about-hero-image,
.about-story-photo,
.about-noodle-photo,
.about-hospitality-photo {
    object-fit: cover;
    object-position: center;
}

.about-image-fallback {
    display: grid;
    place-items: center;
    color: #fff;
    background: linear-gradient(135deg, var(--about-orchid), var(--about-plum));
    font-family: var(--font-heading-family);
    font-size: clamp(2rem, 5vw, 5rem);
}

.about-story {
    padding: clamp(2rem, 3vw, 3rem) 0;
    background: #fffdf8;
}

.about-story::after {
    right: -5rem;
    bottom: 1rem;
    width: 230px;
    height: 230px;
}

.about-story-card {
    display: grid;
    grid-template-columns: .95fr 1.05fr;
    align-items: center;
    gap: clamp(2rem, 5vw, 4rem);
}

.about-story-image {
    overflow: hidden;
    border-radius: 22px;
    box-shadow: 0 18px 44px rgba(36,20,34,.10);
}

.about-story-image picture,
.about-story-image img,
.about-story-image .about-image-fallback {
    height: clamp(280px, 28vw, 380px);
}

.about-section-icon {
    display: block;
    color: var(--about-gold);
    font-size: 1.65rem;
}

.about-story-copy {
    position: relative;
    z-index: 1;
}

.about-story-copy h2,
.about-section-heading h2,
.about-hospitality-copy h2,
.about-cta h2,
.about-promise h2 {
    margin: .25rem 0 .8rem;
    font-size: var(--font-h2-desktop);
    line-height: var(--line-height-heading);
}

.about-body-copy,
.about-story-copy small,
.about-section-heading p,
.about-hospitality-copy p,
.about-promise p,
.about-cta p {
    color: rgba(36,20,34,.76);
    font-size: var(--font-body-desktop);
    line-height: var(--line-height-body);
}

.about-signature {
    display: block;
    margin-top: 1rem;
    color: var(--about-orchid);
    font-family: "Dancing Script", cursive;
    font-size: clamp(1.8rem, 3vw, 2.5rem);
    font-weight: 600;
}

.about-feature-section {
    padding: clamp(2rem, 3.5vw, 3rem) 0;
    border-block: 1px solid rgba(216,185,130,.32);
}

.about-section-heading {
    max-width: 780px;
    margin: 0 auto 1.45rem;
    text-align: center;
}

.about-section-heading .about-lotus-divider {
    margin: 0 auto .4rem;
}

.about-feature-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.15rem;
}

.about-feature-grid article {
    min-height: 210px;
    padding: 1.45rem 1.2rem;
    border: 1px solid rgba(216,185,130,.55);
    border-radius: 22px;
    background: rgba(255,255,255,.88);
    box-shadow: 0 14px 30px rgba(36,20,34,.08);
    text-align: center;
}

.about-feature-icon {
    width: 66px;
    height: 66px;
    display: grid;
    place-items: center;
    margin: 0 auto .8rem;
    border-radius: 50%;
    color: var(--about-basil);
    background: #eef5e9;
    font-size: 1.6rem;
}

.about-feature-icon img,
.about-promise-icon,
.about-step-icon img,
.about-stats-icon {
    width: 42px;
    height: 42px;
    object-fit: contain;
}

.about-feature-grid h3,
.about-noodle-steps h3,
.about-inside-grid h3 {
    margin: 0 0 .45rem;
    color: var(--about-plum);
    font-size: var(--font-h3-desktop);
    line-height: 1.18;
}

.about-feature-grid p,
.about-noodle-steps p,
.about-inside-grid p {
    margin: 0;
    color: rgba(36,20,34,.70);
    font-size: var(--font-small-desktop);
    line-height: 1.6;
}

.about-promise,
.about-stats {
    display: none;
}

.about-noodle {
    padding: clamp(2rem, 3.2vw, 3rem) 0;
    background: linear-gradient(180deg, #fffdf8, #fff7ec);
}

.about-noodle-layout {
    display: grid;
    grid-template-columns: 1.25fr .75fr;
    gap: clamp(1rem, 2vw, 2rem);
    align-items: center;
}

.about-noodle-steps {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .85rem;
}

.about-noodle-steps article {
    position: relative;
    min-height: 172px;
    padding: .9rem;
    border: 1px solid rgba(216,185,130,.55);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 12px 26px rgba(36,20,34,.07);
    text-align: center;
}

.about-noodle-steps b {
    position: absolute;
    left: .8rem;
    top: .8rem;
    width: 32px;
    height: 32px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    color: #fff;
    background: var(--about-orchid);
}

.about-step-icon {
    display: grid;
    place-items: center;
    height: 58px;
    margin: 1.4rem 0 .35rem;
    color: var(--about-orchid);
    font-size: 1.8rem;
}

.about-noodle-steps article > .about-step-icon {
    width: auto;
    height: 58px;
    margin: 1.4rem 0 .35rem;
    border-radius: 0;
    color: var(--about-orchid);
    background: transparent;
}

.about-noodle-image {
    overflow: hidden;
    border-radius: 999px 0 0 999px;
    min-height: 260px;
}

.about-noodle-image picture,
.about-noodle-image img,
.about-noodle-image .about-image-fallback {
    height: 100%;
    min-height: 260px;
}

.about-noodle-action {
    display: flex;
    justify-content: center;
    margin-top: 1.35rem;
}

.about-noodle-action .about-button {
    min-width: 190px;
}

.about-hospitality {
    padding: clamp(2rem, 3.5vw, 3rem) 0;
    background: #fffdf8;
}

.about-hospitality-layout {
    display: grid;
    grid-template-columns: .76fr 1.24fr;
    gap: 1.5rem;
    align-items: center;
}

.about-hospitality-copy blockquote {
    margin: 1.1rem 0 0;
    padding: 1.2rem 1.4rem;
    border-radius: 18px;
    color: var(--about-orchid);
    background: var(--about-ivory);
    font-family: var(--font-heading-family);
}

.about-hospitality-image {
    overflow: hidden;
    border-radius: 20px;
}

.about-hospitality-image picture,
.about-hospitality-image img,
.about-hospitality-image .about-image-fallback {
    height: clamp(250px, 26vw, 340px);
}

.about-inside {
    padding: clamp(2rem, 3vw, 3rem) 0;
    border-top: 1px solid rgba(216,185,130,.32);
    background: #fffaf2;
}

.about-inside-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
}

.about-inside-grid article {
    overflow: hidden;
    border-radius: 17px;
    background: #fff;
    box-shadow: 0 10px 22px rgba(36,20,34,.06);
    text-align: center;
}

.about-inside-image {
    height: 155px;
    display: grid;
    place-items: center;
    overflow: hidden;
    color: #fff;
    background: linear-gradient(135deg, var(--about-orchid), var(--about-plum));
    font-family: var(--font-heading-family);
    font-size: 2rem;
}

.about-inside-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.about-inside-grid h3 {
    padding: .65rem;
}

.about-cta {
    padding: 0 0 clamp(2rem, 3vw, 3rem);
    background: #fffaf2;
}

.about-cta-card {
    min-height: 145px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: clamp(1.4rem, 3vw, 2rem);
    border-radius: 24px;
    color: #fff;
    background:
        radial-gradient(circle at 90% 45%, rgba(226,169,59,.28), transparent 20rem),
        linear-gradient(115deg, var(--about-orchid-dark), var(--about-orchid));
    box-shadow: 0 18px 40px rgba(36,20,34,.16);
}

.about-cta-card > div {
    display: flex;
    align-items: center;
    gap: 1.2rem;
}

.about-cta-card > div > span {
    font-size: 3.4rem;
}

.about-cta h2,
.about-cta p {
    color: #fff;
}

.about-order-button {
    color: var(--about-plum);
    background: #ffd04d;
}

@media (max-width: 1024px) {
    .about-feature-grid,
    .about-inside-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .about-noodle-layout,
    .about-hospitality-layout {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767px) {
    .about-page {
        padding-bottom: 1rem;
        background: linear-gradient(180deg, #fffaf3 0%, #fffdf8 100%);
    }

    .about-hero {
        min-height: 520px;
        display: block;
        border-bottom: 0;
        background: #fffaf3;
    }

    .about-hero-copy {
        position: relative;
        z-index: 3;
        width: min(65%, 330px);
        min-height: 520px;
        margin-left: 24px;
        padding: 2.25rem 0;
        justify-content: center;
    }

    .about-hero-copy h1 {
        font-size: var(--font-h1-mobile);
    }

    .about-hero-copy h2 {
        margin-top: 1.3rem;
        font-size: var(--font-h4-mobile);
    }

    .about-hero-copy p {
        font-size: var(--font-body-mobile);
    }

    .about-hero-media {
        position: absolute;
        inset: 0 -44% 0 35%;
        min-height: 520px;
    }

    .about-hero-media::before {
        width: 68%;
        background: linear-gradient(90deg, #fffaf3 0%, rgba(255,250,243,.93) 42%, rgba(255,250,243,.48) 76%, transparent 100%);
    }

    .about-story {
        padding: 0 16px 1.5rem;
        margin-top: -1.2rem;
    }

    .about-story-card {
        width: 100%;
        grid-template-columns: 1fr;
        gap: 0;
        padding: 0;
        overflow: hidden;
        border: 1px solid rgba(216,185,130,.48);
        border-radius: 22px;
        background: rgba(255,255,255,.94);
        box-shadow: 0 16px 38px rgba(36,20,34,.10);
    }

    .about-story-image {
        border-radius: 0;
        box-shadow: none;
    }

    .about-story-image picture,
    .about-story-image img,
    .about-story-image .about-image-fallback {
        height: 295px;
    }

    .about-story-copy {
        padding: 1.35rem;
    }

    .about-story-copy h2,
    .about-section-heading h2,
    .about-promise h2,
    .about-cta h2 {
        font-size: var(--font-h2-mobile);
    }

    .about-body-copy,
    .about-section-heading p,
    .about-promise p,
    .about-cta p {
        font-size: var(--font-body-mobile);
    }

    .about-feature-section {
        padding: 1.75rem 0 1.3rem;
        border: 0;
    }

    .about-feature-grid {
        grid-template-columns: repeat(4, 1fr);
        gap: 0;
    }

    .about-feature-grid article {
        min-height: auto;
        padding: .65rem .65rem .9rem;
        border-width: 0 1px 0 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
    }

    .about-feature-grid article:last-child {
        border-right: 0;
    }

    .about-feature-icon {
        width: 58px;
        height: 58px;
        margin-bottom: .55rem;
    }

    .about-feature-grid h3 {
        font-size: var(--font-h3-mobile);
    }

    .about-feature-grid p {
        font-size: var(--font-small-mobile);
    }

    .about-promise {
        display: block;
        padding: 1rem 16px;
    }

    .about-promise-card {
        position: relative;
        display: grid;
        grid-template-columns: .9fr 1.1fr;
        overflow: hidden;
        min-height: 190px;
        border-radius: 20px;
        color: #fff;
        background:
            radial-gradient(circle at 94% 40%, rgba(226,169,59,.25), transparent 13rem),
            linear-gradient(115deg, var(--about-orchid-dark), #8a1f79);
        box-shadow: 0 14px 30px rgba(36,20,34,.12);
    }

    .about-promise-card::after {
        right: -4rem;
        bottom: -4rem;
        width: 190px;
        height: 190px;
        opacity: .18;
    }

    .about-promise-image {
        min-height: 190px;
        overflow: hidden;
    }

    .about-promise-image picture,
    .about-promise-image img,
    .about-promise-image .about-image-fallback {
        height: 100%;
        min-height: 190px;
        object-fit: cover;
    }

    .about-promise-copy {
        z-index: 1;
        padding: 1.2rem 1rem;
    }

    .about-promise h2 {
        color: #ffd46a;
    }

    .about-promise p {
        color: #fff;
    }

    .about-promise-points {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: .5rem;
        margin-top: 1rem;
        color: #fff;
        font-size: var(--font-small-mobile);
    }

    .about-promise-points span {
        display: grid;
        gap: .25rem;
    }

    .about-noodle,
    .about-hospitality,
    .about-inside {
        display: none;
    }

    .about-stats {
        display: block;
        padding: .85rem 16px 1.1rem;
    }

    .about-stats-card {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        border: 1px solid rgba(216,185,130,.46);
        border-radius: 20px;
        background: #fff;
        box-shadow: 0 12px 28px rgba(36,20,34,.08);
        overflow: hidden;
    }

    .about-stats-card article {
        padding: 1rem .55rem;
        text-align: center;
        border-right: 1px solid rgba(216,185,130,.32);
    }

    .about-stats-card article:last-child {
        border-right: 0;
    }

    .about-stats-card span {
        min-height: 34px;
        display: grid;
        place-items: center;
        color: var(--about-orchid);
        font-size: 1.45rem;
    }

    .about-stats-card strong {
        display: block;
        margin-top: .35rem;
        color: var(--about-orchid);
        font-family: var(--font-heading-family);
        font-size: clamp(1.7rem, 7vw, 2.4rem);
        line-height: 1;
    }

    .about-stats-card p {
        margin: .35rem 0 0;
        font-size: var(--font-small-mobile);
        line-height: 1.3;
    }

    .about-cta {
        padding: .35rem 16px 1.6rem;
        background: transparent;
    }

    .about-cta-card {
        min-height: 84px;
        padding: .9rem 1rem;
        border: 1px solid rgba(216,185,130,.45);
        border-radius: 18px;
        color: var(--about-plum);
        background: linear-gradient(135deg, #fff, var(--about-ivory));
    }

    .about-cta-card > div > span {
        color: var(--about-orchid);
        font-size: 2rem;
    }

    .about-cta h2,
    .about-cta p {
        color: var(--about-plum);
    }

    .about-order-button {
        min-width: 160px;
        color: #fff;
        background: linear-gradient(135deg, var(--about-orchid), #741d6e);
    }
}

@media (max-width: 520px) {
    .about-feature-grid,
    .about-stats-card {
        grid-template-columns: repeat(2, 1fr);
        row-gap: 1rem;
    }

    .about-feature-grid article:nth-child(2n),
    .about-stats-card article:nth-child(2n) {
        border-right: 0;
    }

    .about-promise-card {
        grid-template-columns: 1fr;
    }

    .about-promise-image {
        min-height: 150px;
    }

    .about-cta-card {
        align-items: stretch;
        flex-direction: column;
    }

    .about-order-button {
        width: 100%;
    }
}
