.app-frame{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);width:min(100% - 2rem,86rem);min-height:calc(100vh - 2rem);box-shadow:var(--shadow-sm);margin:1rem auto;overflow:hidden}.skip-link{z-index:100;color:#fff;background:#111;padding:.8rem 1rem;position:fixed;top:-5rem;left:1rem}.skip-link:focus{top:1rem}.app-header{border-bottom:1px solid var(--color-border);align-items:center;gap:2rem;min-height:5rem;padding:1rem clamp(1rem,4vw,3rem);display:flex}.app-brand{min-height:44px;color:var(--color-text);align-items:center;text-decoration:none;display:inline-flex}.brand-logo{width:auto;height:2.1rem;display:block;overflow:visible}.brand-logo--footer{height:1.75rem}.brand-accent{fill:var(--color-brand-accent)}.app-navigation{align-items:center;gap:1.5rem;margin-left:auto;display:flex}.app-navigation>a{min-height:44px;color:var(--color-text-muted);transition:color var(--transition-fast);align-items:center;font-weight:750;text-decoration:none;display:inline-flex;position:relative}.app-navigation>a:after{content:"";transform-origin:0;height:2px;transition:transform var(--duration-medium) var(--ease-out);background:currentColor;border-radius:2px;position:absolute;bottom:.55rem;left:0;right:0;transform:scaleX(0)}.app-navigation>a:hover,.app-navigation>a[aria-current=page]{color:var(--color-text)}.app-navigation>a:hover:after,.app-navigation>a[aria-current=page]:after{transform:scaleX(1)}.app-menu-toggle{border:1px solid var(--color-text);background:0 0;border-radius:.5rem;width:44px;height:44px;display:none}.app-menu-toggle span{width:1.2rem;height:2px;transition:transform var(--duration-medium) var(--ease-out), opacity var(--transition-fast);background:currentColor;margin:.22rem auto;display:block}.app-menu-toggle[aria-expanded=true] span:first-child{transform:translateY(.44rem)rotate(45deg)}.app-menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.app-menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-.44rem)rotate(-45deg)}.app-footer{padding:2rem var(--page-gutter) 1.75rem;border-top:1px solid var(--color-border);background:var(--color-surface-muted);color:var(--color-text-muted);grid-template-columns:1fr auto;gap:1.25rem 2rem;font-size:.85rem;display:grid}.app-footer__brand{color:var(--color-text)}.app-footer__brand p{color:var(--color-text-muted);margin-top:.25rem}.app-footer__links{flex-wrap:wrap;justify-content:flex-end;align-items:flex-start;gap:.25rem 1.5rem;display:flex}.app-footer__links a{min-height:44px;color:var(--color-text);transition:background-size var(--duration-medium) var(--ease-out);background:linear-gradient(currentColor,currentColor) left bottom .6rem/0 1px no-repeat;align-items:center;gap:.25rem;font-weight:700;text-decoration:none;display:inline-flex}.app-footer__links a:hover{background-size:100% 1px}.app-footer__note{border-top:1px solid var(--color-border);grid-column:1/-1;padding-top:1rem;font-size:.78rem}.inline-arrow{width:.9rem;height:.9rem}.primary-action,.secondary-action,.small-action{text-align:center;min-height:48px;transition:transform var(--duration-fast) var(--ease-out), background var(--transition-fast), box-shadow var(--duration-medium) var(--ease-out);border:1px solid #111;border-radius:.55rem;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.2rem;font-weight:800;text-decoration:none;display:inline-flex}.primary-action:hover:not(:disabled),.secondary-action:hover:not(:disabled),.small-action:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 .6rem 1.2rem #11111129}.primary-action:active:not(:disabled),.secondary-action:active:not(:disabled),.small-action:active:not(:disabled){box-shadow:none;transform:translateY(0)scale(.98)}.btn-arrow{transition:transform var(--duration-medium) var(--ease-out);flex:none}.primary-action:hover .btn-arrow,.secondary-action:hover .btn-arrow{transform:translate(3px)}.primary-action{color:#fff;background:#111}.primary-action:hover:not(:disabled){background:#2b2b2b}.secondary-action{color:var(--color-text);background:0 0}.secondary-action:hover:not(:disabled){background:var(--color-surface-muted)}.primary-action:disabled{opacity:.45;cursor:not-allowed}.primary-action.is-busy:disabled{opacity:.85;cursor:progress}.small-action{color:#fff;background:#111;min-height:44px;padding:.5rem .9rem}.text-action{text-underline-offset:.25rem;min-height:44px;transition:text-underline-offset var(--transition-fast);background:0 0;border:0;padding:.4rem .15rem;font-weight:800;text-decoration:underline}.text-action:hover{text-underline-offset:.4rem}.full{width:100%}.button-row{flex-wrap:wrap;gap:.6rem;display:flex}.eyebrow{color:var(--color-text);letter-spacing:.12em;text-transform:uppercase;font-size:.72rem;font-weight:850}.pill,.tag-row span{background:var(--color-surface-muted);border-radius:2rem;padding:.28rem .7rem;font-size:.7rem;font-weight:750;display:inline-flex}.tag-row{flex-wrap:wrap;gap:.4rem;display:flex}.flow-main{padding:1.5rem var(--page-gutter) 4rem}.flow-topline{justify-content:space-between;align-items:center;gap:1rem;font-size:.82rem;display:flex}.back-link{background:0 0;border:0;align-items:center;min-height:44px;padding:.4rem 0;font-weight:750;text-decoration:none;display:inline-flex}.flow-steps{margin:1rem 0;overflow-x:auto}.flow-steps ol{min-width:max-content;margin:0;padding:.5rem 0;list-style:none;display:flex}.flow-steps li{min-width:9rem;color:var(--color-text-muted);grid-template-columns:1.7rem auto;align-items:center;gap:.4rem;display:grid}.flow-steps li span{border:1px solid var(--color-border-strong);border-radius:50%;place-items:center;width:1.6rem;height:1.6rem;font-size:.7rem;display:grid}.flow-steps li.complete span{background:var(--color-surface-muted);color:var(--color-text)}.flow-steps li.current{color:var(--color-text);font-weight:800}.flow-steps li.current span{color:#fff;background:#111}.flow-progress{margin:.75rem 0 .25rem;display:none}.flow-progress>div:first-child{justify-content:space-between;align-items:baseline;gap:1rem;font-size:.85rem;display:flex}.flow-progress span{color:var(--color-text-muted)}.flow-progress__bar{background:var(--color-border);border-radius:1rem;height:.3rem;margin-top:.6rem;overflow:hidden}.flow-progress__bar i{background:var(--color-primary);transform-origin:0;height:100%;animation:bar-grow .7s var(--ease-out) both;border-radius:1rem;display:block}.flow-intro{padding:1.25rem 0 2rem}.flow-intro h1{letter-spacing:-.035em;max-width:18ch;margin:.75rem 0;font-size:clamp(2.25rem,4.2vw,3.5rem);font-weight:500;line-height:1.08}.flow-intro>p:last-child{max-width:45rem;color:var(--color-text-muted);font-size:1.05rem}.info-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin:1rem 0 0;display:grid}.info-grid>div{border-right:1px solid var(--color-border);min-width:0;padding:1rem}.info-grid>div:last-child{border:0}dt{color:var(--color-text-muted);font-size:.72rem}dd{overflow-wrap:anywhere;margin:.3rem 0 0;font-weight:800}.notice-box,.warning-box,.error-summary{background:var(--color-surface-muted);border-radius:.7rem;margin:1rem 0;padding:1rem}.warning-box{background:#fff8e9;border:1px solid #976511}.error-summary{color:#7b2017;background:#fff4f1;border:1px solid #a02d20}.discovery-layout{grid-template-columns:17rem minmax(0,1fr);align-items:start;gap:1.5rem;margin-top:1.5rem;display:grid}.filter-card,.form-card,.menu-content,.auth-card,.review-card,.payment-method{border:1px solid var(--color-border);border-radius:1rem;padding:1.5rem}.filter-card{background:var(--color-background);gap:1rem;display:grid}.filter-card h2{font:500 1.6rem var(--font-family-display)}.restaurant-results{gap:.8rem;display:grid}.restaurant-tile{border:1px solid var(--color-border);background:var(--color-surface);transition:transform var(--duration-medium) var(--ease-out), box-shadow var(--duration-medium) var(--ease-out), border-color var(--transition-fast);border-radius:1rem;grid-template-columns:18rem minmax(0,1fr);display:grid;overflow:hidden}.restaurant-tile:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-md);transform:translateY(-3px)}.restaurant-tile__media{min-height:16rem;overflow:hidden}.restaurant-tile__media img,.detail-hero__media img{object-fit:cover;object-position:var(--crop-position,50% 50%);width:100%;height:100%;transform-origin:var(--crop-position,50% 50%);transition:transform .9s var(--ease-out);transform:scale(1.3)}.crop-center{--crop-position:42% 78%}.crop-left{--crop-position:0% 25%}.crop-right{--crop-position:100% 35%}.restaurant-tile:hover .restaurant-tile__media img{transform:scale(1.4)}.restaurant-tile>div:last-child{padding:1.3rem}.restaurant-tile h2{font:500 2rem var(--font-family-display);margin:.7rem 0 .35rem}.restaurant-tile p{color:var(--color-text-muted);margin:1rem 0}.empty-state{text-align:center;border:1px dashed var(--color-border-strong);background:var(--color-background);border-radius:1rem;padding:3rem 1rem}.empty-state h1,.empty-state h2,.empty-state h3{font:500 2rem var(--font-family-display);margin-bottom:1rem}.empty-state p{max-width:28rem;color:var(--color-text-muted);margin:0 auto 1.5rem}.empty-state__art{opacity:.9;width:7rem;margin:0 auto 1.25rem}.detail-hero{grid-template-columns:1fr 1fr;gap:2rem;display:grid}.detail-hero__media{border-radius:1rem;min-height:18rem;max-height:34rem;overflow:hidden}.detail-hero__media img{animation:media-settle 1.2s var(--ease-out) both}.detail-hero h2,.menu-preview h2,.map-card h2{font:500 2rem var(--font-family-display);margin:1rem 0 .5rem}.detail-hero p{color:var(--color-text-muted);margin-bottom:1rem}.branch-list{gap:.7rem;display:grid}.branch-list button{border:1px solid var(--color-border-strong);text-align:left;min-height:82px;transition:background var(--duration-medium) var(--ease-out), color var(--duration-medium) var(--ease-out), transform var(--duration-fast) var(--ease-out), border-color var(--transition-fast);background:0 0;border-radius:.7rem;gap:.25rem;padding:1rem;display:grid}.branch-list button:hover{border-color:var(--color-text);transform:translate(3px)}.branch-list button[aria-checked=true]{color:#fff;background:#111}.detail-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:1.5rem;margin-top:2rem;display:grid}.detail-grid>section{border:1px solid var(--color-border);border-radius:1rem;margin-top:0;padding:1.5rem}.map-card p{color:var(--color-text-muted);margin-bottom:1rem;font-size:.9rem}.menu-preview{border:1px solid var(--color-border);border-radius:1rem;margin-top:2rem;padding:1.5rem}.menu-preview>div{border-top:1px solid var(--color-border);grid-template-columns:3.5rem minmax(0,1fr) auto;align-items:center;gap:.8rem;padding:.7rem 0;display:grid}.menu-preview>div small{grid-column:2}.food-art{background:radial-gradient(circle,#d4b77b 45%,#fffdf7 47% 66%,#d9ccb2 68%);border-radius:.7rem;place-items:center;width:5.25rem;height:5.25rem;display:grid}.menu-preview .food-art{grid-row:1/3;width:3.5rem;height:3.5rem}.sticky-action{background:var(--color-surface-muted);border-radius:.8rem;justify-content:space-between;align-items:center;gap:1rem;margin-top:1.5rem;padding:1rem;display:flex}.sticky-action>div{gap:.3rem;display:grid}.sticky-action span{color:var(--color-text-muted);font-size:.78rem}.reservation-layout,.menu-layout,.review-layout,.payment-layout,.confirmation-layout,.auth-layout{grid-template-columns:minmax(0,1fr) minmax(18rem,.36fr);align-items:start;gap:1.5rem;display:grid}.field-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;display:grid}.area-row{border-block:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:1rem;margin:1.3rem 0;padding:1rem 0;display:flex}.area-row>div:last-child{border:1px solid var(--color-border);border-radius:.6rem;padding:.2rem;display:flex}.area-row button,.category-tabs button,.auth-tabs button{transition:background var(--duration-medium) var(--ease-out), color var(--duration-medium) var(--ease-out);white-space:nowrap;background:0 0;border:0;border-radius:.45rem;min-height:44px;padding:.55rem 1rem;font-weight:750}.area-row button[aria-checked=true],.category-tabs button[aria-pressed=true],.auth-tabs button[aria-selected=true]{color:#fff;background:#111}.form-card__title{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1rem;margin-bottom:1rem;display:flex}.form-card__title h2{font:500 1.75rem var(--font-family-display)}.view-toggle{border:1px solid var(--color-border);border-radius:.6rem;padding:.2rem;display:inline-flex}.view-toggle button{min-height:40px;transition:background var(--duration-medium) var(--ease-out), color var(--duration-medium) var(--ease-out);background:0 0;border:0;border-radius:.45rem;align-items:center;gap:.4rem;padding:.4rem .8rem;font-size:.85rem;font-weight:750;display:inline-flex}.view-toggle button[aria-checked=true]{color:#fff;background:#111}.summary-card{border:1px solid var(--color-border);background:var(--color-background);border-radius:1rem;padding:1.5rem;position:sticky;top:1rem}.summary-card h2{font:500 2.2rem var(--font-family-display);margin:.5rem 0 1rem}.summary-card dl{margin:1rem 0;display:grid}.summary-card dl>div{border-top:1px solid var(--color-border);padding:.7rem 0}.summary-card .primary-action,.summary-card .secondary-action{width:100%;margin-top:.6rem}.summary-card>small{color:var(--color-text-muted);text-align:center;margin-top:.7rem;display:block}.menu-content{min-width:0}.category-tabs,.auth-tabs{gap:.35rem;padding-bottom:1rem;display:flex;overflow-x:auto}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;display:grid}.product-card{border:1px solid var(--color-border);border-radius:.8rem;grid-template-columns:5.25rem minmax(0,1fr);gap:1rem;padding:1rem;display:grid}.product-card.selected{border-color:var(--color-text);background:var(--color-background)}.product-title{justify-content:space-between;gap:.5rem;display:flex}.product-title h2{font:800 1rem var(--font-family-body)}.product-card p{color:var(--color-text-muted);margin:.4rem 0;font-size:.75rem}.unavailable{color:var(--color-text-muted);font-size:.75rem}.quantity{border:1px solid var(--color-border-strong);border-radius:.5rem;grid-template-columns:44px minmax(2rem,1fr) 44px;max-width:12rem;margin-top:.7rem;display:grid;overflow:hidden}.quantity button{background:var(--color-surface);border:0;min-height:44px}.quantity output{place-items:center;font-weight:800;display:grid}.empty-basket{background:var(--color-surface-muted);border-radius:.8rem;margin:1rem 0;padding:1.2rem}.empty-basket p{color:var(--color-text-muted);margin:.4rem 0}.order-lines{border-top:1px solid var(--color-border);margin-top:1rem;display:grid}.order-lines>div,.total-row{border-bottom:1px solid var(--color-border);justify-content:space-between;gap:1rem;padding:.8rem 0;display:flex}.total-row{border-top:1px solid var(--color-border);border-bottom:0;align-items:end}.total-row strong{font-size:1.4rem}.app-dialog{background:var(--color-surface);width:min(100% - 2rem,36rem);color:var(--color-text);border:0;border-radius:1rem;padding:0;box-shadow:0 1rem 5rem #0005}.app-dialog::backdrop{background:#0b393299}.app-dialog form{padding:2rem}.app-dialog h2{font:500 2.2rem var(--font-family-display)}.app-dialog p{color:var(--color-text-muted);margin:1rem 0}.auth-card{gap:1rem;display:grid}.form-field small{color:#a02d20}.form-field input[aria-invalid=true]{border:2px solid #a02d20}.review-sections,.confirmation-layout>div{gap:1rem;display:grid}.review-card>header{border-bottom:1px solid var(--color-border);align-items:center;gap:.8rem;padding-bottom:1rem;display:flex}.review-card>header>span{background:var(--color-text);color:#fff;border-radius:50%;place-items:center;width:2rem;height:2rem;font-size:.7rem;display:grid}.review-card>header h2{font:500 2rem var(--font-family-display)}.review-card>header button{margin-left:auto}.next-card{grid-row:auto}.payment-method h2{font:500 2.2rem var(--font-family-display)}.demo-card{background:var(--color-text);color:#fff;border-radius:1rem;gap:2rem;margin-top:1rem;padding:1.5rem;display:grid}.demo-card>div{justify-content:space-between;display:flex}.confirmation-hero{grid-template-columns:4rem minmax(0,1fr) auto;align-items:center;gap:1.5rem;padding:4rem 0;display:grid}.confirmation-hero>span{background:var(--color-text);color:#fff;border-radius:50%;place-items:center;width:4rem;height:4rem;font-size:1.5rem;display:grid}.confirmation-hero h1{letter-spacing:-.035em;max-width:20ch;margin:.5rem 0;font-size:clamp(2.25rem,4.2vw,3.5rem);font-weight:500;line-height:1.08}.confirmation-hero p:last-child{color:var(--color-text-muted)}.confirmation-hero aside{border:1px solid var(--color-border);background:var(--color-background);border-radius:.8rem;padding:1.2rem}.payment-result{background:var(--color-surface-muted);border-radius:.8rem;align-items:center;gap:1rem;padding:1.2rem;display:flex}.payment-result span{color:var(--color-text-muted)}.payment-result b{margin-left:auto}.auth-fields{gap:1rem;display:grid}.success-mark{width:4rem;height:4rem}.success-mark__disc{fill:var(--color-text)}.success-mark__tick{fill:none;stroke:#fff;stroke-width:5px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:50}.spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:1rem;height:1rem}.info-sections{gap:1rem;max-width:46rem;display:grid}.info-sections section{border:1px solid var(--color-border);border-radius:1rem;padding:1.5rem}.info-sections h2{font:500 1.4rem var(--font-family-display);margin-bottom:.5rem}.info-sections p{color:var(--color-text-muted)}.social-auth{gap:.75rem;display:grid}.social-auth__buttons{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.social-button{border:1px solid var(--color-border-strong);min-height:48px;transition:transform var(--duration-fast) var(--ease-out), box-shadow var(--duration-medium) var(--ease-out), background var(--transition-fast), border-color var(--transition-fast);border-radius:.55rem;justify-content:center;align-items:center;gap:.6rem;padding:.6rem 1rem;font-size:.95rem;font-weight:700;display:inline-flex}.social-button--google{color:#1f1f1f;background:#fff}.social-button--apple{color:#fff;background:#000;border-color:#000;min-height:40px}.social-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 .6rem 1.2rem #11111124}.social-button--google:hover:not(:disabled){border-color:var(--color-text);background:var(--color-surface-muted)}.social-button--apple:hover:not(:disabled){background:#1f1f1f}.social-button:active:not(:disabled){box-shadow:none;transform:translateY(0)scale(.98)}.social-button:disabled{cursor:not-allowed;opacity:.55}.social-button.is-busy:disabled{cursor:progress;opacity:1}.social-auth__divider{color:var(--color-text-muted);align-items:center;gap:.75rem;font-size:.8rem;display:flex}.social-auth__divider:before,.social-auth__divider:after{content:"";background:var(--color-border);flex:1;height:1px}.field{gap:.5rem;min-width:0;display:grid}.field__label{font-size:.78rem;font-weight:750}.control{border:1px solid var(--color-border-strong);background:var(--color-surface);width:100%;min-height:3rem;color:var(--color-text);text-align:left;transition:border-color var(--transition-fast), box-shadow var(--transition-fast);border-radius:.65rem;justify-content:space-between;align-items:center;gap:.75rem;padding:.5rem .9rem;font-size:.95rem;font-weight:650;display:flex}.control:hover,.control[aria-expanded=true]{border-color:var(--color-text)}.control:focus-visible,.form-field input:focus-visible{border-color:var(--color-text);outline:0;box-shadow:0 0 0 3px #0b393224}.control__value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.control-chevron{width:1.25rem;height:1.25rem;color:var(--color-text-muted);transition:transform var(--transition-fast);flex:none}.control[aria-expanded=true] .control-chevron:not(.control-chevron--static){transform:rotate(180deg)}.control--static,.control--static:hover{border-color:var(--color-border);background:var(--color-surface-muted);color:var(--color-text-muted);cursor:default}.form-field input{border:1px solid var(--color-border-strong);background:var(--color-surface);border-radius:.65rem;width:100%;min-height:3rem;padding:.65rem .9rem}.form-field{gap:.5rem;min-width:0;font-size:.78rem;font-weight:750;display:grid}.select{position:relative}.popover{z-index:30;border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-md);transform-origin:0 0;animation:popover-in var(--duration-fast) var(--ease-out);border-radius:.9rem;position:absolute;top:calc(100% + .4rem);left:0}@keyframes popover-in{0%{opacity:0;transform:translateY(-.4rem)scale(.97)}}.select__list{min-width:100%;max-height:16rem;margin:0;padding:.35rem;list-style:none;overflow:auto}.select__list li{transition:background var(--transition-fast);white-space:nowrap;cursor:pointer;border-radius:.55rem;justify-content:space-between;align-items:center;gap:1rem;min-height:2.5rem;padding:.5rem .7rem;font-size:.92rem;font-weight:600;display:flex}.select__list li.is-active{background:var(--color-surface-muted)}.select__list li[aria-selected=true]{font-weight:800}.select__list svg{flex:none}.datepicker{width:19.5rem;max-width:calc(100vw - 2rem);padding:1rem}.datepicker__head{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.datepicker__head strong{text-transform:capitalize;font-size:.95rem}.datepicker__nav{border:1px solid var(--color-border);background:0 0;border-radius:.6rem;place-items:center;width:2.25rem;height:2.25rem;display:grid}.datepicker__nav:hover:not(:disabled){background:var(--color-surface-muted)}.datepicker__nav:disabled{opacity:.35;cursor:not-allowed}.datepicker__row{grid-template-columns:repeat(7,1fr);gap:.15rem;display:grid}.datepicker__row>[role=gridcell]{place-items:center;min-height:2.5rem;display:grid}.datepicker__weekday{color:var(--color-text-muted);text-align:center;padding:.35rem 0;font-size:.7rem;font-weight:750}.datepicker__grid{animation:fade-in var(--duration-medium) var(--ease-out)}.datepicker__day{transition:background var(--transition-fast), color var(--transition-fast), transform var(--duration-fast) var(--ease-out);background:0 0;border:1px solid #0000;border-radius:50%;width:2.3rem;height:2.3rem;font-size:.88rem;font-weight:600}.datepicker__day:hover:not(:disabled):not(.is-selected){background:var(--color-surface-muted);transform:scale(1.08)}.datepicker__day.is-today{border-color:var(--color-border-strong)}.datepicker__day.is-selected{background:var(--color-primary);color:#fff;font-weight:800}.datepicker__day:disabled{color:#b4bbb5;cursor:not-allowed}.datepicker__day:focus-visible{box-shadow:0 0 0 2px var(--color-surface), 0 0 0 4px var(--color-text);outline:0}.datepicker__foot{border-top:1px solid var(--color-border);gap:.5rem;margin-top:.75rem;padding-top:.75rem;display:flex}.datepicker__quick{border:1px solid var(--color-border);background:0 0;border-radius:2rem;min-height:2.25rem;padding:0 .9rem;font-size:.8rem;font-weight:700}.datepicker__quick:hover{background:var(--color-surface-muted)}.language-switcher{border:1px solid var(--color-border);background:var(--color-surface-muted);border-radius:2rem;padding:.125rem;display:inline-flex}.language-switcher button{min-width:2.25rem;min-height:1.75rem;color:var(--color-text-muted);letter-spacing:.04em;transition:background var(--duration-medium) var(--ease-out), color var(--duration-medium) var(--ease-out);background:0 0;border:0;border-radius:2rem;padding:.15rem .6rem;font-size:.72rem;font-weight:750}.language-switcher button[aria-pressed=true]{background:var(--color-primary);color:#fff}.saved-plan{border-radius:var(--radius-md);background:var(--color-surface-muted);gap:1.25rem;padding:1.5rem;display:grid}.saved-plan__head{gap:.25rem;display:grid}.saved-plan__head h2{font:500 1.6rem var(--font-family-display)}.saved-plan__head p{color:var(--color-text-muted);font-size:.9rem}.plan-fields{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;display:grid}.field-grid{gap:1rem}.filter-card{gap:1.25rem}.tbl{--tbl-top:#fff;--tbl-edge:var(--color-border-strong);--tbl-chair:#d8caa4;--tbl-plate:#ece6d3;--tbl-ink:var(--color-text);width:100%;height:auto;display:block}.tbl__top{fill:var(--tbl-top);stroke:var(--tbl-edge);stroke-width:1.5px;transition:fill var(--transition-fast), stroke var(--transition-fast)}.tbl__chair{fill:var(--tbl-chair);transition:fill var(--transition-fast)}.tbl__plate{fill:var(--tbl-plate)}.tbl__label{fill:var(--tbl-ink);font:700 12px var(--font-family-body)}.tbl--selected{--tbl-top:var(--color-primary);--tbl-edge:var(--color-primary);--tbl-chair:var(--color-primary);--tbl-plate:#ffffff38;--tbl-ink:#fff}.tbl--occupied{--tbl-top:#ebe8dd;--tbl-edge:#d3d6cc;--tbl-chair:#e2dfd3;--tbl-plate:transparent;--tbl-ink:var(--color-text-muted)}.tbl--unsuitable{--tbl-chair:#e6e1d0;--tbl-plate:transparent}.tbl--unsuitable .tbl__top{stroke-dasharray:4 3}.table-grid{grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));gap:.75rem;display:grid}.table-grid button{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);text-align:center;transition:border-color var(--transition-fast), box-shadow var(--transition-fast);justify-items:center;gap:.2rem;padding:1rem .75rem .9rem;display:grid;position:relative}.table-grid button .tbl{width:7.5rem;margin-bottom:.4rem}.table-grid button small{color:var(--color-text-muted);font-size:.75rem}.table-grid button:hover:not(:disabled){border-color:var(--color-text)}.table-grid button:hover:not(:disabled) .tbl--available{--tbl-edge:var(--color-text);--tbl-chair:#cdbb8d}.table-grid button:disabled{background:var(--color-surface-muted);cursor:not-allowed}.table-grid button:disabled strong{color:var(--color-text-muted)}.table-grid button.selected{border-color:var(--color-text);background:var(--color-background);box-shadow:0 0 0 1px var(--color-text)}.table-grid button.selected:after{content:"✓";background:var(--color-primary);color:#fff;border-radius:50%;place-items:center;width:1.4rem;height:1.4rem;font-size:.75rem;font-weight:800;display:grid;position:absolute;top:.65rem;right:.65rem}@media (width<=64rem){.plan-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=42rem){.plan-fields{grid-template-columns:1fr}.table-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.table-grid button .tbl{width:6rem}}.account-layout{grid-template-columns:minmax(0,1fr) minmax(18rem,.36fr);align-items:start;gap:1.5rem;display:grid}.account-reservations>h2{font:500 1.5rem var(--font-family-display);margin:1.5rem 0 .75rem}.account-reservations>h2:first-child{margin-top:0}.booking-list{gap:.75rem;display:grid}.booking-card{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);gap:1rem;padding:1.25rem 1.5rem;display:grid}.booking-card header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.booking-card h3{font-size:1.1rem}.booking-card header p{color:var(--color-text-muted);font-size:.9rem}.booking-card dl{flex-wrap:wrap;gap:.5rem 2rem;margin:0;display:flex}.booking-card footer{border-top:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:1rem;padding-top:.75rem;display:flex}.booking-card code{color:var(--color-text-muted);letter-spacing:.08em;font-size:.8rem}.status-badge{background:var(--color-surface-muted);white-space:nowrap;border-radius:2rem;flex:none;padding:.25rem .7rem;font-size:.72rem;font-weight:750}.status-badge--pending{color:#7a5200;background:#fff3d6}.status-badge--confirmed,.status-badge--checked_in,.status-badge--completed{color:#1c5a2c;background:#dff1e4}.status-badge--cancelled,.status-badge--no_show{color:#7b2017;background:#f6e1dd}.profile-form{gap:1rem;margin-top:.75rem;display:grid}.app-dialog__body{padding:2rem}.app-navigation__signout{min-height:44px;color:var(--color-text-muted);background:0 0;border:0;font-weight:750}.app-navigation__signout:hover{color:var(--color-text)}.branch-lines{gap:.35rem;margin:.5rem 0 1rem;padding:0;list-style:none;display:grid}.branch-lines li{gap:.1rem;display:grid}.branch-lines span,.branch-list button span{color:var(--color-text-muted);font-size:.85rem}.branch-list button[aria-checked=true] span{color:#ffffffbf}.location-line{align-items:flex-start;gap:.5rem;display:flex}.location-line svg{flex:none;margin-top:.15rem}.map-card .button-row{margin-top:.5rem}.menu-preview__empty{color:var(--color-text-muted)}.hold-timer{background:var(--color-surface-muted);border-radius:.6rem;margin:.25rem 0 .75rem;padding:.5rem .75rem;font-size:.85rem;font-weight:700}.hold-timer.is-low{color:#7a5200;background:#fff3d6}.payment-note{color:var(--color-text-muted);margin:.5rem 0;font-size:.82rem}.auth-column{gap:1.5rem;min-width:0;display:grid}.auth-card--signed-in{grid-template-columns:minmax(0,1fr) auto;align-items:center}.auth-card--signed-in h2{font:500 1.6rem var(--font-family-display);margin:.25rem 0}.auth-card--signed-in p:not(.eyebrow){color:var(--color-text-muted)}.contact-card>h2{font:500 1.6rem var(--font-family-display)}.contact-card>p{color:var(--color-text-muted)}.form-field em{color:var(--color-text-muted);font-size:.75rem;font-style:normal;font-weight:500}.form-field textarea{border:1px solid var(--color-border-strong);background:var(--color-surface);resize:vertical;border-radius:.65rem;width:100%;padding:.75rem .9rem}.form-field textarea:focus-visible{border-color:var(--color-text);outline:0;box-shadow:0 0 0 3px #0b393224}input.control{cursor:text}input.control::placeholder{color:var(--color-text-muted);font-weight:500}.social-auth__google{justify-content:center;min-height:44px;display:flex}.social-auth__buttons--two{grid-template-columns:repeat(2,minmax(0,1fr));align-items:center}.social-auth__buttons:not(.social-auth__buttons--two){grid-template-columns:1fr}.social-auth__error{color:#7b2017;text-align:center;font-size:.85rem}.skeleton--page{border-radius:var(--radius-md);height:24rem}.skeleton--block{height:9rem;margin-top:1rem}.skeleton--product{border-radius:.8rem;height:8rem}.skeleton--booking{border-radius:var(--radius-md);height:9rem}@media (width<=64rem){.account-layout{grid-template-columns:1fr}}@media (width<=42rem){.social-auth__buttons--two,.auth-card--signed-in{grid-template-columns:1fr}.booking-card{padding:1rem}.app-dialog__body{padding:1.2rem}}.floor__legend{color:var(--color-text-muted);flex-wrap:wrap;justify-content:center;gap:.5rem 1.25rem;margin:.75rem 0 0;padding:.9rem 0 0;font-size:.75rem;list-style:none;display:flex}.floor__dot{border:1px solid var(--color-border-strong);background:#fff;border-radius:50%;width:.7rem;height:.7rem;margin-right:.45rem;display:inline-block}.floor__dot--selected{border-color:var(--color-primary);background:var(--color-primary)}.floor__dot--occupied{background:#e8e5da;border-color:#cfd3ca}.floormap{justify-items:center;gap:.25rem;display:grid}.floormap__canvas{border:1px solid var(--color-border);background:var(--color-background);border-radius:1rem;width:min(100%,34rem)}.floormap__floor{fill:var(--color-surface)}.floormap__table{cursor:pointer;transform-box:fill-box;transform-origin:50%;transition:transform var(--duration-medium) var(--ease-spring);animation:map-table-in .65s var(--ease-out) backwards;animation-delay:calc(var(--i,0) * 80ms + .12s);outline:none}.floormap__table:hover:not(.is-disabled){transform:scale(1.07)}.floormap__table.is-disabled{cursor:not-allowed}.floormap__table:focus-visible .tbl__top{stroke:var(--color-focus);stroke-width:4px}.floormap__table.tbl--selected{animation:pop-svg .5s var(--ease-spring)}.floormap__ring{fill:none;stroke:var(--color-primary);stroke-width:2.5px;stroke-dasharray:7 6;animation:1.8s ease-in-out infinite ring-pulse}.floormap .tbl__label{font-size:17px}.floormap__detail{text-align:center;min-height:1.5rem;font-size:.9rem;font-weight:700}.floormap__detail span{animation:fade-up var(--duration-medium) var(--ease-out) backwards;display:inline-block}.home>*+*{margin-top:var(--section-gap)}.home>:last-child{margin-bottom:var(--section-gap)}.home-hero{padding:clamp(2rem, 4vw, 3rem) var(--page-gutter) 0;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:clamp(2rem,5vw,4rem);display:grid}.home-hero__copy h1{max-width:16ch;font:500 clamp(2.1rem, 3.6vw, 3.25rem) / 1.1 var(--font-family-hero);letter-spacing:-.03em;margin:1rem 0 1.25rem}.home-hero__copy>p:not(.eyebrow){max-width:30rem;color:var(--color-text-muted);font-size:1.05rem}.home-hero__copy .primary-action{margin:1.75rem 0 .9rem}.home-hero__copy small{color:var(--color-text-muted);display:block}.home-hero__media{border-radius:var(--radius-md);animation:media-reveal 1.1s var(--ease-out) .12s backwards;overflow:hidden}.home-hero__media img{object-fit:cover;width:100%;height:min(32rem,56vh);animation:media-settle 1.6s var(--ease-out) .12s backwards}.home-section{padding-inline:var(--page-gutter)}.home-section>h2,.feature-grid h2,.guest-band h2,.business-card h2{font:500 clamp(1.6rem, 2.6vw, 2.15rem) / 1.15 var(--font-family-display);letter-spacing:-.02em}.home-section>h2{margin-bottom:1.5rem}.how-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.how-grid article{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);transition:transform var(--duration-medium) var(--ease-out), box-shadow var(--duration-medium) var(--ease-out);gap:1rem;padding:1.5rem;display:flex}.how-grid article:hover{box-shadow:var(--shadow-md);transform:translateY(-4px)}.how-grid article>b{background:var(--color-surface-muted);border-radius:50%;flex:none;place-items:center;width:2.75rem;height:2.75rem;font-size:.95rem;display:grid}.how-grid h3{margin-bottom:.35rem;font-size:1.05rem}.how-grid p{color:var(--color-text-muted);font-size:.95rem}.feature-grid{padding-inline:var(--page-gutter);grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;display:grid}.feature-grid>article{border-radius:var(--radius-lg);background:var(--color-surface-muted);min-width:0;padding:clamp(1.5rem,3vw,2.5rem)}.feature-grid h2{margin-bottom:.75rem}.feature-grid p{color:var(--color-text-muted)}.floor{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);margin-top:1.75rem;padding:1.25rem 1.25rem 1rem}.floor__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem 1rem;display:grid}.floor__table{border-radius:var(--radius-md);transition:background var(--duration-medium) var(--ease-out);flex-direction:column;align-items:center;padding:.5rem .25rem 1.9rem;display:flex;position:relative}.floor__table--selected{background:#1111110d}.floor__table .tbl{max-width:8rem}.floor__tag{animation:fade-up var(--duration-medium) var(--ease-out) backwards;background:var(--color-primary);color:#fff;white-space:nowrap;border-radius:2rem;padding:.2rem .65rem;font-size:.68rem;font-weight:750;position:absolute;bottom:.45rem}.mini-menu{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);grid-template-columns:1fr auto;margin-top:1.75rem;padding:.25rem 1.25rem;display:grid}.mini-menu>*{border-bottom:1px solid var(--color-border);transition:padding var(--duration-medium) var(--ease-out);padding:.9rem 0}.mini-menu>strong:hover,.mini-menu>strong:hover+span{padding-inline:.35rem}.mini-menu>:nth-last-child(-n+2){border-bottom:0}.mini-menu span{text-align:right}.guest-band{margin-inline:var(--page-gutter);border-radius:var(--radius-lg);background:var(--color-text);color:#fff;justify-content:space-between;align-items:center;gap:2rem;padding:clamp(1.5rem,3vw,2.5rem);display:flex}.guest-band p{color:#eef4ed;margin-top:.5rem}.guest-band>div:last-child{flex-wrap:wrap;gap:.75rem;display:flex}.inverse{border-color:#fff}.secondary-action.inverse{color:#fff}.secondary-action.inverse:hover{background:#ffffff1f}.faq{grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr);align-items:start;gap:1.5rem clamp(2rem,6vw,5rem);display:grid}.faq>h2{margin-bottom:0}.faq-list article{border-top:1px solid var(--color-border)}.faq-list article:last-child{border-bottom:1px solid var(--color-border)}.faq-list button{text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:1.5rem;width:100%;min-height:4rem;padding:1.1rem 0;display:flex}.faq-panel{opacity:0;transition:grid-template-rows var(--duration-medium) var(--ease-out), opacity var(--duration-medium) var(--ease-out);grid-template-rows:0fr;display:grid}.faq-panel[data-open=true]{opacity:1;grid-template-rows:1fr}.faq-panel>div{min-height:0;overflow:hidden}.faq-list p{max-width:40rem;color:var(--color-text-muted);padding:0 3.5rem 1.4rem 0}.faq-icon{border:1px solid var(--color-border-strong);width:2rem;height:2rem;transition:background var(--transition-fast), border-color var(--transition-fast);border-radius:50%;flex:none;position:relative}.faq-icon:before,.faq-icon:after{content:"";width:.7rem;height:1.5px;transition:transform var(--transition-fast);background:currentColor;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.faq-icon:after{transform:translate(-50%,-50%)rotate(90deg)}.faq-list button[aria-expanded=true] .faq-icon:after{transform:translate(-50%,-50%)rotate(0)}.faq-list button:hover .faq-icon{border-color:var(--color-text)}.business-card{margin-inline:var(--page-gutter);border-radius:var(--radius-lg);background:var(--color-surface-muted);justify-content:space-between;align-items:center;gap:2rem;padding:clamp(1.5rem,3vw,2.5rem);display:flex}.business-card p{color:var(--color-text-muted);margin-top:.5rem}@media (width<=56rem){.home-hero{grid-template-columns:1fr}.home-hero__media img{height:24rem}.feature-grid,.faq{grid-template-columns:1fr}}@media (width<=48rem){.how-grid{grid-template-columns:1fr}}@media (width<=42rem){.home-hero{flex-direction:column;align-items:stretch;padding-top:1.5rem;display:flex}.home-hero__media img{height:20rem}.guest-band,.business-card{flex-direction:column;align-items:stretch}.business-card .secondary-action{width:100%}.guest-band>div:last-child>*{flex:auto}.floor{padding:1rem .75rem .85rem}.floor__grid{gap:.5rem}.faq-list p{padding-right:0}}@keyframes rise{0%{opacity:0;transform:translateY(1.1rem)}}@keyframes fade-in{0%{opacity:0}}@keyframes fade-up{0%{opacity:0;transform:translateY(.5rem)}}@keyframes page-in{0%{opacity:0;transform:translateY(.75rem)}}@keyframes pop{0%{transform:scale(.92)}55%{transform:scale(1.04)}to{transform:scale(1)}}@keyframes pop-svg{0%{transform:scale(.88)}55%{transform:scale(1.08)}to{transform:scale(1)}}@keyframes pop-text{0%{opacity:0;transform:translateY(.45em)}}@keyframes bar-grow{0%{transform:scaleX(0)}}@keyframes media-reveal{0%{clip-path:inset(0 0 0 100% round 1rem)}to{clip-path:inset(0 round 1rem)}}@keyframes media-settle{0%{opacity:0;scale:1.14}}@keyframes slide-down{0%{opacity:0;transform:translateY(-.5rem)}}@keyframes dialog-in{0%{opacity:0;transform:translateY(1rem)scale(.96)}}@keyframes shake{20%,60%{transform:translate(-4px)}40%,80%{transform:translate(4px)}}@keyframes shimmer{to{background-position:-200% 0}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes draw{0%{stroke-dashoffset:50px}to{stroke-dashoffset:0}}@keyframes card-in{0%{opacity:0;transform:perspective(900px)rotateX(28deg)translateY(1.5rem)}}@keyframes map-table-in{0%{opacity:0;transform:translateY(.9rem)scale(.85)}}@keyframes ring-pulse{50%{opacity:.35}}.page{animation:page-in .52s var(--ease-out) backwards}.reveal{opacity:0}.reveal.is-visible{opacity:1;animation:rise var(--duration-slow) var(--ease-out) backwards;animation-delay:calc(var(--i,0) * .1s)}@media (scripting:none){.reveal{opacity:1}}.home-hero__copy>*{animation:rise .8s var(--ease-out) backwards}.home-hero__copy>:first-child{animation-delay:60ms}.home-hero__copy>:nth-child(2){animation-delay:.15s}.home-hero__copy>:nth-child(3){animation-delay:.24s}.home-hero__copy>:nth-child(4){animation-delay:.33s}.home-hero__copy>:nth-child(5){animation-delay:.42s}.restaurant-tile,.booking-card,.table-grid>button,.product-card,.review-card,.info-sections>section{animation:rise .6s var(--ease-out) backwards;animation-delay:calc(var(--i,0) * 80ms)}.restaurant-tile--skeleton{animation:fade-in var(--duration-medium)}.reveal.is-visible .floor__table,.reveal.is-visible .mini-menu>*{animation:rise .6s var(--ease-out) backwards;animation-delay:calc(var(--i,0) * 90ms + .25s)}.reveal:not(.is-visible) .floor__table,.reveal:not(.is-visible) .mini-menu>*{opacity:0}.review-sections>:nth-child(2),.confirmation-layout>div>:nth-child(2){animation-delay:90ms}.review-sections>:nth-child(3),.confirmation-layout>div>:nth-child(3){animation-delay:.18s}.social-auth,.auth-fields>*{animation:rise .4s var(--ease-out) backwards}.auth-fields>:nth-child(2){animation-delay:60ms}.auth-fields>:nth-child(3){animation-delay:.12s}.auth-fields>:nth-child(4){animation-delay:.18s}.brand-hand{transform-origin:32px 32px;transition:transform .9s var(--ease-out)}.app-brand:hover .brand-hand{transform:rotate(360deg)}.product-card{transition:border-color var(--transition-fast), box-shadow var(--duration-medium) var(--ease-out), transform var(--duration-medium) var(--ease-out)}.product-card:hover{box-shadow:var(--shadow-sm);transform:translateY(-2px)}.table-grid>button{transition:border-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--duration-medium) var(--ease-spring)}.table-grid>button:hover:not(:disabled){transform:translateY(-3px)}.table-grid>button.selected{animation:pop .5s var(--ease-spring)}.table-grid>button.selected:after{animation:pop .45s var(--ease-spring) 80ms backwards}.quantity button{transition:background var(--transition-fast)}.quantity button:hover{background:var(--color-surface-muted)}.quantity output{animation:pop .35s var(--ease-spring)}.order-lines>div{animation:fade-up var(--duration-medium) var(--ease-out) backwards}.pop-text{animation:pop-text .42s var(--ease-spring) backwards;display:inline-block}.floor__table--selected .tbl{animation:pop-svg .55s var(--ease-spring)}.flow-steps li.current span{animation:pop .5s var(--ease-spring)}.flow-steps li span{transition:background var(--duration-medium) var(--ease-out), color var(--duration-medium) var(--ease-out)}.category-tabs button:hover:not([aria-pressed=true]),.area-row button:hover:not([aria-checked=true]),.view-toggle button:hover:not([aria-checked=true]),.auth-tabs button:hover:not([aria-selected=true]){background:var(--color-surface-muted)}.app-navigation.is-open{animation:slide-down var(--duration-medium) var(--ease-out)}.app-dialog[open]{animation:dialog-in .38s var(--ease-spring)}.app-dialog[open]::backdrop{animation:fade-in var(--duration-medium) ease}.error-summary,.warning-box{animation:rise .38s var(--ease-out) backwards}.form-field input[aria-invalid=true]{animation:.38s shake}.spinner{animation:.7s linear infinite spin}.payment-method{perspective:900px}.demo-card{animation:card-in .9s var(--ease-out) backwards}.confirmation-hero>div,.confirmation-hero>aside{animation:rise .7s var(--ease-out) .25s backwards}.confirmation-hero>aside{animation-delay:.38s}.success-mark__disc{transform-box:fill-box;transform-origin:50%;animation:pop .7s var(--ease-spring) backwards}.success-mark__tick{animation:draw .55s var(--ease-out) .35s backwards}.skeleton{background:linear-gradient(100deg, var(--color-surface-muted) 30%, #fbf9f1 50%, var(--color-surface-muted) 70%) 0 0 / 200% 100%;border-radius:.5rem;animation:1.4s linear infinite shimmer}.skeleton--image{border-radius:0;height:100%;min-height:16rem}.skeleton--line{height:.8rem;margin:.65rem 0}.skeleton--title{width:60%;height:2rem;margin:.9rem 0}.skeleton--button{width:9rem;height:3rem;margin-top:1rem}.skeleton--table{width:7.5rem;height:5.5rem;margin-bottom:.4rem}.restaurant-tile--skeleton{pointer-events:none}.restaurant-tile--skeleton:hover{box-shadow:none;transform:none}.restaurant-tile--skeleton>div:last-child{padding:1.3rem}.table-card-skeleton{border:1px solid var(--color-border);border-radius:var(--radius-md);justify-items:center;gap:.1rem;padding:1rem .75rem .9rem;display:grid}@media (width<=64rem){.app-header{flex-wrap:wrap}.app-navigation{order:3;width:100%;margin:0}.discovery-layout,.detail-hero,.detail-grid,.reservation-layout,.menu-layout,.review-layout,.payment-layout,.confirmation-layout,.auth-layout{grid-template-columns:1fr}.filter-card{grid-template-columns:repeat(2,1fr)}.filter-card h2,.filter-card .text-action{grid-column:1/-1}.summary-card{position:static}.restaurant-tile{grid-template-columns:15rem minmax(0,1fr)}.product-grid{grid-template-columns:1fr}.info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.info-grid>div:nth-child(2){border-right:0}}@media (width<=42rem){body{min-width:20rem}.app-frame{border-radius:1rem;width:calc(100% - 1rem);margin:.5rem auto}.app-header{min-height:4rem;padding:.6rem 1rem}.app-menu-toggle{margin-left:auto;display:block}.app-navigation{display:none}.app-navigation.is-open{gap:.5rem;display:grid}.language-switcher{align-self:flex-start}.language-switcher button{min-width:3rem;min-height:2.25rem}.app-navigation.is-open>a{min-height:2.75rem}.app-navigation>a:after{width:2.5rem;bottom:.45rem;right:auto}.app-footer{grid-template-columns:1fr}.app-footer__links{justify-content:flex-start}.flow-main{padding:1rem 1rem 2rem}.form-card__title{align-items:flex-start}.flow-topline{flex-direction:column;align-items:flex-start}.flow-topline__step,.flow-steps{display:none}.flow-progress{display:block}.info-grid,.field-grid{grid-template-columns:1fr}.info-grid>div{border-right:0;border-top:1px solid var(--color-border)}.social-auth__buttons{grid-template-columns:1fr}.discovery-layout{flex-direction:column;display:flex}.filter-card{grid-template-columns:1fr;width:100%;display:grid}.filter-card h2,.filter-card .text-action{grid-column:auto}.restaurant-tile{grid-template-columns:1fr}.restaurant-tile__media{height:12rem;min-height:0}.restaurant-tile h2{font-size:2rem}.detail-hero{flex-direction:column;display:flex}.detail-hero__media{height:19rem;min-height:0}.sticky-action,.area-row{flex-direction:column;align-items:stretch}.area-row>div:last-child button{flex:1}.product-card{grid-template-columns:4.5rem minmax(0,1fr)}.food-art{width:4.5rem;height:4.5rem}.review-card{padding:1rem}.review-card>header{flex-wrap:wrap;align-items:flex-start}.review-card>header button{text-align:left;width:100%;margin:0}.order-lines>div,.total-row{flex-direction:column;align-items:flex-start}.confirmation-hero{grid-template-columns:1fr;padding:2rem 0}.confirmation-hero aside{width:100%}.app-dialog form{padding:1.2rem}.app-dialog .button-row{display:grid}}@media (width<=25rem){.product-card{grid-template-columns:1fr}.product-title{flex-direction:column;align-items:flex-start}.confirmation-hero h1,.flow-intro h1{font-size:2.1rem}}:root{--color-background:#f7f4eb;--color-surface:#fffdf7;--color-surface-muted:#f1eee3;--color-text:#0b3932;--color-text-muted:#52645f;--color-primary-original:#ef4d23;--color-primary-hover-original:#d9411b;--color-primary:#111;--color-primary-hover:#2b2b2b;--color-border:#d9ddd4;--color-border-strong:#91a49e;--color-focus:#146c94;--color-brand-accent:#111;--font-family-display:Georgia, "Times New Roman", serif;--font-family-hero:var(--font-family-display);--font-family-body:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-size-body:1rem;--line-height-body:1.5;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--space-12:3rem;--space-16:4rem;--container-max-width:86rem;--container-gutter:clamp(1rem, 4vw, 2rem);--page-gutter:clamp(1rem, 4vw, 3rem);--section-gap:clamp(3rem, 6vw, 5rem);--radius-sm:.5rem;--radius-md:1rem;--radius-lg:1.5rem;--shadow-sm:0 .25rem 1rem #0b393214;--shadow-md:0 .75rem 2rem #0b39321f;--transition-fast:.15s ease;--transition-normal:.25s ease;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--duration-fast:.18s;--duration-medium:.32s;--duration-slow:.7s}*,:before,:after{box-sizing:border-box}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;scroll-behavior:smooth;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--color-background);min-width:20rem;min-height:100vh;color:var(--color-text);font-family:var(--font-family-body);font-size:var(--font-size-body);line-height:var(--line-height-body);-webkit-font-smoothing:antialiased;margin:0}button,input,select,textarea{color:inherit;font:inherit}button,select{cursor:pointer}img,picture,svg{max-width:100%;display:block}h1,h2,h3,p{margin-block:0}a{color:inherit}:focus-visible{outline:.1875rem solid var(--color-focus);outline-offset:.1875rem}.page-shell{min-height:100vh;padding-block:var(--space-8)}.container{width:min(100% - (2 * var(--container-gutter)), var(--container-max-width));margin-inline:auto}h1{font-family:var(--font-family-display)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
