:root{--td-paper: #faf8f3;--td-white: #fff;--td-ink: #27251f;--td-muted: #69665e;--td-wine: #752c3b;--td-wine-dark: #51202a;--td-line: #e3dfd5;--td-soft: #eee9df;--td-highlight: #f1e5e7;--td-space-1: 4px;--td-space-2: 8px;--td-space-3: 12px;--td-space-4: 16px;--td-space-6: 24px;--td-space-8: 32px;--td-space-12: 48px;--td-radius: 20px;--td-radius-small: 12px;--td-radius-pill: 999px;--td-shadow: 0 12px 36px #27251f0d;--td-font-display: "DM Serif Display", Georgia, serif;--td-font-body: "DM Sans", system-ui, sans-serif;--td-font-accent: "Manrope", system-ui, sans-serif;--td-ease: cubic-bezier(.22,1,.36,1);--bg: var(--td-paper);--surface: #ffffff;--surface-2: #f2eee7;--border: var(--td-line);--text: var(--td-ink);--text-muted: var(--td-muted);--accent: var(--td-wine);--accent-hover: var(--td-wine-dark);--accent-active: #4f1a22;--accent-soft: #f2e6e7;--focus: #b65a66;--ink: var(--text);--forest: var(--accent);--cream: #ffffff;--element: var(--surface);--text-secondary: var(--text-muted);--text-tertiary: #6b655d;--gold: var(--accent);--gold-dim: rgba(122, 46, 58, .35);--shadow: rgba(28, 27, 25, .18)}*{box-sizing:border-box}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button{font-family:inherit;color:inherit}body{margin:0;font-family:var(--td-font-body, system-ui);color:var(--text);background:var(--bg);min-height:100vh}h1,h2{font-family:var(--td-font-display, Georgia);margin:0 0 .5rem}h1{font-size:clamp(2.4rem,5vw,3.6rem);letter-spacing:-.03em}h2{font-size:clamp(1.6rem,3vw,2.2rem)}h3{margin:0 0 .5rem;font-size:1.05rem;font-weight:600}p{margin:0;line-height:1.5}.page{max-width:1280px;margin:0 auto;padding:20px 24px 60px}.top-nav{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14px;gap:16px;position:static;padding:12px 16px;background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:none}.top-nav__brand-block{display:grid;gap:6px}.top-nav__brand{font-family:var(--td-font-display, Georgia);font-weight:500;letter-spacing:.01em;text-transform:lowercase;font-size:1.4rem;color:var(--ink);text-decoration:none}.top-nav__descriptor{font-size:.68rem;text-transform:uppercase;letter-spacing:.18em;color:var(--text-secondary)}.top-nav__links{display:flex;gap:12px;justify-content:flex-end;align-items:center;flex:1}.top-nav__separator{color:var(--text-tertiary);font-size:.9rem}.top-nav__links a,.top-nav__action{text-decoration:none;color:var(--accent);font-weight:500;font-size:.95rem;letter-spacing:.02em;padding:6px 0;border-bottom:1px solid transparent;transition:color .2s ease,border-color .2s ease}.top-nav__links a:hover,.top-nav__action:hover{color:var(--accent);border-color:#7a2e3a59}.hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:40px;align-items:start;margin-bottom:48px}.hero__copy{display:grid;gap:18px}.hero--list{grid-template-columns:minmax(0,1fr) minmax(0,.9fr);align-items:start}.hero__controls{display:grid;gap:16px}.hero__search{display:grid;gap:6px;font-size:.9rem;color:var(--text-muted)}.hero__search input{padding:12px 14px;border-radius:12px;border:1px solid var(--border);font-size:1rem;font-family:inherit;background:var(--surface);color:var(--text)}.hero__search input:focus-visible,input[type=date]:focus-visible,select:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #b65a6640}.hero__filters{display:grid;gap:12px}.filter-chips{display:flex;flex-wrap:wrap;gap:10px}.chip{border:1px solid var(--border);border-radius:999px;padding:6px 12px;background:var(--surface);font-weight:600;font-size:.85rem;color:var(--text-muted)}.chip--active{background:var(--accent);color:#fff;border-color:var(--accent)}.chip--disabled{opacity:.5;cursor:not-allowed}.chip--ghost{background:var(--accent-soft);border-color:#7a2e3a40;color:var(--accent)}.chip--ghost:hover{background:#7a2e3a2e}.hero__title{font-size:clamp(2.8rem,6vw,4.2rem);line-height:1.05;background:none}.hero__accent{font-style:italic;font-weight:500}.hero__actions{display:flex;flex-wrap:wrap;gap:12px}.pill{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:999px;background:var(--accent);color:#fff;font-size:.85rem;letter-spacing:.04em;text-transform:uppercase;width:fit-content}.lede{font-size:1.1rem;color:var(--text-muted)}.hero__cta{display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;border-radius:999px;border:1px solid rgba(28,27,25,.12);background:var(--element);color:var(--ink);font-weight:600;text-decoration:none;width:fit-content;transition:transform .2s ease,border-color .2s ease,color .2s ease}.hero__cta:hover{transform:translateY(-2px);border-color:#7a2e3a59;color:var(--accent)}.hero__panel{background:var(--cream);border-radius:20px;padding:24px;box-shadow:0 18px 40px var(--shadow);border:1px solid rgba(28,27,25,.08);display:grid;gap:14px;transition:opacity .75s cubic-bezier(.22,.61,.36,1),transform .75s cubic-bezier(.22,.61,.36,1)}.hero__showcase{display:grid;gap:18px}.hero__showcase-header{display:flex;justify-content:space-between;align-items:center;font-size:.85rem;text-transform:uppercase;letter-spacing:.12em;color:var(--text-secondary)}.hero__showcase-grid{display:grid;gap:16px}.hero-card{border-radius:18px;padding:18px;min-height:150px;display:grid;align-content:space-between;color:var(--ink);box-shadow:0 18px 36px #1c1b1929;border:1px solid rgba(28,27,25,.08);background:var(--surface)}.hero-card__tag{display:inline-flex;align-items:center;gap:6px;font-size:.7rem;text-transform:uppercase;letter-spacing:.14em;padding:4px 8px;border-radius:999px;background:var(--accent-soft);color:var(--accent);width:fit-content}.hero-card__name{font-family:var(--td-font-display, Georgia);font-size:1.3rem;font-weight:400}.hero-card--sand{background:linear-gradient(135deg,#fdf4ea,#f4e1d4)}.hero-card--olive{background:linear-gradient(135deg,#f3efe8,#e3d9ca)}.hero-card--rose{background:linear-gradient(135deg,#f9ece9,#efd6cf)}.how-it-works{margin-top:12px}.how-it-works__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.how-it-works__step{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:16px}.how-it-works__title{display:flex;align-items:center;gap:10px}.how-it-works__num{width:28px;height:28px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--accent);color:#fff;font-size:.85rem;font-weight:700;line-height:1;flex-shrink:0}.how-it-works__grid p{color:var(--text-secondary)}.restaurant-grid{display:grid;grid-template-columns:repeat(3,minmax(240px,1fr));gap:18px;position:relative}.restaurant-filters{margin:16px 0 20px}.restaurant-card{background:var(--surface);border-radius:22px;border:1px solid rgba(28,27,25,.14);box-shadow:0 18px 34px #1c1b191f;overflow:visible;display:grid;gap:0;transition:transform .2s ease,box-shadow .2s ease;position:relative;z-index:1}.restaurant-card:hover{transform:translateY(-4px);box-shadow:0 20px 40px #1c1b1929;z-index:6}.restaurant-card:focus-within{z-index:6}.restaurant-card--hidden{display:none}.restaurant-card__media{position:relative;aspect-ratio:4 / 3;overflow:hidden;border-radius:22px 22px 0 0;border:none;padding:0;background:transparent;width:100%;display:block;cursor:pointer}.restaurant-card__media img{width:100%;height:100%;object-fit:cover;display:block}.restaurant-card__media:focus-visible{outline:3px solid var(--focus);outline-offset:-3px}.restaurant-card__tag{position:absolute;left:16px;top:14px;display:inline-flex;padding:8px 12px;justify-content:center;align-items:center;gap:10px;border-radius:100px;background:#7a2e3ad1;backdrop-filter:blur(25px);-webkit-backdrop-filter:blur(25px);color:#fff;font-size:.75rem;font-weight:600;letter-spacing:.02em}.restaurant-card__body{padding:16px 18px 10px;display:grid;gap:8px}.restaurant-card__body h3{margin:0;font-size:1.22rem;letter-spacing:-.01em}.restaurant-card__meta{color:var(--text-muted);font-size:.83rem;text-transform:uppercase;letter-spacing:.07em}.restaurant-card__desc{color:var(--text-muted);font-size:.94rem;line-height:1.45}.restaurant-card__footer{padding:14px 18px 18px}.restaurant-card__alert{position:relative}.restaurant-card__actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%}.restaurant-card__cta{border:2px solid transparent;border-radius:999px;padding:10px 16px;font-weight:600;cursor:pointer;font-size:.92rem;width:100%;min-height:50px;display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap;min-width:0}.restaurant-card__cta span{white-space:nowrap}.restaurant-card__cta--alert{background:transparent;color:var(--accent);border-color:var(--accent)}.restaurant-card__cta--alert:hover{background:var(--accent-soft)}.restaurant-card__cta:disabled{cursor:not-allowed;opacity:.65}.restaurant-card__cta--alert:disabled{background:#1c1b190a;border-color:#1c1b1924;color:var(--text-muted)}.restaurant-card__cta--alert:disabled .restaurant-card__chevron{opacity:.35}.restaurant-card__cta--details{background:var(--accent);color:#fff;border-color:var(--accent)}.restaurant-card__cta--details:hover{background:var(--accent-hover)}.restaurant-card__cta--details:active{background:var(--accent-active)}.restaurant-card__icon{width:15px;height:15px;flex-shrink:0}.restaurant-card__chevron{width:11px;height:11px;flex-shrink:0;opacity:.9;transition:transform .15s ease}.restaurant-card__cta--open .restaurant-card__chevron{transform:rotate(180deg)}.alert-menu{position:absolute;right:0;top:calc(100% + 8px);min-width:190px;z-index:20}.hero__panel--fade{opacity:.2;transform:translate(14px)}.stat{display:flex;justify-content:space-between;align-items:baseline;gap:12px;border-bottom:1px dashed rgba(28,27,25,.2);padding-bottom:10px}.stat:last-child{border-bottom:none;padding-bottom:0}.stat__label{font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.stat__value{font-weight:600}.section{margin-bottom:40px}.section__sub{color:var(--text-secondary);margin-bottom:16px}.planner__header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;flex-wrap:wrap}.planner__panel h2{margin:0;font-size:1.6rem}@media (min-width: 901px){.hero--list{grid-template-columns:minmax(0,1fr) minmax(0,.92fr);gap:52px}.hero--list .hero__copy{padding-top:8px}.hero--list .hero__title{max-width:11ch;line-height:.98}.hero--list .hero__controls{align-content:start;gap:18px;padding:22px 24px;border-radius:24px;background:var(--surface-2);border:1px solid rgba(28,27,25,.08);box-shadow:0 14px 34px #1c1b191a}.hero--list .planner__header{margin-bottom:0}}.planner__tool{margin-top:12px}.planner__modal h2{margin:0 0 12px}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:grid;place-items:center}.modal__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#1c1b1966;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.modal__panel{position:relative;background:var(--surface);border-radius:24px;padding:28px;width:min(1000px,92vw);max-height:85vh;overflow:auto;box-shadow:0 30px 60px #1c1b1940;border:1px solid rgba(28,27,25,.08);z-index:1}.modal__close{border:1px solid rgba(28,27,25,.12);background:transparent;color:var(--accent);border-radius:999px;padding:8px 14px;font-weight:600;cursor:pointer;margin-bottom:16px}.modal__close:hover{border-color:var(--accent);background:var(--accent-soft)}.modal__actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:20px}.modal__cta{border-radius:999px;padding:8px 14px;background:var(--accent);color:#fff;font-weight:600;text-decoration:none}.modal__note{color:var(--text-secondary);font-size:.9rem}body.modal-open{overflow:hidden}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}.city-filter{display:grid;gap:10px}.city-tabs{display:flex;flex-wrap:wrap;gap:12px}.city-tab{border:none;border-radius:999px;padding:8px 16px;background:var(--accent-soft);color:var(--accent);font-weight:600;letter-spacing:.02em;cursor:pointer;transition:transform .2s ease,background .2s ease}.city-tab:hover{transform:translateY(-2px);background:#7a2e3a33}.city-tab--active{background:var(--accent);color:#fff}.city-tab--disabled{background:#1c1b190f;color:var(--text-tertiary);cursor:not-allowed}.city-tab--subtle{background:#7a2e3a0d;color:var(--text-muted)}.borough-tabs{max-height:0;opacity:0;overflow:hidden;transform:translateY(-8px);transition:max-height .32s ease,opacity .24s ease,transform .24s ease}.borough-tabs--open{max-height:96px;opacity:1;transform:translateY(0)}.borough-tabs__inner{display:flex;flex-wrap:wrap;gap:10px;padding-top:2px}.tool__timezone{font-size:.95rem;color:var(--text-secondary);margin-top:8px}.card{background:var(--surface);border:2px solid transparent;border-radius:18px;padding:20px;display:grid;place-items:center;text-align:center;gap:16px;cursor:pointer;color:var(--ink);-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;box-shadow:0 10px 30px #1c1b191f;min-height:140px}.card:hover{transform:translateY(-4px);border-color:#7a2e3a59}.card--selected{border-color:var(--gold);box-shadow:0 18px 40px #1c1b1933}.card--hidden{display:none}.card__title{font-weight:600;font-size:1.1rem}.card__meta{color:var(--text-secondary);font-size:.9rem}.card__action{border:1px solid var(--accent);background:transparent;color:var(--accent);border-radius:999px;padding:6px 12px;font-size:.85rem;font-weight:600;cursor:pointer}.card__action:hover{border-color:var(--accent-hover);color:var(--accent-hover);background:var(--accent-soft)}.card__action--primary{padding:12px 24px;font-size:1.18rem;font-weight:700;letter-spacing:.01em;background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 12px 28px #7a2e3a47;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.card__action--primary:hover{transform:translateY(-2px);color:#fff;background:var(--accent-hover);border-color:var(--accent-hover);box-shadow:0 16px 32px #7a2e3a54}.card__action--primary:active{background:var(--accent-active);border-color:var(--accent-active)}.card__action--primary:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.card__badge{background:var(--accent-soft);color:var(--accent);padding:4px 10px;border-radius:999px;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em}.tool{background:var(--surface);border-radius:24px;padding:28px;box-shadow:0 16px 36px var(--shadow);border:1px solid rgba(28,27,25,.08)}.latest__card{background:var(--surface);border-radius:20px;padding:22px;box-shadow:0 16px 36px var(--shadow);border:1px solid rgba(28,27,25,.08);display:grid;gap:8px}.latest__label{font-size:.9rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary)}.latest__date{font-family:var(--td-font-display, Georgia);font-size:clamp(1.5rem,3.2vw,2rem);font-weight:400}.latest__asof,.latest__drop{color:var(--text-secondary);font-size:.95rem}.latest__actions{margin-top:12px;position:relative;display:inline-flex;align-items:center;gap:10px}.latest__menu{position:absolute;left:0;top:calc(100% + 8px);min-width:200px;z-index:5}.details__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.details__group{display:none}.details__group--active{display:grid}.details__card{background:var(--surface);border-radius:16px;padding:16px;border:1px solid rgba(28,27,25,.08);box-shadow:0 10px 24px #1c1b191f;display:grid;gap:6px}.details__card--clickable{cursor:pointer;text-align:left;border:1px solid rgba(28,27,25,.08);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.details__card--clickable:hover{transform:translateY(-3px);border-color:#7a2e3a4d;box-shadow:0 14px 30px #1c1b1933}.details__card--disabled,.details__card--disabled:hover{cursor:not-allowed;transform:none;border-color:#1c1b1914;box-shadow:0 10px 24px #1c1b191f;opacity:.65}.details__link{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border-radius:10px;background:var(--accent);color:#fff;text-decoration:none;font-weight:600;transition:transform .2s ease,background .2s ease;width:fit-content}.details__link:hover{transform:translateY(-2px);background:var(--accent-hover)}.details__link:active{background:var(--accent-active)}.details__link--disabled,.details__link--disabled:hover{background:#1c1b1914;color:var(--text-tertiary);cursor:not-allowed;transform:none}.tool__intro{margin-bottom:16px;font-size:1rem;color:var(--text-muted);max-width:44rem}.planner__summary{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}.planner__scope{display:inline-flex;align-items:center;min-height:28px;padding:5px 10px;border-radius:999px;background:#7a2e3a14;border:1px solid rgba(122,46,58,.12);color:var(--accent);font-weight:600;font-size:.84rem}.planner__form{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:12px;align-items:end;padding:20px;border-radius:24px;background:var(--surface);border:1px solid rgba(28,27,25,.08);box-shadow:0 12px 30px #1c1b190f}.tool__body{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:end}.planner__slot{min-width:0}.planner__actions{display:grid;align-self:end}.future-list{list-style:none;padding:0;margin:20px 0 0;display:grid;gap:12px}.future-list li{background:var(--surface);border-radius:16px;padding:16px 18px;border:1px solid var(--border);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;box-shadow:0 10px 24px #1c1b190f}.future-list__info{display:grid;gap:6px}.future-list__name{font-weight:600;font-size:1.05rem}.future-list__meta{color:var(--text-secondary);font-size:.9rem}.future-list__actions{display:grid;justify-items:end;gap:6px;position:relative}.future-list__link{border:none;background:none;color:var(--accent);font-weight:600;font-size:.9rem;cursor:pointer;padding:0;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.future-list__link:hover{color:var(--accent-hover)}.future-list__chooser{background:var(--surface);border:1px solid rgba(28,27,25,.12);border-radius:10px;box-shadow:0 10px 24px #1c1b191f;padding:8px 10px;display:grid;gap:6px}.future-list__chooser a,.future-list__chooser button{color:var(--accent);text-decoration:none;font-weight:600;font-size:.85rem;background:none;border:none;padding:0;text-align:left;cursor:pointer}.future-list__chooser a:hover,.future-list__chooser button:hover{color:var(--accent-hover)}.field{display:grid;gap:8px;font-weight:600;color:var(--text);font-size:.95rem}input[type=date],select{height:52px;padding:0 14px;border-radius:14px;border:1px solid rgba(28,27,25,.12);font-size:1rem;font-family:inherit;background:var(--surface);color:var(--text);transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.cta{border:none;border-radius:18px;padding:0 22px;background:linear-gradient(180deg,#7b2d3a,#6f2632);color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s ease,background .2s ease,box-shadow .2s ease}.planner__cta{height:52px;min-height:52px;font-size:1rem;padding-inline:22px;box-shadow:0 10px 24px #7a2e3a2e}.cta:hover{transform:translateY(-1px);background:linear-gradient(180deg,#6e2633,#61222c);box-shadow:0 14px 28px #7a2e3a38}.cta:active{transform:scale(.98);background:var(--accent-active)}.result{margin-top:18px;padding:12px 14px;border-radius:14px;background:#f6f2ec;border:1px solid rgba(28,27,25,.08);color:var(--text-muted);font-weight:600;min-height:0;display:flex;align-items:center}.result--success{background:#7a2e3a14;border-color:#7a2e3a2e;color:var(--text)}.result--warning{background:#7a2e3a38;color:var(--text)}.footer{margin-top:50px;font-size:.85rem;color:var(--text-secondary)}.footer__links{margin-top:10px}.footer__links a{color:var(--accent);text-decoration:none;font-weight:600}.footer__links a:hover{color:var(--accent-hover)}.request-grid{align-items:start}.request-security{margin:8px 0 14px}.request-form{display:grid;gap:10px;margin-top:10px}.request-form textarea{padding:12px 14px;border-radius:12px;border:1px solid var(--border);font-size:1rem;font-family:inherit;background:var(--surface);color:var(--text);resize:vertical}.request-form textarea:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #b65a6640}.request-form__status{font-size:.9rem;color:var(--text-muted)}.request-form__hint{font-size:.85rem;color:var(--text-muted)}.request-form__verification{display:grid;gap:8px}.request-form__honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.admin-table-wrap{margin-top:14px;overflow-x:auto;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.admin-table{width:100%;border-collapse:collapse;min-width:680px}.admin-table th,.admin-table td{text-align:left;vertical-align:top;padding:10px 12px;border-bottom:1px solid var(--border);font-size:.92rem}.admin-table th{background:var(--surface-2);color:var(--text);font-weight:700}@media (max-width: 600px){.hero{gap:16px}.hero__panel{padding:18px}}@media (max-width: 900px){.page{padding:32px 20px 48px}.hero{margin-bottom:36px;grid-template-columns:1fr}.hero--list{grid-template-columns:1fr}.restaurant-grid{grid-template-columns:repeat(2,minmax(220px,1fr))}.card{padding:18px}}@media (max-width: 760px){.restaurant-card__cta{min-height:44px;padding:8px 10px;font-size:.84rem;gap:5px}.restaurant-card__icon,.restaurant-card__chevron{display:none}}@media (max-width: 520px){.page{padding:24px 16px 40px}.top-nav{position:static;flex-wrap:wrap;gap:8px;padding:10px 12px}.top-nav__links{width:100%;justify-content:flex-end}h1{font-size:clamp(2rem,8vw,2.6rem)}.hero__panel{padding:16px}.stat{flex-direction:column;align-items:flex-start;gap:6px}.city-tabs{gap:8px}.city-tab{flex:1 1 auto;text-align:center;padding:8px 12px}.borough-tabs--open{max-height:220px}.grid,.restaurant-grid{grid-template-columns:1fr}.restaurant-card__body{padding:14px 14px 8px;gap:5px}.restaurant-card__body h3{font-size:1.05rem}.restaurant-card__meta{font-size:.8rem}.restaurant-card__footer{padding:12px 14px 14px}.restaurant-card__actions{display:grid;grid-template-columns:1fr;gap:7px}.restaurant-card__cta{padding:9px 12px;font-size:.96rem;min-height:46px;width:100%}.restaurant-card__cta--alert,.restaurant-card__cta--details{flex:none;min-width:0}.alert-menu{right:auto;left:0;min-width:170px}.card{width:100%}.tool{padding:20px}.planner__summary{align-items:flex-start}.planner__form{grid-template-columns:1fr;padding:16px}.tool__body{grid-template-columns:1fr}.card__action--primary{width:100%;justify-content:center}.cta,.planner__actions{width:100%}.planner__cta{min-height:54px;height:54px}.details__grid{grid-template-columns:1fr}.details__link{width:100%}.result{font-size:.95rem}.latest__card{padding:18px}.future-list li{grid-template-columns:1fr;align-items:flex-start}.future-list__actions{justify-items:start}}body{background:var(--td-paper);font-family:var(--td-font-body)}.page{max-width:1400px;padding:0 48px 64px}.top-nav{background:transparent;border:0;border-bottom:1px solid var(--td-line);border-radius:0;padding:26px 0;margin:0;align-items:center}.top-nav__brand{font-family:var(--td-font-display);font-size:28px;font-weight:600;letter-spacing:-1.4px}.top-nav__descriptor{font-size:10px;letter-spacing:1.7px;color:var(--td-muted)}.top-nav__links{flex:0 1 auto;gap:28px}.top-nav__separator{display:none}.top-nav__action{text-transform:none!important;letter-spacing:0!important;font-size:13px!important;font-weight:500}.top-nav__action[aria-current=page]{text-decoration:underline;text-underline-offset:7px}.hero--list{display:grid;grid-template-columns:1.1fr 1fr;gap:72px;align-items:center;padding:54px 0 40px;margin:0}.eyebrow{font-size:10px!important;line-height:1.5;font-weight:600;letter-spacing:1.6px;text-transform:uppercase;color:var(--td-muted)}.hero__title{font-family:var(--td-font-display);font-size:clamp(44px,4.8vw,70px);font-weight:500;line-height:1.05;letter-spacing:-2.8px;white-space:pre-line;max-width:600px;margin:16px 0 20px}.lede{font-size:15px;line-height:1.7;max-width:490px;color:var(--td-muted)}.hero__controls{background:var(--td-white);padding:28px;border:1px solid var(--td-line);border-radius:var(--td-radius);box-shadow:none;display:grid;gap:22px}.hero__search{display:grid;gap:10px}.hero__search span{font-size:12px;font-weight:600;color:var(--td-ink)}input,select,textarea{font-family:var(--td-font-body);min-height:46px;border-radius:var(--td-radius-small)!important;border:1px solid var(--td-line);background:var(--td-white);font-size:14px}.hero__search input{width:100%;padding:15px;background:var(--td-paper)}.planner__panel{padding:20px 0 0;border-top:1px solid var(--td-line);background:transparent;box-shadow:none;border-radius:0}.planner__header{margin:0;align-items:center}.planner__header h2{font-size:24px;font-weight:400}.card__action--primary,.cta{background:var(--td-wine);color:#fff;border-radius:var(--td-radius-small);min-height:46px;padding:12px 20px;font-weight:600;font-size:13px;box-shadow:none}.field-guide-strip{display:flex;gap:36px;padding:18px 0;border-top:1px solid var(--td-line);border-bottom:1px solid var(--td-line);font-size:12px;color:var(--td-muted)}.field-guide-strip b{color:var(--td-wine);font-size:10px;margin-right:10px;font-variant-numeric:tabular-nums}#restaurant-section{margin-top:40px}#restaurant-title{font-size:34px;font-weight:400;letter-spacing:-1px;margin-bottom:24px}.restaurant-filters{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:0 0 18px;border-bottom:1px solid var(--td-line)}.city-tabs{gap:4px;background:var(--td-soft);border-radius:var(--td-radius-small);padding:4px}.city-tab{border:0;border-radius:4px;background:transparent;font-weight:500;padding:10px 14px;min-height:40px;font-size:12px}.city-tab--active{background:var(--td-white);color:var(--td-wine);box-shadow:0 1px 4px #0000000a}.filter-chips{gap:8px;justify-content:flex-end;padding:4px 0}.chip{border:1px solid var(--td-line);background:transparent;min-height:36px;padding:8px 12px;font-size:11px}.chip--active{border-color:var(--td-wine);background:var(--td-highlight);color:var(--td-wine)}.results-line{display:flex;justify-content:space-between;color:var(--td-muted);font-size:11px;padding:20px 0}.restaurant-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.restaurant-card{border:1px solid var(--td-line);border-radius:var(--td-radius);overflow:visible;box-shadow:none;background:var(--td-white);transition:box-shadow .18s,transform .18s}.restaurant-card:hover{transform:translateY(-3px);box-shadow:var(--td-shadow)}.restaurant-card__media{height:220px;border-radius:9px 9px 0 0;overflow:hidden;width:100%}.restaurant-card__media img{width:100%;height:100%;object-fit:cover}.restaurant-card__tag{background:var(--td-paper);color:var(--td-ink);font-size:10px;letter-spacing:.3px;border-radius:4px;padding:6px 9px;bottom:12px;left:12px;top:auto}.restaurant-card__body{padding:22px 22px 0}.restaurant-card__body h3{font-family:var(--td-font-display);font-size:25px;font-weight:500;letter-spacing:-.65px;margin:0 0 8px}.restaurant-card__meta{font-size:10px;letter-spacing:1px;color:var(--td-muted)}.restaurant-card__desc{font-size:12px;line-height:1.65;margin-top:10px;color:var(--td-muted);min-height:40px}.restaurant-card__rule{display:grid;gap:5px;border-top:1px solid var(--td-line);margin-top:18px;padding:16px 0}.restaurant-card__rule strong{font-size:12px;font-weight:500;line-height:1.6}.restaurant-card__rule .eyebrow{font-size:9px!important}.restaurant-card__footer{padding:0 22px 22px;border:0}.restaurant-card__actions{gap:10px}.restaurant-card__cta{font-size:11px;min-height:40px;border-radius:var(--td-radius-small);padding:9px 14px}.restaurant-card__wordmark{display:flex;height:100%;box-sizing:border-box;padding:20px;align-items:center;justify-content:center;flex-direction:column;gap:24px;text-align:center;overflow-wrap:anywhere;background:var(--td-wine);color:var(--td-paper);font:400 clamp(24px,2.5vw,38px)/1.1 var(--td-font-display)}.restaurant-card__wordmark span{font:9px var(--td-font-body);letter-spacing:3px}.empty-state{text-align:center;padding:64px 20px;background:var(--td-soft);border-radius:var(--td-radius)}.empty-state button{margin-top:20px;border:1px solid var(--td-wine);background:#fff;border-radius:6px;padding:12px;cursor:pointer}.modal__panel{border-radius:14px;border:1px solid var(--td-line);box-shadow:0 30px 100px #0003;background:var(--td-paper)}.modal__close{min-height:44px;border:1px solid var(--td-line);border-radius:6px;padding:10px 16px}.booking-facts{background:#fff;border:1px solid var(--td-line);border-radius:10px;margin-top:22px;overflow:hidden}.booking-facts__primary{padding:28px;background:var(--td-soft)}.booking-facts__primary h3{font-family:var(--td-font-display);font-size:29px;font-weight:400;margin:10px 0 12px}.booking-facts__primary p:not(.eyebrow){font-size:13px;line-height:1.7}.booking-facts__row{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 28px;border-top:1px solid var(--td-line);font-size:13px}.booking-facts__source{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;padding:16px 28px;border-top:1px solid var(--td-line);color:var(--td-muted);font-size:11px}.booking-facts a{color:var(--td-wine);text-underline-offset:3px}.latest__card{box-shadow:none;border:1px solid var(--td-line);border-radius:10px}:focus-visible{outline:3px solid var(--td-wine);outline-offset:4px}button:disabled{cursor:not-allowed}@media (max-width:1000px){.page{padding:0 28px 40px}.hero--list{gap:32px}.restaurant-grid{gap:18px}.restaurant-card__media{height:180px}.restaurant-filters{flex-direction:column}.filter-chips{justify-content:flex-start}}@media (max-width:700px){.page{padding:0 18px 32px}.top-nav{padding:20px 0;align-items:flex-start;gap:20px}.top-nav__brand{font-size:25px}.top-nav__descriptor{font-size:8px}.top-nav__links{gap:12px;flex-wrap:wrap;max-width:170px}.top-nav__action{font-size:11px!important}.hero--list{grid-template-columns:1fr;gap:24px;padding:32px 0 26px}.hero__title{font-size:52px;letter-spacing:-2px}.hero__controls{padding:20px}.field-guide-strip{gap:12px;justify-content:space-between;font-size:10px;align-items:flex-start}.field-guide-strip span{max-width:100px}.field-guide-strip b{display:block;margin-bottom:5px}.restaurant-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.restaurant-card__body{padding:16px 14px 0}.restaurant-card__footer{padding:0 14px 16px}.restaurant-card__body h3{font-size:22px}.restaurant-card__media{height:170px}.restaurant-card__actions{flex-direction:column}.restaurant-card__cta{width:100%}.results-line{font-size:10px;gap:20px}.booking-facts__row{align-items:flex-start;flex-direction:column}.booking-facts__primary,.booking-facts__row{padding:20px}.booking-facts__primary h3{font-size:25px}}@media (max-width:420px){.restaurant-grid{grid-template-columns:1fr}.restaurant-card__media{height:230px}.restaurant-card__actions{flex-direction:row}.restaurant-card__body h3{font-size:28px}.restaurant-card__body{padding:20px 20px 0}.restaurant-card__footer{padding:0 20px 20px}}@media (prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.restaurant-card:hover{transform:none}}.hero--list .hero__controls{background:var(--td-white);border-radius:var(--td-radius);box-shadow:none}.eyebrow{font-size:11px!important}.restaurant-card__rule .eyebrow{font-size:10px!important}.restaurant-card__meta,.restaurant-card__tag,.results-line,.chip,.city-tab{font-size:12px}.restaurant-card__desc{font-size:14px}.restaurant-card__cta,.chip,.city-tab{min-height:44px}.restaurant-card__cta{font-size:12px}.planning-intro{padding:48px 0 24px;max-width:760px}.planning-intro h1{font-family:var(--td-font-display);font-size:clamp(36px,4vw,54px);line-height:1.1;letter-spacing:-1.5px;margin:16px 0 24px;font-weight:500}.planning-intro p:not(.eyebrow){font-size:15px;line-height:1.7;color:var(--td-muted)}.planning-intro .planning-intro__note{font-size:12px!important;border-left:2px solid var(--td-wine);padding-left:12px;margin-top:18px}.booking-facts a.details__link{color:#fff;min-height:44px;display:inline-flex;align-items:center}@media (max-width:1000px){.restaurant-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:700px){.top-nav{flex-direction:column;gap:12px}.top-nav__links{width:100%;max-width:none;justify-content:flex-start;gap:20px}.top-nav__action{min-height:44px;display:inline-flex;align-items:center}.hero__title{font-size:48px}}@media (max-width:600px){.restaurant-grid{grid-template-columns:1fr}.restaurant-card__actions{flex-direction:row}.restaurant-card__media{height:230px}}.planner__tool,.planner__form .tool__body{background:transparent;border:0;box-shadow:none;padding:0;border-radius:0}.planner__modal .tool__intro{font-size:14px;line-height:1.6}@media (max-width:600px){.modal__panel{padding:20px}.planner__modal h2{font-size:28px}.planner__scope{font-size:11px}}.saved-visits .future-list__link{min-height:44px;display:inline-flex;align-items:center;justify-content:flex-end;text-align:right}@media (max-width:700px){.saved-visits .future-list li{grid-template-columns:minmax(0,1fr)}.saved-visits .future-list__actions{grid-template-columns:repeat(2,minmax(0,1fr));justify-items:stretch;gap:8px 16px}.saved-visits .future-list__link{justify-content:flex-start;text-align:left;overflow-wrap:anywhere}}.cta:disabled,.cta:disabled:hover,.cta:disabled:active{background:var(--td-soft);color:var(--td-muted);box-shadow:none;transform:none;cursor:not-allowed}.saved-visit-status:empty{margin:0;padding:0;border:0;background:transparent}#future-list .future-list__link,#future-list .future-list__chooser a,#future-list .future-list__chooser button{min-height:44px;display:inline-flex;align-items:center}#future-list .future-list__link:disabled{color:var(--td-muted);text-decoration:none}@media (max-width:700px){#future-list li{grid-template-columns:minmax(0,1fr)}#future-list .future-list__actions{justify-items:stretch}#future-list .future-list__chooser{min-width:0;overflow-wrap:anywhere}}body{line-height:1.6}h1,h2,h3{font-family:var(--td-font-display);font-weight:400}.top-nav__brand{font-weight:400;letter-spacing:-1px}.top-nav__links,.eyebrow,.city-tab,.chip{font-family:var(--td-font-accent)}.hero__title{font-weight:400;font-size:clamp(44px,5.2vw,76px);letter-spacing:-.035em;line-height:1.06}.planning-intro h1{font-weight:400;letter-spacing:-.025em}.hero--list{padding-block:64px 48px}.hero__controls,.hero--list .hero__controls{border:0;background:var(--td-soft);padding:32px;border-radius:24px}.hero__search input{background:var(--td-white)}.restaurant-grid{gap:40px 28px}.restaurant-card{border:0;background:transparent;box-shadow:none}.restaurant-card:hover{box-shadow:none}.restaurant-card__media{border-radius:20px}.restaurant-card__body{padding:20px 4px 0}.restaurant-card__body h3{font-weight:400;font-size:28px;letter-spacing:-.025em}.restaurant-card__desc{font-size:15px;line-height:1.65}.restaurant-card__footer{padding:0 4px 8px}.restaurant-card__rule{border-top-color:var(--td-line)}.restaurant-card__cta,.chip,.city-tab{border-radius:999px}.city-tabs{border-radius:24px;padding:6px}.city-tab--active{box-shadow:0 2px 8px #27251f08}.cta{border-radius:999px}.future-list li{border:0;border-bottom:1px solid var(--td-line);border-radius:0;background:transparent;box-shadow:none;padding:22px 0}.future-list__name{font-family:var(--td-font-display);font-size:24px;font-weight:400}.future-list__chooser{border-radius:14px;box-shadow:var(--td-shadow)}.modal__panel{border-radius:24px}@media (max-width:700px){.hero--list{padding-block:32px}.hero--list .hero__controls{padding:22px;border-radius:20px}.hero__title{font-size:clamp(40px,10vw,56px)}.restaurant-grid{gap:32px 20px}.restaurant-card__body{padding:18px 2px 0}.restaurant-card__footer{padding:0 2px 8px}}@media (prefers-reduced-motion:no-preference){@keyframes td-reveal{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes td-dialog{0%{opacity:0;transform:translateY(16px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.hero--list,.planning-intro{animation:td-reveal .65s var(--td-ease) backwards}.restaurant-card{animation:td-reveal .55s var(--td-ease) backwards;transition:transform .35s var(--td-ease)}.restaurant-card:nth-child(3n+2){animation-delay:60ms}.restaurant-card:nth-child(3n){animation-delay:.12s}.restaurant-card__media img{transition:transform .65s var(--td-ease)}.restaurant-card:focus-within .restaurant-card__media img{transform:scale(1.025)}.modal__panel{animation:td-dialog .3s var(--td-ease) backwards}.future-list__chooser{animation:td-reveal .2s var(--td-ease) backwards}.city-tab,.chip,.restaurant-card__cta{transition:background .2s ease,color .2s ease,box-shadow .2s ease}@media (hover:hover) and (pointer:fine){.restaurant-card:hover{transform:translateY(-4px)}.restaurant-card:hover .restaurant-card__media img{transform:scale(1.04)}}}.planning-selection{margin:0 0 24px;padding:12px 0 12px 16px;border-left:2px solid var(--td-wine);color:var(--td-muted)}.planning-selection strong{color:var(--td-ink)}.skip-link{position:fixed;top:12px;left:12px;z-index:1000;transform:translateY(calc(-100% - 24px));padding:12px 18px;border:2px solid var(--td-paper);border-radius:8px;background:var(--td-wine);color:var(--td-paper);font:600 16px/1.4 var(--td-font-body);text-decoration:underline}.skip-link:focus{transform:none;outline:3px solid var(--td-wine);outline-offset:2px}.release-provenance{margin-top:12px;color:var(--td-muted);font:400 13px/1.6 var(--td-font-body)}.release-provenance summary{cursor:pointer;color:var(--td-wine);padding:10px 0;min-height:44px;box-sizing:border-box}.release-provenance summary:focus-visible{outline:2px solid var(--td-wine);outline-offset:3px;border-radius:4px}.release-provenance p{margin:8px 0;max-width:65ch}.release-provenance__dates{display:flex;flex-wrap:wrap;gap:4px 16px}.release-provenance a{display:inline-block;padding:10px 0;min-height:44px;box-sizing:border-box;color:var(--td-wine);text-decoration:underline}
