/* Shared navigation accommodates the restaurant solution without compressed labels. */
.main-nav { gap:19px; }
.nav-link { font-size:13px; white-space:nowrap; }
.nav-cta { font-size:13px; gap:10px; margin-left:0; }
.nav-wrap { gap:25px; }
.brand-official { flex-shrink:0; }

.dining-hero { position:relative; overflow:hidden; background:radial-gradient(ellipse at 98% 100%,#1649ac 0,transparent 47%),linear-gradient(115deg,#001d45,#002c5f); color:#fff; }
.dining-hero::before { content:''; position:absolute; inset:0; pointer-events:none; opacity:.27; background-image:linear-gradient(#ffffff12 1px,transparent 1px),linear-gradient(90deg,#ffffff12 1px,transparent 1px); background-size:72px 72px; mask-image:linear-gradient(90deg,transparent,#000); }
.dining-hero-grid { position:relative; display:grid; grid-template-columns:1fr 1.05fr; gap:48px; align-items:center; padding-block:35px 58px; }
.dining-breadcrumb { display:flex; flex-wrap:wrap; gap:10px; color:#b2c9e8; font-size:11px; margin-bottom:38px; }
.dining-breadcrumb a:hover { color:white; text-decoration:underline; }
.dining-kicker { display:flex; align-items:center; gap:9px; color:#ffc080; font-size:11px; font-weight:700; letter-spacing:1.3px; margin-bottom:20px; }
.dining-hero h1 { font-size:clamp(40px,4vw,59px); font-weight:800; letter-spacing:-2.2px; line-height:1.13; margin-bottom:20px; }
.dining-hero h1 span { color:#ff9c40; }
.dining-hero-copy>p { font-size:15px; line-height:1.8; color:#cbdcf3; max-width:535px; }
.dining-hero-copy .dining-lead { color:#fff; font-size:20px; font-weight:650; margin-bottom:10px; }
.dining-hero-tags { display:flex; flex-wrap:wrap; gap:12px 19px; margin-top:22px; }
.dining-hero-tags>span { display:flex; align-items:center; gap:7px; color:#e6effd; font-size:11px; font-weight:600; }
.dining-hero-tags .icon { color:#ffab59; }
.dining-actions { display:flex; flex-wrap:wrap; align-items:center; gap:26px; margin-top:27px; }
.button.dining-button { color:#00264f; background:#ff9a38; font-weight:750; border-color:transparent; }
.button.dining-button:hover { background:#ffb261; box-shadow:0 10px 26px #00193625; }
.dining-text-link { display:flex; gap:10px; align-items:center; font-size:14px; font-weight:650; }
.dining-text-link:hover { text-decoration:underline; text-underline-offset:5px; }
.dining-hero-price { display:flex; flex-wrap:wrap; align-items:baseline; gap:22px; margin-top:26px; padding-top:20px; border-top:1px solid #ffffff28; color:#cbdcf3; font-size:13px; }
.dining-hero-price strong { font-size:27px; font-weight:800; color:#fff; letter-spacing:-.7px; }
.dining-hero-copy .dining-hero-support { display:flex; gap:8px; align-items:center; font-size:11px; margin-top:8px; }
.dining-hero-art { min-width:0; position:relative; margin:25px 0 0; background:#ffffff0c; border:1px solid #ffffff25; border-radius:22px; padding:9px; box-shadow:0 25px 65px #000f3f50; animation:dining-art-enter .8s ease-out both; }
.dining-art-heading { display:flex; justify-content:space-between; align-items:center; padding:12px 11px 19px; color:#cbdcf3; }
.dining-art-heading>span { display:flex; align-items:center; gap:10px; font-size:10px; font-weight:700; letter-spacing:1.7px; }
.dining-art-heading i { display:block; width:7px; height:7px; border-radius:50%; background:#ff9a38; box-shadow:0 0 0 5px #ff9a3820; }
.dining-art-heading>.icon { color:#ff9a38; }
.dining-hero-art>img { width:100%; height:auto; aspect-ratio:3 / 2; object-fit:contain; border-radius:14px; }
.dining-hero-art figcaption { display:flex; align-items:center; gap:12px; background:#fff; border-radius:12px; padding:19px 16px; margin:-9px 12px 0; position:relative; color:#002c5f; box-shadow:0 8px 22px #000e3720; }
.dining-art-icon { display:grid; place-items:center; width:44px; height:44px; flex-shrink:0; background:#eaf1ff; border-radius:12px; color:#003fb3; }
.dining-hero-art figcaption strong { display:block; font-size:14px; font-weight:750; }
.dining-hero-art figcaption div>span { display:block; font-size:11px; color:#586c86; margin-top:3px; }
.dining-art-status { display:flex; align-items:center; gap:5px; font-size:9px; font-weight:650; color:#177443; margin-left:auto; white-space:nowrap; }
.dining-image-note { display:block; text-align:center; font-size:10px; color:#b5ccec; padding-block:13px 3px; }
.dining-section-nav { border-bottom:1px solid #dce5f2; background:#fff; }
.dining-section-nav>.container { display:grid; grid-template-columns:repeat(4,1fr); }
.dining-section-nav a { padding:22px 10px; display:flex; align-items:center; justify-content:center; gap:12px; color:#29496e; font-size:13px; font-weight:650; border-bottom:3px solid transparent; transition:background .2s,border-color .2s; }
.dining-section-nav a:hover { background:#f3f6fb; border-color:#ff8a20; }
.dining-section-nav a>span { color:#7c8ea7; font-size:11px; }
.dining-heading { max-width:710px; margin-bottom:44px; }
.dining-heading .eyebrow,.dining-requirements .eyebrow,.dining-equipment .eyebrow { color:#003fb3; font-size:11px; margin-bottom:17px; }
.dining-heading h2,.dining-requirements h2 { font-size:clamp(32px,3vw,43px); font-weight:750; letter-spacing:-1.5px; color:#002c5f; line-height:1.2; }
.dining-heading h2>span { color:#003fb3; }
.dining-heading>p { font-size:15px; line-height:1.8; margin-top:19px; max-width:625px; }
.dining-explorer { border:1px solid #dce5f2; border-radius:22px; overflow:hidden; background:#fff; box-shadow:0 15px 48px #002c5f08; }
.dining-tabs { display:flex; gap:8px; padding:18px 24px; background:#f3f6fb; border-bottom:1px solid #dce5f2; }
.dining-tabs[hidden],.dining-flow-panel[hidden] { display:none; }
.dining-tabs button { display:flex; align-items:center; justify-content:center; gap:10px; padding:13px 24px; border:1px solid transparent; border-radius:10px; background:transparent; color:#52657f; font:650 14px var(--font); min-height:48px; }
.dining-tabs button:hover { background:#e6edfb; color:#003fb3; }
.dining-tabs button[aria-selected=true] { background:#003fb3; color:#fff; box-shadow:0 5px 14px #003fb31b; }
.dining-flow-panel { display:grid; grid-template-columns:1.12fr 1fr; }
.dining-flow-copy { padding:44px 46px; }
.dining-flow-copy>.eyebrow { color:#6b4fd1; font-size:10px; letter-spacing:1.5px; margin-bottom:15px; }
.dining-flow-copy h3 { color:#002c5f; font-size:27px; line-height:1.25; letter-spacing:-.8px; margin-bottom:15px; }
.dining-flow-copy>p { font-size:14px; line-height:1.8; }
.dining-steps { padding:0; margin:30px 0 0; list-style:none; display:grid; gap:23px; }
.dining-steps li { display:flex; align-items:flex-start; gap:15px; }
.dining-steps li>span { width:29px; height:29px; flex-shrink:0; display:grid; place-items:center; color:#003fb3; background:#edf3ff; border:1px solid #d6e2fb; border-radius:50%; font-size:11px; font-weight:750; }
.dining-steps strong { display:block; color:#002c5f; font-size:13px; }
.dining-steps p { font-size:12px; line-height:1.65; margin-top:3px; }
.dining-ticket-scene { position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:38px 35px; background:radial-gradient(ellipse at 80% 0,#e0e9ff,transparent 60%),#f3f6fb; }
.dining-order-sent { display:flex; align-items:center; gap:6px; font-size:11px; font-weight:650; color:#1c754c; background:#e5f6ec; border:1px solid #bce4cd; border-radius:20px; padding:7px 13px; margin-bottom:17px; }
.dining-ticket { width:100%; max-width:285px; background:#fff; color:#294563; padding:25px 26px 28px; box-shadow:0 12px 24px #17365c13; border-top:4px solid #003fb3; position:relative; }
.dining-ticket::after { content:''; position:absolute; bottom:-7px; left:0; right:0; height:8px; background:linear-gradient(135deg,#fff 50%,transparent 50%) 0 0 / 12px 12px,linear-gradient(225deg,#fff 50%,transparent 50%) 0 0 / 12px 12px; }
.dining-ticket-brand { display:block; text-align:center; color:#003fb3; font-size:23px; font-weight:800; letter-spacing:-1px; }
.dining-ticket-brand>span { color:#dc6500; }
.dining-ticket-title { display:block; text-align:center; margin-top:11px; font-size:13px; font-weight:750; letter-spacing:2px; }
.dining-ticket>p { text-align:center; font-size:11px; color:#5b6c7e; margin-top:5px; }
.dining-ticket-items { border-block:1px dashed #cdd6e3; margin-block:18px; padding-block:16px; display:grid; gap:13px; }
.dining-ticket-items>div { display:flex; gap:13px; font-size:12px; line-height:1.6; }
.dining-ticket-items b { font-weight:750; }
.dining-ticket-note small { display:block; font-size:9px; font-weight:700; color:#657991; letter-spacing:1px; }
.dining-ticket-note p { color:#294563; font-size:11px; margin-top:4px; }
.dining-ticket-footer { display:block; text-align:center; font-size:9px; color:#7c8b9d; margin-top:21px; }
.dining-example-note { text-align:center; color:#6b7a90; font-size:10px; line-height:1.7; margin-top:26px; }
.dining-functions { background:#f3f6fb; }
.dining-function-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.dining-function-card { border:1px solid #dce5f2; background:#fff; border-radius:16px; padding:28px 23px; transition:transform .25s,box-shadow .25s,border-color .25s; }
.dining-function-card:hover { transform:translateY(-6px); box-shadow:0 15px 30px #003fb310; border-color:#afc7ee; }
.dining-function-icon { display:grid; place-items:center; width:53px; height:53px; color:#003fb3; background:#edf3ff; border-radius:14px; margin-bottom:25px; }
.dining-function-card:nth-child(2) .dining-function-icon { color:#c55300; background:#fff0e1; }
.dining-function-card:nth-child(3) .dining-function-icon { color:#6842d2; background:#f0ebff; }
.dining-function-card:nth-child(4) .dining-function-icon { color:#13734d; background:#e8f6ef; }
.dining-function-card h3 { color:#002c5f; font-size:18px; line-height:1.35; min-height:49px; }
.dining-function-card>p { font-size:12px; line-height:1.75; margin-top:9px; min-height:42px; }
.dining-function-card ul { list-style:none; padding:20px 0 0; margin:20px 0 0; border-top:1px solid #e5ebf4; display:grid; gap:13px; }
.dining-function-card li { display:flex; align-items:flex-start; gap:8px; font-size:12px; line-height:1.65; color:#395573; }
.dining-function-card li>.icon { color:#003fb3; margin-top:2px; }
.dining-updates { display:flex; align-items:center; justify-content:center; gap:16px; padding:22px 25px; margin-top:25px; background:#e6edff; border:1px solid #d4def8; border-radius:12px; color:#003fb3; }
.dining-updates strong { font-size:14px; }
.dining-updates p { font-size:12px; color:#4a6385; margin-top:3px; }
.dining-requirements { display:grid; grid-template-columns:.85fr 1.15fr; gap:85px; align-items:center; }
.dining-requirements-copy>p { font-size:15px; line-height:1.85; margin-top:22px; }
.dining-inline-link { display:inline-flex; align-items:center; gap:12px; color:#003fb3; font-size:14px; font-weight:700; margin-top:28px; padding-block:7px; }
.dining-inline-link:hover { text-decoration:underline; text-underline-offset:6px; }
.dining-requirement-list { list-style:none; margin:0; padding:0; }
.dining-requirement-list>li { display:flex; align-items:center; gap:19px; padding:24px 0; border-bottom:1px solid #e0e7f2; }
.dining-requirement-list>li:first-child { border-top:1px solid #e0e7f2; }
.dining-requirement-number { color:#8b9bb2; font-size:11px; font-weight:700; }
.dining-requirement-icon { width:48px; height:48px; flex-shrink:0; display:grid; place-items:center; border-radius:12px; color:#003fb3; background:#f0f4fd; }
.dining-requirement-list h3 { font-size:15px; color:#002c5f; letter-spacing:-.3px; }
.dining-requirement-list p { font-size:12px; line-height:1.75; margin-top:7px; }
.dining-plans { background:radial-gradient(ellipse at 80% 5%,#e8e4ff,transparent 50%),#f3f6fb; }
.dining-plans .dining-heading { text-align:center; margin-inline:auto; max-width:800px; }
.dining-plans .dining-heading>p { margin-inline:auto; }
.dining-plan-grid { display:grid; grid-template-columns:1fr 1fr; gap:28px; max-width:920px; margin-inline:auto; padding-top:13px; }
.dining-plan { position:relative; background:white; border:1px solid #d7e1f1; border-radius:22px; padding:38px 39px; color:#002c5f; }
.dining-plan-label { font-size:10px; font-weight:700; letter-spacing:1.7px; color:#526b8b; }
.dining-plan h3 { font-size:24px; margin-top:12px; }
.dining-plan-price { font-size:57px; font-weight:800; line-height:1; letter-spacing:-2px; margin-block:27px 18px; white-space:nowrap; }
.dining-plan-price sup { font-size:28px; letter-spacing:-.8px; }
.dining-plan-price>span { font-size:14px; font-weight:500; letter-spacing:0; margin-left:7px; }
.dining-plan>p { font-size:13px; }
.dining-plan ul { list-style:none; padding:24px 0 0; margin:27px 0; border-top:1px solid #dee6f2; display:grid; gap:14px; }
.dining-plan li { display:flex; gap:10px; align-items:center; font-size:13px; }
.dining-plan li .icon { color:#003fb3; }
.dining-plan>.button { width:100%; border-color:#003fb3; color:#003fb3; padding-inline:15px; gap:16px; }
.dining-plan>.button:hover { background:#edf3ff; }
.dining-plan-annual { background:linear-gradient(145deg,#002650,#003fa7); color:#fff; border-color:#00377f; box-shadow:0 16px 45px #003fb31c; }
.dining-plan-annual .dining-plan-label { color:#bfd6ff; }
.dining-plan-annual>p { color:#c8dcf7; }
.dining-plan-annual ul { border-color:#ffffff28; }
.dining-plan-annual li .icon { color:#ffac62; }
.dining-plan-annual>.dining-button { color:#00264f; border-color:transparent; }
.dining-plan-annual>.dining-button:hover { background:#ffb261; }
.dining-plan-saving { display:block; position:absolute; top:-14px; right:28px; background:#ff9a38; color:#00264f; border:4px solid #f3f6fb; padding:5px 12px; font-size:10px; font-weight:800; letter-spacing:.4px; border-radius:20px; }
.dining-plan-note { font-size:11px; line-height:1.8; text-align:center; max-width:805px; margin:25px auto 0; }
.dining-equipment { display:flex; align-items:center; gap:28px; padding-block:45px; }
.dining-equipment-icon { display:grid; place-items:center; flex-shrink:0; width:80px; height:80px; border-radius:20px; background:#fff0e0; color:#d45d00; }
.dining-equipment>div { flex:1; }
.dining-equipment .eyebrow { font-size:10px; letter-spacing:1px; margin-bottom:10px; }
.dining-equipment h2 { font-size:23px; letter-spacing:-.7px; color:#002c5f; }
.dining-equipment p { font-size:13px; line-height:1.8; margin-top:10px; max-width:680px; }
.dining-equipment .button { white-space:nowrap; font-size:13px; }
.dining-final-cta { text-align:center; padding:78px 0 82px; background:radial-gradient(ellipse at 50% 0,#2449aa,transparent 70%),#002650; color:#fff; }
.dining-final-cta .eyebrow { color:#afccff; font-size:10px; }
.dining-final-cta h2 { font-size:clamp(34px,3.5vw,48px); letter-spacing:-1.5px; font-weight:750; }
.dining-final-cta h2>span { color:#ffad5c; }
.dining-final-cta p { color:#d0dff5; max-width:560px; margin:20px auto 26px; font-size:14px; line-height:1.8; }
.dining-final-note { display:block; color:#b8cbe8; font-size:11px; margin-top:16px; }
@keyframes dining-art-enter { from { opacity:0; transform:translateY(18px); } to { opacity:1; transform:translateY(0); } }

@media(max-width:1200px) {
    .nav-wrap { height:76px; }
    .menu-toggle { display:flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; }
    .main-nav { display:none; position:absolute; top:76px; left:0; right:0; align-items:stretch; padding:18px max(32px,calc((100vw - 1050px)/2)) 24px; background:white; border-bottom:1px solid #dce5f2; box-shadow:0 18px 25px #002c5f14; gap:0; max-height:calc(100dvh - 76px); overflow:auto; }
    .main-nav.is-open { display:flex; flex-direction:column; }
    .main-nav .nav-link { font-size:15px; padding:12px 0; min-height:48px; }
    .main-nav .nav-cta { margin:13px 0 0; font-size:14px; min-height:48px; }
    .main-nav .nav-link.active::after { bottom:8px; }
    .dining-hero-grid { gap:30px; }
    .dining-art-status { display:none; }
    .dining-function-grid { grid-template-columns:repeat(2,1fr); }
    .dining-function-card h3,.dining-function-card>p { min-height:0; }
    .dining-requirements { gap:45px; }
}
@media(max-width:850px) {
    .dining-hero-grid { grid-template-columns:1fr; padding-block:25px 38px; gap:28px; }
    .dining-breadcrumb { margin-bottom:25px; }
    .dining-hero h1 { font-size:clamp(38px,6.5vw,54px); }
    .dining-hero-copy>p { max-width:620px; }
    .dining-hero-art { width:100%; max-width:650px; margin:0 auto; }
    .dining-art-status { display:flex; }
    .dining-section-nav a { padding:19px 8px; font-size:12px; gap:7px; }
    .dining-section-nav a>span { display:none; }
    .dining-flow-copy { padding:32px 27px; }
    .dining-flow-copy h3 { font-size:24px; }
    .dining-ticket-scene { padding:28px 23px; }
    .dining-requirements { grid-template-columns:1fr; gap:30px; }
    .dining-requirements-copy { max-width:620px; }
    .dining-plan { padding:34px 27px; }
    .dining-plan-price { font-size:48px; }
    .dining-equipment { flex-wrap:wrap; gap:20px; }
    .dining-equipment>.button { margin-left:100px; }
}
@media(max-width:600px) {
    .nav-wrap { height:70px; }
    .main-nav { top:70px; max-height:calc(100dvh - 70px); padding-inline:25px; }
    .dining-kicker { font-size:9px; letter-spacing:1px; }
    .dining-hero h1 { font-size:clamp(32px,8.6vw,44px); letter-spacing:-1.5px; }
    .dining-hero-copy .dining-lead { font-size:18px; }
    .dining-hero-copy>p { font-size:14px; }
    .dining-hero-tags { gap:10px 15px; }
    .dining-hero-tags>span { font-size:10px; }
    .dining-actions { gap:18px; }
    .dining-actions .button { padding:14px 18px; font-size:13px; gap:14px; }
    .dining-hero-price { gap:14px; font-size:12px; }
    .dining-hero-price strong { font-size:25px; }
    .dining-hero-copy .dining-hero-support { font-size:10px; align-items:flex-start; }
    .dining-hero-support>.icon { margin-top:2px; }
    .dining-hero-art { padding:6px; border-radius:17px; }
    .dining-art-heading { padding:10px 8px 15px; }
    .dining-art-heading>span { font-size:9px; letter-spacing:1px; }
    .dining-hero-art>img { border-radius:10px; }
    .dining-hero-art figcaption { margin:-5px 6px 0; padding:13px 12px; gap:10px; }
    .dining-art-icon { width:35px; height:35px; border-radius:9px; }
    .dining-hero-art figcaption strong { font-size:12px; }
    .dining-hero-art figcaption div>span { font-size:10px; }
    .dining-art-status { display:none; }
    .dining-image-note { font-size:9px; }
    .dining-section-nav>.container { grid-template-columns:1fr 1fr; padding-block:6px; }
    .dining-section-nav a { padding:12px 6px; min-height:47px; font-size:11px; }
    .dining-heading { margin-bottom:30px; }
    .dining-heading h2,.dining-requirements h2 { font-size:31px; letter-spacing:-1px; }
    .dining-heading .eyebrow { font-size:9px; letter-spacing:1.4px; }
    .dining-heading>p { font-size:14px; margin-top:16px; }
    .dining-explorer { border-radius:16px; }
    .dining-tabs { padding:11px 9px; gap:4px; }
    .dining-tabs button { flex:1; padding:10px 5px; gap:6px; font-size:11px; }
    .dining-tabs button>.icon { width:16px; height:16px; }
    .dining-flow-panel { grid-template-columns:1fr; }
    .dining-flow-copy { padding:29px 24px; }
    .dining-flow-copy h3 { font-size:24px; }
    .dining-steps { gap:21px; }
    .dining-steps li { gap:11px; }
    .dining-steps strong { font-size:12px; }
    .dining-steps p { font-size:11px; }
    .dining-ticket-scene { padding:28px 24px; }
    .dining-ticket { max-width:280px; }
    .dining-function-grid { grid-template-columns:1fr; gap:16px; }
    .dining-function-card { padding:26px; }
    .dining-function-icon { margin-bottom:20px; }
    .dining-function-card h3 { font-size:20px; }
    .dining-function-card li,.dining-function-card>p { font-size:13px; }
    .dining-updates { align-items:flex-start; padding:20px; gap:13px; }
    .dining-updates strong { font-size:13px; }
    .dining-updates p { font-size:11px; }
    .dining-requirement-list>li { gap:13px; padding-block:23px; align-items:flex-start; }
    .dining-requirement-number { display:none; }
    .dining-requirement-icon { width:40px; height:40px; }
    .dining-requirement-list h3 { font-size:14px; }
    .dining-requirement-list p { font-size:12px; }
    .dining-plan-grid { grid-template-columns:1fr; gap:35px; max-width:430px; }
    .dining-plan { padding:33px 27px; border-radius:17px; }
    .dining-plan-price { font-size:52px; }
    .dining-plan-note { font-size:10px; }
    .dining-equipment { padding-block:35px; gap:18px; }
    .dining-equipment-icon { width:58px; height:58px; border-radius:14px; }
    .dining-equipment>div { flex-basis:100%; }
    .dining-equipment h2 { font-size:23px; }
    .dining-equipment>.button { margin:0; }
    .dining-final-cta { padding-block:59px; }
    .dining-final-cta h2 { font-size:35px; }
    .dining-final-cta .button { font-size:12px; padding-inline:18px; gap:12px; }
    .dining-final-note { font-size:10px; }
}
@media(prefers-reduced-motion:reduce) {
    .dining-hero-art { animation:none; }
    .dining-function-card,.dining-section-nav a { transition:none; }
    .dining-function-card:hover { transform:none; }
}
