/* Welcome questionnaire: homepage shell with focused form and completion layouts. */
.profile-section{max-width:1120px;margin:0 auto;padding:64px var(--gutter) 96px}
.profile-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1fr);gap:40px 64px;align-items:start}
.profile-layout h1{grid-column:1/-1;font-family:var(--serif);font-weight:400;font-size:clamp(42px,6vw,72px);line-height:1.05;letter-spacing:-.025em;text-wrap:balance}
.profile-layout[hidden],.profile-done[hidden]{display:none}
.profile-field[hidden]{display:none}
.profile-image{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:6px}
.profile-main{min-width:0}
.profile-note{font-size:18px;line-height:1.6;color:var(--ink-3);margin-bottom:24px;text-wrap:pretty}
.profile-required-note,.profile-hint{font-size:13px;line-height:1.5;color:var(--muted)}
.profile-required-note{margin-bottom:24px}
.req{color:var(--green)}
.profile-form{display:flex;flex-direction:column;gap:28px}
.profile-field{min-width:0;border:0;margin:0;padding:0}
.profile-field>label,.profile-field legend{display:block;padding:0;margin-bottom:10px;font-size:15px;font-weight:600;color:var(--ink-2)}
.profile-hint{margin:-4px 0 12px}
.profile-field input:not([type="radio"],[type="checkbox"]),.profile-field textarea,.profile-field select{width:100%;min-width:0;border:1px solid var(--field);border-radius:6px;background:#fff;color:var(--ink);font:inherit;font-size:16px;padding:14px 16px}
.profile-field textarea{resize:vertical;min-height:124px}
.profile-field input:focus,.profile-field textarea:focus,.profile-field select:focus{border-color:var(--green)}
/* The homepage's +1 and number pair, with the texting boxes under it. */
.profile-field .field{display:flex;gap:10px}
.profile-field .sms-consent{margin-top:16px}
.profile-field textarea:focus-visible{outline:3px solid #b68b35;outline-offset:4px}
.profile-choices{display:flex;flex-wrap:wrap;gap:8px 24px}
.profile-choices legend{width:100%}
.profile-field .choice{display:inline-flex;align-items:center;gap:9px;min-height:44px;margin:0;font-size:16px;font-weight:400;cursor:pointer}
.choice input{accent-color:var(--green);width:18px;height:18px;margin:0}
.profile-actions{padding-top:4px}
.profile-button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:14px 26px;border:0;border-radius:999px;background:var(--green);color:#fff;font:inherit;font-weight:600;text-decoration:none;cursor:pointer}
.profile-button:hover{background:var(--green-dark);color:#fff}
.profile-button:disabled{opacity:.6;cursor:wait}
.profile-done{max-width:720px;margin:32px auto 64px}
.profile-done h2{font-family:var(--serif);font-size:clamp(36px,5vw,56px);font-weight:400;line-height:1.08;letter-spacing:-.02em;text-wrap:pretty;margin-bottom:24px}
.profile-done p{font-size:18px;line-height:1.6;color:var(--ink-3);margin-bottom:28px}
/* order-confirmed.html reuses .profile-done and adds subheadings to it; the
   waitlist's version of the panel has none. */
.order-next-heading{font-family:var(--serif);font-weight:400;font-size:24px;line-height:1.2;letter-spacing:-.015em;margin-bottom:12px}
@media(max-width:700px){
 .profile-section{padding-top:36px;padding-bottom:64px}
 .profile-layout{grid-template-columns:minmax(0,1fr);gap:28px}
 .profile-main{grid-row:2}
 .profile-aside{grid-row:3}
 .profile-image{aspect-ratio:4/3;max-height:360px}
 .profile-note,.profile-done p{font-size:17px}
 .profile-form{gap:24px}
 .profile-button{width:100%;text-align:center}
 .profile-done{margin:12px auto 32px}
}
