.diagnosis-page{background:#f3f7f5}
.diagnosis-shell [hidden]{display:none!important}
.diagnosis-main{min-height:calc(100vh - 80px);padding:clamp(42px,6vw,76px) 0 90px;background:radial-gradient(circle at 8% 15%,rgba(245,221,228,.75),transparent 27%),radial-gradient(circle at 92% 88%,rgba(220,235,229,.9),transparent 30%),#f8faf8}
.diagnosis-shell{width:min(1120px,calc(100% - 48px));margin:0 auto}
.diagnosis-intro{min-height:650px;display:grid;grid-template-columns:1.08fr .92fr;gap:70px;align-items:center}
.intro-copy h1,.result-heading h1{margin:16px 0 24px;font-size:clamp(3rem,5.7vw,5rem);line-height:1.08;letter-spacing:-.055em}
.intro-copy h1 em{color:var(--green);font-style:normal}
.intro-copy>p:not(.eyebrow){max-width:640px;color:var(--body);font-size:1.14rem;line-height:1.8}
.intro-facts{list-style:none;display:flex;gap:12px;margin:36px 0 0;padding:0}
.intro-facts li{min-width:116px;padding:16px 18px;border:1px solid #d8e4df;border-radius:14px;background:rgba(255,255,255,.72)}
.intro-facts strong{display:block;color:var(--green);font-size:1.25rem}
.intro-facts span{color:var(--body);font-size:.82rem}
.profile-card{padding:38px;border:1px solid #dbe4e0;border-radius:24px;background:#fff;box-shadow:0 24px 70px rgba(8,60,50,.09)}
.profile-card>div+div{margin-top:24px}
.profile-card label{display:block;margin-bottom:9px;color:var(--deep-green);font-size:1rem;font-weight:700}
.profile-card select{width:100%;min-height:54px;padding:0 15px;border:1px solid #cbd7d2;border-radius:10px;background:#fff;color:var(--ink);font:inherit}
.profile-card select:focus{outline:3px solid rgba(14,90,71,.14);border-color:var(--green)}
.privacy-line{margin:22px 0;color:#74807b;font-size:.84rem}
.start-button{width:100%}
.question-view{width:min(850px,100%);min-height:650px;margin:0 auto}
.progress-row{margin:4px 0 24px}
.progress-row>div:first-child{display:flex;justify-content:space-between;gap:20px;margin-bottom:10px;color:var(--body);font-size:.86rem}
.progress-row strong{color:var(--green)}
.progress-track{height:8px;overflow:hidden;border-radius:999px;background:#dfe8e4}
.progress-track i{display:block;width:8.33%;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--green),var(--pink));transition:width .25s ease}
.question-card{padding:clamp(30px,5vw,54px);border:1px solid #dde5e1;border-radius:24px;background:#fff;box-shadow:0 22px 70px rgba(8,60,50,.08)}
.question-scene{margin:0 0 12px;color:var(--pink);font-size:.84rem;font-weight:750}
.question-card h2{margin:0 0 34px;font-size:clamp(1.65rem,3.2vw,2.45rem);line-height:1.4}
#answer-options{display:grid;gap:11px;margin:0;padding:0;border:0}
.answer-option{position:relative;display:flex;align-items:flex-start;gap:14px;padding:17px 18px;border:1px solid #d9e1dd;border-radius:12px;background:#fff;cursor:pointer;transition:border-color .18s,background .18s,transform .18s}
.answer-option:hover{border-color:#8fb7a9;background:#f6faf8;transform:translateY(-1px)}
.answer-option:has(input:checked){border-color:var(--green);background:var(--mist-green);box-shadow:0 0 0 2px rgba(14,90,71,.08)}
.answer-option input{margin-top:4px;accent-color:var(--green);width:18px;height:18px;flex:0 0 auto}
.answer-option span{font-size:1rem;line-height:1.55}
.question-note{min-height:25px;margin:20px 0 0;color:var(--green);font-size:.9rem;font-weight:650}
.question-actions{display:flex;justify-content:space-between;align-items:center;margin-top:22px}
.text-button{padding:12px 4px;border:0;background:transparent;color:var(--green);font:inherit;font-weight:700;cursor:pointer}
.text-button:disabled{opacity:.35;cursor:not-allowed}
#next-button:disabled{opacity:.35;transform:none;cursor:not-allowed}
.result-view{width:min(980px,100%);margin:0 auto}
.result-heading{padding:42px 0 46px;text-align:center}
.overall-step{display:inline-flex;padding:8px 15px;border-radius:999px;background:var(--soft-pink);color:#96364f;font-size:.84rem;font-weight:800}
.result-heading h1{font-size:clamp(2.6rem,5vw,4.25rem)}
.result-heading>p:last-child{max-width:720px;margin:0 auto;color:var(--body);font-size:1.08rem;line-height:1.8}
.journey-map{margin-bottom:24px;padding:34px;border:1px solid #dbe5e0;border-radius:24px;background:rgba(255,255,255,.88);box-shadow:0 18px 55px rgba(8,60,50,.07)}
.journey-map-head{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:30px}.journey-map-head h2{margin:.25rem 0 0;font-size:1.65rem}
.direction-copy{display:grid;grid-template-columns:auto 1fr;column-gap:9px;max-width:420px;margin:0;padding:14px 17px;border-radius:13px;background:#fff1f4;color:#713145;line-height:1.45}.direction-copy>span:first-child{grid-row:1/3;align-self:center;display:grid;width:31px;height:31px;place-items:center;border-radius:50%;background:var(--pink);color:#fff;font-size:1rem}.direction-copy strong{font-size:.78rem}.direction-copy>span:last-child{font-size:.84rem}
.growth-graph{overflow:hidden;margin:0 0 28px;border:1px solid #dfe9e4;border-radius:19px;background:linear-gradient(180deg,#fbfdfc,#f4f9f6)}.growth-graph svg{display:block;width:100%;height:auto;min-height:220px}.growth-area{fill:url(#growth-area);opacity:.75}.growth-line{fill:none;stroke:var(--green);stroke-width:5;stroke-linecap:round;stroke-dasharray:9 12}.growth-arrow{fill:none;stroke:var(--green);stroke-width:5;stroke-linecap:round;stroke-linejoin:round}.graph-point circle{fill:#fff;stroke:var(--green);stroke-width:4}.graph-point text{fill:#4f625b;font-size:14px;font-weight:750;text-anchor:middle}.growth-marker.is-ready .marker-character{animation:marker-bob 2.2s ease-in-out infinite}.marker-label rect,.marker-label path{fill:var(--pink)}.marker-label text{fill:#fff;font-size:13px;font-weight:850;text-anchor:middle}.marker-face{fill:#fff;stroke:var(--deep-green);stroke-width:4}.marker-eye{fill:var(--deep-green)}.marker-smile{fill:none;stroke:var(--deep-green);stroke-width:2.6;stroke-linecap:round}.marker-sprout{fill:#79ad98;stroke:var(--deep-green);stroke-width:2;stroke-linejoin:round}.graph-spark{fill:#e6a1b2;animation:spark-pulse 1.8s ease-in-out infinite}@keyframes marker-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes spark-pulse{0%,100%{opacity:.5;transform:scale(.78)}50%{opacity:1;transform:scale(1.05)}}
.journey-stages{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.journey-stage{position:relative;min-width:0;padding:20px 17px;border:1px solid #dce5e1;border-radius:17px;background:#f9fbfa;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.journey-stage:not(:last-child)::after{content:"→";position:absolute;z-index:2;top:42px;right:-20px;display:grid;width:25px;height:25px;place-items:center;border-radius:50%;background:#fff;color:#9aada5;font-weight:800}
.stage-visual{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;color:#7d9189}.stage-visual>span{display:grid;width:34px;height:34px;place-items:center;border-radius:50%;background:#e9efec;font-size:.72rem;font-weight:850}.stage-visual svg{width:43px;height:43px;fill:none;stroke:currentColor;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round}
.journey-stage h3{margin:0 0 8px;font-size:1.08rem}.journey-stage p{min-height:48px;margin:0;color:var(--body);font-size:.82rem;line-height:1.5}.stage-state{display:inline-flex;margin-top:16px;padding:5px 9px;border-radius:999px;background:#e9efec;color:#63746d;font-size:.7rem;font-weight:800}
.journey-stage.is-complete{border-color:#bdd4ca;background:#eef6f2}.journey-stage.is-complete .stage-visual{color:var(--green)}.journey-stage.is-complete .stage-visual>span,.journey-stage.is-complete .stage-state{background:#d7ebe2;color:var(--green)}
.journey-stage.is-current{z-index:1;border-color:var(--green);background:var(--deep-green);color:#fff;box-shadow:0 16px 34px rgba(8,60,50,.2);transform:translateY(-8px)}.journey-stage.is-current .stage-visual{color:#fff}.journey-stage.is-current .stage-visual>span{background:rgba(255,255,255,.15)}.journey-stage.is-current p{color:rgba(255,255,255,.78)}.journey-stage.is-current .stage-state{background:var(--pink);color:#fff}
.journey-stage.is-next{border:2px solid #d98ba0;background:#fff7f8}.journey-stage.is-next .stage-visual{color:#a7445e}.journey-stage.is-next .stage-visual>span,.journey-stage.is-next .stage-state{background:#f5dce3;color:#96364f}
.score-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.score-card{min-height:230px;padding:30px;border-radius:20px;color:#fff}
.score-card.dx-card{background:var(--deep-green)}
.score-card.ax-card{background:#9e405a}
.score-card>span{font-size:.82rem;font-weight:750;letter-spacing:.06em;opacity:.8}
.score-card strong{display:block;margin:24px 0 14px;font-size:clamp(1.65rem,3vw,2.3rem)}
.score-card p{margin:0;color:rgba(255,255,255,.82)}
.area-results,.action-plan{margin-top:28px;padding:36px;border:1px solid #dde5e1;border-radius:20px;background:#fff}
.result-section-head{margin-bottom:28px}.result-section-head h2,.insight-grid h2,.action-plan h2{font-size:1.55rem}
.area-bars{display:grid;gap:17px}
.area-bar-head{display:flex;justify-content:space-between;gap:16px;margin-bottom:7px;font-size:.92rem}.area-bar-head b{color:var(--deep-green)}.area-bar-head span{color:var(--body)}
.area-bar-track{height:10px;overflow:hidden;border-radius:999px;background:#e8eeeb}.area-bar-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--green),#71a895)}
.insight-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}
.insight-grid section{padding:32px;border-radius:20px;background:#fff}
.insight-grid section:last-child{background:#fff4f6}
.insight-grid ul{margin:24px 0 0;padding-left:20px}.insight-grid li{margin-top:12px}
.action-plan ol{margin:26px 0 0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:14px;counter-reset:action}
.action-plan li{counter-increment:action;padding:22px;border-radius:14px;background:var(--mist-green);line-height:1.6}
.action-plan li::before{content:"0" counter(action);display:block;margin-bottom:14px;color:var(--pink);font-size:.78rem;font-weight:800;letter-spacing:.1em}
.result-actions{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin-top:30px}
.result-footnote{max-width:720px;margin:24px auto 0;color:#75817c;font-size:.8rem;text-align:center}
@media(max-width:800px){.diagnosis-main{padding-top:36px}.diagnosis-shell{width:min(100% - 30px,1120px)}.diagnosis-intro{min-height:0;grid-template-columns:1fr;gap:34px;padding:28px 0 50px}.intro-facts{display:grid;grid-template-columns:repeat(3,1fr)}.intro-facts li{min-width:0;padding:13px}.profile-card{padding:26px}.question-view{min-height:0}.question-card{border-radius:18px}.journey-map{padding:25px}.journey-map-head{display:block}.direction-copy{max-width:none;margin-top:18px}.growth-graph{margin-bottom:22px}.growth-graph svg{min-height:150px}.journey-stages{grid-template-columns:1fr;gap:12px;padding-left:17px}.journey-stage{display:grid;grid-template-columns:72px 1fr;gap:14px}.journey-stage:not(:last-child)::after{content:"↓";top:auto;right:auto;bottom:-19px;left:38px}.stage-visual{display:block;margin:0}.stage-visual svg{display:block;margin-top:13px}.journey-stage p{min-height:0}.journey-stage.is-current{transform:translateX(5px)}.score-grid,.insight-grid{grid-template-columns:1fr}.action-plan ol{grid-template-columns:1fr}.area-results,.action-plan,.insight-grid section{padding:26px}.result-heading{padding-top:24px}}
@media(max-width:520px){.intro-copy h1{font-size:2.75rem}.intro-facts strong{font-size:1.02rem}.intro-facts span{font-size:.72rem}.question-card h2{font-size:1.55rem}.answer-option{padding:15px}.question-actions .button{width:auto}.result-actions{align-items:stretch;flex-direction:column}.result-actions .button,.result-actions .text-button{width:100%}}
@media(prefers-reduced-motion:reduce){.growth-marker.is-ready .marker-character,.graph-spark{animation:none}}
@media print{.site-header,.site-footer,.result-actions,.result-footnote{display:none!important}.diagnosis-main{padding:0;background:#fff}.diagnosis-shell{width:100%}.result-view{display:block!important}.score-card,.action-plan li{-webkit-print-color-adjust:exact;print-color-adjust:exact}.area-results,.action-plan{break-inside:avoid}}
