:root{color-scheme:light;--onboarding-ink:#252525;--onboarding-muted:#62575b;--onboarding-line:#eadfe2;--onboarding-accent:#8B1E3F;--onboarding-paper:#ffffff;--onboarding-soft:#FFF8F0}
.amorae-onboarding-page{margin:0;background:var(--onboarding-soft);color:var(--onboarding-ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.onboarding-shell{width:min(100% - 28px,760px);margin:0 auto;padding:clamp(16px,4vw,36px) 0 max(28px,env(safe-area-inset-bottom));min-height:100dvh;box-sizing:border-box}
.onboarding-brand{display:flex;align-items:center;gap:10px;width:max-content;margin:0 auto 20px;color:var(--onboarding-ink);font-size:12px;letter-spacing:.22em;text-decoration:none;font-weight:700}
.onboarding-brand img{display:block}
.onboarding-card{background:var(--onboarding-paper);border:1px solid var(--onboarding-line);border-radius:24px;padding:clamp(20px,5vw,42px);box-shadow:none}
.onboarding-eyebrow,.preview-label{font-size:10px;letter-spacing:.2em;font-weight:750;color:var(--onboarding-accent);margin:0 0 12px}
.onboarding-card h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(30px,6vw,44px);line-height:1.12;font-weight:500;letter-spacing:-.025em;margin:0;max-width:600px}
.onboarding-intro,.step-copy{color:var(--onboarding-muted);line-height:1.65;font-size:14px}
.onboarding-intro{margin:14px 0 26px;max-width:600px}
.onboarding-progress{margin:0 0 26px}
.progress-track{height:4px;border-radius:10px;background:#eee5df;overflow:hidden}
.progress-track span{display:block;height:100%;width:33.333%;background:var(--onboarding-accent);transition:width .2s ease}
.onboarding-progress p{margin:10px 0 0;font-size:12px;color:var(--onboarding-muted)}
.onboarding-step h2{font-family:Georgia,"Times New Roman",serif;font-size:25px;font-weight:500;margin:0 0 8px}
.onboarding-step>label:not(.check-row):not(.upload-button),.onboarding-step legend{display:block;font-size:13px;font-weight:650;margin:18px 0 8px}
.onboarding-step input:not([type=checkbox]):not([type=radio]):not([type=file]),.onboarding-step select,.onboarding-step textarea{box-sizing:border-box;width:100%;min-height:48px;border:1px solid #dcd0c8;border-radius:12px;background:#fff;color:var(--onboarding-ink);padding:12px 13px;font:inherit;font-size:16px;outline-offset:3px}
.onboarding-step textarea{resize:vertical;line-height:1.5}
.label-note{font-size:11px;color:var(--onboarding-muted);font-weight:400;margin-left:5px}
.check-row{display:flex;gap:11px;align-items:flex-start;margin:15px 0;color:#514846;font-size:13px;line-height:1.5}
.check-row input{width:20px;height:20px;flex:0 0 20px;margin:0;accent-color:var(--onboarding-accent)}
.check-row a{color:var(--onboarding-accent);text-underline-offset:3px}
.privacy-note{font-size:12px;line-height:1.5;color:var(--onboarding-muted);margin:16px 0 0}
fieldset{padding:0;border:0;margin:18px 0 0;min-width:0}
fieldset legend{padding:0}
.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.field-grid label{display:block;font-size:13px;font-weight:650;margin:18px 0 8px}
.choice-card{display:flex;gap:12px;border:1px solid var(--onboarding-line);border-radius:14px;padding:14px;margin:9px 0;cursor:pointer}
.choice-card input{width:20px;height:20px;flex:0 0 20px;margin:0;accent-color:var(--onboarding-accent)}
.choice-card span{display:grid;gap:4px}
.choice-card strong{font-size:14px}
.choice-card small{font-size:12px;color:var(--onboarding-muted);line-height:1.45}
.photo-upload{border-top:1px solid var(--onboarding-line);margin-top:24px;padding-top:22px}
.photo-upload h3{margin:0;font-size:17px}
.photo-upload p{font-size:13px;line-height:1.5;color:var(--onboarding-muted)}
.upload-button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 18px;border:1px solid #d8c4b9;border-radius:12px;color:var(--onboarding-accent);font-size:13px;font-weight:700;cursor:pointer}
.photo-grid,.preview-photos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:12px}
.photo-item{position:relative;min-width:0}
.photo-item img,.preview-photos img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:10px;background:#eee5df}
.photo-item button{display:block;width:100%;border:0;background:transparent;color:#7b453b;text-decoration:underline;font-size:12px;padding:7px 0;cursor:pointer}
.preview-card{margin-top:26px;border:1px solid var(--onboarding-line);border-radius:16px;padding:16px}
.preview-card h3{font-family:Georgia,"Times New Roman",serif;font-weight:500;font-size:24px;margin:14px 0 4px}
.preview-card p{font-size:13px;line-height:1.5;color:var(--onboarding-muted)}
.preview-card .preview-label{margin:0;color:var(--onboarding-accent);font-size:10px}
.preview-card .preview-privacy{border-top:1px solid var(--onboarding-line);padding-top:10px;margin-bottom:0}
.onboarding-alert,.onboarding-notice{border-radius:12px;padding:12px 14px;margin:0 0 18px;font-size:13px;line-height:1.5}
.onboarding-alert{background:#fff0ed;color:#8b3028;border:1px solid #f0c9c1}
.onboarding-notice{background:#eef6ef;color:#285c3b;border:1px solid #cce4d1}
.onboarding-actions{display:flex;gap:10px;margin-top:28px}
.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 20px;border-radius:13px;font:inherit;font-size:14px;font-weight:700;cursor:pointer}
.primary-button{flex:1;border:1px solid var(--onboarding-accent);background:var(--onboarding-accent);color:white}
.secondary-button{border:1px solid var(--onboarding-line);background:white;color:var(--onboarding-ink)}
.primary-button:disabled,.secondary-button:disabled{opacity:.55;cursor:not-allowed}
.onboarding-shell :focus-visible{outline:3px solid var(--onboarding-accent);outline-offset:3px}
.onboarding-exit{display:block;text-align:center;margin:22px auto 0;font-size:12px;color:var(--onboarding-muted);text-underline-offset:3px}
.onboarding-shell footer{text-align:center;color:var(--onboarding-muted);font-size:11px;padding:22px 10px}
[hidden]{display:none!important}
@media(max-width:420px){.onboarding-shell{width:min(100% - 18px,760px);padding-top:10px}.onboarding-card{border-radius:18px;padding:20px 16px}.field-grid{gap:8px}.photo-grid,.preview-photos{grid-template-columns:repeat(3,minmax(0,1fr))}.onboarding-actions{position:sticky;bottom:calc(0px + env(safe-area-inset-bottom));padding:10px 0;background:linear-gradient(180deg,#fffdfae8,var(--onboarding-paper) 30%);z-index:2}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Keep the native file input keyboard-accessible while presenting its associated label as the visible control. */
.photo-upload .visually-hidden-file{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.photo-upload .visually-hidden-file:focus-visible+.upload-button{outline:3px solid var(--onboarding-accent);outline-offset:3px}

/* Registration-only responsive Stitch integration; no changes to onboarding forms. */
.amorae-registration-page{background:#fcf9f8;color:#252525;font-family:Inter,ui-sans-serif,system-ui,sans-serif}
.amorae-registration-page .onboarding-shell{width:min(100% - 40px,600px);min-height:100dvh;padding:24px 0 30px}
.amorae-registration-page .registration-topbar{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 22px}
.amorae-registration-page .registration-topbar .onboarding-brand{margin:0;font-family:Georgia,serif;color:#8B1E3F;letter-spacing:.13em;font-size:15px}
.amorae-registration-page .registration-back{color:#46343b;font-size:13px;text-decoration:none;display:inline-flex;gap:9px;align-items:center;min-height:44px}
.amorae-registration-page .registration-privacy{font-size:11px;color:#766970}
.amorae-registration-page .onboarding-card{border:0;border-radius:0;background:transparent;padding:18px clamp(0px,2vw,20px);box-shadow:none}
.amorae-registration-page .onboarding-eyebrow{color:#8B1E3F;font-size:11px;letter-spacing:.20em;margin-bottom:16px}
.amorae-registration-page .onboarding-card>h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(34px,4.6vw,52px);font-weight:500;line-height:1.13;letter-spacing:-.035em;margin:0 0 24px}
.amorae-registration-page .onboarding-step label{color:#40343a;font-size:12px;letter-spacing:.02em;font-weight:650}
.amorae-registration-page #registerEmail,.amorae-registration-page #registerPassword,.amorae-registration-page #registerConfirm{height:54px;border-radius:12px;border:1px solid #e6dfe2;background:#fff;padding:12px 14px}
.amorae-registration-page .onboarding-step label[for]{margin-top:20px}
.amorae-registration-page .onboarding-step label[for=registerEmail]{margin-top:10px}
.amorae-registration-page .onboarding-actions{margin-top:26px}
.amorae-registration-page #registerSubmit{min-height:54px;border-radius:999px;background:#8B1E3F;border-color:#8B1E3F;display:flex;align-items:center;justify-content:center;gap:10px}
.amorae-registration-page #registerSubmit:hover{background:#6c1731}
.amorae-registration-page .privacy-note{font-size:11px;line-height:1.55;color:#7c7076}
.amorae-registration-page .onboarding-exit{font-size:12px;color:#766970}
.amorae-registration-page .onboarding-exit a{color:#8B1E3F;text-underline-offset:3px}
@media(max-width:600px){.amorae-registration-page .onboarding-shell{width:min(100% - 32px,430px);padding:8px 0 24px}.amorae-registration-page .registration-topbar{margin-bottom:28px}.amorae-registration-page .registration-back span{display:none}.amorae-registration-page .registration-privacy{font-size:10px}.amorae-registration-page .onboarding-card{padding:0 4px}.amorae-registration-page .onboarding-card>h1{font-size:36px;line-height:1.18}.amorae-registration-page .onboarding-eyebrow{font-size:10px}.amorae-registration-page #registerEmail,.amorae-registration-page #registerPassword,.amorae-registration-page #registerConfirm{height:52px}}

/* Approved Stitch Mobile Registration Card — isolated mobile overrides */
@media(max-width:600px){
.amorae-registration-page{background:#fcf9f8}
.amorae-registration-page .onboarding-shell{width:100%;max-width:430px;padding:0 12px 28px;margin:auto}
.amorae-registration-page .registration-topbar{height:54px;min-height:54px;display:grid;grid-template-columns:44px 1fr 44px;gap:0;margin:0 0 14px;padding:0 8px;border-bottom:1px solid #eee8e8}
.amorae-registration-page .registration-topbar .onboarding-brand{justify-self:center;font-size:13px;letter-spacing:.16em}
.amorae-registration-page .registration-back{justify-self:start;display:flex;min-height:44px;min-width:44px;font-size:20px}
.amorae-registration-page .registration-privacy{display:block;min-width:44px}
.amorae-registration-page .onboarding-card{padding:0;border:0;background:transparent;border-radius:0}
.amorae-registration-page .registration-intro{text-align:center;margin:10px auto 16px;padding:0 16px}
.amorae-registration-page .onboarding-eyebrow{display:table;margin:0 auto 9px;border-radius:999px;padding:5px 12px;background:#f1eced;color:#8B1E3F;font-size:9px;letter-spacing:.095em}
.amorae-registration-page .onboarding-card>h1,.amorae-registration-page .registration-intro h1{max-width:340px;font-size:clamp(28px,8vw,35px);line-height:1.18;letter-spacing:-.035em;margin:0 auto;font-weight:500;text-align:center}
.amorae-registration-page .registration-intro h1 em{font-style:normal;color:#8B1E3F}
.amorae-registration-page #registerForm{padding:14px 12px 12px;border:1px solid #f0ecec;border-radius:12px;background:#fff}
.amorae-registration-page #registerForm>label{display:block;margin:0 0 6px!important;font-size:10px;line-height:1.4;letter-spacing:.025em;font-weight:650}
.amorae-registration-page #registerForm .label-note{font-size:9px;letter-spacing:0;text-transform:none}
.amorae-registration-page .registration-field{position:relative;margin:0 0 12px}
.amorae-registration-page #registerForm .registration-field input{width:100%;height:44px;min-height:44px;padding:10px 48px 10px 12px;border:0;border-radius:7px;background:#f6f3f2;color:#252525;font-size:14px;box-shadow:none}
.amorae-registration-page #registerForm .registration-field input:focus-visible{outline:2px solid #8B1E3F;outline-offset:1px}
.amorae-registration-page .registration-field-icon,.amorae-registration-page .registration-password-toggle{position:absolute;right:4px;top:0;display:flex;align-items:center;justify-content:center;width:44px;height:44px;color:#8B1E3F}
.amorae-registration-page .registration-field-icon{pointer-events:none;font-size:16px}
.amorae-registration-page .registration-password-toggle{border:0;background:transparent;cursor:pointer;font-size:18px;border-radius:8px}
.amorae-registration-page .registration-password-toggle:focus-visible{outline:2px solid #8B1E3F;outline-offset:0}
.amorae-registration-page .registration-verification-note{font-size:11px;line-height:1.4;margin:2px 0 0;color:#746970}
.amorae-registration-page #registerForm .onboarding-actions{margin:14px 0 0;padding:0}
.amorae-registration-page #registerSubmit{width:100%;height:48px;min-height:48px;border-radius:999px;font-size:13px}
.amorae-registration-page #authSwitch{margin:16px 0 0;font-size:12px}
.amorae-registration-page .onboarding-card>.onboarding-exit:last-child{margin:10px 0 0;font-size:10px}
.amorae-registration-page .onboarding-card #authView:not(:empty)~#registerForm[hidden]{display:none!important}
}

/* Mobile onboarding: keep legal consents and actions in document flow, without overlays. */
@media (max-width:600px){
  .amorae-onboarding-page:not(.amorae-registration-page) .onboarding-shell{width:calc(100% - 24px);padding:12px 0 28px}
  .amorae-onboarding-page:not(.amorae-registration-page) .onboarding-card{padding:20px 16px 22px;border-radius:18px}
  .amorae-onboarding-page:not(.amorae-registration-page) .onboarding-card>.onboarding-eyebrow,
  .amorae-onboarding-page:not(.amorae-registration-page) .onboarding-card>#onboardingTitle,
  .amorae-onboarding-page:not(.amorae-registration-page) .onboarding-card>.onboarding-intro{display:none}
  .amorae-onboarding-page:not(.amorae-registration-page) .onboarding-progress{margin:2px 0 19px}
  .amorae-onboarding-page:not(.amorae-registration-page) .onboarding-progress p{font-size:11px;margin-top:8px}
  .amorae-onboarding-page:not(.amorae-registration-page) .onboarding-step h2{font-size:clamp(25px,7vw,30px);line-height:1.18;margin:0 0 8px}
  .amorae-onboarding-page:not(.amorae-registration-page) .step-copy{font-size:12px;line-height:1.5;margin:0 0 14px}
  .amorae-onboarding-page:not(.amorae-registration-page) .onboarding-step>label:not(.check-row):not(.upload-button),
  .amorae-onboarding-page:not(.amorae-registration-page) .onboarding-step legend{margin:13px 0 6px;font-size:12px}
  .amorae-onboarding-page:not(.amorae-registration-page) .onboarding-step input:not([type=checkbox]):not([type=radio]):not([type=file]),
  .amorae-onboarding-page:not(.amorae-registration-page) .onboarding-step select,
  .amorae-onboarding-page:not(.amorae-registration-page) .onboarding-step textarea{min-height:44px;padding:10px 12px;border-radius:10px}
  .amorae-onboarding-page:not(.amorae-registration-page) .check-row{margin:10px 0;font-size:12px;line-height:1.45}
  .amorae-onboarding-page:not(.amorae-registration-page) .privacy-note{font-size:11px;line-height:1.45;margin-top:10px}
  .amorae-onboarding-page:not(.amorae-registration-page) .onboarding-actions{position:static;bottom:auto;z-index:auto;background:none;padding:0;margin-top:20px;gap:10px}
  .amorae-onboarding-page:not(.amorae-registration-page) .onboarding-actions .primary-button,
  .amorae-onboarding-page:not(.amorae-registration-page) .onboarding-actions .secondary-button{min-height:48px}
  .amorae-onboarding-page:not(.amorae-registration-page) .onboarding-exit{margin:18px 0 0}
}

@media(max-width:600px){
.amorae-profile-setup-page .onboarding-shell{width:min(100% - 24px,390px);padding:0 0 24px}
.amorae-profile-setup-page .amorae-profile-header{display:flex;flex-direction:column;align-items:center;gap:3px;padding:16px 0 12px}
.amorae-profile-setup-page .amorae-profile-header .onboarding-brand{font-family:Georgia,serif;color:#8B1E3F;margin:0;font-size:14px;letter-spacing:.14em}
.amorae-profile-setup-page .amorae-profile-header>span{font-size:9px;letter-spacing:.12em;color:#766970}
.amorae-profile-setup-page .onboarding-card{border:1px solid #ece7e8;border-radius:14px;padding:12px 12px 24px;background:#fcf9f8}
.amorae-profile-setup-page .onboarding-progress{margin:0 auto 10px;max-width:140px}
.amorae-profile-setup-page .onboarding-progress .progress-track{height:3px;background:#ebe7e7}
.amorae-profile-setup-page .onboarding-progress p{display:none}
.amorae-profile-setup-page .onboarding-step[data-step="0"]{text-align:center}
.amorae-profile-setup-page .onboarding-step[data-step="0"] h2{font:500 27px/1.2 Georgia,serif;letter-spacing:-.025em;white-space:normal;margin:0 0 4px}
.amorae-profile-setup-page .onboarding-step[data-step="0"] h2 em{font-style:normal;color:#8B1E3F}
.amorae-profile-setup-page .onboarding-step[data-step="0"] .step-copy{font-size:12px;margin:0 0 20px}
.amorae-profile-setup-page #onboardingForm:has(.onboarding-step[data-step="0"]:not([hidden])){padding:0}
.amorae-profile-setup-page .onboarding-step[data-step="0"]>label:not(.check-row){text-align:left;font-size:11px;margin:0 0 6px;font-weight:700}
.amorae-profile-setup-page .onboarding-step[data-step="0"] #displayName{height:46px;min-height:46px;background:#f6f3f2;border:0;border-radius:8px;padding:12px 14px;margin:0 0 18px;font-size:14px}
.amorae-profile-setup-page .amorae-date-parts{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-bottom:17px}
.amorae-profile-setup-page .amorae-date-parts input{min-width:0;height:46px;min-height:46px;background:#f6f3f2;border:0;border-radius:8px;text-align:center;font-size:14px}
.amorae-profile-setup-page .amorae-canonical-dob{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;padding:0!important;border:0!important;overflow:hidden!important}
.amorae-profile-setup-page .onboarding-step[data-step="0"] .check-row{text-align:left;margin:9px 0;gap:9px;font-size:11px}
.amorae-profile-setup-page .onboarding-step[data-step="0"] .check-row input{width:18px;height:18px;flex:0 0 18px}
.amorae-profile-setup-page .onboarding-actions{position:static!important;background:none!important;padding:0!important;margin:22px 0 0!important}
.amorae-profile-setup-page .onboarding-actions .primary-button{min-height:48px;border-radius:999px;background:#8B1E3F;color:#fff;font:700 14px/1.3 Inter,system-ui,sans-serif}
.amorae-profile-setup-page .onboarding-exit{margin:15px 0 0;font-size:11px}
}
@media(min-width:601px){.amorae-date-parts{display:none}.amorae-profile-header>span{display:none}}

/* Onboarding progressive flow: every stage occupies one card; no floating action overlap. */
.amorae-profile-setup-page .onboarding-step[hidden]{display:none!important}
.amorae-profile-setup-page .onboarding-actions{position:static!important;bottom:auto!important;background:none!important;z-index:auto!important}
@media(max-width:600px){
.amorae-profile-setup-page .onboarding-step[data-step="2"] h2,
.amorae-profile-setup-page .onboarding-step[data-step="3"] h2{font:500 27px/1.2 Georgia,serif;margin:0 0 7px}
.amorae-profile-setup-page .onboarding-step[data-step="2"] .step-copy,
.amorae-profile-setup-page .onboarding-step[data-step="3"] .step-copy{font-size:12px;line-height:1.45;margin:0 0 15px}
.amorae-profile-setup-page .onboarding-step[data-step="2"] .choice-card{padding:11px 12px;margin:8px 0;border-radius:11px}
.amorae-profile-setup-page .onboarding-step[data-step="2"] .choice-card small{font-size:11px;line-height:1.4}
.amorae-profile-setup-page .onboarding-step[data-step="3"] .photo-upload{border:0;padding-top:0;margin-top:12px}
.amorae-profile-setup-page .onboarding-step[data-step="3"] .preview-card{margin-top:18px;padding:13px;border-radius:12px}
.amorae-profile-setup-page .onboarding-step[data-step="3"] .photo-item img{width:90px;max-width:100%;aspect-ratio:3/4;object-fit:cover}
.amorae-profile-setup-page .onboarding-step[data-step="3"] .preview-photos img{max-height:150px;object-fit:contain}
}

/* Onboarding finishing screen: concise photo controls and review. */
@media(max-width:600px){
.amorae-profile-setup-page .onboarding-step[data-step="3"] .photo-guidance{color:#62575b;font-size:12px;line-height:1.45;margin:7px 0 13px}
.amorae-profile-setup-page .onboarding-step[data-step="3"] .photo-upload{margin-top:12px;padding:0}
.amorae-profile-setup-page .onboarding-step[data-step="3"] .photo-grid{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.amorae-profile-setup-page .onboarding-step[data-step="3"] .photo-item{max-width:112px}
.amorae-profile-setup-page .onboarding-step[data-step="3"] .preview-card{margin-top:20px}
}

/* Isolated five-stage presentation; existing profile data and API remain canonical. */
@media(max-width:600px){
.amorae-profile-setup-page .onboarding-step[data-step="1"] h2,
.amorae-profile-setup-page .onboarding-step[data-step="2"] h2{font:500 28px/1.2 Georgia,serif;margin:0 0 16px;color:#252525}
.amorae-profile-setup-page .onboarding-step[data-step="1"] label,
.amorae-profile-setup-page .onboarding-step[data-step="2"] label{color:#292421;font-weight:650}
.amorae-profile-setup-page .onboarding-step[data-step="1"] .field-grid{gap:10px}
.amorae-profile-setup-page .onboarding-step[data-step="1"] .field-grid select{min-height:48px}
.amorae-profile-setup-page .onboarding-step[data-step="2"] textarea{min-height:112px}
.amorae-profile-setup-page .onboarding-step[data-step="4"] .photo-upload{margin-top:12px;padding:0}
}

/* Approved clean, legible native selects on connection preferences. */
.amorae-profile-setup-page .onboarding-step[data-step="1"] select{
  -webkit-appearance:none;appearance:none;
  box-sizing:border-box;width:100%;min-height:52px;
  border:1px solid #d7d2d0;border-radius:12px;
  background-color:#fff;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%238B1E3F' stroke-width='2.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 9 7 7 7-7'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 15px center;background-size:19px;
  padding:0 45px 0 16px;color:#252525;font-size:16px;font-weight:600;
}
.amorae-profile-setup-page .onboarding-step[data-step="1"] select:focus-visible{outline:2px solid #8B1E3F;outline-offset:2px}
.amorae-profile-setup-page .onboarding-step[data-step="1"] .field-grid select{padding-left:14px;padding-right:38px;background-position:right 10px center}
.amorae-profile-setup-page .onboarding-step[data-step="1"] label,
.amorae-profile-setup-page .onboarding-step[data-step="1"] legend{font-weight:700;color:#252525}
.amorae-profile-setup-page:has(.onboarding-step[data-step="1"]:not([hidden])) .onboarding-exit{display:none}
.amorae-profile-setup-page:has(.onboarding-step[data-step="1"]:not([hidden])) #nextButton{font-weight:750;letter-spacing:.025em}
@media(max-width:600px){
.amorae-profile-setup-page .onboarding-step[data-step="1"] select{min-height:51px;font-size:16px}
.amorae-profile-setup-page .onboarding-step[data-step="1"] .field-grid select{min-height:51px}
}

/* Approved personal-details card typography, isolated to step 2. */
.amorae-profile-setup-page .onboarding-step[data-step="2"] label{font-weight:700;color:#252525}
.amorae-profile-setup-page .onboarding-step[data-step="2"] .label-note{font-weight:400;color:#777174;font-style:normal;margin-left:7px}
.amorae-profile-setup-page .onboarding-step[data-step="2"] select{box-sizing:border-box;width:100%;min-height:52px;-webkit-appearance:none;appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%238B1E3F' stroke-width='2.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 9 7 7 7-7'/%3E%3C/svg%3E") no-repeat right 15px center;background-size:19px;padding:0 46px 0 16px;border:1px solid #d7d2d0;border-radius:12px;color:#252525;font-size:16px;font-weight:600}
.amorae-profile-setup-page .onboarding-step[data-step="2"] textarea,.amorae-profile-setup-page .onboarding-step[data-step="2"] input#languages{box-sizing:border-box;width:100%;font-size:16px;border:1px solid #d7d2d0;border-radius:12px;background:#fff;padding:14px 16px;color:#252525}
.amorae-profile-setup-page .onboarding-step[data-step="2"] textarea{min-height:116px;resize:vertical;line-height:1.5}
.amorae-profile-setup-page .onboarding-step[data-step="2"] input#languages{min-height:52px}
.amorae-profile-setup-page .onboarding-step[data-step="2"] textarea::placeholder,.amorae-profile-setup-page .onboarding-step[data-step="2"] input#languages::placeholder{color:#77777b;opacity:1;font-weight:400}
.amorae-profile-setup-page .onboarding-step[data-step="2"] :is(select,textarea,input#languages):focus-visible{outline:2px solid #8B1E3F;outline-offset:2px}
.amorae-profile-setup-page:has(.onboarding-step[data-step="2"]:not([hidden])) .onboarding-exit{display:none}
.amorae-profile-setup-page:has(.onboarding-step[data-step="2"]:not([hidden])) #nextButton{font-weight:750;letter-spacing:.025em}
@media(max-width:600px){.amorae-profile-setup-page .onboarding-step[data-step="2"] select{min-height:51px}.amorae-profile-setup-page .onboarding-step[data-step="2"] textarea{min-height:112px}}

/* Replaces privacy explanation stage with location and availability; privacy is server-enforced. */
.amorae-profile-setup-page .onboarding-step[data-step="3"] label,.amorae-profile-setup-page .onboarding-step[data-step="3"] legend{font-weight:700;color:#252525}
.amorae-profile-setup-page .onboarding-step[data-step="3"] select{appearance:none;-webkit-appearance:none;width:100%;min-height:52px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%238B1E3F' stroke-width='2.7' stroke-linecap='round'%3E%3Cpath d='m5 9 7 7 7-7'/%3E%3C/svg%3E") no-repeat right 15px center;background-size:19px;border:1px solid #d7d2d0;border-radius:12px;padding:0 46px 0 16px;color:#252525;font-size:16px;font-weight:600}
.amorae-profile-setup-page .onboarding-step[data-step="3"] select:disabled{opacity:.65}
.amorae-profile-setup-page .onboarding-step[data-step="3"] #otherCity{width:100%;min-height:52px;border-radius:12px;border:1px solid #d7d2d0;padding:0 16px;font-size:16px}
.amorae-profile-setup-page .onboarding-step[data-step="3"] .availability-options{padding:0;border:0;margin:18px 0 0}
.amorae-profile-setup-page .onboarding-step[data-step="3"] .availability-options .check-row{padding:8px 0;margin:0}
.amorae-profile-setup-page .onboarding-step[data-step="3"] .availability-options input{accent-color:#8B1E3F}
.amorae-profile-setup-page:has(.onboarding-step[data-step="3"]:not([hidden])) .onboarding-exit{display:none}

/* Approved editorial alignment for location & availability, mobile first. */
.amorae-profile-setup-page .onboarding-step[data-step="3"] h2{font-family:Georgia,serif;font-weight:500;color:#171717;letter-spacing:-.025em;line-height:1.14}
.amorae-profile-setup-page .onboarding-step[data-step="3"]>label,.amorae-profile-setup-page .onboarding-step[data-step="3"] .availability-options>legend{display:block;font-size:15px;line-height:1.35;font-weight:750;color:#222126}
.amorae-profile-setup-page .onboarding-step[data-step="3"]>select{font-weight:650;min-height:54px;border-radius:12px}
.amorae-profile-setup-page .onboarding-step[data-step="3"] .availability-options{margin-top:22px}
.amorae-profile-setup-page .onboarding-step[data-step="3"] .availability-options .check-row{display:flex;align-items:center;flex-direction:row;gap:14px;min-height:48px;padding:7px 0;margin:0;font-size:16px;font-weight:700;color:#202027;line-height:1.35}
.amorae-profile-setup-page .onboarding-step[data-step="3"] .availability-options .check-row input{flex:0 0 21px;appearance:none;-webkit-appearance:none;width:21px;height:21px;margin:0;border:1.6px solid #9a9a9a;border-radius:50%;background:#fff;display:inline-grid;place-content:center}
.amorae-profile-setup-page .onboarding-step[data-step="3"] .availability-options .check-row input:checked{border:2px solid #8B1E3F}
.amorae-profile-setup-page .onboarding-step[data-step="3"] .availability-options .check-row input:checked::before{content:"";width:11px;height:11px;background:#8B1E3F;border-radius:50%}
.amorae-profile-setup-page .onboarding-step[data-step="3"] .availability-options .check-row input:focus-visible{outline:2px solid #8B1E3F;outline-offset:3px}
.amorae-profile-setup-page:has(.onboarding-step[data-step="3"]:not([hidden])) #nextButton{font-weight:750;letter-spacing:.025em}
@media(max-width:600px){
.amorae-profile-setup-page .onboarding-step[data-step="3"] h2{font-size:clamp(25px,7.1vw,34px);margin-bottom:22px}
.amorae-profile-setup-page .onboarding-step[data-step="3"] .availability-options .check-row{gap:13px;min-height:46px;padding:8px 0}
.amorae-profile-setup-page .onboarding-step[data-step="3"] select{font-size:16px;min-height:52px}
}

/* Six-photo onboarding gallery; accessible per-photo dismiss control. */
.amorae-profile-setup-page .onboarding-step[data-step="4"] .photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}
.amorae-profile-setup-page .onboarding-step[data-step="4"] .photo-item{position:relative;width:100%;max-width:none;min-width:0}
.amorae-profile-setup-page .onboarding-step[data-step="4"] .photo-item img{display:block;width:100%;max-width:none;aspect-ratio:3/4;object-fit:cover;border:1px solid #e7d9d1;border-radius:12px}
.amorae-profile-setup-page .onboarding-step[data-step="4"] .photo-item .photo-dismiss{position:absolute;top:6px;right:6px;display:grid;place-items:center;width:32px;height:32px;min-height:32px;padding:0;margin:0;border:1px solid #dfd7d2;border-radius:50%;background:#fff;color:#494149;text-decoration:none;box-shadow:0 1px 4px #0002;z-index:2;cursor:pointer}
.amorae-profile-setup-page .onboarding-step[data-step="4"] .photo-item .photo-dismiss svg{display:block;width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.25;stroke-linecap:round}
.amorae-profile-setup-page .onboarding-step[data-step="4"] .photo-item .photo-dismiss:focus-visible{outline:3px solid #8B1E3F;outline-offset:2px}
@media(max-width:600px){.amorae-profile-setup-page .onboarding-step[data-step="4"] .photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.amorae-profile-setup-page .onboarding-step[data-step="4"] .photo-item .photo-dismiss{width:36px;height:36px;min-height:36px}}

/* Amorae original mobile-first onboarding: compact single-question presentation. */
.amorae-profile-setup-page{background:#fdfbf8;-webkit-tap-highlight-color:transparent}
.amorae-profile-setup-page .onboarding-shell{width:min(calc(100% - 32px),680px)}
.amorae-profile-setup-page .onboarding-card{background:#fffefd;border:1px solid #eee7e4;border-radius:22px;box-shadow:0 8px 30px #30111906}
.amorae-profile-setup-page .onboarding-card>.onboarding-eyebrow,.amorae-profile-setup-page .onboarding-card>h1,.amorae-profile-setup-page .onboarding-card>.onboarding-intro{display:none}
.amorae-profile-setup-page .onboarding-progress{margin:3px 0 34px}
.amorae-profile-setup-page .progress-track{height:5px;background:#ece9e6;border-radius:99px}
.amorae-profile-setup-page .progress-track span{border-radius:99px;transition:width .3s ease}
.amorae-profile-setup-page #progressText{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.amorae-profile-setup-page .onboarding-step h2{font:500 clamp(30px,6vw,42px)/1.16 Georgia,serif;letter-spacing:-.03em;color:#181818;margin:0 0 26px}
.amorae-profile-setup-page .onboarding-step>label:not(.check-row):not(.upload-button),.amorae-profile-setup-page .onboarding-step legend,.amorae-profile-setup-page .onboarding-step .field-grid label{font-size:14px;font-weight:750;line-height:1.4;color:#252525}
.amorae-profile-setup-page .onboarding-step :is(select,textarea,input:not([type=checkbox]):not([type=radio]):not([type=file])){border-radius:13px;border-color:#dedbd8;min-height:52px;font-size:16px}
.amorae-profile-setup-page .onboarding-step .check-row{font-size:15px;font-weight:650;line-height:1.4}
.amorae-profile-setup-page .onboarding-step .step-copy{display:none}
.amorae-profile-setup-page .onboarding-actions{gap:12px;margin-top:30px}
.amorae-profile-setup-page .onboarding-actions .primary-button{font-size:16px;min-height:54px;font-weight:750;border-radius:999px;transition:background .18s ease,transform .18s ease}
.amorae-profile-setup-page .onboarding-actions .primary-button:not(:disabled):active{transform:scale(.985)}
.amorae-profile-setup-page .onboarding-actions .secondary-button{min-height:54px;border-radius:14px;font-size:15px;font-weight:700}
.amorae-profile-setup-page .onboarding-step[data-step="3"] .availability-options .check-row{flex-direction:row;align-items:center;min-height:48px;gap:14px}
.amorae-profile-setup-page .onboarding-step[data-step="3"] .availability-options .check-row input{width:22px;height:22px;flex:0 0 22px;aspect-ratio:1}
.amorae-profile-setup-page .onboarding-step[data-step="4"] .photo-upload{border:0;margin-top:0;padding-top:0}
.amorae-profile-setup-page .onboarding-step[data-step="4"] .upload-button{box-sizing:border-box;width:100%;min-height:56px;background:#fcf6f7;border:1px solid #e5cfd5;font-size:15px;font-weight:750}
.amorae-profile-setup-page .onboarding-step{animation:amorae-enter .22s ease-out}
@keyframes amorae-enter{from{opacity:.7;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:600px){.amorae-profile-setup-page .onboarding-shell{width:100%;max-width:470px;padding:15px 16px 28px}.amorae-profile-setup-page .onboarding-card{padding:25px 22px;border-radius:22px}.amorae-profile-setup-page .onboarding-progress{margin:2px 0 32px}.amorae-profile-setup-page .onboarding-step h2{font-size:clamp(28px,7.8vw,38px)}.amorae-profile-setup-page .onboarding-actions{position:static;background:transparent;padding:0}}
@media(prefers-reduced-motion:reduce){.amorae-profile-setup-page .onboarding-step{animation:none}}
