/* Homepage self-reflection: keep the invitation and first question together. */
.checkin-section{padding:clamp(44px,6vw,82px) clamp(20px,6vw,96px);background:#edf5f8;scroll-margin-top:96px}
.checkin-shell{width:min(100%,1360px);margin:0 auto;display:grid;grid-template-columns:minmax(260px,.82fr) minmax(0,1.18fr);align-items:stretch;gap:clamp(20px,3vw,38px)}
.checkin-intro{min-width:0;padding:clamp(26px,4vw,48px);border-radius:8px;background:#27255f;color:#fff;overflow-wrap:anywhere}
.checkin-intro .eyebrow{color:#c5e8f7;font-size:11px;letter-spacing:.16em;margin:0 0 18px}
.checkin-intro h2{max-width:14ch;margin:0 0 20px;color:#fff;font-size:clamp(32px,3.4vw,48px);line-height:1.08;letter-spacing:-.04em}
.checkin-intro p{max-width:54ch;line-height:1.6}
.checkin-lead{font-size:18px;color:#fff}
.checkin-privacy,.checkin-skip{font-size:13px;color:#e2e2f1}
.checkin-domains-label{padding-top:12px;border-top:1px solid #ffffff40}
.checkin-domains{display:grid;grid-template-columns:1fr 1fr;gap:0 18px;list-style:none;padding:0;margin:0 0 17px}
.checkin-domains li{padding:10px 0;border-top:1px solid #ffffff3d;font-size:13px;line-height:1.4;color:#fff}
.checkin-skip{margin:0}
.survey-inline{min-width:0;padding:clamp(22px,3.5vw,42px);border:1px solid #d8d7e2;border-top:5px solid #25a7e0;border-radius:8px;background:#fff;color:#24243e;box-shadow:0 12px 34px #11152b13}
.survey-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:17px;border-bottom:1px solid #dcd9e5}
.survey-head .eyebrow{margin:0;color:#27255f}
.survey-head-note{margin:5px 0 0;font-size:13px;color:#5b596b}
.survey-head button{min-height:44px;padding:9px 13px;background:#fff;border:1px solid #bdb8ca;border-radius:4px;color:#27255f;font:inherit;font-size:14px;font-weight:700;cursor:pointer;white-space:nowrap}
.survey-head button:hover,.survey-head button:focus-visible{background:#f3f6fa}
#survey-body{min-width:0;padding-top:20px}
.question-meta{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.question-meta .fine{margin:0;color:#555368;font-size:13px;font-weight:700}
.question-meta .fine span{color:#777486;padding:0 3px}
.question-percent{color:#5b596b;font-size:12px;white-space:nowrap}
.survey-progress{height:7px;overflow:hidden;margin:13px 0 23px;border-radius:99px;background:#e3e0eb}
.survey-progress i{display:block;height:100%;border-radius:inherit;background:#25a7e0;transition:width .2s ease}
.survey-inline h2{margin:0 0 20px;color:#27255f;font-size:clamp(23px,2.4vw,31px);line-height:1.22;letter-spacing:-.025em}
.survey-scale{min-width:0;margin:0;padding:0;border:0}
.survey-scale legend{margin-bottom:12px;color:#454358;font-size:14px;font-weight:700}
.ratings{display:grid;grid-template-columns:repeat(11,minmax(0,1fr));gap:7px;margin:0}
.rating{position:relative;min-width:0;cursor:pointer}
.rating input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.rating span{display:grid;place-items:center;min-height:48px;border:1px solid #b9b6c8;border-radius:5px;background:#fff;color:#27255f;font-size:16px;font-weight:700;transition:background .15s,border-color .15s,color .15s}
.rating input:checked+span{border-color:#27255f;background:#27255f;color:#fff}
.rating input:focus-visible+span{outline:3px solid #25a7e0;outline-offset:3px}
.rating:hover span{border-color:#27255f;background:#f4f7fa}
.rating input:checked:hover+span{background:#35327a;color:#fff}
.mobile-slider{display:none}
.anchors{display:flex;justify-content:space-between;gap:20px;margin-top:12px;color:#555368;font-size:12px;line-height:1.5}
.anchors>span{display:flex;flex-direction:column;max-width:48%}
.anchors strong{color:#27255f;font-size:13px}
.anchors .anchor-right{text-align:right;align-items:flex-end}
.survey-error{min-height:0;margin:12px 0 0;color:#9c2727;font-size:14px;font-weight:700}
.survey-error:empty{display:none}
.survey-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.survey-actions .button{gap:8px;min-height:48px;padding:12px 18px;cursor:pointer;font:inherit;font-weight:700}
.survey-actions .button.secondary{background:#fff;color:#27255f}
.survey-actions .button:disabled{opacity:.48;cursor:not-allowed}
.survey-footnote{margin:15px 0 0;color:#5b596b;font-size:12px;line-height:1.55}
.survey-source{margin:18px 0 0;padding-top:14px;border-top:1px solid #e0dce8;color:#5b596b;font-size:11px;line-height:1.55}
.survey-source a{color:#27255f;text-underline-offset:3px}
.results-intro .eyebrow{margin:0 0 9px;color:#5b596b;font-size:11px}
.results-intro h2{margin-bottom:10px}
.results-intro>p:last-child{max-width:72ch;margin:0;color:#555368;font-size:15px;line-height:1.6}
.results-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:22px}
.result-card{min-width:0;padding:17px;background:#f5f4f8;border:1px solid #e5e2ed;border-radius:6px}
.result-card-heading{display:flex;justify-content:space-between;align-items:start;gap:12px}
.result-card h3{margin:0;color:#27255f;font-size:14px;line-height:1.4}
.result-card-heading>strong{color:#27255f;font-size:21px;line-height:1;white-space:nowrap}
.result-card-heading>strong span{font-size:12px;font-weight:400}
.result-bar{height:7px;margin-top:14px;overflow:hidden;border-radius:99px;background:#dedbe7}
.result-bar i{display:block;height:100%;border-radius:inherit;background:#25a7e0}
.overall-scores{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}
.overall-scores p{display:flex;justify-content:space-between;gap:10px;margin:0;padding:14px 15px;background:#edf5f8;border-radius:5px}
.overall-scores p span{font-size:13px;color:#454358}
.overall-scores strong{color:#27255f;font-size:18px;white-space:nowrap}
.overall-scores small{font-size:12px;font-weight:400}
.scoring-details{margin-top:17px;border-top:1px solid #dedbe7;border-bottom:1px solid #dedbe7}
.scoring-details summary{padding:13px 0;color:#27255f;font-size:14px;font-weight:700;cursor:pointer}
.scoring-details p{margin:0 0 15px;color:#555368;font-size:13px;line-height:1.6}
.results-reflection{margin-top:17px;padding:15px 18px;border-left:3px solid #25a7e0;background:#edf5f8;color:#27255f}
.results-reflection strong{display:block;margin-bottom:5px}
.results-reflection p{margin:0;font-size:14px;line-height:1.5}
.preview-note{margin:18px 0 0;padding:13px 15px;background:#f5f4f8;color:#454358;font-size:12px;line-height:1.6}
.form-page{max-width:1140px;margin:0 auto;padding:clamp(35px,6vw,76px) 6%}
.form-page h1{max-width:18ch}
.form-page .lead{max-width:70ch;line-height:1.7}
.jotform-notice{background:#eef7fa;border-left:4px solid #25a7e0;padding:16px 20px;margin:24px 0;line-height:1.65}
.jotform-frame{display:block;width:100%;min-width:100%;max-width:100%;height:539px;border:0;background:#fff}
.jotform-wrap{overflow:hidden;border:1px solid #ddd9e5;border-radius:6px;background:#fff}
.jotform-fallback{margin-top:14px;font-size:14px}
.jotform-fallback a{text-underline-offset:3px}
.beta-form-disabled{padding:22px;background:#f4f3f0;border-left:4px solid #27255f;line-height:1.65}
@media(max-width:1050px){.checkin-section{padding:45px 5%}.checkin-shell{grid-template-columns:minmax(0,1fr);gap:18px}.checkin-intro{padding:30px}.survey-inline{padding:30px}.ratings{gap:7px}.rating span{min-height:48px}}
@media(max-width:700px){.checkin-section{padding:35px 5%}.checkin-shell{grid-template-columns:minmax(0,1fr);gap:14px}.checkin-intro{padding:24px 22px}.checkin-intro h2{font-size:clamp(31px,9vw,42px);max-width:15ch}.checkin-lead{font-size:16px}.checkin-domains{gap:0 12px}.checkin-domains li{font-size:12px}.survey-inline{padding:22px 18px}.survey-head{align-items:flex-start}.survey-head button{font-size:13px}.survey-inline h2{font-size:25px}.ratings{display:none}.mobile-slider{display:block}.mobile-score{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#454358;font-size:14px;font-weight:700}.mobile-score output{min-width:105px;padding:7px 11px;border-radius:5px;background:#f2f0f6;color:#27255f;text-align:center;font-size:16px;font-weight:700}.mobile-score output[aria-live]{white-space:nowrap}.mobile-slider input[type=range]{display:block;width:100%;height:54px;margin:10px 0 0;padding:0;appearance:none;-webkit-appearance:none;background:transparent;cursor:pointer;touch-action:pan-y;outline-offset:2px}.mobile-slider input[type=range]:focus-visible{outline:3px solid #25a7e0;border-radius:5px}.mobile-slider input[type=range]::-webkit-slider-runnable-track{height:8px;border-radius:99px;background:#dedbe7}.mobile-slider input[type=range][data-selected=true]::-webkit-slider-runnable-track{background:linear-gradient(to right,#25a7e0 0%,#25a7e0 var(--range-progress),#dedbe7 var(--range-progress),#dedbe7 100%)}.mobile-slider input[type=range]::-moz-range-track{height:8px;border-radius:99px;background:#dedbe7}.mobile-slider input[type=range]::-moz-range-progress{height:8px;border-radius:99px;background:transparent}.mobile-slider input[type=range][data-selected=true]::-moz-range-progress{background:#25a7e0}.mobile-slider input[type=range]::-webkit-slider-thumb{width:44px;height:44px;margin-top:-18px;box-sizing:border-box;appearance:none;-webkit-appearance:none;border:3px solid #fff;border-radius:50%;background:#b9b6c8;box-shadow:0 0 0 2px #b9b6c8}.mobile-slider input[type=range][data-selected=true]::-webkit-slider-thumb{background:#25a7e0;box-shadow:0 0 0 2px #27255f}.mobile-slider input[type=range]::-moz-range-thumb{width:44px;height:44px;box-sizing:border-box;border:3px solid #fff;border-radius:50%;background:#b9b6c8;box-shadow:0 0 0 2px #b9b6c8}.mobile-slider input[type=range][data-selected=true]::-moz-range-thumb{background:#25a7e0;box-shadow:0 0 0 2px #27255f}.mobile-slider-hint{margin:0;color:#5b596b;font-size:12px;line-height:1.5}.anchors{margin-top:12px}.results-grid{grid-template-columns:1fr}.result-card{padding:15px}.overall-scores{grid-template-columns:1fr}.survey-actions .button{flex:1 1 140px}}
@media(max-width:370px){.checkin-section{padding-left:12px;padding-right:12px}.checkin-intro{padding:22px 18px}.survey-inline{padding:19px 14px}.survey-actions{gap:8px}.survey-actions .button{padding:10px 12px;font-size:14px}}
@media(prefers-reduced-motion:reduce){.survey-progress i,.rating span{transition:none}}
