/* Working-style questionnaire: spacious, readable and keyboard accessible. */
.has-diagnosis .mobile-cta{display:none}
.has-diagnosis .site-footer{padding-bottom:0}
.diagnosis-main{max-width:800px;margin:0 auto;padding-top:36px;padding-bottom:72px;overflow-wrap:anywhere}
.diag-intro{max-width:650px;margin:0 auto 32px;text-align:center}
.diag-intro h1{font-size:clamp(27px,4vw,36px);line-height:1.65;font-weight:500;letter-spacing:.025em;margin:12px 0 18px}
.diag-intro p{font-size:15px;color:var(--ink-soft)}
.diag-shell{padding:36px;background:var(--paper);border:1px solid var(--line);border-radius:24px}
.diag-progress{margin-bottom:32px}
.diag-progress-label{display:flex;justify-content:space-between;gap:12px;font-size:13px;color:var(--ink-soft);margin-bottom:10px}
.diag-track{height:6px;border-radius:20px;background:var(--mint);overflow:hidden}
.diag-fill{height:100%;background:var(--green);border-radius:inherit;transition:width .2s ease}
.diagnosis-main [hidden]{display:none!important}
.diag-kicker{font-size:12px;letter-spacing:.08em;color:var(--gold);margin-bottom:8px}
.diag-question{font-size:clamp(21px,3vw,25px);font-weight:500;line-height:1.6;margin-bottom:12px}
.diag-hint,.diag-privacy,.diag-notice{font-size:13px;line-height:1.9;color:var(--ink-soft)}
.diag-hint{margin-bottom:22px}
.diag-privacy{margin-top:24px}
.diag-notice{background:var(--surface);padding:18px 20px;border-radius:14px;margin:20px 0}
#diagnosis-form fieldset{border:0;min-width:0;margin:24px 0}
#diagnosis-form legend{font-size:15px;font-weight:500;padding:0;margin-bottom:12px}
.diag-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.diag-option{display:flex;align-items:flex-start;gap:12px;min-height:60px;padding:17px 18px;border:1px solid var(--line);border-radius:14px;background:var(--paper);cursor:pointer;transition:background .15s,border-color .15s}
.diag-option:hover{background:var(--surface)}
.diag-option:has(input:checked){background:var(--mint);border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green)}
.diag-option input,.diag-check input{width:19px;height:19px;flex:0 0 19px;margin:4px 0 0;accent-color:var(--green);cursor:pointer}
.diag-option span{min-width:0}
.diag-option strong{display:block;font-size:15px;font-weight:500;line-height:1.65}
.diag-option small{display:block;font-size:12px;color:var(--ink-soft);line-height:1.75;margin-top:5px}
.diag-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:22px 0}
.diag-field{display:flex;flex-direction:column;gap:8px;min-width:0;font-size:14px}
.diag-field label{font-size:14px}
.diag-field input,.diag-field select,.diag-summary textarea{width:100%;min-width:0;border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--ink);font:inherit;font-size:16px;line-height:1.6;padding:12px 14px;min-height:48px}
.diag-field input[type=range]{padding:8px 0;accent-color:var(--green);border:0;cursor:pointer}
.diag-field small{font-size:12px;color:var(--ink-soft)}
.diag-check{display:flex;align-items:flex-start;gap:12px;min-height:44px;padding:10px 0;font-size:14px;cursor:pointer}
.diag-inline{display:flex;align-items:center;flex-wrap:wrap;gap:10px}
.diag-inline input,.diag-inline select{flex:1;min-width:90px}
.diag-time-output{font-size:18px;color:var(--green);font-weight:500}
.diag-nav{display:flex;justify-content:space-between;align-items:center;gap:14px;border-top:1px solid var(--line);margin-top:30px;padding-top:24px}
.diagnosis-main button{font:inherit;font-size:15px;line-height:1.6;cursor:pointer;min-height:48px;padding:12px 24px;border-radius:999px;border:1px solid var(--line);background:var(--paper);color:var(--ink)}
.diagnosis-main button:hover{background:var(--surface)}
.diagnosis-main .diag-next{background:var(--green);border-color:var(--green);color:#fff}
.diagnosis-main .diag-next:hover{background:var(--green-deep)}
.diag-next{margin-left:auto}
.diagnosis-main button:disabled{opacity:.5;cursor:not-allowed}
.diagnosis-main :is(button,input,select,textarea,a):focus-visible{outline:3px solid var(--gold);outline-offset:4px}
.diag-option:focus-within{outline:3px solid var(--gold);outline-offset:3px}
.diag-error{color:#984333;background:#fff3ed;border-radius:10px;padding:12px 16px;font-size:14px;margin-top:18px}
.diag-error:empty,.diag-status:empty{display:none}
.diag-result-head{text-align:center;margin-bottom:26px}
.diag-result-head h2{font-size:clamp(23px,3.5vw,29px);margin:14px 0}
.diag-result-head p{font-size:15px;color:var(--ink-soft)}
.diag-badge{display:inline-block;font-size:13px;border-radius:99px;background:var(--apricot);padding:6px 16px;color:var(--gold)}
.diag-result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:24px 0}
.diag-result-card{background:var(--surface);border-radius:16px;padding:22px;min-width:0}
.diag-result-card h3{font-size:14px;color:var(--ink-soft);font-weight:500;margin-bottom:10px}
.diag-result-card p{font-size:14px;line-height:1.8}
.diag-result-card .diag-result-value{font-size:21px;color:var(--ink);font-weight:500;line-height:1.6;margin-bottom:8px}
.diag-result-list{padding-left:21px;font-size:14px;margin:16px 0}
.diag-result-list li{margin:8px 0}
.diag-summary{margin:28px 0}
.diag-summary h3,.diag-summary label{display:block;font-size:16px;font-weight:500;margin-bottom:12px}
.diag-summary textarea{display:block;min-height:240px;resize:vertical;line-height:1.9;margin-bottom:14px}
.diag-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px;margin-top:24px}
.diag-actions .btn-line{min-height:48px;text-align:center;line-height:1.65}
.diag-reset{display:block;margin:24px auto 0}
.diag-status{font-size:13px;color:var(--green);margin-top:12px}
.diag-result-links{display:flex;flex-wrap:wrap;gap:10px 22px;font-size:14px;margin-top:24px}
.diag-result-links a{display:inline-flex;align-items:center;min-height:44px}
@media(max-width:600px){
 .diagnosis-main{padding-top:25px;padding-bottom:48px}
 .diag-intro{margin-bottom:24px;text-align:left}
 .diag-intro p{font-size:14px}
 .diag-shell{padding:24px 20px;border-radius:20px}
 .diag-options,.diag-result-grid{grid-template-columns:1fr}
 .diag-fields{gap:12px}
 .diag-option{padding:15px;min-height:58px}
 .diag-progress{margin-bottom:25px}
 .diag-result-card{padding:20px}
 .diag-actions{align-items:stretch;flex-direction:column}
 .diag-actions>*{width:100%}
 .diag-nav button{padding:12px 20px}
}
@media(max-width:360px){.diag-fields{grid-template-columns:1fr}.diag-shell{padding:22px 16px}.diagnosis-main{padding-left:16px;padding-right:16px}}
@media(prefers-reduced-motion:reduce){.diag-fill,.diag-option{transition:none}}

.diag-start{text-align:center;border-radius:24px;background:var(--surface);padding:34px}.diag-start h2{font-size:24px;margin-bottom:18px}.diag-start>p{font-size:14px;color:var(--ink-soft)}.diag-start .diag-next{margin:25px 0 0}.diag-intro .diag-inline{justify-content:center;font-size:12px;margin-top:20px}.diag-inline span{background:var(--mint);border-radius:99px;padding:4px 12px}.diag-result-head .diag-badge{margin-top:18px}#diag-result>.diag-result-card{margin:16px 0}.diag-summary>p{font-size:14px;color:var(--ink-soft);margin-bottom:18px}.diag-nav .diag-reset{margin:0}.diag-actions .diag-next{margin-left:0}.diag-question:focus,#diag-result-title:focus{outline:none}@media(max-width:600px){.diag-intro .diag-inline{justify-content:flex-start}.diag-start{padding:26px 20px}.diag-start h2{font-size:22px}.diag-nav{flex-wrap:wrap}}

.diag-shell,#diag-result{scroll-margin-top:105px}.diag-fields{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:600px){.diag-shell,#diag-result{scroll-margin-top:90px}.diag-fields{grid-template-columns:1fr}}
