.checkup-page { background: #f7f9fc; }
.checkup { --cu-navy:#0b2b50; --cu-blue:#1559a8; --cu-teal:#0e8b83; --cu-line:#dce5ef; color:#263c54; font-family:'Manrope',sans-serif; }
.checkup [hidden] { display:none !important; }
.checkup-hero { position:relative; min-height:680px; overflow:hidden; background:#f7fbff; }
.checkup-hero::before { content:""; position:absolute; z-index:1; inset:0 auto 0 0; width:64%; background:linear-gradient(90deg,rgba(247,251,255,1) 0%,rgba(247,251,255,.98) 68%,rgba(247,251,255,.78) 88%,transparent 100%); pointer-events:none; }
.checkup-hero::after { content:""; position:absolute; z-index:1; inset:0; opacity:.24; background-image:linear-gradient(rgba(16,48,92,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(16,48,92,.05) 1px,transparent 1px); background-size:64px 64px; mask-image:linear-gradient(to right,#000,transparent 58%); pointer-events:none; }
.checkup-hero__media { position:absolute; inset:0 0 0 43%; overflow:hidden; clip-path:polygon(20% 0,100% 0,100% 100%,0 100%); }
.checkup-hero__media::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(225,239,249,.72) 0%,rgba(16,61,98,.04) 35%,rgba(5,35,65,.2) 100%); }
.checkup-hero__media img { width:100%; height:100%; object-fit:cover; object-position:57% center; }
.checkup-hero__grid { position:relative; z-index:2; display:grid; grid-template-columns:minmax(0,.95fr) minmax(520px,1.05fr); min-height:680px; gap:clamp(28px,4vw,60px); align-items:center; }
.checkup-hero__copy { max-width:660px; padding:62px 0 54px; }
.checkup-eyebrow { display:inline-flex; align-items:center; gap:9px; color:#089b8c; font-size:.76rem; font-weight:800; letter-spacing:.17em; }
.checkup-hero h1 { max-width:670px; margin:20px 0 14px; color:#092851; font:600 clamp(2.75rem,4.55vw,4.9rem)/.95 'Plus Jakarta Sans',sans-serif; letter-spacing:-.058em; }
.checkup-hero h1 span { display:block; color:#1266c3; }
.checkup-hero__copy>p { max-width:600px; margin:0; color:#526d89; font-size:clamp(1.02rem,1.35vw,1.22rem); line-height:1.55; }
.checkup-trust { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin:28px 0 26px; }
.checkup-trust>div { display:flex; min-width:0; gap:10px; align-items:center; }
.checkup-trust>div>span { display:grid; flex:0 0 41px; width:41px; height:41px; place-items:center; border-radius:50%; color:#0b9f91; background:#dff6f2; }
.checkup-trust p,.checkup-trust strong,.checkup-trust small { display:block; margin:0; }
.checkup-trust strong { color:#102c51; font-size:.87rem; line-height:1.25; }
.checkup-trust small { margin-top:3px; color:#6a8198; font-size:.69rem; line-height:1.3; }
.checkup-primary { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:52px; padding:0 23px; border:0; border-radius:10px; color:#fff; background:var(--cu-navy); box-shadow:0 12px 28px rgba(11,43,80,.16); font:700 .94rem 'Manrope',sans-serif; cursor:pointer; transition:background .2s,transform .2s; }
.checkup-primary:hover { background:#174d83; transform:translateY(-2px); }
.checkup-primary:focus-visible,.checkup button:focus-visible,.checkup input:focus-visible,.checkup summary:focus-visible { outline:3px solid rgba(37,99,235,.35); outline-offset:3px; }
.checkup-primary:disabled { opacity:.65; cursor:wait; transform:none; }
.checkup-hero__cta { min-width:330px; min-height:59px; border-radius:11px; font-size:1.05rem; }
.checkup-hero__notes { display:grid; gap:8px; margin-top:18px; color:#58738f; font-size:.72rem; }
.checkup-hero__notes span { display:flex; gap:8px; align-items:center; }.checkup-hero__notes svg { flex:0 0 auto; color:#527697; }.checkup-hero__notes i { font-style:normal; }
.checkup-hero__stage { position:relative; align-self:stretch; min-width:0; }
.checkup-sample-card { position:absolute; z-index:3; top:116px; left:0; width:min(470px,82%); overflow:hidden; border:1px solid rgba(255,255,255,.65); border-radius:19px; background:rgba(255,255,255,.94); box-shadow:0 26px 65px rgba(9,47,82,.2); backdrop-filter:blur(10px); }
.checkup-sample-card header { display:flex; justify-content:space-between; align-items:center; padding:19px 22px 13px; color:#102d55; }
.checkup-sample-card header>strong { font-size:.96rem; }.checkup-sample-card header>span { padding:7px 10px; border-radius:8px; color:#5f7891; background:#edf3f8; font-size:.58rem; font-weight:800; letter-spacing:.06em; }
.checkup-sample-list { margin:0 22px; border:1px solid #e7edf3; border-radius:12px; overflow:hidden; }
.checkup-sample-list>div { display:grid; grid-template-columns:35px 1fr auto; gap:10px; align-items:center; min-height:53px; padding:7px 12px; border-bottom:1px solid #e9eff4; }.checkup-sample-list>div:last-child { border:0; }
.checkup-sample-icon { display:grid; width:31px; height:31px; place-items:center; border-radius:50%; color:#1761a4; background:#f0f6fb; }
.checkup-sample-list strong { color:#173354; font-size:.79rem; }
.checkup-sample-list em { display:inline-flex; gap:6px; align-items:center; justify-content:center; min-height:28px; padding:0 10px; border-radius:8px; font-size:.67rem; font-style:normal; white-space:nowrap; }
.checkup-sample-list em.is-complete { color:#098b58; background:#e9f9f1; }.checkup-sample-list em.is-review { color:#cf7309; background:#fff4e6; }
.checkup-score { display:grid; grid-template-columns:105px 1fr; gap:18px; align-items:center; margin-top:10px; padding:12px 25px 20px; }
.checkup-score__ring { position:relative; display:grid; width:92px; height:92px; place-items:center; border-radius:50%; background:conic-gradient(#1479d2 0 74%,#e1edf6 74% 100%); }.checkup-score__ring::before { content:""; position:absolute; width:72px; height:72px; border-radius:50%; background:#fff; }.checkup-score__ring span { position:relative; z-index:1; text-align:center; }.checkup-score__ring strong,.checkup-score__ring small { display:block; }.checkup-score__ring strong { color:#0c2c52; font-size:1.65rem; line-height:1; }.checkup-score__ring small { margin-top:3px; color:#55728d; font-size:.7rem; }
.checkup-score>div:last-child>strong { color:#102d55; font-size:1rem; }.checkup-score p { margin:7px 0 0; color:#58758f; font-size:.75rem; line-height:1.5; }
.checkup-report-card { position:absolute; z-index:4; right:-35px; bottom:48px; display:grid; grid-template-columns:43px 1fr; gap:15px; width:390px; padding:23px 26px; border:1px solid rgba(255,255,255,.12); border-radius:16px; color:#fff; background:linear-gradient(135deg,rgba(11,48,80,.96),rgba(19,64,98,.92)); box-shadow:0 22px 50px rgba(4,28,52,.3); }
.checkup-report-card>span { display:grid; width:43px; height:52px; place-items:center; border-bottom:1px solid #5dbeb7; }.checkup-report-card small,.checkup-report-card strong { display:block; }.checkup-report-card small { font-size:.61rem; font-weight:800; letter-spacing:.14em; }.checkup-report-card strong { margin-top:10px; font-size:.83rem; }.checkup-report-card p { margin:8px 0 0; color:#c5d5e2; font-size:.72rem; }
.checkup-hero__label { position:absolute; z-index:2; right:2%; color:#fff; font-size:.76rem; font-weight:700; text-shadow:0 1px 5px rgba(5,35,65,.45); }.checkup-hero__label i { display:inline-block; width:7px; height:7px; margin-right:7px; border:2px solid #fff; border-radius:50%; }.checkup-hero__label--top { top:78px; right:25%; }.checkup-hero__label--mid { top:222px; }.checkup-hero__label--bottom { top:330px; right:-1%; }
.checkup-workspace { width:min(960px,calc(100% - 32px)); max-width:none; max-height:calc(100dvh - 32px); margin:auto; padding:0; border:0; border-radius:24px; overflow:visible; background:transparent; }
.checkup-workspace::backdrop { background:rgba(5,22,41,.72); backdrop-filter:blur(5px); }
.checkup-shell { position:relative; display:flex; flex-direction:column; width:100%; height:min(760px,calc(100dvh - 32px)); max-width:none; margin:auto; border:1px solid var(--cu-line); border-radius:24px; overflow:hidden; background:#fff; box-shadow:0 30px 90px rgba(4,24,45,.3); }
.checkup-modal__close { position:absolute; z-index:5; top:13px; right:14px; display:grid; width:38px; height:38px; place-items:center; border:1px solid #d5e0e9; border-radius:50%; color:#4a637a; background:#fff; box-shadow:0 3px 12px rgba(15,35,55,.08); cursor:pointer; }
.checkup-progress { display:grid; flex:0 0 auto; grid-template-columns:auto minmax(180px,1fr); gap:26px; align-items:center; padding:22px 68px 22px 28px; border-bottom:1px solid var(--cu-line); background:#f8fafc; }
.checkup-progress>div:first-child { display:flex; gap:9px; align-items:center; white-space:nowrap; }
.checkup-progress span { color:#60758a; font-size:.75rem; }
.checkup-progress strong { color:var(--cu-navy); font-size:.8rem; }
.checkup-progress__track { height:7px; overflow:hidden; border-radius:99px; background:#e4ebf2; }
.checkup-progress__track i { display:block; width:0; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--cu-teal),var(--cu-blue)); transition:width .3s ease; }
.checkup-stage { flex:1 1 auto; min-height:0; overflow-y:auto; overscroll-behavior:contain; }
.checkup-question { position:relative; padding:clamp(32px,5vw,58px); animation:cu-in .28s ease both; }
.checkup-question__count { display:block; margin-bottom:16px; color:var(--cu-teal); font:700 .78rem 'Plus Jakarta Sans',sans-serif; letter-spacing:.12em; }
.checkup-question h2 { max-width:760px; margin:0; color:var(--cu-navy); font:600 clamp(1.55rem,3vw,2.35rem)/1.25 'Plus Jakarta Sans',sans-serif; letter-spacing:-.035em; }
.checkup-question>p { max-width:680px; margin:13px 0 0; color:#63798d; line-height:1.65; }
.checkup-choices { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:30px; }
.checkup-choice { display:flex; align-items:center; gap:13px; min-height:64px; padding:14px 17px; border:1px solid #d6e0e9; border-radius:12px; color:#213b55; background:#fff; text-align:left; font:650 .91rem/1.4 'Manrope',sans-serif; cursor:pointer; transition:border-color .18s,background .18s,transform .18s; }
.checkup-choice:hover { border-color:#8eabc5; transform:translateY(-1px); }
.checkup-choice.is-selected { border-color:var(--cu-blue); background:#eef5fd; box-shadow:inset 0 0 0 1px var(--cu-blue); }
.checkup-choice__mark { flex:0 0 auto; width:19px; height:19px; border:2px solid #b7c5d2; border-radius:50%; background:#fff; box-shadow:inset 0 0 0 4px #fff; }
.checkup-choice.is-selected .checkup-choice__mark { border-color:var(--cu-blue); background:var(--cu-blue); }
.checkup-choices--multiple .checkup-choice__mark { border-radius:5px; }
.checkup-info { margin-top:22px; border:1px solid #cfe1e0; border-radius:12px; background:#f1f9f8; }
.checkup-info summary { padding:14px 17px; color:#176b67; font-weight:700; cursor:pointer; }
.checkup-info ul { margin:0; padding:0 22px 18px 38px; color:#4c6967; font-size:.87rem; line-height:1.75; }
.checkup-text-answer { margin-top:30px; }
.checkup-text-answer input,.checkup-lead input:not([type=checkbox]) { width:100%; min-height:51px; padding:0 14px; border:1px solid #ccd8e3; border-radius:9px; color:#18344f; background:#fff; font:500 .92rem 'Manrope',sans-serif; }
.checkup-question footer { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-top:34px; padding-top:21px; border-top:1px solid #edf1f5; }
.checkup-back,.checkup-next,.checkup-restart { border:0; color:#526d85; background:transparent; font:700 .85rem 'Manrope',sans-serif; cursor:pointer; }
.checkup-back:disabled { opacity:.35; cursor:default; }
.checkup-next { min-height:42px; padding:0 16px; border-radius:8px; color:#fff; background:var(--cu-blue); }
.checkup-auto-note { color:#8595a5; font-size:.74rem; }
.checkup-choices.is-invalid,.checkup-text-answer input.is-invalid { outline:2px solid #c2410c; outline-offset:5px; }
.checkup-results { padding:clamp(30px,5vw,52px); animation:cu-in .3s ease both; }
.checkup-results__hero { padding-bottom:30px; border-bottom:1px solid var(--cu-line); }
.checkup-results__hero>span,.checkup-final-cta>div>span { color:var(--cu-teal); font-size:.69rem; font-weight:800; letter-spacing:.13em; }
.checkup-results__hero h2 { margin:9px 0 12px; color:var(--cu-navy); font:600 clamp(1.7rem,3.5vw,2.8rem)/1.12 'Plus Jakarta Sans',sans-serif; letter-spacing:-.04em; }
.checkup-results__hero p { margin:0; color:#587086; line-height:1.65; }
.checkup-results__hero strong { color:var(--cu-navy); }
.checkup-result-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-top:24px; }
.checkup-result-card { padding:22px; border:1px solid var(--cu-line); border-radius:16px; background:#fff; }
.checkup-result-card__head { display:flex; gap:13px; align-items:center; margin-bottom:18px; }
.checkup-result-card__head>span { display:grid; flex:0 0 38px; width:38px; height:38px; place-items:center; border-radius:10px; color:var(--cu-blue); background:#eaf2fb; font-weight:800; }
.checkup-result-card__head small { display:block; color:#7a8ea0; font-size:.62rem; font-weight:800; letter-spacing:.12em; }
.checkup-result-card__head h3 { margin:3px 0 0; color:var(--cu-navy); font-size:1rem; }
.checkup-result-list { display:grid; gap:9px; margin:0; padding:0; list-style:none; }
.checkup-status { position:relative; padding:13px 13px 13px 17px; border-left:3px solid #7a93aa; border-radius:7px; background:#f7f9fb; }
.checkup-status>span { display:block; color:#687f93; font-size:.62rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.checkup-status strong { display:block; margin-top:3px; color:#243f58; font-size:.82rem; line-height:1.45; }
.checkup-status small { display:block; margin-top:3px; color:#688096; font-size:.72rem; line-height:1.4; }
.checkup-status--present { border-color:#15803d; background:#f0f8f3; }.checkup-status--present>span { color:#15803d; }
.checkup-status--potential { border-color:#0e8b83; background:#f0f9f8; }.checkup-status--potential>span { color:#0e766f; }
.checkup-status--review { border-color:#b7791f; background:#fdf8ef; }.checkup-status--review>span { color:#996318; }
.checkup-status--missing { border-color:#b45309; background:#fff8ef; }.checkup-status--missing>span { color:#a14a0b; }
.checkup-status--info { border-color:#2563eb; background:#f1f6fd; }.checkup-status--info>span { color:#2563eb; }
.checkup-empty { margin:0; color:#687e92; font-size:.84rem; line-height:1.65; }
.checkup-disclaimer { margin:22px 0 0; padding:15px 17px; border-radius:10px; color:#667c90; background:#f3f6f9; font-size:.76rem; line-height:1.6; }
.checkup-gate { position:relative; display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); min-height:100%; animation:cu-in .3s ease both; }
.checkup-gate__intro { padding:clamp(30px,5vw,54px); color:#fff; background:var(--cu-navy); }
.checkup-gate__intro>span { color:#77d3cb; font-size:.69rem; font-weight:800; letter-spacing:.13em; }
.checkup-gate__intro h2 { margin:13px 0 16px; color:#fff; font:600 clamp(1.55rem,3vw,2.35rem)/1.2 'Plus Jakarta Sans',sans-serif; letter-spacing:-.04em; }
.checkup-gate__intro p { margin:0; color:#c8d8e6; font-size:.88rem; line-height:1.7; }
.checkup-gate__trust { display:grid; gap:9px; margin-top:26px; color:#d9e6f0; font-size:.76rem; }
.checkup-gate__trust span { position:relative; padding-left:20px; }
.checkup-gate__trust span::before { content:'✓'; position:absolute; left:0; color:#77d3cb; font-weight:800; }
.checkup-gate__form { display:flex; align-items:center; padding:clamp(28px,5vw,50px); background:#fff; }
.checkup-gate__back { position:absolute; right:clamp(28px,5vw,50px); bottom:18px; border:0; color:#6a7f92; background:transparent; font:700 .75rem 'Manrope',sans-serif; cursor:pointer; }
.checkup-lead__grid { display:grid; grid-template-columns:1fr 1fr; gap:11px; }
.checkup-lead label { display:block; margin-bottom:5px; color:#dbe8f3; font-size:.72rem; font-weight:700; }
.checkup-consent { display:flex!important; gap:9px; align-items:flex-start; margin:13px 0!important; font-weight:500!important; line-height:1.5; }
.checkup-consent input { margin-top:3px; accent-color:#2a78c8; }.checkup-consent a { color:#fff; text-decoration:underline; }
.checkup-lead .checkup-primary { width:100%; min-height:48px; color:var(--cu-navy); background:#fff; box-shadow:none; }
.checkup-lead__status { min-height:20px; margin:9px 0 0!important; color:#dce7ef!important; font-size:.76rem!important; }
.checkup-lead__status.is-success { color:#91e4bc!important; }.checkup-lead__status.is-error { color:#ffb4a9!important; }
.checkup-gate .checkup-lead { width:100%; }
.checkup .hp-field { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; padding:0!important; opacity:0!important; pointer-events:none!important; }
.checkup-gate .checkup-lead label { color:#36516a; }
.checkup-gate .checkup-consent a { color:var(--cu-blue); }
.checkup-gate .checkup-lead .checkup-primary { color:#fff; background:var(--cu-navy); }
.checkup-gate .checkup-lead__status { color:#60758a!important; }
.checkup-gate .checkup-lead__status.is-error { color:#b42318!important; }
.checkup-restart { display:block; margin:22px auto 0; text-decoration:underline; }
.checkup-assurance { padding:30px 0; border-top:1px solid #e5ebf1; background:#f7f9fc; }
.checkup-assurance__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; overflow:hidden; border:1px solid #dfe7ee; border-radius:16px; background:#dfe7ee; }
.checkup-assurance__grid>div { padding:21px; background:#fff; }.checkup-assurance span { color:var(--cu-teal); font-size:.68rem; font-weight:800; }.checkup-assurance strong,.checkup-assurance small { display:block; }.checkup-assurance strong { margin:5px 0; color:var(--cu-navy); }.checkup-assurance small { color:#718599; font-size:.76rem; line-height:1.5; }
.checkup-page .floating-actions { opacity:0; visibility:hidden; pointer-events:none; }
@keyframes cu-in { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:none; } }
@media (max-width:1100px) { .checkup-hero__grid { grid-template-columns:minmax(0,.95fr) minmax(430px,1.05fr); gap:25px; }.checkup-hero h1 { font-size:clamp(2.65rem,4.5vw,4rem); }.checkup-sample-card { width:420px; }.checkup-report-card { right:0; width:335px; }.checkup-hero__label { display:none; } }
@media (max-width:820px) { .checkup-hero { min-height:0; }.checkup-hero::before { width:100%; background:linear-gradient(180deg,#f7fbff 0%,rgba(247,251,255,.98) 62%,rgba(247,251,255,.88) 100%); }.checkup-hero__media { inset:38% 0 0; opacity:.35; clip-path:none; }.checkup-hero__grid { grid-template-columns:1fr; min-height:0; }.checkup-hero__copy { max-width:680px; padding:48px 0 30px; }.checkup-hero__stage { min-height:520px; padding-bottom:36px; }.checkup-sample-card { position:relative; top:auto; left:auto; width:min(470px,94%); margin:15px auto 0; }.checkup-report-card { right:3%; bottom:12px; width:min(360px,86%); }.checkup-result-grid { grid-template-columns:1fr; }.checkup-gate { grid-template-columns:1fr; }.checkup-gate__intro { padding:28px; }.checkup-gate__form { padding:28px 28px 52px; } }
@media (max-width:600px) { .checkup-hero h1 { font-size:clamp(2.3rem,12vw,3.25rem); line-height:1; }.checkup-hero__copy { padding:38px 0 24px; }.checkup-hero__copy>p { font-size:.98rem; }.checkup-trust { grid-template-columns:1fr; gap:12px; margin:22px 0; }.checkup-trust>div>span { width:38px; height:38px; flex-basis:38px; }.checkup-hero__cta { width:100%; min-width:0; }.checkup-hero__notes { font-size:.68rem; }.checkup-hero__notes span { align-items:flex-start; }.checkup-hero__stage { min-height:540px; }.checkup-sample-card { width:100%; border-radius:15px; }.checkup-sample-card header { padding:15px 13px 10px; }.checkup-sample-card header>strong { font-size:.82rem; }.checkup-sample-card header>span { padding:6px 7px; font-size:.51rem; }.checkup-sample-list { margin:0 12px; }.checkup-sample-list>div { grid-template-columns:31px 1fr auto; gap:7px; padding:6px 8px; }.checkup-sample-list strong { font-size:.69rem; }.checkup-sample-list em { padding:0 7px; font-size:.56rem; }.checkup-score { grid-template-columns:88px 1fr; padding:11px 15px 17px; }.checkup-score__ring { width:78px; height:78px; }.checkup-score__ring::before { width:61px; height:61px; }.checkup-score__ring strong { font-size:1.35rem; }.checkup-report-card { right:0; bottom:12px; width:92%; padding:18px; }.checkup-workspace { width:calc(100% - 12px); max-height:calc(100dvh - 12px); border-radius:17px; }.checkup-shell { height:calc(100dvh - 12px); border-radius:17px; }.checkup-modal__close { top:10px; right:10px; width:35px; height:35px; }.checkup-progress { grid-template-columns:1fr; gap:10px; padding:14px 56px 14px 16px; }.checkup-progress>div:first-child { justify-content:space-between; }.checkup-question,.checkup-results { padding:26px 18px; }.checkup-choices { grid-template-columns:1fr; }.checkup-choice { min-height:58px; }.checkup-question footer { align-items:flex-end; }.checkup-auto-note { max-width:120px; text-align:right; }.checkup-result-grid { grid-template-columns:1fr; }.checkup-result-card { padding:18px 15px; }.checkup-gate__intro { padding:24px 18px; }.checkup-gate__form { padding:24px 18px 52px; }.checkup-lead__grid { grid-template-columns:1fr; }.checkup-gate__back { right:18px; }.checkup-assurance__grid { grid-template-columns:1fr; }.checkup-assurance__grid>div { padding:17px; } }
@media (prefers-reduced-motion:reduce) { .checkup * { scroll-behavior:auto!important; animation:none!important; transition:none!important; } }
