/* Waitlist — premium minimal, category-aware. Cream field, maroon accent, real category
   photography shown whole (object-fit:contain) so nothing is cropped, blurred or washed out. */
.waitlist-body{padding-top:var(--headerH);background:var(--paper)}
.waitlist-page{max-width:1200px;margin:0 auto;padding:clamp(60px,8vw,110px) var(--gutter) clamp(70px,9vw,120px)}

.waitlist-panel{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(40px,6vw,90px);align-items:center;background:#fff;border:1px solid rgba(23,19,17,.07);border-radius:14px;box-shadow:0 18px 50px -32px rgba(23,19,17,.18);padding:clamp(34px,5vw,72px)}
.waitlist-copy{min-width:0}
.waitlist-kicker{font-size:var(--fs-label);letter-spacing:.18em;color:var(--muted)}
.waitlist-copy h1{margin:10px 0 20px;font:clamp(40px,5.4vw,72px)/1 var(--serif);font-weight:400;text-wrap:balance}
.waitlist-copy h1 i{font-style:italic}
.waitlist-copy>p{margin:0;color:var(--muted);font-size:var(--fs-lead);line-height:1.7}
.waitlist-figure{margin-top:32px;background:var(--paper);border:1px solid rgba(23,19,17,.08);padding:16px}
.waitlist-figure img{display:block;width:100%;max-height:260px;object-fit:contain;background:var(--paper)}

.waitlist-form-wrap{display:grid;align-content:center;min-width:0;min-height:300px}
.waitlist-form{display:grid;gap:22px;align-content:center;width:100%;min-width:0}
.waitlist-field{display:grid;gap:8px;min-width:0}
.waitlist-field label{font-size:var(--fs-label);letter-spacing:.13em;text-transform:uppercase}
.waitlist-field input{width:100%;min-width:0;max-width:100%;box-sizing:border-box;border:0;border-bottom:1px solid var(--line);background:transparent;padding:12px 0;outline:none}
.waitlist-field input:focus{border-color:var(--ink)}
.waitlist-submit{justify-self:start;padding:15px 28px;background:var(--maroon);color:#fff;text-transform:uppercase;letter-spacing:.13em;font-size:var(--fs-ui);transition:opacity .25s ease}
.waitlist-submit:hover{opacity:.88}
.waitlist-note{margin:0;color:var(--muted);font-size:var(--fs-micro);line-height:1.6}
.waitlist-success{display:grid;gap:10px;align-content:center;justify-items:start;min-width:0}
.waitlist-success strong{font:30px var(--serif);font-weight:400}
.waitlist-success span{color:var(--muted);overflow-wrap:anywhere}

.waitlist-all{margin-top:clamp(46px,6vw,80px);text-align:center}
.waitlist-all small{font-size:var(--fs-label);letter-spacing:.17em}
.waitlist-all-row{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:20px}
.waitlist-all-chip{padding:9px 18px;border:1px solid var(--line);border-radius:999px;font-size:var(--fs-label);letter-spacing:.09em;text-transform:uppercase;transition:border-color .25s ease,background .25s ease}
.waitlist-all-chip:hover{border-color:var(--ink);background:var(--cream)}
.waitlist-all-chip.is-current{border-color:var(--ink);background:var(--ink);color:var(--paper)}

@media(max-width:900px){.waitlist-panel{grid-template-columns:1fr;gap:36px}.waitlist-form-wrap{min-height:0}}
/* Phone form: a 16px field stops iOS Safari zooming the whole page on focus, and the
   extra height makes the underlined field a real 44px touch target. */
@media(max-width:600px){.waitlist-field input{font-size:16px;min-height:44px}.waitlist-form{gap:18px}}
@media(prefers-reduced-motion:reduce){.waitlist-submit,.waitlist-all-chip{transition:none}}

/* Consent-aware build: checkbox, inline errors, disabling while the server answers. */
.waitlist-consent{display:flex;gap:10px;align-items:flex-start;font-size:var(--fs-micro);color:var(--muted);line-height:1.55;cursor:pointer}
.waitlist-consent input{width:auto;margin:2px 0 0;accent-color:var(--maroon)}
.waitlist-error{margin:0;color:#a43a2c;font-size:var(--fs-micro);line-height:1.5;font-weight:500}
.waitlist-submit:disabled{opacity:.55;cursor:wait}
@media(max-width:600px){.waitlist-consent{font-size:13px}}
