.diagnostic-page .site-header{background:rgba(246,248,248,.96)}
.diag-hero{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(45px,6vw,100px);align-items:start;padding:clamp(70px,8vw,120px) clamp(22px,7vw,112px);position:relative;color:white;background:radial-gradient(circle at 18% 22%,rgba(21,87,255,.32),transparent 30%),linear-gradient(135deg,#07131d 0%,#0b2435 70%,#0a1823 100%);overflow:hidden}
.diag-hero:before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:58px 58px;mask-image:linear-gradient(90deg,black,transparent 70%);pointer-events:none}
.diag-intro,.diag-card{position:relative;z-index:1}
.diag-intro{position:sticky;top:130px}
.diag-intro h1{font:600 clamp(48px,5.6vw,82px)/.96 var(--display);letter-spacing:-.055em;margin:0}
.diag-intro h1 em{font-style:normal;color:var(--cyan)}
.diag-lead{max-width:540px;margin:30px 0 40px;color:#b2c2cc;font-size:clamp(16px,1.25vw,19px)}
.diag-promises{display:grid;grid-template-columns:repeat(3,1fr);max-width:540px;margin:0;padding:0;list-style:none;border-top:1px solid rgba(255,255,255,.16)}
.diag-promises li{padding:20px 18px 0 0}
.diag-promises li+li{padding-left:18px;border-left:1px solid rgba(255,255,255,.16)}
.diag-promises b{display:block;font:600 30px var(--display);letter-spacing:-.04em;color:white}
.diag-promises span{font-size:11px;color:#8ea3b0}

.diag-card{background:var(--paper);color:var(--ink);padding:clamp(24px,3.4vw,46px);box-shadow:0 35px 90px rgba(0,0,0,.34);scroll-margin-top:100px}
.diag-progress{position:absolute;inset:0 0 auto;height:4px;background:rgba(7,18,27,.08)}
.diag-progress i{display:block;height:100%;width:20%;background:linear-gradient(90deg,var(--blue),var(--cyan));transition:width .35s ease}
.diag-steps{display:flex;gap:6px;margin:0 0 34px;padding:0;list-style:none;counter-reset:step}
.diag-steps li{flex:1;counter-increment:step;font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#93a1aa;padding-top:10px;border-top:2px solid var(--line)}
.diag-steps li:before{content:'0' counter(step) ' ';color:inherit}
.diag-steps li.is-current{color:var(--blue);border-color:var(--blue)}
.diag-steps li.is-done{color:var(--ink);border-color:var(--ink)}

.diag-step{border:0;margin:0;padding:0;min-width:0}
.diag-step legend{font:600 clamp(26px,2.4vw,36px)/1.08 var(--display);letter-spacing:-.04em;margin:0 0 8px;padding:0}
.diag-help{margin:0 0 22px;color:var(--muted);font-size:14px}
.diag-label{margin:28px 0 12px;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#395260}
.diag-step legend+.diag-label{margin-top:18px}

.choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.check-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.pill-row{display:flex;flex-wrap:wrap;gap:8px}
.choice,.pill,.check{position:relative;cursor:pointer}
.choice input,.pill input,.check input{position:absolute;opacity:0;pointer-events:none}
.choice span{display:flex;flex-direction:column;gap:4px;height:100%;padding:16px;background:white;border:1px solid var(--line);transition:.18s ease}
.choice b{font:600 15px/1.2 var(--display)}
.choice small{color:var(--muted);font-size:11px;line-height:1.4}
.pill span{display:inline-block;padding:10px 16px;background:white;border:1px solid var(--line);font-size:13px;font-weight:700;transition:.18s ease}
.check span{display:flex;align-items:center;gap:10px;height:100%;padding:12px 14px;background:white;border:1px solid var(--line);font-size:13px;font-weight:700;line-height:1.3;transition:.18s ease}
.check span:before{content:'';flex:0 0 16px;height:16px;border:1.5px solid #9aa8b1;border-radius:3px;background:white center/11px no-repeat}
.choice:hover span,.pill:hover span,.check:hover span{border-color:rgba(21,87,255,.45)}
.choice input:checked+span,.pill input:checked+span,.check input:checked+span{border-color:var(--blue);background:#edf3ff;box-shadow:inset 0 0 0 1px var(--blue)}
.pill input:checked+span{color:var(--blue)}
.check input:checked+span:before{background-color:var(--blue);border-color:var(--blue);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 6.5l2.5 2.5L10 3.5' fill='none' stroke='white' stroke-width='2'/%3E%3C/svg%3E")}
.choice input:focus-visible+span,.pill input:focus-visible+span,.check input:focus-visible+span{outline:2px solid var(--blue);outline-offset:2px}

.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}
.field{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:800;color:#395260}
.field small{font-weight:500;color:var(--muted)}
.field-wide{grid-column:1/-1}
.field input,.field textarea{font:500 15px var(--body);color:var(--ink);padding:13px 14px;background:white;border:1px solid var(--line);border-radius:0;resize:vertical}
.field input:focus,.field textarea:focus{outline:2px solid var(--blue);outline-offset:-1px;border-color:var(--blue)}
.consent{display:flex;gap:10px;align-items:flex-start;margin-top:18px;font-size:12px;color:var(--muted);cursor:pointer}
.consent input{margin-top:3px;accent-color:var(--blue)}
.consent a{color:var(--blue);font-weight:700}

.diag-error{margin:20px 0 0;padding:12px 14px;background:#fff1f0;border-left:3px solid #d93a2b;color:#8f2117;font-size:13px;font-weight:700}
.diag-nav{display:flex;align-items:center;gap:16px;margin-top:32px;padding-top:22px;border-top:1px solid var(--line)}
.diag-back{border:0;background:none;font:800 13px var(--body);color:var(--ink);cursor:pointer;padding:10px 0}
.diag-back:hover{color:var(--blue)}
.diag-count{font-size:11px;color:var(--muted);margin-right:auto}
.diag-back[hidden]+.diag-count{margin-left:0}
.diag-nav .button{cursor:pointer;font-family:var(--body)}

.diag-result:focus{outline:none}
.diag-result h2{font:600 clamp(32px,3vw,46px)/1.02 var(--display);letter-spacing:-.045em;margin:0 0 12px;max-width:none}
.result-summary{margin:0 0 28px;color:var(--muted);font-size:14px}
.result-cols{display:grid;grid-template-columns:1fr 1.4fr;gap:0;border-top:1px solid var(--line)}
.result-cols>div{padding:22px 24px 6px 0}
.result-cols>div+div{padding-left:24px;border-left:1px solid var(--line)}
.result-cols h3{margin:0 0 14px;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--blue)}
.result-cols ul{margin:0;padding:0;list-style:none;display:grid;gap:10px}
.result-cols li{position:relative;padding-left:20px;font-size:14px;line-height:1.45}
.result-cols li:before{content:'';position:absolute;left:0;top:7px;width:8px;height:8px;background:var(--cyan)}
.result-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;margin-top:30px;padding-top:24px;border-top:1px solid var(--line)}
.result-copy,.result-restart{border:0;background:none;font:800 13px var(--body);cursor:pointer;color:var(--ink);padding:8px 0}
.result-copy:hover,.result-restart:hover{color:var(--blue)}
.result-restart{color:var(--muted)}
.result-note{margin:16px 0 0;font-size:11px;color:var(--muted)}

.diag-next{display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(45px,8vw,110px);background:#eef4f5}
.diag-next h2{font-size:clamp(40px,4.6vw,66px)}
.diag-next h2 em{font-style:normal;color:var(--blue)}

@media(max-width:1100px){
  .diag-hero{grid-template-columns:1fr}
  .diag-intro{position:static}
  .diag-next{grid-template-columns:1fr}
}
@media(max-width:720px){
  .choice-grid{grid-template-columns:1fr 1fr}
  .check-grid{grid-template-columns:1fr 1fr}
  .field-grid{grid-template-columns:1fr}
  .result-cols{grid-template-columns:1fr}
  .result-cols>div+div{padding-left:0;border-left:0;border-top:1px solid var(--line)}
}
@media(max-width:620px){
  .diag-hero{padding:56px 16px}
  .diag-intro h1{font-size:44px}
  .diag-card{padding:24px 18px;margin:0 -4px}
  .diag-steps li{font-size:0;padding-top:8px}
  .diag-steps li:before{font-size:10px}
  .choice-grid{grid-template-columns:1fr}
  .diag-count{display:none}
  .diag-nav .button{margin-left:auto}
}
