/* Full-screen setup: editorial photography, one question at a time. */
body.stride-site .stride-app .st-onboarding-v12[open]{--cue-photo:url('images/ie-dingle-friends.jpg');--cue-photo-position:center 55%;display:block;position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:#f5f2ec;color:#232b26;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}
body.stride-site .stride-app .st-onboarding-v12 .st-welcome-photo{display:none}
body.stride-site .stride-app .st-onboarding-v12 .st-dialog-inner{position:relative;display:flex;flex-direction:column;width:100%;max-width:680px;min-height:100dvh;max-height:none;margin:0 auto;padding:calc(20px + env(safe-area-inset-top)) 23px calc(18px + env(safe-area-inset-bottom));box-sizing:border-box;overflow:visible;background:transparent}
body.stride-site .stride-app .st-onboarding-v12 .st-cue-topline{order:0;display:flex;align-items:center;min-height:35px;padding-right:48px;color:#626a60;font-size:11px;line-height:1.5;letter-spacing:.1em;font-variant-numeric:tabular-nums}
body.stride-site .stride-app .st-onboarding-v12 .st-cue-progress{order:1;flex:none;height:2px;margin:9px 0 0;background:#dcded4;border-radius:0;overflow:hidden}
body.stride-site .stride-app .st-onboarding-v12 .st-cue-progress i{display:block;height:100%;background:#354536;border-radius:0;transition:width .2s}
body.stride-site .stride-app .st-onboarding-v12 .st-cue-emblem{order:2;flex:none;width:calc(100% + 46px);max-width:none;height:clamp(160px,25svh,245px);min-height:0;margin:20px -23px 0;border-radius:0;transform:none;background-color:#d8c3a3;background-image:var(--cue-photo);background-position:var(--cue-photo-position);background-size:cover}
body.stride-site .stride-app .st-onboarding-v12 .st-cue-emblem svg{display:none}
body.stride-site .stride-app .st-onboarding-v12 .st-dialog-heading{order:3;display:block;margin:27px 0 19px;text-align:left}
body.stride-site .stride-app .st-onboarding-v12 .st-dialog-heading h2{max-width:530px;margin:0;padding:0;color:#232b26;font-family:var(--body,AlignSans,Arial,sans-serif);font-size:clamp(31px,7.7vw,40px);font-weight:600;line-height:1.12;letter-spacing:-.035em;text-wrap:initial}
body.stride-site .stride-app .st-onboarding-v12 .st-dialog-heading>.st-round-button{position:absolute;right:19px;top:calc(18px + env(safe-area-inset-top));width:40px;min-width:40px;height:40px;border:1px solid #d4d8cc;border-radius:50%;background:transparent;color:#354536}
body.stride-site .stride-app .st-onboarding-v12 .st-welcome-copy{order:4;max-width:480px;margin:0 0 21px;color:#626a60;text-align:left;font-size:13px;line-height:1.75}
body.stride-site .stride-app .st-onboarding-v12 .st-welcome-copy:empty{display:none}
body.stride-site .stride-app .st-onboarding-v12 form{order:5;display:flex;flex-direction:column;flex:1;min-width:0;min-height:0;width:100%;margin:0}
body.stride-site .stride-app .st-onboarding-v12>.st-dialog-inner>.st-text-button{order:6;align-self:center;min-height:44px;max-width:100%;margin:12px 0 0;padding:10px;color:#626a60;font-size:11px;line-height:1.6;text-align:center}
body.stride-site .stride-app .st-onboarding-v12 .st-cue-fieldset{min-width:0;margin:0;padding:0;border:0}
body.stride-site .stride-app .st-onboarding-v12 .st-cue-fieldset>legend,body.stride-site .stride-app .st-onboarding-v12 .st-cue-input-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
body.stride-site .stride-app .st-onboarding-v12 .st-welcome-choices{display:grid;grid-template-columns:1fr;gap:10px;width:100%;max-width:none;margin:0}
body.stride-site .stride-app .st-onboarding-v12 .st-choice{position:relative;display:block;min-width:0;margin:0}
body.stride-site .stride-app .st-onboarding-v12 .st-choice>span{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:4px;width:100%;height:100%;min-height:62px;padding:16px 39px 16px 18px;border:1px solid #d4d7cc;border-radius:3px;background:#fffdf8;color:#232b26;text-align:left;box-shadow:none}
body.stride-site .stride-app .st-onboarding-v12 .st-choice strong{font-size:14px;font-weight:600;line-height:1.45;overflow-wrap:break-word}
body.stride-site .stride-app .st-onboarding-v12 .st-choice small{margin:0;color:#626a60;font-size:11px;line-height:1.6}
body.stride-site .stride-app .st-onboarding-v12 .st-choice input:checked+span{border-color:#354536;background:#354536;color:#fffdf8;box-shadow:none}
body.stride-site .stride-app .st-onboarding-v12 .st-choice input:checked+span small{color:#e5eadf}
body.stride-site .stride-app .st-onboarding-v12 .st-choice input:checked+span:after{content:'✓';position:absolute;right:15px;top:50%;width:auto;height:auto;border:0;background:none;color:#fffdf8;font-size:16px;transform:translateY(-50%)}
body.stride-site .stride-app .st-onboarding-v12 .st-cue-option-icon{display:none}
body.stride-site .stride-app .st-onboarding-v12 .st-cue-options-two,body.stride-site .stride-app .st-onboarding-v12 .st-cue-habits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
body.stride-site .stride-app .st-onboarding-v12 .st-cue-options-two .st-choice>span,body.stride-site .stride-app .st-onboarding-v12 .st-cue-habits .st-choice>span{min-height:78px;padding:16px 29px 16px 15px}
body.stride-site .stride-app .st-onboarding-v12 .st-cue-options-two .st-choice input:checked+span:after,body.stride-site .stride-app .st-onboarding-v12 .st-cue-habits .st-choice input:checked+span:after{right:10px;font-size:13px}
body.stride-site .stride-app .st-onboarding-v12 .st-cue-habits strong{font-size:13px}
body.stride-site .stride-app .st-onboarding-v12 .st-cue-answer{position:relative;width:100%;min-width:0;margin:2px 0 18px}
body.stride-site .stride-app .st-onboarding-v12 .st-cue-answer input{width:100%;min-width:0;max-width:100%;min-height:82px;margin:0;padding:18px;border:1px solid #cfd3c7;border-radius:3px;background:#fffdf8;color:#232b26;text-align:left;font-family:var(--body,AlignSans,Arial,sans-serif);font-size:27px;line-height:1.35;box-shadow:none;box-sizing:border-box}
body.stride-site .stride-app .st-onboarding-v12 .st-cue-answer input::placeholder{color:#848c7e;font-size:22px}
body.stride-site .stride-app .st-onboarding-v12 .st-cue-unit{display:block;margin-top:9px;color:#626a60;font-size:12px;line-height:1.5;text-align:left}
body.stride-site .stride-app .st-onboarding-v12 .st-welcome-actions{display:flex;justify-content:space-between;align-items:center;flex-wrap:nowrap;gap:13px;width:100%;margin-top:auto;padding-top:27px}
body.stride-site .stride-app .st-onboarding-v12 .st-welcome-actions>.st-button{flex:0 1 auto;justify-content:center;min-height:51px;min-width:105px;max-width:100%;padding:14px 20px;border:1px solid #354536;border-radius:3px;background:#354536;color:#fffdf8;font-size:13px;line-height:1.5;box-shadow:none}
body.stride-site .stride-app .st-onboarding-v12 .st-welcome-actions>.st-button-outline{border-color:#b7c0ac;background:transparent;color:#354536}
body.stride-site .stride-app .st-onboarding-v12 .st-welcome-actions>.st-button svg{width:17px;height:17px}
body.stride-site .stride-app .st-onboarding-v12 .st-assessment-consent{margin:0;padding:22px;border:1px solid #cfd6c5;border-radius:3px;background:#eeeee4}
body.stride-site .stride-app .st-onboarding-v12 .st-assessment-consent .st-check{display:flex;align-items:flex-start;gap:12px}
body.stride-site .stride-app .st-onboarding-v12 .st-assessment-consent input{flex:none;width:21px;height:21px;accent-color:#354536}
body.stride-site .stride-app .st-onboarding-v12 .st-assessment-consent span{color:#354536;font-size:13px;line-height:1.75}
body.stride-site .stride-app .st-onboarding-v12 .st-assessment-consent p{margin-top:16px;color:#626a60;font-size:11px;line-height:1.7}
body.stride-site .stride-app .st-onboarding-v12 .st-assessment-consent a{text-decoration:underline;text-underline-offset:3px}
body.stride-site .stride-app .st-onboarding-v12 .st-cue-care{display:flex;align-items:flex-start;gap:12px;margin:0 0 19px;padding:17px;border-left:2px solid #8b9476;border-radius:0;background:#e9eadd;color:#46513e;font-size:13px;line-height:1.75}
body.stride-site .stride-app .st-onboarding-v12 .st-cue-care svg{flex:none;width:19px;height:19px;margin-top:3px}
body.stride-site .stride-app .st-onboarding-v12 .st-form-error{margin:15px 0 0;color:#913a30;font-size:13px;line-height:1.6}
body.stride-site .stride-app .st-onboarding-v12 :focus-visible,body.stride-site .stride-app .st-onboarding-v12 .st-choice input:focus-visible+span{outline:3px solid #819064;outline-offset:4px}
body.stride-site .stride-app .st-onboarding-v12:is([data-question^="risk-"],[data-question=consent]) .st-cue-emblem{display:none}
body.stride-site .stride-app .st-onboarding-v12:is([data-question^="risk-"],[data-question=consent]) .st-dialog-heading{margin-top:42px}
body.stride-site .stride-app .st-onboarding-v12:is([data-question=age],[data-question=heightCm],[data-question=currentKg],[data-question=targetKg],[data-question=movementPreference]){--cue-photo:url('images/ie-coastal-walk.jpg');--cue-photo-position:center 46%}
body.stride-site .stride-app .st-onboarding-v12:is([data-question=experience],[data-question=routine],[data-question=scheduleEnabled],[data-question=habits]){--cue-photo:url('images/ie-woodland.jpg');--cue-photo-position:center 38%}
body.stride-site .stride-app .st-onboarding-v12:is([data-question=planHours],[data-question=customHours],[data-question=firstMeal]){--cue-photo:url('images/table-breakfast.jpg');--cue-photo-position:center 45%}
body.stride-site .stride-app .st-onboarding-v12:is([data-question=wake],[data-question=goal]){--cue-photo:url('images/ie-cliffs-pause.jpg');--cue-photo-position:center 45%}
body.stride-site .stride-app .st-onboarding-v12[data-question=sleep]{--cue-photo:url('images/breathe.jpg');--cue-photo-position:center}
body.stride-site .stride-app .st-onboarding-v12:is([data-question=dietaryPreference],[data-question=lastMeal]){--cue-photo:url('images/chickpea-salad.jpg');--cue-photo-position:center}
body.stride-site .stride-app .st-onboarding-v12[data-question=observingRamadan]{--cue-photo:url('images/ramadan.jpg');--cue-photo-position:center}
@media(min-width:900px){
 body.stride-site .stride-app .st-onboarding-v12 .st-dialog-inner{max-width:none;margin:0;padding:35px 5vw 24px calc(43% + 5vw)}
 body.stride-site .stride-app .st-onboarding-v12 .st-cue-emblem{position:absolute;left:0;top:0;width:43%;height:100%;margin:0;background-position:var(--cue-photo-position)}
 body.stride-site .stride-app .st-onboarding-v12 :is(.st-cue-topline,.st-cue-progress,form){width:100%;max-width:530px}
 body.stride-site .stride-app .st-onboarding-v12 .st-dialog-heading{max-width:530px;margin-top:clamp(37px,7vh,86px);margin-bottom:25px}
 body.stride-site .stride-app .st-onboarding-v12 .st-dialog-heading h2{font-size:clamp(35px,3.1vw,49px);line-height:1.1}
 body.stride-site .stride-app .st-onboarding-v12 .st-dialog-heading>.st-round-button{right:28px;top:29px}
 body.stride-site .stride-app .st-onboarding-v12>.st-dialog-inner>.st-text-button{align-self:flex-start;width:100%;max-width:530px}
 body.stride-site .stride-app .st-onboarding-v12 .st-welcome-actions{padding-top:34px}
 body.stride-site .stride-app .st-onboarding-v12:is([data-question^="risk-"],[data-question=consent]) .st-dialog-inner{max-width:650px;margin:auto;padding:35px 38px 24px}
 body.stride-site .stride-app .st-onboarding-v12:is([data-question^="risk-"],[data-question=consent]) .st-dialog-heading{margin-top:clamp(48px,10vh,110px)}
}
@media(max-width:359px){
 body.stride-site .stride-app .st-onboarding-v12 .st-dialog-inner{padding-inline:18px}
 body.stride-site .stride-app .st-onboarding-v12 .st-cue-emblem{width:calc(100% + 36px);margin-inline:-18px}
 body.stride-site .stride-app .st-onboarding-v12 .st-dialog-heading h2{font-size:29px}
 body.stride-site .stride-app .st-onboarding-v12 .st-cue-options-two .st-choice>span,body.stride-site .stride-app .st-onboarding-v12 .st-cue-habits .st-choice>span{padding-left:12px}
 body.stride-site .stride-app .st-onboarding-v12 .st-choice strong{font-size:13px}
 body.stride-site .stride-app .st-onboarding-v12 .st-welcome-actions>.st-button{min-width:95px;padding-inline:15px;font-size:12px}
 body.stride-site .stride-app .st-onboarding-v12 .st-assessment-consent{padding:17px}
}
@media(max-height:700px) and (max-width:899px){
 body.stride-site .stride-app .st-onboarding-v12 .st-cue-emblem{height:140px;margin-top:15px}
 body.stride-site .stride-app .st-onboarding-v12 .st-dialog-heading{margin-top:21px}
 body.stride-site .stride-app .st-onboarding-v12 .st-welcome-actions{padding-top:22px}
}
@media(prefers-reduced-motion:reduce){body.stride-site .stride-app .st-onboarding-v12 *{transition:none!important}}


/* Programmatic title focus should not look like an input; controls retain focus rings. */
body.stride-site .stride-app .st-onboarding-v12 #st-modal-title[tabindex="-1"]:focus{outline:none}

body.stride-site .stride-app .st-onboarding-v12 .st-choice strong{font-size:16px;font-weight:600;line-height:1.4}
body.stride-site .stride-app .st-onboarding-v12 .st-cue-habits strong{font-size:15px}
body.stride-site .stride-app .st-onboarding-v12 .st-measurement :is(legend,label){font-size:15px;font-weight:600}
body.stride-site .stride-app .st-onboarding-v12 .st-measurement :is(input,select){font-size:18px}
body.stride-site .stride-app .st-onboarding-v12 .st-welcome-actions>.st-button{font-size:15px;font-weight:600}
