/* A quiet, interactive table plan for the reservation section. */
.reservation-atelier .reservation-preview-inner{position:relative;isolation:isolate;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:44px;padding:36px 40px;border:1px solid #9cb49438;border-radius:24px;background:radial-gradient(ellipse at 28% 65%,#29382a55,transparent 65%),#0b100d;overflow:hidden}
.reservation-atelier .reservation-preview-inner:before{content:'';position:absolute;top:0;left:8%;right:8%;height:1px;background:linear-gradient(90deg,transparent,#eecbc960,transparent);pointer-events:none}
.reservation-atelier .reservation-preview-copy{display:grid;grid-template-columns:minmax(0,1fr) 130px;gap:0 20px;align-items:center}
.reservation-atelier .reservation-preview-copy>.eyebrow,.reservation-atelier h2{grid-column:1/-1}
.reservation-atelier h2{white-space:normal;font-size:clamp(28px,2.6vw,32px);line-height:1.12;max-width:440px;margin:0 0 18px;letter-spacing:-.045em}
.reservation-atelier .reservation-preview-copy>p:not(.eyebrow){font-size:13px;line-height:1.8;color:#aab5a3;margin:0;max-width:260px;grid-column:1;grid-row:3}
.reservation-atelier .reservation-preview-copy>p:not(.eyebrow) br{display:none}
.reservation-atelier .reservation-preview-copy>p:not(.eyebrow) br:after{content:' '}
.reservation-atelier .reservation-preview-form{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:22px 16px;max-width:none;align-items:start;padding-left:32px;border-left:1px solid #9cb49426}
.reservation-atelier .reservation-preview-field{padding:16px 17px 12px;border:1px solid #9cb49438;border-radius:12px;background:#080d0a5c;transition:border-color .3s,background .3s}
.reservation-atelier .reservation-preview-field:focus-within{border-color:#eecbc980;background:#13201780}
.reservation-atelier .reservation-preview-field>label{font-size:10px;letter-spacing:.06em;color:#9cb494}
.reservation-atelier .reservation-preview-control.booking-picker-trigger{font-size:18px;font-weight:500;height:44px;margin-top:6px;border-bottom:0;gap:10px}
.reservation-atelier .reservation-preview-control.booking-picker-trigger:hover,.reservation-atelier .reservation-preview-control.booking-picker-trigger[aria-expanded=true]{border-bottom:0}
.reservation-atelier .reservation-preview-field svg{width:17px;height:17px}
.reservation-atelier .reservation-preview-submit{grid-column:1/-1;width:100%;min-height:54px;margin:0;border-color:#eecbc976;background:#eecbc90a;box-shadow:inset 0 1px 0 #eecbc91a;transition:background .3s,border-color .3s,box-shadow .3s}
.reservation-atelier .reservation-preview-submit:hover{background:#eecbc919;border-color:#eecbc9;box-shadow:0 0 28px #eecbc90b}
.reservation-atelier .reservation-preview-submit svg{right:25px;transition:transform .3s}
.reservation-atelier .reservation-preview-submit:hover svg{transform:translateX(3px)}
.reservation-atelier .reservation-preview-note{margin:0;text-align:center;font-size:11px;letter-spacing:.01em;color:#91a38a}
.reservation-atelier .reservation-preview-error{margin:0}
.reservation-table-visual{position:relative;width:130px;height:130px;margin:0;grid-column:2;grid-row:3;color:#eecbc9;pointer-events:none}
.reservation-table-visual svg{display:block;width:100%;height:100%;overflow:visible}
.reservation-table-track{fill:none;stroke:#9cb49455;stroke-width:1;stroke-dasharray:1 10;transform-origin:100px 100px;animation:reservation-track-turn 48s linear infinite}
.reservation-table-outline{fill:#eecbc906;stroke:#eecbc97d;stroke-width:1}
.reservation-table-inset{fill:none;stroke:#9cb49438;stroke-width:.7}
.reservation-table-seat{transform-origin:100px 100px;transition:transform .7s cubic-bezier(.2,.65,.3,1),opacity .45s}
.reservation-table-seat rect{fill:#9cb49416;stroke:#aabb9d;stroke-width:1}
.reservation-table-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}
.reservation-table-center strong{font-size:31px;line-height:1;font-weight:400;letter-spacing:-.05em}
.reservation-table-center span{font-size:8px;color:#9cb494;letter-spacing:.12em;text-transform:uppercase}
@keyframes reservation-track-turn{to{transform:rotate(360deg)}}
@media(max-width:1000px){.reservation-atelier .reservation-preview-inner{gap:35px;padding:35px 30px}.reservation-atelier .reservation-preview-form{padding-left:25px}.reservation-atelier h2{font-size:28px}.reservation-atelier .reservation-preview-field{padding:14px 12px 10px}.reservation-atelier .reservation-preview-control.booking-picker-trigger{font-size:16px}}
@media(max-width:700px){.reservation-atelier .reservation-preview-inner{grid-template-columns:minmax(0,1fr);padding:26px 21px;gap:26px;border-radius:19px}.reservation-atelier .reservation-preview-copy{display:grid;grid-template-columns:minmax(0,1fr) 100px;gap:0 14px}.reservation-atelier .eyebrow,.reservation-atelier h2{grid-column:1/-1}.reservation-atelier .eyebrow{font-size:9px;margin-bottom:15px}.reservation-atelier h2{font-size:24px;max-width:none;margin-bottom:17px}.reservation-atelier .reservation-preview-copy>p:not(.eyebrow){grid-column:1;grid-row:3;font-size:12px;align-self:center;line-height:1.8}.reservation-table-visual{grid-column:2;grid-row:3;width:100px;height:100px;margin:-6px 0}.reservation-table-center strong{font-size:22px}.reservation-table-center span{font-size:6px}.reservation-atelier .reservation-preview-form{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:17px 10px;padding:0;border:0}.reservation-atelier .reservation-preview-field{padding:13px 10px 8px}.reservation-atelier .reservation-preview-control.booking-picker-trigger{font-size:14px;height:40px;gap:5px}.reservation-atelier .reservation-preview-field>label{font-size:9px}.reservation-atelier .reservation-preview-field svg{width:15px;height:15px}.reservation-atelier .reservation-preview-submit{min-height:51px;font-size:12px;padding:0 42px}.reservation-atelier .reservation-preview-submit svg{right:19px;width:16px}.reservation-atelier .reservation-preview-note{font-size:10px}}
@media(prefers-reduced-motion:reduce){.reservation-atelier *,.reservation-atelier *:before{animation:none!important;transition:none!important}}

.reservation-atelier .reservation-title-accent{color:#eecbc9}

@media(min-width:701px){
  .reservation-atelier .reservation-preview-copy{grid-template-columns:minmax(0,1fr) 150px;align-content:center;gap:0 18px}
  .reservation-atelier .reservation-preview-copy>.eyebrow,.reservation-atelier .reservation-preview-copy>h2{grid-column:1}
  .reservation-atelier .reservation-table-visual{grid-column:2;grid-row:1/4;align-self:center;justify-self:center;width:150px;height:150px;margin:0}
  .reservation-atelier .reservation-table-center strong{font-size:34px}
  .reservation-atelier .reservation-table-center span{font-size:9px}
}

