.plan-wrap{max-width:940px;padding-top:35px;padding-bottom:64px}.plan-wrap h1{font-size:clamp(1.8rem,4vw,3rem);line-height:1.5;margin:20px 0}.plan-wrap h2{font-size:clamp(1.35rem,3vw,1.9rem);line-height:1.55}.plan-eyebrow{color:#866442;font-weight:700;font-size:.9rem;letter-spacing:.05em;margin-top:30px}.plan-lead{font-size:1.15rem;line-height:1.9}.plan-notice{padding:18px 22px;background:#f3ecdf;border-left:4px solid #9b754b;border-radius:5px;margin:24px 0;font-size:.92rem;line-height:1.8}.plan-notice p{margin:7px 0}.plan-panel{background:#fffdf8;border:1px solid #d8c7ac;border-radius:18px;padding:30px;margin:30px 0;box-shadow:0 12px 32px #59452d08}.plan-progress{display:flex;justify-content:space-between;gap:14px;font-size:.9rem;color:#725b42}.plan-panel progress{width:100%;height:8px;accent-color:#8c653e;margin:16px 0 25px}.plan-panel textarea{display:block;width:100%;min-height:160px;padding:16px;background:#fff;border:1px solid #9d876c;border-radius:10px;color:#372c21;font:inherit;line-height:1.8;resize:vertical;box-sizing:border-box}.plan-counter{text-align:right;color:#74634e;font-size:.85rem}.plan-panel fieldset{border:0;padding:0;margin:0;min-width:0}.plan-panel legend{font-size:1.5rem;font-weight:700;line-height:1.6;margin-bottom:22px;width:100%}.plan-options{display:grid;gap:12px}.plan-options label{display:flex;align-items:center;gap:14px;min-height:58px;border:1px solid #cfc1ac;border-radius:10px;padding:14px 18px;background:#fff;cursor:pointer}.plan-options label:has(input:checked){border:2px solid #85613d;background:#f3ebdc;padding:13px 17px}.plan-options input{width:19px;height:19px;accent-color:#795536;flex-shrink:0}.plan-wrap :focus-visible{outline:3px solid #9a6731;outline-offset:4px}.plan-wrap [tabindex="-1"]:focus{outline:none}.plan-actions{display:flex;gap:14px;justify-content:space-between;align-items:center;margin-top:28px;flex-wrap:wrap}.plan-error{color:#9c2d22;font-weight:600;min-height:1.4em}.plan-summary{background:#f6f1e8;border-radius:12px;padding:16px 22px;margin:22px 0}.plan-summary h3{margin:0 0 10px}.plan-tool{display:grid;grid-template-columns:150px 1fr;gap:24px;align-items:start;border:1px solid #cfb897;background:#fffdf9;border-radius:15px;padding:24px;margin:20px 0}.plan-tool img{width:100%;aspect-ratio:16/10;object-fit:contain;border:1px solid #eee6d8;border-radius:8px;background:#fff}.plan-tool h3{font-size:1.65rem;margin:12px 0 4px}.plan-role{font-weight:700;color:#795839}.plan-tool .button{margin-top:12px}.plan-integration{display:inline-block;background:#f0e6d3;padding:4px 10px;font-size:.87rem;font-weight:700;border-radius:5px}.plan-single{padding:20px;background:#edf0e3;border-radius:10px}.plan-single span{display:block;font-size:.85rem;margin-top:6px}.plan-section{margin:32px 0}.plan-section h3{font-size:1.2rem}.plan-section li{line-height:1.9;margin:10px 0}.plan-cautions{padding:18px 24px;border:1px solid #d5b584;border-radius:12px}.plan-other{margin-top:48px;font-size:.9rem}.plan-wrap a:not(.button):not(.secondary){text-decoration:underline;text-underline-offset:3px}.plan-wrap button:disabled{opacity:.55;cursor:wait}.plan-wrap [hidden]{display:none!important}.choice-badge{font-size:.82rem;font-weight:700;color:#785334;background:#eee3d0;border-radius:20px;padding:5px 12px;display:inline-block}
@media(max-width:620px){.plan-wrap{padding-top:22px}.plan-panel{padding:20px 16px}.plan-progress{font-size:.8rem}.plan-tool{grid-template-columns:1fr;padding:20px;gap:14px}.plan-tool img{max-width:220px}.plan-actions>*{flex:1;min-width:130px;text-align:center}.plan-notice,.plan-cautions{padding:16px}.plan-panel legend{font-size:1.3rem}.plan-options label{padding:13px}.plan-options label:has(input:checked){padding:12px}}
.diagnosis-choices{padding-top:42px;padding-bottom:52px}.diagnosis-choices h2{font-size:clamp(1.55rem,3vw,2.1rem);text-align:center}.diagnosis-choices>p{text-align:center;color:#74614d;max-width:680px;margin:16px auto 28px}.diagnosis-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:980px;margin:auto}.diagnosis-choice-grid article{border:1px solid #ccb699;border-radius:16px;background:#fffdf8;padding:28px;display:flex;align-items:flex-start;flex-direction:column;box-shadow:0 8px 28px #6a482309}.diagnosis-choice-grid h3{font-size:1.28rem;line-height:1.6;margin:16px 0 8px}.diagnosis-choice-grid p{line-height:1.9;flex:1;margin-bottom:24px}.diagnosis-choice-grid .button{width:100%;text-align:center;box-sizing:border-box}@media(max-width:680px){.diagnosis-choice-grid{grid-template-columns:1fr;gap:18px}.diagnosis-choice-grid article{padding:24px}.diagnosis-choices{padding-top:28px;padding-bottom:30px}}
.hero-action .choice-start{margin-top:10px;width:100%;min-height:65px;justify-content:center;text-align:center;background:var(--ink);font-size:19px;border-radius:40px;padding-inline:26px;box-shadow:0 6px 25px #36291e20}@media(max-width:700px){.hero-action .choice-start{min-width:0;margin-top:4px;font-size:18px;min-height:59px}}

.advice-wrap textarea{margin-top:14px}.advice-answer{white-space:pre-wrap;line-height:1.95;font-size:1.05rem;padding:26px;background:#fffaf1;border:1px solid #d9c9b2;border-radius:14px}.advice-examples{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.advice-examples button{font:inherit;font-size:.85rem;border:1px solid #ccb79a;border-radius:20px;background:#f6eee0;color:#704a30;padding:8px 14px;cursor:pointer}.advice-wrap #advice-status{font-size:.9rem;color:#73583e}.advice-wrap .plan-tool h2{font-size:1.3rem}.advice-wrap button:disabled{cursor:not-allowed}#advice-result-title{scroll-margin-top:30px}

/* The three-question diagnosis shares the homepage's in-page start pattern. */
.plan-home{padding:60px 0;background:var(--surface);border-bottom:1px solid var(--border);scroll-margin-top:30px}
.plan-home .plan-wrap{padding-top:0;padding-bottom:0}
.plan-home #plan-intro{max-width:680px;margin:auto;text-align:center}
.plan-home #plan-intro h2{font-size:38px}
.plan-home .plan-info{max-width:620px;margin:24px auto 0;text-align:left;border:0;font-size:.9rem}
.plan-home .plan-info summary{text-align:center;padding:12px}
.plan-home .plan-info .plan-notice{margin:10px 0}
.plan-home #plan-status:empty{margin:0}
.plan-home:focus{outline:none}
@media(max-width:700px){.plan-home{padding:38px 0}.plan-home #plan-intro h2{font-size:30px}}
