:root{--orange:#f58220;--orange-dark:#db6f12;--orange-soft:#fff4e9;--ink:#2e2e2e;--text:#4c4c4c;--muted:#777;--line:#e5e5e5;--light:#f7f7f7;--white:#fff;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic",Meiryo,sans-serif;color:var(--ink)}*{box-sizing:border-box}body{margin:0;background:#fff;color:var(--ink);line-height:1.8}a{color:inherit}.disclosure{height:30px;display:flex;align-items:center;justify-content:center;font-size:11px;background:#fafafa;color:#666;border-bottom:1px solid #eee}.simple-header{background:#fff;border-bottom:1px solid #e6e6e6;position:sticky;top:0;z-index:30}.simple-header-inner{max-width:1160px;height:72px;margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between}.simple-brand{text-decoration:none;display:flex;align-items:center;gap:10px}.simple-symbol{width:36px;height:36px;border-radius:50%;background:var(--orange);color:#fff;display:grid;place-items:center;font-size:18px;font-weight:800}.simple-brand>span:last-child{display:flex;flex-direction:column}.simple-brand b{font-size:20px;line-height:1;font-weight:800}.simple-brand b span{color:var(--orange)}.simple-brand small{font-size:9px;color:#777;margin-top:4px}.simple-header nav{display:flex;gap:24px}.simple-header nav a{text-decoration:none;font-size:12px;font-weight:600;color:#555;padding:8px 0;border-bottom:2px solid transparent}.simple-header nav a:hover,.simple-header nav a.active{color:var(--orange-dark);border-bottom-color:var(--orange)}.breadcrumb{max-width:1160px;margin:0 auto;padding:14px 24px;font-size:10px;color:#777;display:flex;gap:9px}.breadcrumb a{color:#666}.planner-hero{border-top:1px solid #f4dfcd;border-bottom:1px solid #eadfda;background:#fff9f3}.planner-hero-inner{max-width:1160px;margin:0 auto;padding:54px 24px 48px}.planner-kicker{font-size:12px;color:var(--orange-dark);font-weight:700;margin:0 0 10px}.planner-hero h1{font-size:38px;line-height:1.45;letter-spacing:-.035em;margin:0 0 14px}.planner-hero p{max-width:760px;font-size:14px;color:#606060;margin:0}.planner-hero ul{display:flex;gap:18px;flex-wrap:wrap;list-style:none;margin:18px 0 0;padding:0;font-size:10px;color:#777}.planner-hero li:before{content:"✓";color:var(--orange);font-weight:800;margin-right:5px}.planner-main{max-width:1160px;margin:0 auto;padding:36px 24px 80px}.planner-notice{display:grid;grid-template-columns:100px 1fr;border:1px solid #e3e3e3;background:#fafafa;padding:14px 18px;margin-bottom:24px}.planner-notice b{font-size:12px;color:#555}.planner-notice p{font-size:11px;color:#707070;margin:0}.planner-layout{display:grid;grid-template-columns:430px 1fr;gap:24px;align-items:start}.planner-form,.planner-results{border:1px solid #ddd;background:#fff}.form-title,.result-heading{display:flex;gap:13px;align-items:center;padding:18px 20px;border-bottom:1px solid #ddd;background:#fafafa}.form-title>span,.result-heading>span{background:var(--orange);color:#fff;font-size:10px;font-weight:800;padding:5px 9px;border-radius:2px}.form-title h2,.result-heading h2{font-size:17px;margin:0}.form-title p,.result-heading p{font-size:9px;color:#777;margin:2px 0 0}.field-section{padding:22px 20px;border-bottom:1px solid #e5e5e5}.field-section:last-child{border-bottom:0}.field-section-title{display:flex;align-items:center;gap:9px;margin-bottom:16px}.field-section-title>span{width:24px;height:24px;border-radius:50%;background:var(--orange-soft);color:var(--orange-dark);display:grid;place-items:center;font-size:10px;font-weight:800}.field-section-title h3{font-size:14px;margin:0}.planner-field{display:grid;grid-template-columns:1fr 150px;align-items:center;gap:14px;margin:11px 0}.planner-field label{font-size:11px;color:#555}.planner-input-wrap{position:relative}.planner-input-wrap input{width:100%;height:42px;border:1px solid #bdbdbd;background:#fff;padding:0 45px 0 10px;font-size:12px;font-weight:700;color:#333}.planner-input-wrap input:focus{outline:none;border-color:var(--orange);box-shadow:0 0 0 2px rgba(245,130,32,.12)}.planner-input-wrap em{position:absolute;right:10px;top:10px;font-size:10px;color:#777;font-style:normal}.field-help{font-size:9px;color:#808080;line-height:1.75;margin:8px 0 0}.event-card{border:1px solid #e4e4e4;background:#fafafa;padding:12px;margin-top:10px}.event-card>b{font-size:11px}.event-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:9px}.event-grid label>span{font-size:9px;color:#777;display:block;margin-bottom:4px}.planner-results{display:grid;gap:0}.result-summary{display:grid;grid-template-columns:repeat(3,1fr);padding:20px;gap:10px}.summary-tile{border:1px solid #ddd;background:#fff;padding:15px}.summary-tile small{display:block;font-size:9px;color:#777}.summary-tile strong{font-size:20px;display:block;margin-top:5px;color:#444}.summary-tile.good{border-top:3px solid var(--orange)}.summary-tile.warn{border-top:3px solid #b95143}.summary-tile.warn strong,.negative{color:#b95143!important}.chart-card,.action-card,.assumption-card{margin:0 20px 20px;border:1px solid #ddd;background:#fff;padding:20px}.chart-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.chart-head h2{font-size:16px;margin:0}.chart-head p{font-size:9px;color:#777;margin:2px 0 0}.chart-head>b{font-size:10px;background:#fff4e9;color:#c85f0b;padding:6px 8px}.chart-wrap{height:330px;margin-top:18px;border-left:1px solid #ddd;border-bottom:1px solid #ddd;position:relative;background:repeating-linear-gradient(to top,#fff 0,#fff 65px,#eee 66px)}#lifeChart{width:100%;height:100%;overflow:visible}.chart-y-label{position:absolute;left:7px;z-index:3;font-size:8px;color:#999;background:rgba(255,255,255,.86);padding:2px 4px}.chart-y-label.top{top:6px}.chart-y-label.zero{top:50%;transform:translateY(-50%)}.chart-y-label.bottom{bottom:6px}.chart-legend{display:flex;gap:18px;flex-wrap:wrap;margin-top:11px;font-size:9px;color:#777}.chart-legend i{display:inline-block;width:18px;height:3px;background:var(--orange);vertical-align:middle;margin-right:5px}.event-list{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.event-chip{font-size:9px;color:#6b5a4d;background:#fff4e9;border:1px solid #f1dccb;padding:5px 7px}.action-card h2{font-size:16px;margin:0 0 12px}.action-list{border-top:1px solid #ddd}.action-list article{display:grid;grid-template-columns:30px 1fr;gap:11px;padding:13px 0;border-bottom:1px solid #e4e4e4}.action-list article:last-child{border-bottom:0}.action-list article>span{width:26px;height:26px;border-radius:50%;background:var(--orange-soft);color:var(--orange-dark);display:grid;place-items:center;font-size:10px;font-weight:800}.action-list b{font-size:12px}.action-list p{font-size:10px;color:#707070;line-height:1.7;margin:2px 0 5px}.action-list a{font-size:10px;color:var(--orange-dark);font-weight:700}.assumption-card b{font-size:11px}.assumption-card p{font-size:9px;color:#777;line-height:1.8;margin:4px 0 0}.simple-footer{background:#3a3a3a;color:#ddd;padding:34px 24px}.simple-footer-inner{max-width:1160px;margin:0 auto;display:flex;justify-content:space-between;gap:20px;align-items:center}.simple-footer a{font-size:10px;color:#ddd;margin-right:16px}.simple-footer small{font-size:9px;color:#999}
/* article and legal pages */
.page-hero{background:#fff9f3;border-top:1px solid #f0dfd1;border-bottom:1px solid #e8ded6;padding:52px max(24px,calc((100vw - 920px)/2)) 46px}.page-hero .kicker{font-size:11px;font-weight:700;color:var(--orange-dark)}.page-hero h1{font-size:34px;line-height:1.5;letter-spacing:-.03em;margin:10px 0 14px}.page-hero p{font-size:13px;color:#666;max-width:720px}.meta{font-size:10px;color:#888;margin-top:16px}.article-wrap{max-width:920px;margin:0 auto;padding:50px 24px 82px;display:grid;grid-template-columns:1fr 245px;gap:52px}.article-main h2{font-size:24px;line-height:1.55;margin:44px 0 15px;border-left:4px solid var(--orange);padding-left:13px}.article-main h3{font-size:17px;margin:28px 0 8px}.article-main p,.article-main li{font-size:13px;color:#4d4d4d}.article-main ul{padding-left:20px}.summary-box,.note-box,.source-box{border:1px solid #ddd;background:#fff;padding:20px 22px;margin:24px 0}.summary-box{border-top:3px solid var(--orange)}.summary-box b{display:block;margin-bottom:7px}.note-box{background:#fff8f1}.note-box strong{color:#b95b12}.source-box h3{font-size:13px;margin-top:0}.source-box a{font-size:10px;color:#bb5c14;word-break:break-all}.side-nav{position:sticky;top:92px;align-self:start;background:#fff;border:1px solid #ddd;padding:16px}.side-nav b{font-size:11px}.side-nav a{display:block;text-decoration:none;color:#666;font-size:10px;padding:8px 0;border-bottom:1px solid #eee}.article-cta{border:1px solid #f0ceb0;background:#fff6ed;padding:24px;margin-top:36px}.article-cta b{display:block;font-size:17px}.article-cta p{font-size:10px;color:#6d6d6d}.article-cta a{display:inline-block;background:var(--orange);color:#fff;text-decoration:none;font-size:10px;font-weight:700;padding:10px 14px}.legal-wrap{max-width:860px;margin:0 auto;padding:60px 24px 90px}.legal-wrap h1{font-size:30px}.legal-wrap h2{font-size:19px;margin-top:38px;border-bottom:1px solid #ddd;padding-bottom:7px}.legal-wrap p,.legal-wrap li{font-size:12px;color:#505050}.legal-updated{font-size:10px;color:#888}
@media(max-width:900px){.simple-header nav{display:none}.planner-layout{grid-template-columns:1fr}.article-wrap{grid-template-columns:1fr}.side-nav{display:none}.result-summary{grid-template-columns:1fr}.simple-footer-inner{flex-direction:column;align-items:flex-start}.planner-hero h1{font-size:32px}}
@media(max-width:560px){.simple-header-inner{height:66px;padding:0 18px}.simple-brand small{display:none}.breadcrumb{padding:11px 18px}.planner-hero-inner{padding:42px 20px}.planner-hero h1{font-size:28px}.planner-main{padding:24px 18px 60px}.planner-notice{grid-template-columns:1fr;gap:3px}.planner-field{grid-template-columns:1fr;gap:5px}.event-grid{grid-template-columns:1fr}.result-summary{padding:16px}.chart-card,.action-card,.assumption-card{margin:0 16px 16px;padding:16px}.chart-head{flex-direction:column}.chart-wrap{height:280px}.page-hero{padding:42px 20px}.page-hero h1{font-size:28px}.article-wrap{padding:38px 20px 70px}.legal-wrap{padding:48px 20px 70px}}

/* v4 usability refinements */
.planner-layout{grid-template-columns:480px 1fr;gap:28px}
.form-title{min-height:74px}.planner-reset{margin-left:auto;border:1px solid #bbb;background:#fff;color:#555;border-radius:3px;padding:9px 11px;font-size:10px;font-weight:700}.planner-reset:hover{border-color:var(--orange);color:var(--orange-dark)}
.field-section{padding:25px 24px}.field-section-title h3{font-size:15px}.planner-field{grid-template-columns:1fr 190px;gap:16px;margin:15px 0}.planner-field label{font-size:12px;font-weight:600;color:#4d4d4d}.planner-input-wrap input{height:54px;padding:0 52px 0 14px;font-size:16px;border-color:#aaa;border-radius:2px}.planner-input-wrap em{right:13px;top:14px;font-size:11px}.event-card{padding:15px}.event-card>b{font-size:12px}.event-grid{gap:12px}.event-grid label>span{font-size:10px;font-weight:600}.field-help{font-size:10px}.rate-presets{display:flex;align-items:center;gap:7px;justify-content:flex-end;margin:-4px 0 12px}.rate-presets>span{font-size:9px;color:#777;margin-right:3px}.rate-presets button{border:1px solid #c8c8c8;background:#fff;color:#555;padding:6px 10px;font-size:10px;font-weight:700;border-radius:3px}.rate-presets button:hover{border-color:var(--orange);color:var(--orange-dark);background:#fff9f3}.summary-tile strong{font-size:23px}.chart-x-axis{height:24px;position:relative;margin:4px 0 0;font-size:9px;color:#777}.chart-x-axis>span:first-child{position:absolute;left:0}.chart-x-axis>span:nth-child(2){position:absolute;transform:translateX(-50%);white-space:nowrap;color:#666;font-weight:700}.chart-x-axis>span:last-child{position:absolute;right:0}.chart-card{padding-bottom:16px}
@media(max-width:900px){.planner-layout{grid-template-columns:1fr}.planner-field{grid-template-columns:1fr 220px}}
@media(max-width:560px){.form-title{align-items:flex-start;flex-wrap:wrap}.planner-reset{margin-left:37px}.field-section{padding:22px 18px}.planner-field{grid-template-columns:1fr;gap:6px;margin:16px 0}.planner-field label{font-size:13px}.planner-input-wrap input{height:56px;font-size:18px}.planner-input-wrap em{top:15px;font-size:12px}.event-grid .planner-input-wrap input{height:54px}.rate-presets{justify-content:flex-start;flex-wrap:wrap;margin:0 0 12px}.rate-presets button{min-width:54px;padding:8px 12px}}

/* v5 practical-use refinements */
.skip-link{position:fixed;left:14px;top:-60px;z-index:9999;background:#222;color:#fff;padding:10px 14px;border-radius:3px;text-decoration:none;font-size:13px;font-weight:700}.skip-link:focus{top:12px}
a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid rgba(245,130,32,.35);outline-offset:3px}
.planner-tools{display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid #ddd;background:#fff;padding:15px 18px;margin-bottom:16px}.planner-tools>div:first-child{display:flex;flex-direction:column;gap:2px}.planner-tools b{font-size:12px;color:#444}.planner-tools span{font-size:9px;color:#777}.planner-tools span.changed{color:var(--orange-dark);font-weight:700}.planner-tool-buttons{display:flex;gap:8px;flex-wrap:wrap}.planner-tool-buttons button{border:1px solid #bbb;background:#fff;color:#4d4d4d;min-height:38px;padding:0 13px;border-radius:3px;font-size:10px;font-weight:700}.planner-tool-buttons button:hover{border-color:var(--orange);color:var(--orange-dark);background:#fff9f3}.planner-validation{border:1px solid #e2bfa3;border-left:4px solid var(--orange);background:#fff9f3;padding:13px 16px;margin-bottom:16px}.planner-validation b{font-size:11px}.planner-validation ul{margin:5px 0 0;padding-left:18px}.planner-validation li{font-size:10px;color:#6d625a}
.scenario-card{margin:0 20px 20px;border:1px solid #ddd;background:#fff;padding:20px}.scenario-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px}.scenario-head h2{font-size:16px;margin:0}.scenario-head p{font-size:9px;color:#777;margin:2px 0 0}.scenario-head>span{font-size:9px;font-weight:700;color:var(--orange-dark);background:#fff4e9;padding:5px 8px;white-space:nowrap}.scenario-table{border-top:2px solid var(--orange)}.scenario-row{display:grid;grid-template-columns:.7fr 1fr 1fr .8fr;border-bottom:1px solid #e0e0e0;align-items:center}.scenario-row>*{padding:10px 9px;font-size:10px}.scenario-row b{color:#444}.scenario-header{background:#f7f7f7;color:#666;font-weight:700}.scenario-row.current{background:#fff8f1}.scenario-row.current b{color:var(--orange-dark)}.scenario-note{font-size:9px;color:#888;margin:9px 0 0}
@media(max-width:700px){.planner-tools{align-items:flex-start;flex-direction:column}.planner-tool-buttons{width:100%}.planner-tool-buttons button{flex:1;min-width:95px}.scenario-row{grid-template-columns:.65fr 1fr 1fr .85fr}.scenario-row>*{padding:9px 5px;font-size:9px}.scenario-card{margin:0 16px 16px;padding:16px}.scenario-head{flex-direction:column;gap:6px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
@media print{
  .disclosure,.simple-header,.breadcrumb,.planner-tools,.planner-notice,.planner-validation,.planner-reset,.rate-presets,.simple-footer,.action-card,.assumption-card{display:none!important}
  body{background:#fff!important;color:#000!important}.planner-hero{background:#fff!important;border:0!important}.planner-hero-inner{padding:0 0 18px!important}.planner-main{max-width:none!important;padding:0!important}.planner-layout{display:block!important}.planner-form,.planner-results{border:0!important}.planner-form{page-break-after:always}.field-section{break-inside:avoid}.result-heading{background:#fff!important}.result-summary,.scenario-card,.chart-card{break-inside:avoid}.chart-wrap{height:260px!important}.planner-input-wrap input{border:0!important;background:transparent!important;padding-left:0!important}.planner-input-wrap em{right:0}.event-card{background:#fff!important}
}


/* v6: disclosure placement, formatted money inputs, flexible life events */
.footer-ad-note{max-width:1160px;margin:0 auto 22px;padding:12px 15px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.05);display:flex;gap:13px;align-items:flex-start;color:#d7d7d7}.footer-ad-note b{flex:0 0 auto;font-size:10px;color:#fff}.footer-ad-note span{font-size:9px;line-height:1.7;color:#bbb}.money-input{font-variant-numeric:tabular-nums;letter-spacing:.01em}.custom-events{display:grid;gap:10px}.custom-event-card{border:1px solid #e4e4e4;background:#fff;padding:14px;margin-top:10px}.custom-event-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.custom-event-head label{flex:1}.custom-event-head span{display:block;font-size:9px;color:#777;margin-bottom:4px}.custom-event-name{width:100%;height:42px;border:1px solid #bbb;background:#fff;padding:0 11px;font-size:12px;font-weight:600;color:#333}.custom-event-name:focus{outline:none;border-color:var(--orange);box-shadow:0 0 0 2px rgba(245,130,32,.12)}.remove-event-btn{border:0;background:none;color:#777;font-size:10px;text-decoration:underline;text-underline-offset:3px;padding:8px 2px}.remove-event-btn:hover{color:#b24a3f}.add-event-btn{width:100%;margin-top:12px;border:1px dashed #d28a4c;background:#fff9f3;color:var(--orange-dark);min-height:44px;font-size:11px;font-weight:700;border-radius:3px}.add-event-btn:hover{background:#fff4e9}.custom-event-card .event-grid{margin-top:12px}
@media(max-width:560px){.footer-ad-note{display:block;margin-bottom:20px}.footer-ad-note b{display:block;margin-bottom:4px}.footer-ad-note span{display:block}.custom-event-head{align-items:flex-end}.custom-event-name{height:48px;font-size:14px}.add-event-btn{min-height:50px;font-size:12px}}
@media print{.footer-ad-note,.add-event-btn,.remove-event-btn{display:none!important}}


/* v7: household, housing, education and practical workflow */
.household-mode-block{margin-top:22px;padding-top:20px;border-top:1px solid #e5e5e5}.subsection-head{display:flex;align-items:baseline;justify-content:space-between;gap:15px;margin-bottom:10px}.subsection-head b{font-size:12px}.subsection-head span{font-size:9px;color:#777}.household-mode{display:grid;grid-template-columns:1fr 1fr;border:1px solid #ccc;margin-bottom:12px}.household-mode button{min-height:42px;border:0;background:#fff;color:#555;font-size:11px;font-weight:700}.household-mode button+button{border-left:1px solid #ccc}.household-mode button.active{background:#fff4e9;color:var(--orange-dark);box-shadow:inset 0 -2px 0 var(--orange)}.partner-fields{padding:4px 0 0}.partner-fields[hidden]{display:none}.event-card-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.event-card-title>div{display:flex;flex-direction:column}.event-card-title b{font-size:12px}.event-card-title span{font-size:9px;color:#777}.tool-badge{font-size:8px!important;font-weight:700!important;color:var(--orange-dark)!important;background:#fff4e9;padding:4px 7px;white-space:nowrap}.event-grid.three-col{grid-template-columns:repeat(3,1fr)}.event-grid.two-col{grid-template-columns:1fr 1fr}.inline-result{border:1px solid #ead7c7;background:#fff9f3;padding:10px 12px;display:flex;flex-direction:column;justify-content:center}.inline-result small{font-size:9px;color:#777}.inline-result strong{font-size:15px;color:var(--orange-dark);margin:2px 0}.inline-result span{font-size:8px;color:#888}.education-plans{display:grid;gap:10px}.education-plan-row{border:1px solid #e5e5e5;background:#fff;padding:12px}.education-plan-head{display:flex;align-items:flex-end;gap:10px;margin-bottom:10px}.education-plan-head label{flex:1}.education-plan-head span{display:block;font-size:9px;color:#777;margin-bottom:4px}.education-plan-head input{width:100%;height:40px;border:1px solid #bbb;padding:0 10px;font-size:11px;font-weight:600}.planner-related-tools{margin-top:18px;padding:14px;border:1px solid #e2e2e2;background:#fafafa}.planner-related-tools>b{display:block;font-size:10px;margin-bottom:7px}.planner-related-tools>div{display:flex;gap:8px;flex-wrap:wrap}.planner-related-tools a{font-size:9px;color:var(--orange-dark);font-weight:700;background:#fff;border:1px solid #ddd;padding:7px 9px;text-decoration:none}.planning-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#ddd;border-top:1px solid #ddd;border-bottom:1px solid #ddd}.planning-metrics>div{background:#fff;padding:14px 16px}.planning-metrics small{display:block;font-size:9px;color:#777}.planning-metrics strong{display:block;font-size:16px;color:#444;margin-top:3px}.planning-metrics strong.negative{color:#b24a3f}.assumption-card>a{display:inline-block;margin-top:7px;font-size:9px;color:var(--orange-dark);font-weight:700}
@media(max-width:700px){.subsection-head{display:block}.subsection-head span{display:block;margin-top:2px}.event-grid.three-col,.event-grid.two-col{grid-template-columns:1fr}.planning-metrics{grid-template-columns:1fr}.planner-related-tools>div{display:grid}.planner-related-tools a{text-align:center}.education-plan-head{align-items:stretch;flex-direction:column}.education-plan-head .remove-event-btn{align-self:flex-start}}

.tool-main{max-width:1160px;margin:0 auto;padding:42px 24px 80px}.tool-page-hero h1{font-size:36px}.standalone-tool{border-top:3px solid var(--orange)}.standalone-tool-grid{display:grid;grid-template-columns:1fr 1fr;border:1px solid #ddd;border-top:0}.standalone-form,.standalone-result{padding:28px 30px}.standalone-form{background:#fff;border-right:1px solid #ddd}.standalone-form h2,.standalone-result h2{font-size:17px;margin:0 0 18px}.standalone-form>label{display:grid;grid-template-columns:1fr 210px;gap:18px;align-items:center;padding:12px 0;border-bottom:1px solid #eee;font-size:11px;font-weight:600}.standalone-form .planner-input-wrap input{height:50px}.standalone-result{background:#fff9f3}.big-result{padding:20px 0;border-bottom:1px solid #ead7c7}.big-result small{display:block;font-size:10px;color:#777}.big-result strong{display:block;font-size:30px;color:var(--orange-dark);margin-top:3px}.standalone-result dl{margin:14px 0}.standalone-result dl>div{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid #ead7c7}.standalone-result dt{font-size:10px;color:#777}.standalone-result dd{font-size:11px;font-weight:700;margin:0}.stress-box,.tool-callout{border:1px solid #e4cbb6;background:#fff;padding:13px 14px;margin:16px 0}.stress-box b,.tool-callout b{display:block;font-size:10px}.stress-box strong{display:block;color:#b24a3f;font-size:16px;margin:3px 0}.stress-box span,.tool-callout p{font-size:9px;color:#777;margin:0}.tool-primary-link{display:block;background:var(--orange);color:#fff;text-align:center;text-decoration:none;padding:13px 16px;font-size:11px;font-weight:700;margin-top:18px}.tool-note{font-size:9px;color:#777;margin:12px 0}.practice-intro{padding:24px 0 32px;border-bottom:1px solid #e5e5e5}.practice-intro h2{font-size:24px;margin:0 0 8px}.practice-intro p{max-width:760px;font-size:12px;color:#666}.practice-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding:36px 0}.practice-steps article{border:1px solid #ddd;border-top:3px solid var(--orange);padding:22px}.practice-steps article>span{font-size:9px;color:var(--orange-dark);font-weight:700}.practice-steps h2{font-size:18px;margin:6px 0}.practice-steps p,.practice-steps li{font-size:10px;color:#666;line-height:1.8}.practice-steps ul{padding-left:17px}.practice-steps a{font-size:10px;font-weight:700;color:var(--orange-dark)}.comparison-framework{padding:32px 0;border-top:1px solid #e5e5e5}.section-title-mini>span{font-size:10px;color:var(--orange-dark);font-weight:700}.section-title-mini h2{font-size:24px;margin:3px 0 18px}.comparison-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.comparison-grid article{border:1px solid #ddd;padding:18px;background:#fff}.comparison-grid article>b{font-size:14px}.comparison-grid dl{margin:12px 0 0}.comparison-grid dl>div{display:grid;grid-template-columns:50px 1fr;gap:8px;padding:8px 0;border-top:1px solid #eee}.comparison-grid dt{font-size:9px;color:#999}.comparison-grid dd{font-size:10px;margin:0}.ad-readiness{margin-top:18px;padding:14px 16px;background:#f7f7f7;border-left:3px solid var(--orange)}.ad-readiness b{font-size:10px}.ad-readiness p{font-size:9px;color:#777;margin:3px 0}.methodology-section{padding-bottom:20px}.methodology-summary{border-left:4px solid var(--orange);padding:2px 0 2px 18px;margin-bottom:28px}.methodology-summary h2{font-size:22px;margin:0}.methodology-summary p{font-size:11px;color:#666;max-width:800px}.method-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid #ddd;border-left:1px solid #ddd}.method-grid article{padding:20px;border-right:1px solid #ddd;border-bottom:1px solid #ddd}.method-grid article>span{font-size:9px;color:var(--orange-dark);font-weight:700}.method-grid h3{font-size:15px;margin:3px 0}.method-grid p{font-size:10px;color:#666;margin:0}.method-caution{margin-top:22px;border:1px solid #e3c2a7;background:#fff9f3;padding:16px}.method-caution b{font-size:10px}.method-caution p{font-size:9px;color:#6d625a;margin:4px 0}
@media(max-width:760px){.tool-main{padding:28px 18px 60px}.standalone-tool-grid{grid-template-columns:1fr}.standalone-form{border-right:0;border-bottom:1px solid #ddd}.standalone-form,.standalone-result{padding:22px 18px}.standalone-form>label{grid-template-columns:1fr;gap:5px}.practice-steps,.comparison-grid,.method-grid{grid-template-columns:1fr}.tool-page-hero h1{font-size:28px}}

/* v8: readability, wider financial inputs and hub pages */
body{font-size:16px}.simple-brand small{font-size:12px}.simple-header nav a{font-size:14px}.breadcrumb{font-size:12px}.planner-kicker{font-size:14px}.planner-hero p{font-size:15px}.planner-hero ul{font-size:12px}.planner-notice b{font-size:14px}.planner-notice p{font-size:13px}.planner-layout{grid-template-columns:500px 1fr}.form-title>span,.result-heading>span{font-size:12px}.form-title h2,.result-heading h2{font-size:19px}.form-title p,.result-heading p{font-size:12px}.field-section-title>span{font-size:12px}.field-section-title h3{font-size:16px}.planner-field{grid-template-columns:1fr 190px}.planner-field label{font-size:14px}.planner-input-wrap input{height:50px;padding-left:12px;padding-right:50px;font-size:16px}.planner-input-wrap em{top:13px;font-size:12px}.field-help{font-size:12px}.event-card>b{font-size:14px}.event-grid label>span{font-size:12px}.summary-tile small{font-size:12px}.chart-head p{font-size:12px}.chart-head>b{font-size:12px}.chart-y-label{font-size:11px}.chart-legend{font-size:12px}.event-chip{font-size:12px}.action-list b{font-size:14px}.action-list p{font-size:13px}.action-list a{font-size:13px}.assumption-card b{font-size:14px}.assumption-card p{font-size:12px}.simple-footer a{font-size:12px}.simple-footer small{font-size:11px}.page-hero .kicker{font-size:13px}.page-hero p{font-size:15px}.meta{font-size:12px}.article-main p,.article-main li{font-size:15px}.source-box h3{font-size:15px}.source-box a{font-size:12px}.side-nav b{font-size:13px}.side-nav a{font-size:12px}.article-cta p{font-size:13px}.article-cta a{font-size:13px}.legal-wrap p,.legal-wrap li{font-size:14px}.legal-updated{font-size:12px}
.footer-ad-note b{font-size:12px}.footer-ad-note span{font-size:12px}.custom-event-head span{font-size:12px}.custom-event-name{font-size:14px}.remove-event-btn{font-size:12px}.add-event-btn{font-size:13px}.subsection-head b{font-size:14px}.subsection-head span{font-size:12px}.household-mode button{font-size:13px}.event-card-title b{font-size:14px}.event-card-title span{font-size:12px}.tool-badge{font-size:11px!important}.inline-result small{font-size:12px}.inline-result span{font-size:11px}.education-plan-head span{font-size:12px}.education-plan-head input{font-size:14px}.planner-related-tools>b{font-size:13px}.planner-related-tools a{font-size:12px}.planning-metrics small{font-size:12px}.assumption-card>a{font-size:12px}.standalone-form>label{font-size:14px}.big-result small{font-size:12px}.standalone-result dt{font-size:12px}.standalone-result dd{font-size:13px}.stress-box b,.tool-callout b{font-size:13px}.stress-box span,.tool-callout p{font-size:12px}.tool-primary-link{font-size:13px}.tool-note{font-size:12px}.practice-intro p{font-size:14px}.practice-steps article>span{font-size:12px}.practice-steps p,.practice-steps li{font-size:13px}.practice-steps a{font-size:13px}.section-title-mini>span{font-size:12px}.comparison-grid dt{font-size:12px}.comparison-grid dd{font-size:13px}.ad-readiness b{font-size:13px}.ad-readiness p{font-size:12px}.methodology-summary p{font-size:14px}.method-grid article>span{font-size:12px}.method-grid p{font-size:13px}.method-caution b{font-size:13px}.method-caution p{font-size:12px}

.hub-main{max-width:1160px;margin:0 auto;padding:44px 24px 84px}.hub-intro{max-width:820px;margin-bottom:34px}.hub-intro h2{font-size:28px;line-height:1.5;margin:0 0 10px}.hub-intro p{font-size:15px;color:#626262;margin:0}.hub-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:28px 0 44px}.hub-card{border:1px solid #ddd;border-top:3px solid var(--orange);background:#fff;padding:22px}.hub-card>span{font-size:12px;color:var(--orange-dark);font-weight:700}.hub-card h2,.hub-card h3{font-size:19px;margin:6px 0 8px}.hub-card p,.hub-card li{font-size:14px;color:#666;line-height:1.8}.hub-card ul{padding-left:19px}.hub-card a{font-size:14px;color:var(--orange-dark);font-weight:700;text-underline-offset:3px}.hub-band{border-top:1px solid #ddd;border-bottom:1px solid #ddd;padding:28px 0;margin:36px 0}.hub-band h2{font-size:24px;margin:0 0 14px}.hub-link-list{display:grid;grid-template-columns:1fr 1fr;gap:12px}.hub-link-list a{border:1px solid #ddd;padding:17px 18px;text-decoration:none;background:#fff}.hub-link-list b{display:block;font-size:15px}.hub-link-list span{display:block;font-size:13px;color:#777;margin-top:3px}.hub-note{background:#fff9f3;border-left:4px solid var(--orange);padding:17px 18px;margin-top:28px}.hub-note b{font-size:14px}.hub-note p{font-size:13px;color:#6f6259;margin:4px 0 0}.hub-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.hub-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 18px;border-radius:3px;text-decoration:none;font-size:14px;font-weight:700}.hub-actions .primary{background:var(--orange);color:#fff}.hub-actions .secondary{border:1px solid #bbb;background:#fff}
@media(max-width:900px){.planner-layout{grid-template-columns:1fr}.hub-grid{grid-template-columns:1fr}.hub-link-list{grid-template-columns:1fr}}@media(max-width:560px){.planner-field{grid-template-columns:1fr}.hub-main{padding:30px 18px 64px}.hub-intro h2{font-size:24px}.hub-card{padding:18px}}
@media(max-width:900px){.simple-header-inner{height:auto;min-height:72px;flex-wrap:wrap;padding-top:10px}.simple-header nav{display:flex;width:100%;overflow-x:auto;gap:20px;padding:8px 0 10px;border-top:1px solid #eee;scrollbar-width:none}.simple-header nav::-webkit-scrollbar{display:none}.simple-header nav a{flex:0 0 auto;white-space:nowrap;font-size:13px}.breadcrumb{padding-top:12px}}
/* v8: remaining small-label readability */
.planner-tools b{font-size:14px}.planner-tools span{font-size:12px}.planner-tool-buttons button{font-size:13px;min-height:42px}.planner-validation b{font-size:13px}.planner-validation li{font-size:12px}.scenario-head p,.scenario-head>span{font-size:12px}.scenario-row>*{font-size:12px}.scenario-note{font-size:12px}.education-plan-head input{height:46px}.custom-event-name{height:46px}.standalone-result dd{font-size:14px}.standalone-form h2,.standalone-result h2{font-size:19px}.comparison-grid article>b{font-size:15px}.method-grid h3{font-size:17px}.planning-metrics strong{font-size:18px}
@media(max-width:700px){.scenario-row>*{font-size:11px}.planner-tool-buttons button{font-size:12px}}


/* v8 final: stronger readability in planner, tool and article pages */
.planner-layout{grid-template-columns:520px 1fr}.planner-field{grid-template-columns:1fr 210px}.planner-field label{font-size:15px}.planner-input-wrap input{font-size:17px}.field-help{font-size:13px}.form-title p,.result-heading p{font-size:13px}.summary-tile small{font-size:13px}.summary-tile strong{font-size:22px}.chart-head p{font-size:13px}.chart-legend,.event-chip{font-size:13px}.action-list p{font-size:14px}.action-list a{font-size:14px}.assumption-card p{font-size:13px}.custom-event-head span,.event-card-title span,.subsection-head span{font-size:13px}.education-plan-head span{font-size:13px}.planning-metrics small{font-size:13px}.standalone-form>label{font-size:15px}.standalone-result dt{font-size:13px}.standalone-result dd{font-size:14px}.tool-note{font-size:13px}.practice-steps p,.practice-steps li{font-size:14px}.comparison-grid dd{font-size:14px}.ad-readiness p{font-size:13px}.method-grid p{font-size:14px}.method-caution p{font-size:13px}.simple-footer a{font-size:13px}.footer-ad-note span{font-size:12px;line-height:1.8}.hub-card p,.hub-card li{font-size:15px}.hub-link-list span{font-size:14px}.hub-note p{font-size:14px}.article-main p,.article-main li{font-size:16px;line-height:1.95}.legal-wrap p,.legal-wrap li{font-size:15px}.source-box a,.side-nav a{font-size:13px}
@media(max-width:900px){.planner-layout{grid-template-columns:1fr}.planner-field{grid-template-columns:1fr 210px}}
@media(max-width:560px){.planner-field{grid-template-columns:1fr}.planner-input-wrap input{font-size:17px}.simple-footer a{font-size:12px}}
/* v8 final: remaining small labels in detailed tools */
.rate-presets>span{font-size:12px}.rate-presets button{font-size:13px}.chart-x-axis{font-size:11px}.planner-tools span{font-size:13px}.planner-tool-buttons button{font-size:13px}.planner-validation b{font-size:14px}.planner-validation li{font-size:13px}.scenario-head p,.scenario-head>span{font-size:12px}.scenario-row>*{font-size:13px}.scenario-note{font-size:12px}.tool-badge{font-size:12px!important}.inline-result small{font-size:13px}.inline-result span{font-size:12px}.planner-related-tools>b{font-size:14px}.planner-related-tools a{font-size:13px}.planning-metrics small{font-size:13px}.assumption-card>a{font-size:13px}.section-title-mini>span{font-size:12px}.method-grid article>span{font-size:12px}.method-caution b{font-size:13px}

/* v9: clearer current location + money input visibility */
.simple-header nav a.active{
  color:var(--orange-dark);
  background:var(--orange-soft);
  border-bottom-color:var(--orange);
  border-radius:4px 4px 0 0;
  padding:9px 11px 7px;
}
.breadcrumb{
  position:sticky;
  top:72px;
  z-index:25;
  max-width:none;
  padding:10px max(24px, calc((100vw - 1160px)/2 + 24px));
  background:#fff;
  border-bottom:1px solid #ececec;
  box-shadow:0 2px 8px rgba(0,0,0,.035);
  font-size:13px;
  align-items:center;
}
.breadcrumb a{font-weight:600;text-decoration:none;color:#666}.breadcrumb a:hover{color:var(--orange-dark)}
.breadcrumb span:last-child{font-weight:700;color:#2f2f2f}

/* Avoid clipping large yen values while keeping units visible */
.planner-input-wrap input{
  padding-left:14px;
  padding-right:38px;
  font-size:16px;
  font-variant-numeric:tabular-nums;
  letter-spacing:-.015em;
  min-width:0;
}
.planner-input-wrap em{right:10px;font-size:12px;background:#fff;padding-left:4px}
.housing-card .event-grid.three-col:first-of-type{grid-template-columns:.72fr 1.18fr 1.18fr}
.housing-card .event-grid.three-col:nth-of-type(2){grid-template-columns:.72fr .72fr 1.56fr}
.housing-card .planner-input-wrap input[data-money="true"]{font-size:15.5px;padding-right:34px}
.event-grid label{min-width:0}.event-grid .planner-input-wrap{min-width:0}

/* Slightly stronger page labels */
.planner-kicker{font-size:15px}.planner-hero h1{font-weight:750}.planner-hero p{font-size:16px}

@media(max-width:900px){
  .breadcrumb{top:104px;padding-left:20px;padding-right:20px}
  .simple-header nav a.active{border-radius:4px;padding:8px 10px}
}
@media(max-width:700px){
  .housing-card .event-grid.three-col:first-of-type,
  .housing-card .event-grid.three-col:nth-of-type(2){grid-template-columns:1fr}
  .housing-card .planner-input-wrap input[data-money="true"]{font-size:17px}
}
@media(max-width:560px){
  .breadcrumb{top:112px;font-size:12px;padding:9px 18px;overflow-x:auto;white-space:nowrap}
}

/* v10: main navigation / practice dropdown */
.simple-header nav{align-items:center}
.simple-header .nav-dropdown{position:relative}
.simple-header .nav-dropdown>summary{list-style:none;cursor:pointer;font-size:14px;font-weight:700;color:#555;padding:8px 10px;border-bottom:2px solid transparent;white-space:nowrap;display:flex;align-items:center;gap:5px}
.simple-header .nav-dropdown>summary::-webkit-details-marker{display:none}
.simple-header .nav-dropdown>summary:hover,.simple-header .nav-dropdown[open]>summary,.simple-header .nav-dropdown.active-group>summary{color:var(--orange-dark);background:#fff4e9;border-bottom-color:var(--orange);border-radius:4px 4px 0 0}
.simple-header .nav-dropdown>summary span{font-size:12px;transition:transform .18s ease}.simple-header .nav-dropdown[open]>summary span{transform:rotate(180deg)}
.simple-header .nav-dropdown-menu{position:absolute;top:calc(100% + 9px);left:0;width:310px;background:#fff;border:1px solid #ddd;box-shadow:0 12px 28px rgba(0,0,0,.10);padding:7px;z-index:90}
.simple-header .nav-dropdown-menu a{display:block;border:0;border-bottom:1px solid #eee;padding:11px 12px;text-decoration:none}
.simple-header .nav-dropdown-menu a:last-child{border-bottom:0}.simple-header .nav-dropdown-menu a:hover{background:#fff7ef}
.simple-header .nav-dropdown-menu b{display:block;font-size:14px;color:#333}.simple-header .nav-dropdown-menu small{display:block;font-size:12px;color:#777;margin-top:2px;line-height:1.55}
@media(max-width:900px){.simple-header .nav-dropdown{flex:0 0 auto}.simple-header .nav-dropdown-menu{left:0;width:290px}.simple-header .nav-dropdown>summary{font-size:13px}}

.comparison-detail-link{display:inline-block;margin-top:12px;color:var(--orange-dark);font-size:14px;font-weight:700;text-decoration:none}.comparison-detail-link:hover{text-decoration:underline}

/* v11: navigation clarity, natural wrapping, selectable article cards */
/* Keep active navigation white; use orange underline only. */
.simple-header nav a.active,
.simple-header nav a[aria-current="page"]{
  color:var(--orange-dark);
  background:#fff;
  border-radius:0;
  border-bottom:2px solid var(--orange);
  padding:8px 0 6px;
}
.simple-header nav a.active:hover,
.simple-header nav a[aria-current="page"]:hover{background:#fff}

/* Practice dropdown: do not introduce a filled active state or extra bold menu copy. */
.simple-header .nav-dropdown>summary{
  font-weight:600;
  background:#fff;
  border-radius:0;
}
.simple-header .nav-dropdown>summary:hover,
.simple-header .nav-dropdown[open]>summary,
.simple-header .nav-dropdown.active-group>summary{
  color:var(--orange-dark);
  background:#fff;
  border-bottom-color:var(--orange);
  border-radius:0;
}
.simple-header .nav-dropdown-menu a{font-weight:400}
.simple-header .nav-dropdown-menu b{font-weight:500}
.simple-header .nav-dropdown-menu small{font-weight:400}

/* Keep currency / compact result strings on one line when there is room. */
.summary-tile strong,
.planning-metrics strong,
.inline-result strong,
.standalone-result dd,
.house-results strong,
.scenario-row>*{
  white-space:nowrap;
  font-variant-numeric:tabular-nums;
}
.summary-tile strong{font-size:20px;letter-spacing:-.025em}
.planning-metrics strong{letter-spacing:-.02em}

/* Avoid awkward Japanese line breaks while allowing responsive wrapping. */
.planner-hero h1,
.tool-page-hero h1,
.hub-intro h2,
.hub-card h2,
.hub-card h3,
.section-head h2,
.section-title-mini h2,
.form-title h2,
.result-heading h2{
  line-break:strict;
  word-break:normal;
  text-wrap:balance;
}
.hub-card p,.hub-link-list span,.planner-hero p,.tool-page-hero p{line-break:strict;word-break:normal}

/* Article / reference links should clearly look selectable. */
.hub-link-list a{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) 22px;
  grid-template-rows:auto auto;
  column-gap:12px;
  align-items:center;
  padding:18px 44px 18px 18px;
  transition:border-color .15s ease, background .15s ease, box-shadow .15s ease;
}
.hub-link-list a b,.hub-link-list a span{grid-column:1}
.hub-link-list a::after{
  content:">";
  position:absolute;
  right:18px;
  top:50%;
  transform:translateY(-50%);
  color:var(--orange-dark);
  font-size:20px;
  font-weight:500;
  line-height:1;
}
.hub-link-list a:hover,
.hub-link-list a:focus-visible{
  border-color:var(--orange);
  background:#fffaf5;
  box-shadow:0 2px 8px rgba(0,0,0,.035);
  outline:none;
}

/* Comparison cards also signal that the detail link continues. */
.comparison-detail-link::after{content:"  >";text-decoration:none}

/* Keep short call-to-action labels intact. */
.hub-actions a,.comparison-detail-link,.planner-tool-buttons button{white-space:nowrap}

@media(max-width:900px){
  .simple-header nav a.active,
  .simple-header nav a[aria-current="page"]{padding:8px 0 6px}
}
@media(max-width:700px){
  .summary-tile strong{font-size:19px}
}
@media(max-width:560px){
  .summary-tile strong{font-size:18px}
  .hub-link-list a{padding-right:40px}
}

/* v12: definitive navigation state — white background + orange underline only */
.simple-header nav > a.active,
.simple-header nav > a[aria-current="page"],
.simple-header nav > a.active:hover,
.simple-header nav > a[aria-current="page"]:hover {
  color: var(--orange-dark);
  background: #fff !important;
  border-radius: 0 !important;
  border-bottom: 2px solid var(--orange) !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.simple-header .nav-dropdown > summary,
.simple-header .nav-dropdown > summary:hover,
.simple-header .nav-dropdown[open] > summary,
.simple-header .nav-dropdown.active-group > summary {
  background: #fff !important;
  border-radius: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.simple-header .nav-dropdown[open] > summary,
.simple-header .nav-dropdown.active-group > summary {
  color: var(--orange-dark);
  border-bottom: 2px solid var(--orange) !important;
}


/* v13: article depth + reliable practice menu behavior */
.article-toc{margin:26px 0 34px;border:1px solid #ddd;background:#fafafa;padding:20px 22px}
.article-toc>b{display:block;font-size:15px;margin-bottom:9px;color:#333}
.article-toc ol{margin:0;padding-left:23px;display:grid;gap:6px}
.article-toc a{font-size:14px;color:#555;text-decoration:none}
.article-toc a:hover{color:var(--orange-dark);text-decoration:underline}
.article-lead-points{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:24px 0}
.article-lead-points>div{border:1px solid #e2e2e2;padding:15px 16px;background:#fff}
.article-lead-points b{display:block;color:var(--orange-dark);font-size:13px;margin-bottom:4px}
.article-lead-points span{display:block;font-size:13px;line-height:1.7;color:#666}
.article-table-wrap{overflow-x:auto;margin:20px 0 28px;border:1px solid #ddd}
.article-table{width:100%;border-collapse:collapse;min-width:560px;background:#fff}
.article-table th,.article-table td{padding:12px 14px;border-bottom:1px solid #e6e6e6;border-right:1px solid #eee;text-align:left;vertical-align:top;font-size:14px;line-height:1.75}
.article-table th{background:#fafafa;color:#444;font-weight:700;white-space:nowrap}.article-table tr:last-child td{border-bottom:0}.article-table th:last-child,.article-table td:last-child{border-right:0}
.article-checklist{border:1px solid #ead7c5;background:#fffaf5;padding:20px 22px;margin:24px 0}.article-checklist>b{font-size:15px}.article-checklist ul{margin:9px 0 0}.article-checklist li{margin:5px 0}
.article-example{border-left:4px solid var(--orange);padding:15px 18px;background:#fafafa;margin:20px 0}.article-example b{font-size:15px}.article-example p{margin:5px 0 0}
.article-main h2{scroll-margin-top:130px}
@media(max-width:700px){.article-lead-points{grid-template-columns:1fr}.article-toc{padding:17px 18px}.article-table th,.article-table td{font-size:13px;padding:10px 11px}}

@media(min-width:901px){
  .simple-header .nav-dropdown:not([open]) .nav-dropdown-menu{display:none}
}

/* v14: housing money visibility + click-only practice dropdown behavior */
@media (min-width:901px){
  .planner-layout{grid-template-columns:470px minmax(0,1fr)}
}
.housing-card .housing-row{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:14px}
.housing-card .housing-row:nth-of-type(2){grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.housing-card .housing-row:nth-of-type(3){grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.housing-card .housing-row:nth-of-type(4){grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.housing-card .planner-input-wrap input[data-money="true"]{
  font-size:16px;
  letter-spacing:-.02em;
  padding-left:14px;
  padding-right:34px;
}
.housing-card .planner-input-wrap em{right:10px;background:#fff;padding-left:5px}
@media(max-width:700px){
  .housing-card .housing-row,
  .housing-card .housing-row:nth-of-type(2),
  .housing-card .housing-row:nth-of-type(3),
  .housing-card .housing-row:nth-of-type(4){grid-template-columns:1fr}
  .housing-card .planner-input-wrap input[data-money="true"]{font-size:17px}
}

/* v17 housing layout: keep maintenance field at normal input width and move monthly estimate to the next row */
.housing-card .housing-maintenance-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:14px}
.housing-card .housing-maintenance-row>label{grid-column:1}
.housing-card .housing-payment-row{grid-template-columns:minmax(0,1.28fr) minmax(0,.72fr)!important;gap:14px;margin-top:16px}
.housing-card .housing-payment-row>.inline-result{grid-column:1;width:100%}
@media(max-width:700px){
  .housing-card .housing-maintenance-row,
  .housing-card .housing-payment-row{grid-template-columns:1fr!important}
}

/* v19: trust, FAQ and comparison depth */
.faq-main{max-width:980px}
.faq-list{border-top:1px solid #ddd}
.faq-list details{border-bottom:1px solid #ddd;background:#fff}
.faq-list summary{position:relative;list-style:none;cursor:pointer;padding:22px 54px 22px 6px;font-size:17px;font-weight:700;color:#303030}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:'＋';position:absolute;right:8px;top:20px;color:var(--orange-dark);font-size:20px;font-weight:500}
.faq-list details[open] summary::after{content:'−'}
.faq-list details>div{padding:0 54px 22px 6px}
.faq-list p{font-size:15px;line-height:1.9;color:#5d5d5d;margin:0}
.comparison-depth{margin:38px 0 0;border-top:1px solid #ddd;padding-top:34px}
.comparison-depth>h2{font-size:24px;margin:0 0 10px}
.comparison-depth>p{font-size:15px;line-height:1.9;color:#666;margin:0 0 22px}
.compare-process{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #ddd;background:#fff}
.compare-process>div{padding:20px;border-right:1px solid #ddd;min-width:0}
.compare-process>div:last-child{border-right:0}
.compare-process span{display:block;color:var(--orange-dark);font-size:12px;font-weight:700;margin-bottom:8px}
.compare-process b{display:block;font-size:15px;margin-bottom:6px}
.compare-process p{font-size:13px;line-height:1.8;color:#666;margin:0}
.compare-checklist{margin:28px 0;border:1px solid #ddd;background:#fafafa;padding:22px 24px}
.compare-checklist>b{display:block;font-size:16px;margin-bottom:10px}
.compare-checklist ul{margin:0;padding-left:22px;display:grid;grid-template-columns:1fr 1fr;gap:8px 28px}
.compare-checklist li{font-size:14px;line-height:1.7;color:#555}
.compare-next{display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:2px solid var(--orange);border-bottom:1px solid #ddd;padding:20px 0;margin-top:30px}
.compare-next div b{display:block;font-size:16px;margin-bottom:4px}.compare-next div span{display:block;font-size:13px;color:#666;line-height:1.7}
.compare-next a{flex:0 0 auto;color:var(--orange-dark);font-weight:700;text-decoration:none;white-space:nowrap}
@media(max-width:800px){.compare-process{grid-template-columns:1fr}.compare-process>div{border-right:0;border-bottom:1px solid #ddd}.compare-process>div:last-child{border-bottom:0}.compare-checklist ul{grid-template-columns:1fr}.compare-next{align-items:flex-start;flex-direction:column}.faq-list summary{font-size:16px;padding-right:44px}.faq-list details>div{padding-right:10px}}

/* v20 comparison depth */
.compare-detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:24px 0}.compare-detail-grid>div{border:1px solid #ddd;background:#fff;padding:20px}.compare-detail-grid b{display:block;font-size:16px;margin-bottom:7px}.compare-detail-grid p{margin:0;font-size:14px;line-height:1.8;color:#666}.compare-table-wrap{overflow-x:auto;margin:24px 0}.compare-table{width:100%;border-collapse:collapse;background:#fff}.compare-table th,.compare-table td{border:1px solid #ddd;padding:13px 14px;text-align:left;vertical-align:top;font-size:14px;line-height:1.7}.compare-table th{background:#fafafa;font-weight:700}.compare-decision{border-left:4px solid var(--orange);background:#fff9f3;padding:18px 20px;margin:24px 0}.compare-decision b{display:block;font-size:16px;margin-bottom:6px}.compare-decision p{margin:0;font-size:14px;line-height:1.8;color:#655b54}.hub-link-list i{display:none!important}@media(max-width:760px){.compare-detail-grid{grid-template-columns:1fr}}


/* v22: readable article library, diagrams, and in-site walkthroughs */
.article-type-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:14px 0 0;color:#777;font-size:13px}
.article-type-badge{display:inline-flex;align-items:center;justify-content:center;background:#fff7ef;border:1px solid #f3cba9;color:var(--orange-dark);font-weight:700;padding:5px 10px;border-radius:2px}
.article-visual{margin:28px 0 38px;border:1px solid #e1e1e1;background:#fff;padding:24px}
.visual-heading{display:flex;align-items:center;gap:12px;margin-bottom:18px}.visual-heading>span{font-size:12px;font-weight:700;color:#fff;background:var(--orange);padding:5px 8px}.visual-heading h2{font-size:20px!important;margin:0!important;border:0!important;padding:0!important}
.visual-flow{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid #ddd}.visual-step{position:relative;padding:20px 20px 18px;min-width:0;border-right:1px solid #ddd}.visual-step:last-child{border-right:0}.visual-step>span{display:inline-flex;width:25px;height:25px;border-radius:50%;align-items:center;justify-content:center;background:#fff3e7;color:var(--orange-dark);font-weight:700;font-size:12px;margin-bottom:10px}.visual-step b{display:block;font-size:16px;margin-bottom:6px}.visual-step p{font-size:13px!important;line-height:1.75!important;color:#666;margin:0!important}.visual-note{font-size:12px!important;color:#888!important;line-height:1.7!important;margin:12px 0 0!important}
.article-deep{margin:42px 0}.article-deep h2{font-size:24px!important}.article-deep p{font-size:16px!important;line-height:2!important}.scenario-check{display:grid;grid-template-columns:150px 1fr;gap:16px;margin:20px 0;border-left:4px solid var(--orange);background:#fafafa;padding:16px 18px}.scenario-check b{font-size:14px}.scenario-check span{font-size:14px;line-height:1.8;color:#666}
.article-tool-guide{margin:44px 0;border:1px solid #e0d2c4;background:#fffaf5;padding:26px}.tool-guide-head>span{display:inline-block;color:var(--orange-dark);font-size:12px;font-weight:700;margin-bottom:7px}.tool-guide-head h2{margin:0 0 8px!important;padding:0!important;border:0!important;font-size:23px!important}.tool-guide-head p{margin:0 0 20px!important;font-size:14px!important;color:#666!important}.tool-guide-steps{display:grid;grid-template-columns:repeat(3,1fr);background:#fff;border:1px solid #ddd}.tool-guide-steps>div{padding:18px;border-right:1px solid #ddd}.tool-guide-steps>div:last-child{border-right:0}.tool-guide-steps span{display:block;color:var(--orange-dark);font-size:11px;font-weight:700;margin-bottom:7px}.tool-guide-steps b{display:block;font-size:15px;margin-bottom:6px}.tool-guide-steps p{font-size:13px!important;line-height:1.7!important;color:#666!important;margin:0!important}.tool-guide-button{display:inline-flex;align-items:center;gap:14px;margin-top:18px;background:var(--orange);color:#fff!important;text-decoration:none;font-weight:700;padding:12px 18px}.tool-guide-button span{font-size:21px;line-height:1}.tool-guide-button:hover{filter:brightness(.97)}
.article-library-intro{font-size:15px;line-height:1.9;color:#666;margin:0 0 28px}.article-library{display:grid;gap:34px}.article-library-group h3{font-size:18px;margin:0 0 13px}.article-library-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #ddd;border-left:1px solid #ddd}.article-library-card{position:relative;display:grid;grid-template-columns:auto auto 1fr;grid-template-rows:auto auto auto;align-items:center;column-gap:8px;row-gap:7px;padding:20px 52px 20px 18px;border-right:1px solid #ddd;border-bottom:1px solid #ddd;text-decoration:none;background:#fff;min-height:132px;transition:background .15s,border-color .15s}.article-library-card:hover,.article-library-card:focus-visible{background:#fffaf5;outline:none}.article-card-badge{grid-column:1;display:inline-flex;width:max-content;background:#fff3e7;color:var(--orange-dark);font-size:11px;font-weight:700;padding:4px 7px}.article-card-category{grid-column:2;font-size:11px;color:#777}.article-library-card b{grid-column:1/4;font-size:16px;line-height:1.55;color:#303030}.article-card-summary{grid-column:1/4;font-size:13px;line-height:1.65;color:#777}.article-library-card em{grid-column:1/4;font-style:normal;font-size:12px;font-weight:700;color:var(--orange-dark);margin-top:2px}.article-card-arrow{position:absolute;right:18px;top:50%;transform:translateY(-50%);font-size:24px;color:var(--orange-dark);font-weight:400}.methodology-link{display:flex;align-items:center;justify-content:space-between;margin-top:26px;padding:16px 18px;border:1px solid #ddd;color:#444;text-decoration:none;font-weight:600}.methodology-link::after{content:'›';color:var(--orange-dark);font-size:22px}.methodology-link:hover{background:#fafafa}
@media(max-width:800px){.visual-flow,.tool-guide-steps{grid-template-columns:1fr}.visual-step,.tool-guide-steps>div{border-right:0;border-bottom:1px solid #ddd}.visual-step:last-child,.tool-guide-steps>div:last-child{border-bottom:0}.article-library-grid{grid-template-columns:1fr}.scenario-check{grid-template-columns:1fr;gap:5px}}
@media(max-width:560px){.article-visual,.article-tool-guide{padding:18px}.article-deep p{font-size:15px!important}.article-library-card{padding-right:44px}.article-library-card b{font-size:15px}}

.article-reading-guide{margin:44px 0}.article-reading-guide>h2{font-size:24px!important}.article-reading-guide>h3{font-size:18px;margin:28px 0 8px}.article-reading-guide>p{font-size:16px!important;line-height:2!important}.result-reading-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #ddd;margin:22px 0}.result-reading-grid>div{padding:18px;border-right:1px solid #ddd}.result-reading-grid>div:last-child{border-right:0}.result-reading-grid span{display:block;color:var(--orange-dark);font-size:11px;font-weight:700;margin-bottom:6px}.result-reading-grid b{display:block;font-size:16px;margin-bottom:6px}.result-reading-grid p{font-size:13px!important;line-height:1.75!important;color:#666!important;margin:0!important}@media(max-width:800px){.result-reading-grid{grid-template-columns:1fr}.result-reading-grid>div{border-right:0;border-bottom:1px solid #ddd}.result-reading-grid>div:last-child{border-bottom:0}}

.article-faq{margin:44px 0}.article-faq>h2{font-size:24px!important}.article-faq>div{border-top:1px solid #ddd}.article-faq details{border-bottom:1px solid #ddd}.article-faq summary{cursor:pointer;list-style:none;position:relative;padding:17px 42px 17px 4px;font-size:15px;font-weight:700}.article-faq summary::-webkit-details-marker{display:none}.article-faq summary::after{content:'＋';position:absolute;right:8px;color:var(--orange-dark)}.article-faq details[open] summary::after{content:'−'}.article-faq details p{padding:0 42px 17px 4px;margin:0!important;font-size:14px!important;line-height:1.9!important;color:#666!important}


/* v23: orientation cues only — keep established brand styling */
.journey-context{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 12px}.journey-context>span{display:inline-flex;align-items:center;min-height:27px;padding:4px 9px;background:#fff7ef;border:1px solid #f3cba9;color:var(--orange-dark);font-size:12px;font-weight:700}.journey-context>small{font-size:12px;line-height:1.6;color:#777}


/* v25: richer category guides while preserving the existing Chura FP visual system */
.guide-story{margin:36px 0 44px;padding-top:2px}
.guide-story-head{max-width:820px;margin-bottom:20px}
.guide-story-head .eyebrow{display:block;color:var(--orange-dark);font-size:12px;font-weight:700;margin-bottom:6px}
.guide-story-head h2{font-size:25px;line-height:1.55;margin:0 0 8px;letter-spacing:-.02em}
.guide-story-head p{font-size:15px;line-height:1.9;color:#666;margin:0}
.guide-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid #ddd;background:#fff}
.guide-flow-card{position:relative;padding:22px 24px 23px;border-right:1px solid #ddd;min-width:0}
.guide-flow-card:last-child{border-right:0}
.guide-flow-card:not(:last-child)::after{content:'›';position:absolute;right:-11px;top:50%;transform:translateY(-50%);z-index:2;width:22px;height:22px;border:1px solid #efc9a8;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--orange-dark);font-size:18px;line-height:1}
.guide-flow-card>span{display:block;color:var(--orange-dark);font-size:11px;font-weight:700;margin-bottom:8px}
.guide-flow-card>b{display:block;font-size:17px;line-height:1.55;margin-bottom:7px}
.guide-flow-card>p{font-size:14px;line-height:1.85;color:#666;margin:0}
.guide-flow-card small{display:block;font-size:12px;line-height:1.7;color:#888;margin-top:9px}
.guide-detail-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:18px;margin-top:18px}
.guide-panel{border:1px solid #ddd;background:#fff;padding:22px 24px}
.guide-panel h3{font-size:18px;margin:0 0 9px}
.guide-panel>p{font-size:14px;line-height:1.85;color:#666;margin:0 0 15px}
.guide-checks{list-style:none;margin:0;padding:0;border-top:1px solid #eee}
.guide-checks li{position:relative;padding:11px 0 11px 24px;border-bottom:1px solid #eee;font-size:14px;line-height:1.7;color:#555}
.guide-checks li::before{content:'✓';position:absolute;left:2px;color:var(--orange-dark);font-weight:800}
.guide-checks li:last-child{border-bottom:0}
.guide-step-list{display:grid;gap:0;border-top:1px solid #eee}
.guide-step-list>div{display:grid;grid-template-columns:32px 1fr;gap:11px;padding:12px 0;border-bottom:1px solid #eee}
.guide-step-list>div:last-child{border-bottom:0}
.guide-step-list span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--orange-soft);color:var(--orange-dark);font-size:11px;font-weight:800}
.guide-step-list b{display:block;font-size:14px;margin-bottom:2px}
.guide-step-list p{font-size:13px;line-height:1.7;color:#777;margin:0}
.guide-source{font-size:12px!important;line-height:1.8!important;color:#777!important;margin-top:14px!important}
.guide-source a{color:var(--orange-dark);font-weight:600;text-underline-offset:3px}

/* Asset guide: three money roles */
.money-role-strip{display:grid;grid-template-columns:repeat(3,1fr);margin-top:18px;border:1px solid #ddd;background:#fff}
.money-role-strip>div{padding:19px 21px;border-right:1px solid #ddd;min-width:0}
.money-role-strip>div:last-child{border-right:0}
.money-role-strip span{display:block;color:var(--orange-dark);font-size:11px;font-weight:700;margin-bottom:6px}
.money-role-strip b{display:block;font-size:16px;margin-bottom:5px}
.money-role-strip p{font-size:13px;line-height:1.75;color:#6b6b6b;margin:0}

/* Income guide: illustrative monthly-gap breakdown */
.income-example{border:1px solid #ddd;background:#fff;padding:22px 24px}
.income-example-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}
.income-example-head h3{font-size:18px;margin:0 0 4px}
.income-example-head p{font-size:13px;line-height:1.7;color:#777;margin:0}
.income-example-head span{flex:none;color:var(--orange-dark);font-size:11px;font-weight:700;border:1px solid #f0c49f;background:#fff7ef;padding:4px 8px}
.income-equation{display:grid;grid-template-columns:1fr 40px 1fr 40px 1fr;align-items:stretch;border-top:1px solid #eee;border-bottom:1px solid #eee}
.income-equation>div{padding:17px 12px;text-align:center}
.income-equation>i{font-style:normal;display:grid;place-items:center;color:#aaa;font-size:22px}
.income-equation small{display:block;font-size:11px;color:#777}
.income-equation strong{display:block;font-size:21px;color:#333;margin-top:3px;white-space:nowrap}
.income-equation .accent strong{color:var(--orange-dark)}
.income-mix{margin-top:16px}
.income-mix-label{display:flex;justify-content:space-between;gap:12px;font-size:12px;color:#777;margin-bottom:7px}
.income-mix-bar{display:grid;grid-template-columns:1fr 2fr;height:18px;border:1px solid #e0c8b4;background:#fff}
.income-mix-bar span:first-child{background:#fde6d2;border-right:1px solid #e0c8b4}
.income-mix-bar span:last-child{background:#f7b677}
.income-mix-legend{display:flex;gap:18px;flex-wrap:wrap;margin-top:8px;font-size:12px;color:#666}
.income-mix-legend span::before{content:'';display:inline-block;width:9px;height:9px;margin-right:6px;border:1px solid #ddb28f;vertical-align:-1px;background:#fde6d2}
.income-mix-legend span:last-child::before{background:#f7b677}

.guide-compare{width:100%;border-collapse:collapse;margin-top:12px;background:#fff}
.guide-compare th,.guide-compare td{border:1px solid #ddd;padding:12px 13px;text-align:left;vertical-align:top;font-size:13px;line-height:1.75}
.guide-compare th{background:#fafafa;font-weight:700;white-space:nowrap}
.guide-compare td:first-child{font-weight:700;white-space:nowrap}

/* v25 QA fix: home article type badges and categories share one vertical baseline. */
.articles-section .home-article-type{
  align-self:center!important;
  height:30px;
  min-width:56px;
  padding:0 10px;
  line-height:1;
}
.articles-section .article-category{
  align-self:center!important;
  min-height:30px;
  display:flex;
  align-items:center;
  line-height:1.35;
}

@media(max-width:800px){
  .guide-flow,.money-role-strip{grid-template-columns:1fr}
  .guide-flow-card,.money-role-strip>div{border-right:0;border-bottom:1px solid #ddd}
  .guide-flow-card:last-child,.money-role-strip>div:last-child{border-bottom:0}
  .guide-flow-card:not(:last-child)::after{content:'⌄';right:50%;top:auto;bottom:-12px;transform:translateX(50%)}
  .guide-detail-grid{grid-template-columns:1fr}
  .income-equation{grid-template-columns:1fr}
  .income-equation>i{height:28px;transform:rotate(90deg)}
  .guide-compare{min-width:620px}
  .guide-table-scroll{overflow-x:auto}
}
@media(max-width:560px){
  .guide-story-head h2{font-size:22px}
  .guide-panel,.income-example,.guide-flow-card,.money-role-strip>div{padding:18px}
  .articles-section .home-article-type{height:28px;min-width:52px}
  .articles-section .article-category{min-height:28px}
}

/* v27 audit fix: mobile navigation for all simple-header pages */
.simple-menu-btn{display:none;border:0;background:#fff;color:#444;font-size:24px;line-height:1;padding:8px;cursor:pointer}
@media(max-width:900px){
  .simple-header-inner{position:relative}
  .simple-menu-btn{display:block}
  .simple-header nav.nav{display:none;position:absolute;left:0;right:0;top:72px;background:#fff;border-bottom:1px solid #ddd;padding:12px 24px 16px;flex-direction:column;align-items:stretch;gap:0;box-shadow:0 10px 24px rgba(0,0,0,.08);z-index:95}
  .simple-header nav.nav.simple-nav-open{display:flex}
  .simple-header nav.nav>a{padding:12px 0;border-bottom:1px solid #eee}
  .simple-header .nav-dropdown{width:100%}
  .simple-header .nav-dropdown>summary{padding:12px 0;border-bottom:1px solid #eee}
  .simple-header .nav-dropdown-menu{position:static;width:100%;box-shadow:none;border:0;border-left:3px solid var(--orange);padding:4px 0 4px 13px;margin:2px 0 7px;background:#fff9f3}
  .simple-header .nav-dropdown-menu:before{display:none}
}
@media(max-width:560px){.simple-header nav.nav{top:66px;padding-left:18px;padding-right:18px}}


/* v28 final cross-site QA fixes */
/* Breadcrumbs stay in normal document flow; long article titles wrap inside the viewport. */
.breadcrumb{
  position:static!important;
  top:auto!important;
  z-index:auto!important;
  max-width:1160px!important;
  margin:0 auto!important;
  padding:12px 24px!important;
  background:#fff;
  border-bottom:1px solid #ececec;
  box-shadow:none!important;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px 9px;
  overflow:visible!important;
  white-space:normal!important;
}
.breadcrumb>*{min-width:0;max-width:100%}
.breadcrumb span:last-child{
  min-width:0;
  overflow-wrap:anywhere;
  word-break:normal;
  line-break:strict;
}

/* Natural Japanese line breaking: avoid one-character orphan lines in major headings where possible. */
.page-hero h1,.planner-hero h1,.hub-intro h2,.section-title-mini h2,.article-main h2{
  text-wrap:balance;
  word-break:normal;
  overflow-wrap:normal;
  line-break:strict;
}
.article-main p,.article-main li,.page-hero p,.hub-card p,.practice-steps p{
  text-wrap:pretty;
}

/* Give education annual-cost field enough room so label/value are never clipped. */
.education-plan-row .event-grid.three-col{
  grid-template-columns:minmax(0,.85fr) minmax(0,.72fr) minmax(150px,1.43fr);
}
.education-plan-row .event-grid.three-col>label:last-child .planner-input-wrap input{
  font-size:15px;
  padding-left:10px;
  padding-right:32px;
}
.education-plan-row .event-grid.three-col>label:last-child>span{white-space:nowrap}

/* Mobile dropdown uses a clean inset panel; remove the visually awkward left rule. */
@media(max-width:900px){
  .simple-header nav.nav{overflow:visible!important}
  .simple-header .nav-dropdown-menu{
    position:static;
    width:100%;
    box-shadow:none;
    border:1px solid #f0dcc9!important;
    border-left:1px solid #f0dcc9!important;
    padding:0 12px!important;
    margin:8px 0 12px!important;
    background:#fffaf5;
  }
  .simple-header .nav-dropdown-menu a{
    padding:11px 2px!important;
    border-bottom:1px solid #eee7df!important;
  }
  .simple-header .nav-dropdown-menu a:last-child{border-bottom:0!important}
}
@media(max-width:700px){
  .education-plan-row .event-grid.three-col{grid-template-columns:1fr}
  .education-plan-row .event-grid.three-col>label:last-child>span{white-space:normal}
}
@media(max-width:560px){
  .breadcrumb{padding:10px 18px!important;font-size:12px!important;line-height:1.65}
  .page-hero h1,.planner-hero h1{font-size:27px;line-height:1.5}
}

/* v29.1 HOTFIX — based strictly on v29.
   Scope: inner pages only. index.html/styles.css (approved home) are intentionally untouched. */

/* Match the approved home header branding without changing the home stylesheet. */
.simple-header-inner{max-width:1180px;height:78px}
.simple-symbol{width:38px;height:38px;flex:0 0 38px;font-size:20px}
.simple-brand b{font-size:22px;letter-spacing:-.03em}
.simple-brand small{font-size:10px;margin-top:5px}

/* Prevent grid/flex children from forcing the page wider than the viewport.
   Do not overwrite approved container max-width values. */
.simple-header-inner>* ,
.planner-layout>* ,
.planner-form>* ,
.planner-results>* ,
.field-section>* ,
.event-card>* ,
.event-grid>* ,
.result-summary>* ,
.chart-card>* ,
.action-card>* ,
.assumption-card>* ,
.standalone-tool-grid>* ,
.hub-grid>* ,
.hub-link-list>* ,
.article-wrap>* ,
.article-main>* ,
.article-visual>* ,
.article-tool-guide>* ,
.guide-detail-grid>* ,
.guide-panel>* ,
.income-example>* ,
.income-equation>* ,
.money-role-strip>* ,
.compare-detail-grid>* ,
.article-library-grid>*{min-width:0}

img,svg,video,canvas{max-width:100%;height:auto}

/* Tablet: collapse the planner before nowrap result figures can widen a narrow right column. */
@media(max-width:960px){
  .planner-layout{grid-template-columns:1fr!important}
  .planner-form,.planner-results{width:100%;min-width:0}
}

/* Use the same navigation collapse point as the approved home. */
@media(max-width:920px){
  .simple-header-inner{position:relative}
  .simple-menu-btn{display:block}
  .simple-header nav.nav{
    display:none;
    position:absolute;
    left:0;right:0;top:78px;
    width:auto;
    background:#fff;
    border-bottom:1px solid #ddd;
    padding:12px 24px 16px;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    box-shadow:0 10px 24px rgba(0,0,0,.08);
    z-index:95;
  }
  .simple-header nav.nav.simple-nav-open{display:flex}
  .simple-header nav.nav>a{padding:12px 0;border-bottom:1px solid #eee}
  .simple-header .nav-dropdown{width:100%;min-width:0}
  .simple-header .nav-dropdown>summary{padding:12px 0;border-bottom:1px solid #eee}
  .simple-header .nav-dropdown-menu{max-width:100%}
}

/* Mobile tables: wrap inside their own width instead of widening the document. */
@media(max-width:760px){
  .guide-table-scroll,.article-table-wrap,.compare-table-wrap{max-width:100%;min-width:0;overflow-x:visible}
  .guide-compare,.article-table,.compare-table{width:100%;min-width:0!important;table-layout:fixed}
  .guide-compare th,.guide-compare td,
  .article-table th,.article-table td,
  .compare-table th,.compare-table td{
    white-space:normal!important;
    overflow-wrap:anywhere;
    word-break:normal;
    line-break:strict;
  }
  .income-example-head{flex-direction:column;gap:8px}
  .income-example-head span{align-self:flex-start}
}

/* Mobile header dimensions exactly follow the approved home header. */
@media(max-width:620px){
  .simple-header-inner{height:68px;padding:0 18px}
  .simple-symbol{width:34px;height:34px;flex-basis:34px;font-size:18px}
  .simple-brand b{font-size:20px}
  .simple-brand small{display:none}
  .simple-header nav.nav{top:68px;padding-left:18px;padding-right:18px}
}

/* Long compact result values may wrap only when space is genuinely insufficient. */
@media(max-width:700px){
  .scenario-row>*{white-space:normal!important;overflow-wrap:anywhere;min-width:0}
  .scenario-head>span{white-space:normal}
}

/* v29.2: income guide mobile figure readability only.
   Home/index remains untouched. Replace the centered vertical equation with
   compact left-aligned summary rows, then show the 1:2 monthly mix directly. */
@media(max-width:620px){
  .income-example{
    padding:16px!important;
  }
  .income-example-head{
    margin-bottom:14px;
  }
  .income-equation{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px;
    border-top:0!important;
    border-bottom:0!important;
    background:transparent;
  }
  .income-equation>i{
    display:none!important;
  }
  .income-equation>div{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:12px;
    min-width:0;
    padding:11px 12px!important;
    text-align:left!important;
    border:1px solid #e6e0da;
    border-left:3px solid #ef7d16;
    background:#fff;
  }
  .income-equation>div.accent{
    background:#fff8f1;
    border-color:#f0c9a8;
    border-left-color:#ef7d16;
  }
  .income-equation small{
    margin:0;
    font-size:11px;
    line-height:1.45;
    color:#777;
  }
  .income-equation strong{
    margin:0!important;
    max-width:100%;
    font-size:18px!important;
    line-height:1.35;
    text-align:right;
    white-space:normal!important;
    overflow-wrap:anywhere;
  }
  .income-mix{
    margin-top:14px;
    padding-top:13px;
    border-top:1px solid #eee;
  }
  .income-mix-label{
    display:grid!important;
    grid-template-columns:1fr 2fr;
    gap:0!important;
    margin:0 0 6px!important;
    font-size:11px!important;
    line-height:1.4;
  }
  .income-mix-label span{
    min-width:0;
    padding:7px 8px;
    color:#555;
    background:#fde6d2;
    border:1px solid #e0c8b4;
    border-bottom:0;
  }
  .income-mix-label span+span{
    background:#fff1e3;
    border-left:0;
    text-align:right;
  }
  .income-mix-bar{
    height:12px!important;
  }
  .income-mix-legend{
    display:none!important;
  }
}

/* v29.5: approved layout preserved; desktop brand name only +1px */
@media (min-width:901px){
  .simple-brand b{font-size:23px}
}

/* v29.6: desktop inner-page brand lockup parity with approved home header.
   Home (index.html/styles.css) remains untouched. */
@media (min-width:901px){
  .simple-header-inner{
    max-width:1180px;
    height:78px;
  }
  .simple-brand{
    gap:11px;
    align-items:center;
  }
  .simple-symbol{
    width:38px;
    height:38px;
    flex:0 0 38px;
    font-size:20px;
  }
  .simple-brand>span:last-child{
    display:flex;
    flex-direction:column;
  }
  .simple-brand b{
    font-size:23px;
    line-height:1;
    font-weight:800;
    letter-spacing:-.03em;
  }
  .simple-brand small{
    font-size:12px;
    line-height:1.75;
    color:#777;
    margin-top:5px;
  }
}

