/* Dining and wine experiences, using the house's existing palette and type. */
[hidden]{display:none!important}
header nav a:nth-child(2){display:block}
header nav a[aria-current=page]{border-bottom:1px solid currentColor;padding-bottom:4px}
button:disabled{cursor:not-allowed;opacity:.5;transform:none}
.table-hero{display:grid;grid-template-columns:1fr 1.1fr;background:var(--clay);min-height:540px}
.table-hero-copy{padding:70px max(40px,7vw);align-self:center}
.table-hero h1{font-size:clamp(65px,6.5vw,96px);line-height:1;color:var(--ink);letter-spacing:-1px;text-shadow:none}
.table-hero-copy>p:not(.eyebrow){font-size:14px;max-width:350px;line-height:1.9;margin-top:28px}
.table-hero-photo{min-height:540px}
.table-hero-photo img{object-position:45% center}
.table-intro{text-align:center;max-width:850px;padding-bottom:55px}
.table-intro h2{margin-bottom:28px}
.table-intro>p:not(.eyebrow){font-size:13px;line-height:1.95}
.table-formulas{padding-top:35px}
.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}
.service-card{padding:35px 0;border-top:1px solid var(--line);display:flex;flex-direction:column;min-width:0}
.service-card>p{font-size:13px;line-height:1.9;margin-top:19px;max-width:470px}
.service-card h3{font-size:36px;line-height:1.15}
.service-card .number{margin-bottom:22px}
.service-card .service-detail{font-size:11px;color:var(--muted)}
.featured-service{padding:40px;background:#f1e8db;border:1px solid var(--line)}
.featured-service:nth-child(2){background:transparent}
.service-inclusions{list-style:none;padding:0;margin:25px 0;font-size:12px}
.service-inclusions li{border-top:1px solid var(--line);padding:11px 0}
.service-action{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-top:30px;margin-top:auto}
.service-action .text-link{margin:0;font-size:9px;gap:15px;text-align:left}
.price-note{font-size:10px;letter-spacing:.5px;color:var(--muted);white-space:nowrap}
.resident-link{align-self:flex-end;background:none;border:0;border-bottom:1px solid var(--accent);font-size:10px;color:var(--accent);padding:0 0 4px;margin-top:20px}
.section-lead{max-width:740px;font-size:14px;line-height:1.9;margin-bottom:35px;color:var(--muted)}
.wine-experiences{padding-top:30px}
.wine-grid{gap:60px}
.wine-booking{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:18px 28px;padding-top:12px}
.wine-booking .button{max-width:100%;text-align:center;gap:18px}
.open-dates-wrap{background:var(--clay);scroll-margin-top:20px}
.open-dates{padding-top:65px;padding-bottom:65px}
.open-dates>p:not(.eyebrow){font-size:13px;line-height:1.9;max-width:680px;margin-top:22px}
.open-dates h2{color:var(--ink)}
.empty-dates{margin-top:35px;padding:30px;border:1px solid #87665355;max-width:780px}
.empty-dates h3{font-size:30px;color:var(--ink)}
.empty-dates>p{font-size:12px;margin-top:15px}
.empty-dates .number{margin-bottom:15px}
.availability-note{font-size:11px;color:var(--muted);line-height:1.8}
.open-tables{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:30px}
.open-tables:empty{display:none}
.table-date{background:var(--paper);padding:25px}
.table-date .eyebrow{font-size:8px;letter-spacing:1px;margin-bottom:15px}
.table-date h3{font-size:29px}
.table-date>p:not(.eyebrow){font-size:11px;margin-top:15px}
.table-date .text-link{font-size:9px}
.delivered-meals{padding-bottom:45px}
.delivered-meals h2{font-size:clamp(38px,3.5vw,52px)}
.wine-invitation{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:50px}
.wine-invitation>div{max-width:700px}
.wine-invitation h2{font-size:43px}
.wine-invitation p:not(.eyebrow){font-size:13px;margin-top:20px;max-width:650px}
.wine-invitation>.text-link{flex-shrink:0}
.form-status{font-size:12px;color:#82472d;margin-top:15px}
#experience-result{border-top:1px solid var(--line);margin-top:25px;padding-top:20px;font-size:13px}
#experience-result .button{margin:18px 0}
#experience-booking #no-slots{margin:0 0 20px}
.admin-top{padding:30px 5%;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);gap:30px}
.admin-top .text-link{margin:0}
.admin-main{padding-top:55px}
.admin-main h1{font-size:clamp(45px,5vw,70px);color:var(--accent);text-shadow:none}
.admin-intro{font-size:14px;max-width:750px;margin:25px 0}
.preview-notice{background:#eee4d5;border-left:3px solid var(--accent);padding:20px 25px;font-size:12px;margin:30px 0}
.preview-notice p{margin-top:7px;max-width:900px}
.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:start;margin-top:30px}
.admin-panel{border:1px solid var(--line);padding:30px}
.admin-panel h2{font-size:37px}
.admin-panel>p{font-size:12px;margin-top:15px;color:var(--muted)}
.day-picker{border:0;padding:0;margin:0 0 20px;display:flex;flex-wrap:wrap;gap:10px}
.day-picker legend{font-size:11px;font-weight:600;color:var(--accent);padding:0;margin-bottom:12px}
.day-picker label{display:flex;flex-direction:column;align-items:center;gap:5px;font-size:10px;margin:0}
.day-picker input{width:18px;height:18px;padding:0;margin:0;accent-color:var(--accent)}
.admin-list{font-size:12px;line-height:1.8}
.admin-panel .admin-list{margin-top:25px}
.admin-record{border-top:1px solid var(--line);padding:23px 0;display:flex;align-items:center;justify-content:space-between;gap:25px}
.admin-record h3{font-size:30px;margin:10px 0}
.admin-record p{font-size:12px;margin-top:5px}
.admin-record .text-link{margin:10px 0;flex-shrink:0;font-size:9px}
.record-actions{display:flex;flex-direction:column;align-items:flex-start;flex-shrink:0}
.status-label{font-size:9px;letter-spacing:1px;text-transform:uppercase;color:var(--accent)}
.saved-openings{margin-top:65px}
.saved-openings h2{font-size:42px}
#admin-status{font-size:13px;color:var(--accent)}
@media(max-width:1100px){
  .featured-service{padding:30px}.service-action{flex-wrap:wrap}.service-action .button{padding:13px 17px;font-size:9px}
  .wine-invitation{display:block}.wine-invitation>.text-link{margin-top:25px}
}
@media(max-width:850px){
  header{height:130px;grid-template-rows:80px 30px;gap:0 14px;padding-top:5px;padding-bottom:15px}
  header nav{display:flex;grid-column:1/-1;grid-row:2;justify-content:center;gap:28px;font-size:9px;letter-spacing:.6px;align-items:center}
  header nav a:nth-child(2){display:block}
  .hero{height:calc(94svh - 130px)}
  .table-hero-copy{padding:45px 30px}.table-hero{min-height:440px}.table-hero-photo{min-height:440px}
  .table-hero h1{font-size:64px}.service-grid{gap:25px}.wine-grid{gap:35px}
  .admin-grid{grid-template-columns:1fr}.open-tables{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  header .brand-name{font-size:26px}header nav{font-size:8px;gap:24px}
  .table-hero{grid-template-columns:1fr}.table-hero-copy{padding:45px 24px}.table-hero h1{font-size:65px}
  .table-hero-copy>p:not(.eyebrow){font-size:13px}.table-hero-photo{min-height:0;height:280px}
  .table-intro{padding-bottom:40px}.table-intro h2{font-size:43px}.table-intro>p:not(.eyebrow){font-size:12px}
  .table-formulas{padding-top:10px}.table-formulas h2{font-size:40px}.service-grid{grid-template-columns:1fr;gap:25px}
  .featured-service{padding:27px}.service-card h3{font-size:33px}.service-card>p{font-size:12px}
  .service-inclusions{font-size:11px}.service-action{gap:15px;padding-top:22px}.resident-link{align-self:flex-start}
  .wine-grid{gap:5px}.section-lead{font-size:13px}.wine-experiences h2{font-size:43px}
  .open-dates{padding-top:45px;padding-bottom:45px}.open-dates h2{font-size:43px}
  .open-dates>p:not(.eyebrow){font-size:12px}.empty-dates{padding:23px}.empty-dates h3{font-size:30px}
  .open-tables{grid-template-columns:1fr}.wine-invitation h2{font-size:39px}
  .delivered-meals h2{font-size:39px}.admin-top{padding:25px 24px;flex-direction:column;align-items:flex-start;gap:15px}
  .admin-panel{padding:23px}.admin-record{align-items:flex-start;flex-direction:column;gap:12px}
  .record-actions{flex-direction:row;flex-wrap:wrap;gap:20px}.saved-openings h2{font-size:38px}
}
@media(max-width:360px){header nav{gap:17px;font-size:7px}.service-action{align-items:flex-start;flex-direction:column}.featured-service{padding:23px}}

/* Keep all four dining formulas together, ahead of the calendar. */
.table-hero-compact{grid-template-columns:1.7fr 1fr;min-height:240px}
.table-hero-compact .table-hero-copy{padding:35px max(35px,5vw)}
.table-hero-compact h1{font-size:clamp(48px,4.6vw,67px);line-height:1.08}
.table-hero-compact .eyebrow{margin-bottom:18px}
.table-hero-compact .table-hero-copy>p:not(.eyebrow){max-width:600px;font-size:13px;line-height:1.8;margin-top:20px}
.table-hero-compact .table-hero-photo{min-height:240px;max-height:280px}
.table-formulas-compact{max-width:1440px;padding:35px 3.5% 45px;scroll-margin-top:20px}
.table-formulas-compact .section-heading{margin-bottom:25px}
.table-formulas-compact .section-heading .eyebrow{margin-bottom:10px}
.table-formulas-compact h2{font-size:35px;line-height:1.2}
.formula-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.formula-card{border:1px solid var(--line);padding:25px;background:#f4ebdf}
.formula-card:nth-child(even){background:#f7f0e6}
.formula-topline{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:18px}
.formula-topline .number{margin:0;font-size:9px}
.formula-mode{font-size:8px;letter-spacing:.6px;text-transform:uppercase;color:var(--accent)}
.formula-card h3{font-size:34px;line-height:1.2;letter-spacing:-.5px}
.formula-card>p{font-size:12px;line-height:1.85;margin-top:15px}
.formula-card .service-inclusions{font-size:11px;line-height:1.7;margin:20px 0 24px}
.formula-card .service-inclusions li{padding:8px 0}
.formula-booking{margin-top:auto;display:flex;flex-direction:column;gap:13px;align-items:stretch}
.formula-booking .button{padding:13px 10px;gap:12px;font-size:9px;letter-spacing:.5px}
.formula-booking .button span{font-size:15px}
.formula-booking .resident-link{margin:0;align-self:center;font-size:10px}
.formula-audience{font-size:10px;color:var(--muted);text-align:center;padding-bottom:5px}
.formula-access{font-size:11px;line-height:1.9;color:var(--muted);margin-top:22px;max-width:900px}
.formula-access a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
@media(max-width:1150px){
  .formula-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .formula-card{padding:25px}.formula-card h3{font-size:34px}
  .formula-card>p{max-width:none}
}
@media(max-width:760px){
  .table-hero-compact{grid-template-columns:1fr;min-height:0}
  .table-hero-compact .table-hero-copy{padding:32px 24px}
  .table-hero-compact .table-hero-photo{display:none}
  .table-hero-compact h1{font-size:48px}
  .table-hero-compact .table-hero-copy>p:not(.eyebrow){font-size:12px;margin-top:17px}
  .table-formulas-compact{padding:30px 24px 35px}
  .table-formulas-compact h2{font-size:33px}
  .formula-grid{grid-template-columns:1fr;gap:18px}
  .formula-card{padding:25px}
  .formula-card .service-inclusions{margin-bottom:20px}
  .formula-access{font-size:10px}
}

.table-hero-compact .table-hero-photo img{object-position:50% 62%}
