body.area-guide-rich{--minato-green:#173b35;--minato-red:#985b46;--minato-paper:#f7f5ef;--minato-soft:#eeebe2}
body.area-guide-rich .page-hero h1{font-size:64px;line-height:1.14}
body.area-guide-rich .page-hero .lead{max-width:720px}
.area-rich{max-width:1120px}
.area-opening{padding:76px 0 28px}
.area-intro-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.7fr);gap:70px;align-items:start}
.area-kicker{display:block;font:600 11px/1.4 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--minato-red);margin-bottom:14px}
.area-intro-grid h2,.chapter-head h2{font-family:var(--serif);letter-spacing:0;font-weight:700}
.area-intro-grid h2{font-size:34px;line-height:1.45;margin:0 0 24px}
.area-deck{font-family:var(--serif-body);font-size:18px;line-height:2;color:var(--ink)}
.area-intro-grid p:not(.area-deck),.area-chapter p{line-height:2;color:var(--ink-dim)}
.area-facts{margin:0;border-top:2px solid var(--ink)}
.area-facts div{display:grid;grid-template-columns:88px 1fr;align-items:center;border-bottom:1px solid var(--line-2);padding:17px 0}
.area-facts dt{font-size:11px;letter-spacing:.12em;color:var(--muted)}
.area-facts dd{display:flex;align-items:baseline;gap:10px;margin:0}
.area-facts strong{font:500 35px/1 var(--serif-en)}
.area-facts span{font-size:12px;color:var(--ink-dim)}
.area-toc{display:grid;grid-template-columns:repeat(5,1fr);margin-top:64px;border-top:2px solid var(--ink);border-bottom:1px solid var(--ink)}
.area-toc a{display:flex;gap:10px;align-items:center;min-height:58px;padding:10px 13px;border-right:1px solid var(--line-2);font-size:13px;color:var(--ink)}
.area-toc a:nth-child(5n){border-right:0}.area-toc a:nth-child(-n+5){border-bottom:1px solid var(--line-2)}
.area-toc span{font:500 12px/1 var(--serif-en);color:var(--minato-red)}
.area-toc a:hover{background:#fff}
.area-chapter{padding:88px 0;border-top:1px solid var(--line-2);scroll-margin-top:70px}
.area-chapter.shade{background:var(--minato-soft)}
.chapter-head{display:grid;grid-template-columns:72px 1fr;gap:22px;align-items:start;margin-bottom:46px}
.chapter-head>span{font:500 34px/1 var(--serif-en);color:var(--minato-red);padding-top:6px}
.chapter-head p{font:600 10px/1.4 var(--sans);letter-spacing:.25em;text-transform:uppercase;margin:0 0 5px;color:var(--muted)}
.chapter-head h2{font-size:34px;line-height:1.35;margin:0}
.two-column-copy{display:grid;grid-template-columns:1fr 1fr;gap:54px}
.two-column-copy p{font-family:var(--serif-body);font-size:16px;margin:0}
.district-ledger{margin-top:46px;border-top:2px solid var(--ink)}
.district-row{display:grid;grid-template-columns:110px minmax(0,1fr) 180px;gap:24px;padding:18px 4px;border-bottom:1px solid var(--line-2);align-items:baseline}
.district-row strong{font-family:var(--serif);font-size:20px}.district-row span{font-size:13px;line-height:1.7;color:var(--ink-dim)}
.district-row em{font-style:normal;font-size:11px;letter-spacing:.08em;color:var(--minato-red)}
.source-note{font-size:11px!important;margin-top:10px}
.photo-band{height:min(48vh,520px);background-position:center;background-size:cover;border-top:2px solid var(--ink);border-bottom:1px solid var(--ink)}
.photo-band-a{background-image:url(/assets/photos/tokyo-aerial-dusk.webp)}
.photo-band-b{background-image:url(/assets/photos/tokyo-aerial-blue.webp)}
body.series-area-shinjuku .photo-band-a{background-image:url(/assets/photos/shinjuku-day.webp)}
body.series-area-shinjuku .photo-band-b{background-image:url(/assets/photos/shinjuku-night-street.webp)}
body.series-area-shibuya .photo-band-a{background-image:url(/assets/photos/yoyogi-day.webp)}
body.series-area-shibuya .photo-band-b{background-image:url(/assets/photos/tokyo-aerial-dusk.webp)}
body.series-area-chuo .photo-band-a{background-image:url(/assets/photos/tokyo-aerial-night.webp)}
body.series-area-chuo .photo-band-b{background-image:url(/assets/photos/tokyo-aerial-blue.webp)}
body.series-area-koto .photo-band-a{background-image:url(/assets/photos/tokyo-aerial-dusk.webp)}
body.series-area-koto .photo-band-b{background-image:url(/assets/photos/tokyo-aerial-blue.webp)}
body.series-area-meguro .photo-band-a{background-image:url(/assets/photos/tokyo-aerial-blue.webp)}
body.series-area-meguro .photo-band-b{background-image:url(/assets/photos/tokyo-aerial-dusk.webp)}
body.series-area-shinagawa .photo-band-a{background-image:url(/assets/photos/tokyo-aerial-blue.webp)}
body.series-area-shinagawa .photo-band-b{background-image:url(/assets/photos/tokyo-aerial-blue.webp)}
.district-grid{display:grid;grid-template-columns:1fr 1fr;border-top:2px solid var(--ink)}
.district-card{padding:30px 30px 30px 4px;border-bottom:1px solid var(--line-2)}
.district-card:nth-child(odd){padding-right:34px;border-right:1px solid var(--line-2)}
.district-card:nth-child(even){padding-left:34px}
.district-card>span,.building-list article>span{font:600 10px/1.4 var(--sans);letter-spacing:.18em;color:var(--minato-red)}
.district-card h3{font-family:var(--serif);font-size:21px;line-height:1.55;margin:9px 0 12px}
.district-card p{font-size:13.5px;margin:0}
.district-card dl{margin:20px 0 0;border-top:1px solid var(--line-2)}
.district-card dl div{display:grid;grid-template-columns:58px 1fr;gap:12px;padding:8px 0;border-bottom:1px solid var(--line-2)}
.district-card dt{font-size:11px;color:var(--muted)}.district-card dd{font-size:12px;margin:0}
.comparison-wrap{margin-top:54px;overflow-x:auto;border-top:2px solid var(--ink);border-bottom:1px solid var(--ink)}
.decision-table{width:100%;min-width:820px;border-collapse:collapse;font-size:12.5px}
.decision-table th,.decision-table td{text-align:left;padding:14px 12px;border-bottom:1px solid var(--line-2);vertical-align:top}
.decision-table thead th{font-size:10px;letter-spacing:.1em;color:var(--muted);background:rgba(255,255,255,.48)}
.decision-table tbody th{font-family:var(--serif);font-size:15px}.decision-table tbody tr:last-child>*{border-bottom:0}
.track-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 54px;border-top:2px solid var(--ink)}
.track-grid div{padding:24px 0;border-bottom:1px solid var(--line-2)}
.track-grid h3{font-family:var(--serif);font-size:19px;margin:0 0 10px}.track-grid p{font-size:13.5px;margin:0}
.check-band{display:flex;align-items:center;gap:0;margin-top:42px;border:1px solid var(--ink)}
.check-band>*{padding:13px 16px;border-right:1px solid var(--line-2);font-size:11px}.check-band>*:last-child{border-right:0}
.check-band strong{background:var(--ink);color:#fff;letter-spacing:.12em}
.budget-steps{list-style:none;padding:0;margin:46px 0 0;border-top:2px solid var(--ink)}
.budget-steps li{display:grid;grid-template-columns:80px 1fr;gap:24px;padding:22px 0;border-bottom:1px solid var(--line-2)}
.budget-steps>li>span{font:500 20px/1 var(--serif-en);color:var(--minato-red);padding-top:6px}
.budget-steps h3{font-family:var(--serif);font-size:18px;margin:0 0 5px}.budget-steps p{font-size:13px;margin:0}
.editorial-note{display:grid;grid-template-columns:150px 1fr;gap:30px;margin-top:42px;padding:24px 28px;border:1px solid var(--ink)}
.editorial-note span{font-size:11px;letter-spacing:.16em;color:var(--minato-red)}.editorial-note p{margin:0;font-size:13.5px}
.building-list{display:grid;grid-template-columns:1fr 1fr;border-top:2px solid var(--ink)}
.building-list article{padding:30px 34px 30px 4px;border-bottom:1px solid var(--line-2)}
.building-list article:nth-child(odd){border-right:1px solid var(--line-2)}.building-list article:nth-child(even){padding-left:34px}
.building-list h3{font-family:var(--serif);font-size:21px;margin:9px 0}.building-list p{font-size:13.5px;margin:0}
.related-line{display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:28px!important}.related-line a,.official-link a{text-decoration:underline;text-underline-offset:5px;font-size:12px}
.daily-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:2px solid var(--ink)}
.daily-grid div{padding:24px 28px 26px 4px;border-right:1px solid var(--line-2);border-bottom:1px solid var(--line-2)}
.daily-grid div:nth-child(3n){border-right:0}.daily-grid div:nth-child(3n+2){padding-left:28px}.daily-grid div:nth-child(3n){padding-left:28px}
.daily-grid span{font:500 12px/1 var(--serif-en);color:var(--minato-red)}.daily-grid h3{font-family:var(--serif);font-size:18px;margin:8px 0}.daily-grid p{font-size:12.5px;margin:0}
.family-checks{display:grid;grid-template-columns:repeat(5,1fr);list-style:none;padding:0;margin:46px 0 0;border-top:2px solid var(--ink);border-bottom:1px solid var(--ink)}
.family-checks li{padding:18px 14px;border-right:1px solid var(--line-2)}.family-checks li:last-child{border-right:0}
.family-checks strong,.family-checks span{display:block}.family-checks strong{font-family:var(--serif);font-size:17px;margin-bottom:6px}.family-checks span{font-size:11px;line-height:1.6;color:var(--muted)}
.family-verdict{display:grid;grid-template-columns:minmax(220px,.72fr) minmax(0,1.28fr);gap:54px;padding:28px 0;border-top:2px solid var(--ink);border-bottom:1px solid var(--ink)}
.family-verdict h3{font-family:var(--serif);font-size:25px;line-height:1.55;margin:0}.family-verdict p{font-family:var(--serif-body);font-size:16px;margin:0}
.family-verdict .area-kicker{margin-bottom:9px}.support-grid{display:grid;grid-template-columns:1fr 1fr;margin-top:48px;border-top:2px solid var(--ink)}
.support-card{display:grid;grid-template-columns:42px 1fr;gap:14px;padding:26px 30px 28px 4px;border-bottom:1px solid var(--line-2)}
.support-card:nth-child(odd){border-right:1px solid var(--line-2)}.support-card:nth-child(even){padding-left:30px}
.support-card>span{font:500 13px/1 var(--serif-en);color:var(--minato-red);padding-top:6px}.support-card h3{font-family:var(--serif);font-size:19px;line-height:1.5;margin:0 0 8px}
.support-card p{font-size:13px;margin:0}.support-card strong{color:var(--ink);font-weight:700}
.support-reality{display:grid;grid-template-columns:220px 1fr;gap:40px;margin-top:42px;padding:24px 28px;border:1px solid var(--ink)}
.support-reality h3{font-family:var(--serif);font-size:18px;line-height:1.55;margin:0}.support-reality p{font-size:13px;margin:0}
.family-sources{display:flex;flex-wrap:wrap;gap:10px 26px;margin-top:28px}.family-sources a{font-size:12px;text-decoration:underline;text-underline-offset:5px}
.dark-chapter{background:var(--minato-green);color:#fff;border-top:0}
.dark-chapter .chapter-head h2,.dark-chapter .area-deck,.dark-chapter h3{color:#fff}.dark-chapter .chapter-head p,.dark-chapter p{color:rgba(255,255,255,.72)}
.dark-chapter .chapter-head>span{color:#d6a98e}
.risk-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:42px;border-top:1px solid rgba(255,255,255,.5);border-bottom:1px solid rgba(255,255,255,.4)}
.risk-grid div{padding:24px;border-right:1px solid rgba(255,255,255,.22)}.risk-grid div:first-child{padding-left:0}.risk-grid div:last-child{border-right:0}
.risk-grid h3{font-family:var(--serif);font-size:18px;margin:0 0 10px}.risk-grid p{font-size:12.5px;margin:0}
.official-link{margin-top:28px!important}.official-link.inverse a{color:#fff}
.international-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:2px solid var(--ink);margin-bottom:32px}
.international-grid>div{padding:26px 28px 26px 4px;border-right:1px solid var(--line-2);border-bottom:1px solid var(--line-2)}
.international-grid>div:nth-child(2),.international-grid>div:nth-child(3){padding-left:28px}.international-grid>div:last-child{border-right:0}
.international-grid h3{font-family:var(--serif);font-size:19px;margin:0 0 12px}.international-grid ul{padding-left:18px;margin:0}.international-grid li{font-size:12.5px;margin:7px 0}
.official-pair{display:grid;grid-template-columns:1fr 1fr;margin-top:34px;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}
.official-pair a{padding:18px 20px 18px 4px;font-family:var(--serif);font-size:15px}.official-pair a+ a{padding-left:24px;border-left:1px solid var(--line-2)}
.official-pair span{display:block;font:600 9px/1.4 var(--sans);letter-spacing:.18em;color:var(--minato-red);margin-bottom:5px}
.process-line{list-style:none;padding:0;margin:0;border-top:2px solid var(--ink)}
.process-line li{display:grid;grid-template-columns:120px 1fr;gap:30px;padding:22px 4px;border-bottom:1px solid var(--line-2)}
.process-line>li>span{font:600 11px/1.4 var(--sans);letter-spacing:.13em;color:var(--minato-red);padding-top:6px}
.process-line h3{font-family:var(--serif);font-size:18px;margin:0 0 5px}.process-line p{font-size:13px;margin:0}
.final-checklist{margin-top:44px;border:1px solid var(--ink);padding:28px;display:grid;grid-template-columns:1fr 1fr;gap:12px 30px}
.final-checklist h3{grid-column:1/-1;font-family:var(--serif);font-size:19px;margin:0 0 10px}.final-checklist label{font-size:13px;display:flex;align-items:center;gap:9px}
.final-checklist input{accent-color:var(--minato-green);width:16px;height:16px}
.faq-chapter{padding-bottom:70px}.faq-list{border-top:2px solid var(--ink)}
.faq-list details{border-bottom:1px solid var(--line-2);padding:0}.faq-list summary{cursor:pointer;list-style:none;font-family:var(--serif);font-size:17px;font-weight:700;padding:19px 42px 19px 4px;position:relative}
.faq-list summary::after{content:"+";position:absolute;right:8px;font:400 22px/1 var(--sans)}.faq-list details[open] summary::after{content:"−"}
.faq-list details p{font-size:13.5px;margin:0;padding:0 45px 22px 4px}
.source-box{margin-top:48px;padding:24px 28px;border:1px solid var(--ink)}.source-box h3{font-family:var(--serif);font-size:17px;margin:0 0 12px}
.source-box p{display:flex;flex-wrap:wrap;gap:8px 24px;margin:0}.source-box a{font-size:12px;text-decoration:underline;text-underline-offset:4px}
.minato-cta{text-align:left}.minato-cta .area-kicker{color:var(--minato-red)}
@media(max-width:900px){
  .area-intro-grid{grid-template-columns:1fr;gap:38px}.area-toc{grid-template-columns:repeat(2,1fr)}.area-toc a{border-bottom:1px solid var(--line-2)!important}.area-toc a:nth-child(2n){border-right:0}.area-toc a:nth-child(5n){border-right:1px solid var(--line-2)}.area-toc a:last-child{border-bottom:0!important}
  .district-row{grid-template-columns:90px 1fr}.district-row em{grid-column:2}.daily-grid{grid-template-columns:1fr 1fr}.daily-grid div:nth-child(n){padding:22px;border-right:1px solid var(--line-2)}.daily-grid div:nth-child(2n){border-right:0}
  .family-checks{grid-template-columns:repeat(2,1fr)}.family-checks li{border-bottom:1px solid var(--line-2)}.family-checks li:nth-child(2n){border-right:0}.family-checks li:last-child{grid-column:1/-1;border-bottom:0}.family-verdict{grid-template-columns:1fr;gap:18px}.support-reality{grid-template-columns:170px 1fr;gap:24px}
  .risk-grid{grid-template-columns:1fr 1fr}.risk-grid div{border-bottom:1px solid rgba(255,255,255,.22)}.risk-grid div:nth-child(2n){border-right:0}.risk-grid div:nth-child(3),.risk-grid div:nth-child(4){border-bottom:0}.risk-grid div:nth-child(3){padding-left:0}
}
@media(max-width:640px){
  body.area-guide-rich .page-hero h1{font-size:38px}
  .area-opening,.area-chapter{padding:60px 0}.area-intro-grid h2,.chapter-head h2{font-size:27px}.area-deck{font-size:16px}
  .chapter-head{grid-template-columns:50px 1fr;gap:12px;margin-bottom:34px}.chapter-head>span{font-size:25px}
  .two-column-copy,.district-grid,.track-grid,.building-list,.international-grid,.official-pair{grid-template-columns:1fr;gap:0}
  .district-card:nth-child(n),.building-list article:nth-child(n),.international-grid>div:nth-child(n){padding:24px 4px;border-right:0}
  .track-grid{border-top:2px solid var(--ink)}.check-band{display:grid;grid-template-columns:1fr 1fr}.check-band>*{border-right:0;border-bottom:1px solid var(--line-2)}.check-band strong{grid-column:1/-1}.check-band>*:nth-last-child(-n+2){border-bottom:0}
  .editorial-note{grid-template-columns:1fr;gap:8px;padding:22px}.daily-grid{grid-template-columns:1fr}.daily-grid div:nth-child(n){padding:20px 4px;border-right:0}
  .family-checks{grid-template-columns:1fr}.family-checks li:nth-child(n){grid-column:auto;border-right:0;border-bottom:1px solid var(--line-2)}.family-checks li:last-child{border-bottom:0}.support-grid{grid-template-columns:1fr}.support-card:nth-child(n){padding:22px 4px;border-right:0}.support-reality{grid-template-columns:1fr;gap:10px;padding:22px}.family-sources{display:grid;gap:12px}
  .risk-grid{grid-template-columns:1fr}.risk-grid div:nth-child(n){padding:20px 0;border-right:0;border-bottom:1px solid rgba(255,255,255,.22)}.risk-grid div:last-child{border-bottom:0}
  .process-line li{grid-template-columns:78px 1fr;gap:14px}.final-checklist{grid-template-columns:1fr;padding:22px}.final-checklist h3{grid-column:1}.official-pair a+ a{padding-left:4px;border-left:0;border-top:1px solid var(--line-2)}
  .photo-band{height:300px}.district-row{grid-template-columns:64px 1fr;gap:14px}.source-box p{display:grid}.area-toc a{font-size:12px}
}
