.diag-card{border:1px solid var(--top-line);background:#fff;border-radius:2px;position:relative;overflow:hidden;box-shadow:0 1px 2px #1f3a5f0a,0 14px 36px #1f3a5f0e}.diag-pad{padding:clamp(1.8rem,4vw,3.2rem)}.diag-decor-accent{background:var(--top-navy);width:100%;height:3px;position:absolute;top:0;left:0}.diag-eyebrow{font-family:var(--font-display);font-size:var(--fs-label);letter-spacing:.3em;color:var(--top-navy);text-transform:uppercase;font-weight:500}.diag-h3{font-family:var(--font-serif);letter-spacing:.04em;color:var(--top-ink);margin-top:.6rem;font-size:clamp(1.3rem,2.8vw,1.6rem);font-weight:600;line-height:1.6}.diag-h4{font-family:var(--font-serif);letter-spacing:.04em;color:var(--top-ink);margin-bottom:.8rem;font-size:1.18rem;font-weight:600}.diag-body{font-size:var(--fs-body);line-height:var(--lh-body);letter-spacing:.03em;color:var(--top-ink-sub)}.diag-head{margin-bottom:2rem}.diag-head .diag-h3{margin-top:0;margin-bottom:.6rem}.diag-progress{background:var(--top-line);height:3px;margin-bottom:.6rem;overflow:hidden}.diag-progress-bar{background:var(--top-navy);height:100%;transition:width .5s cubic-bezier(.16,1,.3,1)}.diag-progress-count{font-size:var(--fs-note);color:var(--top-ink-faint);text-align:right;margin-bottom:2rem}.diag-question-item{border-bottom:1px solid var(--top-line);padding:1.8rem 0;transition:background-color .3s}.diag-question-item.answered{background-color:var(--top-kinari);border-radius:2px;padding-left:1rem;padding-right:1rem}.diag-question-text{font-size:var(--fs-body);line-height:var(--lh-body);letter-spacing:.03em;color:var(--top-ink);margin-bottom:1.1rem;font-weight:500}.diag-question-no{font-family:var(--font-serif);color:var(--top-navy);margin-right:.5rem;font-weight:600}.diag-choices{flex-wrap:wrap;gap:.5rem;display:flex}.diag-choice{cursor:pointer;align-items:center;display:inline-flex}.diag-choice input{opacity:0;width:0;height:0;position:absolute}.diag-choice span{font-size:var(--fs-note);letter-spacing:.04em;color:var(--top-ink-sub);border:1px solid var(--top-line);background:#fff;border-radius:2px;padding:.6rem 1.1rem;line-height:1.6;transition:border-color .25s,color .25s,background-color .25s;display:inline-block}.diag-choice:hover span{border-color:var(--top-navy);color:var(--top-navy)}.diag-choice.selected span{background:var(--top-navy);border-color:var(--top-navy);color:#fff}.diag-choice input:focus-visible+span{outline:2px solid var(--top-navy);outline-offset:2px}.diag-submit{text-align:center;margin-top:2.5rem}.diag-result-head{text-align:center;margin-bottom:2.5rem}.diag-result-top{flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(1.5rem,4vw,3rem);margin-bottom:2.5rem;display:flex}.diag-rank-circle{border:2px solid var(--top-navy);background:#fff;border-radius:50%;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;width:130px;height:130px;display:flex}.diag-rank-label{font-family:var(--font-display);font-size:var(--fs-label);text-transform:uppercase;letter-spacing:.3em;color:var(--top-navy);font-weight:500}.diag-rank-value{font-family:var(--font-serif);color:var(--top-navy);font-size:3.5rem;font-weight:600;line-height:1}.diag-score-line{font-family:var(--font-serif);color:var(--top-ink);font-size:clamp(2rem,5vw,2.8rem);font-weight:600;line-height:1}.diag-score-line span{color:var(--top-ink-faint);margin-left:.3em;font-size:.4em;font-weight:500}.diag-result-comment{max-width:680px;font-size:var(--fs-body);letter-spacing:.04em;color:var(--top-ink);margin:0 auto;line-height:2.1}.diag-advices{flex-direction:column;gap:1.6rem;max-width:680px;margin:clamp(2.5rem,5vw,3.5rem) auto 0;display:flex}.diag-advice{background:var(--top-kinari);border-left:2px solid var(--top-navy);border-radius:0 2px 2px 0;padding:clamp(1.4rem,3vw,1.9rem)}.diag-advice-head{font-family:var(--font-serif);letter-spacing:.04em;color:var(--top-navy);margin-bottom:.7rem;font-size:1.08rem;font-weight:600}.diag-advice-body{font-size:var(--fs-body);line-height:var(--lh-body);letter-spacing:.03em;color:var(--top-ink-sub)}.diag-advice-link{font-size:var(--fs-note);letter-spacing:.06em;color:var(--top-navy);border-bottom:1px solid var(--top-line);margin-top:.9rem;padding-bottom:.2rem;transition:border-color .25s;display:inline-block}.diag-advice-link:hover{border-color:var(--top-navy)}.diag-service{text-align:center;max-width:680px;margin:clamp(2.5rem,5vw,3.5rem) auto 0}.diag-service-link{font-size:var(--fs-body);letter-spacing:.08em;color:var(--top-navy);border:1px solid var(--top-line);border-radius:2px;padding:.9rem 2.2rem;transition:border-color .25s,background-color .25s;display:inline-block}.diag-service-link:hover{border-color:var(--top-navy);background:var(--top-paper)}.diag-contact{border-top:1px solid var(--top-line);text-align:center;max-width:520px;margin:clamp(3rem,6vw,4.5rem) auto 0;padding-top:clamp(2.5rem,5vw,3.5rem)}.diag-contact-lead{margin-bottom:2rem}.diag-form{text-align:left;flex-direction:column;gap:1.2rem;display:flex}.diag-form-group label{color:var(--top-ink);margin-bottom:.4rem;font-size:.9375rem;font-weight:600;display:block}.diag-input{border:1px solid var(--top-line);width:100%;color:var(--top-ink);font-size:var(--fs-body);background:#fff;border-radius:2px;padding:.75rem 1rem;line-height:1.7;transition:border-color .3s,box-shadow .3s}.diag-input:focus{border-color:var(--top-navy);outline:none;box-shadow:0 0 0 3px #1f3a5f14}.diag-error{font-size:var(--fs-note);color:#a03a3a;background:var(--top-kinari);border-left:2px solid #a03a3a;border-radius:0 2px 2px 0;padding:.8rem 1rem;line-height:1.9}.diag-redo{text-align:center;margin-top:1.6rem}.diag-redo-btn{color:var(--top-navy);font-size:var(--fs-note);cursor:pointer;background:0 0;border:none;text-decoration:underline}.diag-btn-primary{font-size:var(--fs-note);letter-spacing:.12em;background:var(--top-navy);color:#fff;border:1px solid var(--top-navy);cursor:pointer;border-radius:2px;padding:1.05rem 2.4rem;font-weight:500;transition:background-color .3s,opacity .3s;display:inline-block}.diag-btn-primary:hover:not(:disabled){background:#162943}.diag-btn-primary:disabled{opacity:.4;cursor:not-allowed}.diag-btn-full{width:100%}.diag-nav-btn{font-size:var(--fs-note);letter-spacing:.08em;color:var(--top-navy);border:1px solid var(--top-line);background:#fff;border-radius:2px;padding:.7rem 1.6rem;transition:border-color .3s,background-color .3s;display:inline-block}.diag-nav-btn:hover{border-color:var(--top-navy);background:var(--top-paper)}.diag-tabs{border-bottom:1px solid var(--top-line);gap:0;margin-bottom:clamp(1.6rem,3vw,2.2rem);display:flex}.diag-tab{font-size:var(--fs-body);letter-spacing:.08em;color:var(--top-ink-faint);background:0 0;border:none;padding:.85rem clamp(1rem,3vw,1.8rem);transition:color .3s;position:relative}.diag-tab:hover{color:var(--top-navy)}.diag-tab.is-active{color:var(--top-navy);font-weight:600}.diag-tab.is-active:after{content:"";background:var(--gold,#b9a26b);height:2px;position:absolute;bottom:-1px;left:0;right:0}@media (max-width:480px){.diag-tab{text-align:center;flex:1;padding-left:.4rem;padding-right:.4rem}}@media (max-width:600px){.diag-choices{flex-direction:column}.diag-choice span{width:100%;display:block}.diag-rank-circle{width:104px;height:104px}.diag-rank-value{font-size:2.6rem}.diag-result-comment{line-height:2}}
