/* Assessment-specific presentation; question and submission behavior stays shared. */
#app{isolation:isolate;min-height:100svh;padding:112px 24px 48px;background:radial-gradient(ellipse at 85% 5%,#dfe8f4 0,transparent 45%),radial-gradient(ellipse at 8% 90%,#eee5cc 0,transparent 42%),#f7f8fa}
.assessment-brand{position:absolute;top:26px;left:50%;transform:translateX(-50%);z-index:3;display:block}
.assessment-brand img{display:block;width:218px;height:auto}
.visit-ambient{position:fixed;inset:0;z-index:-1;background-image:radial-gradient(#8b9db529 .8px,transparent .8px);background-size:24px 24px;mask-image:linear-gradient(90deg,#000,transparent 38%,transparent 62%,#000)}
.visit-flow,.visit-orb{display:none}
#app::before,#app::after{content:'';position:fixed;pointer-events:none;z-index:-1;border:1px solid #b89a5040;border-radius:50%;width:620px;height:620px;transform:rotate(-30deg);box-shadow:0 0 0 35px #fff5,0 0 0 36px #8299ba20,0 0 0 76px #fff4}
#app::before{top:180px;left:-410px}#app::after{bottom:-340px;right:-360px}
#svisit.screen{max-width:620px;min-height:0;margin:24px 0;border:1px solid #dfe6ef;border-radius:24px;background:#fff;box-shadow:0 22px 70px -34px #182c5050;overflow:visible}
.visit-above-brand{display:none}
.visit-screen .chrome{position:relative;top:auto;border-radius:23px 23px 0 0;padding:18px 24px;background:linear-gradient(110deg,#182c50,#2b456a)}
.chrome-title{font-size:13px;letter-spacing:.025em}.chrome-back{border:1px solid #ffffff25;border-radius:11px;background:#ffffff0d}
.visit-screen .pbar{height:4px;background:#edf1f6}.visit-screen .pfill{background:linear-gradient(90deg,#b28c30,#eddba5,#c9a84c)}
.visit-screen .qcontent{padding:30px 34px 32px;overflow:visible;min-height:420px}
.visit-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:24px}
.visit-meta .qlabel{font-size:10px;letter-spacing:.14em;color:#697c97}
.visit-count{border:1px solid #e0e6ef;background:#f6f8fb;color:#667991;padding:5px 11px;border-radius:20px;font-size:11px;font-variant-numeric:tabular-nums}
.qhead{font:600 clamp(25px,3vw,31px)/1.25 Inter,system-ui,sans-serif;letter-spacing:-.04em;margin-bottom:14px;color:#182c50}
.qsub{font-size:13px;line-height:1.75;color:#6b778a;margin-bottom:22px}
.opts{flex:0;gap:10px}.visit-screen .opt{padding:16px 18px;border:1px solid #e0e6ee;border-radius:13px;min-height:56px;font-size:14px;box-shadow:0 3px 10px -8px #182c5030}
.visit-screen .opt:not(.sel):hover{background:#f3f6fa;border-color:#9bafca}.visit-screen .opt.sel{background:#fcf8ec;border-color:#bea052;box-shadow:inset 0 0 0 1px #bea05220}
.visit-screen .ocheck{width:20px;height:20px;border-radius:50%;border-width:1px;margin-left:12px}
.visit-screen .opt.sel .ocheck{background:#182c50;border-color:#182c50;color:#fff}.visit-screen .opt.sel .ocheck:empty::after{content:'✓';font-size:12px}
.finp{min-height:56px;border:1px solid #d9e2ec;border-radius:13px;background:#f8fafc;padding:16px;font-size:16px}
.visit-screen .btn-go{background:var(--metal);background-size:210% 100%;color:#20180a;border-radius:13px;margin-top:26px;min-height:54px;font-size:14px;box-shadow:0 10px 25px -17px #9d7a23}
.visit-screen .btn-go:hover{background-position:90% 0}.hair-stage-grid{gap:14px}.visit-screen .hair-stage-option{padding:0}.hair-stage-photo{aspect-ratio:1/1}.hair-stage-label{font-size:12px;padding:12px}.photo-grid{gap:12px}
.intro-cta:focus-visible,.assessment-brand:focus-visible{outline:3px solid #c9a84c;outline-offset:5px}
@media(max-width:720px){#app{padding:96px 16px 28px}.assessment-brand{top:22px}.assessment-brand img{width:190px}#svisit.screen{margin:12px 0;border-radius:22px}.visit-screen .qcontent{padding:26px 22px}.visit-screen .chrome{padding:14px 20px;border-radius:21px 21px 0 0}.qhead{font-size:26px}.hair-stage-grid{gap:10px}.hair-stage-label{padding:10px 8px}.visit-screen .ocheck{margin-left:5px}}
@media(prefers-reduced-motion:reduce){.screen.fade-in{animation:none}.visit-screen .pfill,.visit-screen .opt,.visit-screen .btn-go{transition:none}}

/* Keep the original welcome card over the shared questionnaire background. */
#app:has(#s0.active){padding:0}
#app:has(#s0.active)>.assessment-brand{display:none}

/* A quieter, more deliberate date picker. */
.dob-calendar{margin-top:12px;padding:18px;border-radius:20px;border:1px solid #dce4ef;background:linear-gradient(145deg,#fff,#f4f7fb);box-shadow:0 16px 40px -24px #182c5060}
.dob-calendar-head{padding:18px;border-radius:14px;background:linear-gradient(120deg,#182c50,#2c466c);margin-bottom:22px;gap:12px}
.dob-eyebrow{display:block;font-size:8px;font-weight:600;letter-spacing:.15em;color:#dcc68d;margin-bottom:5px}
.dob-calendar-head strong{display:block;font-size:16px;font-weight:500;letter-spacing:-.02em}
.dob-calendar-head button{flex:none;background:linear-gradient(110deg,#c9a84c,#f2e2ae);color:#182c50;border-radius:9px;padding:10px 12px;font-size:11px;box-shadow:0 3px 12px #0001}
.dob-wheel-labels{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:#6a7c95;margin-bottom:8px}
.dob-wheels{border:1px solid #e1e7ef;border-radius:14px;background:#fff;overflow:hidden}
.dob-wheels::before{background:linear-gradient(90deg,#f7efda,#fcf8ee,#f7efda);border-block:1px solid #d8be7b70;box-shadow:0 3px 15px #c9a84c12}
.dob-wheel+.dob-wheel{border-left:1px solid #e3e9f155}
.dob-wheel-option{font-size:16px;color:#8390a2;transition:color .16s ease}
.dob-wheel-option[aria-selected="true"]{color:#182c50;font-weight:650}
.dob-wheel:focus-visible{outline:2px solid #c9a84c;outline-offset:-3px;border-radius:12px}
.dob-trigger[aria-expanded="true"]{border-color:#b79a53;background:#fffdf7;box-shadow:0 0 0 3px #c9a84c18}
@media(max-width:420px){.dob-calendar{padding:12px}.dob-calendar-head{padding:14px 12px}.dob-calendar-head strong{font-size:14px}.dob-calendar-head button{font-size:10px;padding:9px}.dob-wheel-option{font-size:14px}}
@media(prefers-reduced-motion:reduce){.dob-wheel-option{transition:none}}

.visit-file-card{min-width:0;padding:18px;border:1px dashed #cbd6e4;border-radius:14px;background:#f8fafc}
.visit-file-card>label{display:block;font-size:12px;font-weight:600;color:#405675;margin-bottom:12px}
.visit-file-card input{max-width:100%;width:100%;font:11px Inter,system-ui,sans-serif;color:#687a91}
.visit-file-card input::file-selector-button{padding:9px 11px;margin-right:8px;border:1px solid #d5deeb;border-radius:8px;background:white;color:#182c50;cursor:pointer}
.visit-file-row{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;margin-top:12px;padding:10px 12px;background:#fff;border:1px solid #e1e7ef;border-radius:10px}
.visit-file-row>span{font-size:12px;color:#405675;overflow-wrap:anywhere;min-width:0}
.visit-file-remove{flex:none;display:grid;place-items:center;width:32px;height:32px;border:1px solid #e6d8d5;border-radius:8px;background:#fff7f5;color:#a34e42;font:22px/1 system-ui;cursor:pointer}
.visit-file-remove:hover{background:#fbe7e2}.visit-file-empty{font-size:11px;color:#8491a3;margin-top:12px}
@media(max-width:420px){#visit-question .photo-grid{grid-template-columns:1fr}}
