

.page-diagnosis .cform__bars { grid-template-columns: repeat(7, minmax(0, 1fr)); }

.has-cform .page-diagnosis .cform__step { margin-top: 1.1em; }
.page-diagnosis .cform__q { margin-top: 0; }
.dx-keep { margin-top: 1.4em; }
.dx-keep[hidden] { display: none; }

.dx-opts { flex-direction: column; flex-wrap: nowrap; }
.dx-opts .chip { display: flex; }
.dx-opts .chip span { width: 100%; padding: .82em 1.1em; border-radius: 14px; }
.dx-nojs { display: none; margin-top: 1em; padding: .8em 1em; border-radius: 12px; background: #fff8e6; font-size: .9em; color: #6b4e00; }
.no-js .dx-nojs { display: block; }
.dx-skip a { font-size: 1em; font-weight: 400; border-bottom: 1px solid rgba(255, 255, 255, .5); }

.dx-result { outline: none; word-break: auto-phrase; }
.dx-result[hidden], .dx-plus[hidden], .dx-block[hidden] { display: none; }
.dx-result__label { font-family: var(--font-mono); font-size: .78em; letter-spacing: .08em; color: var(--c-sub); }
.dx-result__stage { margin-top: .25em; font-size: 2.2em; line-height: 1.3; font-weight: 500; letter-spacing: -.01em; color: var(--c-blue); }
.dx-result__stage small { display: block; font-family: var(--font-mono); font-size: .36em; font-weight: 500; letter-spacing: .12em; color: var(--c-sub); }
.dx-result__text { margin-top: .7em; max-width: 36em; }

.dx-track { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .5em; margin: 1.6em 0 0; padding: 0; list-style: none; }
.dx-track li { padding: .8em .95em .9em; border-radius: 14px; background: #f3f4fa; color: var(--c-sub); font-size: .86em; line-height: 1.5; }
.dx-track li b { display: block; font-family: var(--font-mono); font-size: .82em; font-weight: 500; letter-spacing: .08em; }
.dx-track li em { display: block; margin-top: .35em; font-style: normal; font-size: .84em; }
.dx-track li.is-done { background: #e9edff; color: #1b2a9c; }
.dx-track li.is-here { background: var(--c-blue); color: #fff; }
.dx-track li.is-reach { box-shadow: inset 0 0 0 2px var(--c-blue); color: #1b2a9c; }

.dx-plus { margin-top: 1.2em; padding: 1em 1.15em; border-radius: 14px; background: #e9edff; color: #1b2a9c; }
.dx-plus b { display: block; font-weight: 500; }
.dx-plus ul { margin: .3em 0; padding: 0; list-style: none; }
.dx-plus li::before { content: "✓ "; font-weight: 700; }

.dx-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.4em 2.2em; margin-top: 1.9em; }
.dx-block h3, .dx-rec h3 { font-size: .82em; font-weight: 500; letter-spacing: .06em; color: var(--c-sub); }
.dx-list { margin: .5em 0 0; padding: 0; list-style: none; }
.dx-list li { position: relative; padding: .55em 0 .55em 1.5em; border-top: 1px solid rgba(0, 0, 0, .1); line-height: 1.7; }
.dx-list li:last-child { border-bottom: 1px solid rgba(0, 0, 0, .1); }
.dx-list li::before { content: ""; position: absolute; left: .15em; top: 1.2em; width: .5em; height: .5em; border-radius: 50%; background: var(--c-blue); }
.dx-list--sub li::before { background: none; box-shadow: inset 0 0 0 1px #8a90a8; }

.dx-rec { margin-top: 1.9em; }
.dx-rec__cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(15em, 1fr)); gap: .7em; margin-top: .6em; }
.dx-rec__card { display: block; padding: 1em 1.15em 1.1em; border: 1px solid #cfd3e3; border-radius: 14px; transition: border-color .3s, background-color .3s; }
.dx-rec__card b { display: flex; align-items: center; justify-content: space-between; gap: 1em; font-size: 1.12em; font-weight: 500; line-height: 1.5; }
.dx-rec__card b::after { content: "→"; color: var(--c-blue); transition: transform .4s var(--ease); }
.dx-rec__card span { display: block; margin-top: .3em; font-size: .9em; line-height: 1.7; color: var(--c-sub); }
@media (hover: hover) { .dx-rec__card:hover { border-color: var(--c-blue); background: #f6f7ff; } .dx-rec__card:hover b::after { transform: translate3d(.25em, 0, 0); } }

.dx-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .8em 1.6em; margin-top: 2em; }
.dx-cta { margin-left: 0; background: var(--c-blue); text-decoration: none; }
@media (hover: hover) { .dx-cta:hover { background: #000; } }
.dx-again::before { content: "← "; }

@media (min-width: 813px) {
	.contact-hero.is-result .contact-hero__intro { display: none; }
	.contact-hero.is-result .contact-card { grid-column: 2 / span 10; animation: cform-in .5s var(--ease) both; }
}
@media (max-width: 812px) {

	.page-diagnosis .contact-steps, .page-diagnosis .dx-skip { display: none; }
	.page-diagnosis .contact-hero { row-gap: 1.6rem; }
	.dx-result__stage { font-size: 1.8em; }
	.dx-track { grid-template-columns: minmax(0, 1fr); gap: .35em; }
	.dx-track li { display: grid; grid-template-columns: 5.4em minmax(0, 1fr); align-items: baseline; padding: .6em .9em; }
	.dx-track li em { grid-column: 2; margin-top: 0; }
	.dx-grid { grid-template-columns: minmax(0, 1fr); }
	.dx-cta { width: 100%; justify-content: center; }
}
@media (prefers-reduced-motion: reduce) { .contact-hero.is-result .contact-card { animation: none; } }
