/* Construction guide: shared by the Japanese and English editions. */
:root{color-scheme:dark;--bg:#0b1418;--panel:#111f24;--panel2:#17282d;--text:#eeeae1;--soft:#c2cac6;--muted:#98aba8;--gold:#d4b681;--line:#304044;--serif:'Hiragino Mincho ProN','Yu Mincho',YuMincho,Georgia,serif;--sans:'Hiragino Sans','Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,sans-serif;--width:1200px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:150px}body{margin:0;background:var(--bg);color:var(--text);font:1rem/1.9 var(--sans);-webkit-font-smoothing:antialiased}a{color:var(--gold);text-underline-offset:.25em;text-decoration-thickness:1px}a:hover{color:#f7e0b7}button{font:inherit}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:5px}img,svg{max-width:100%;vertical-align:middle}img{object-fit:cover}h1,h2,h3,p,figure,dl,dd{margin:0}h1,h2,h3{font-weight:500}p+p{margin-top:1em}p{color:var(--soft)}strong{color:var(--text);font-weight:600}::selection{background:var(--gold);color:var(--bg)}[hidden]{display:none!important}.container{width:min(var(--width),calc(100% - 96px));margin-inline:auto}.skip-link{position:fixed;z-index:100;left:20px;top:-100px;background:var(--gold);color:var(--bg);padding:12px 20px}.skip-link:focus{top:12px}
.site-header{height:84px;border-bottom:1px solid var(--line)}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none;color:var(--text);font-size:1rem;font-weight:600;letter-spacing:.06em}.brand img{width:30px;height:30px}.header-links{display:flex;align-items:center;gap:28px;font-size:.875rem}.header-links a{text-decoration:none}.language{color:var(--soft)}.map-link{display:flex;align-items:center;gap:16px;border:1px solid #68716b;padding:9px 18px}.arrow{font-family:Arial,sans-serif}.eyebrow{font:500 .75rem/1.5 var(--sans);letter-spacing:.18em;color:var(--gold)}.hero{position:relative;padding-top:64px;padding-bottom:56px}.breadcrumb{display:flex;gap:12px;align-items:center;color:var(--muted);font-size:.75rem;margin-bottom:38px}.breadcrumb a{color:var(--muted);text-decoration:none}.hero-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:54px;align-items:center}.hero h1{font-family:var(--serif);font-size:clamp(2.5rem,3.6vw,3.7rem);line-height:1.47;letter-spacing:.025em;margin:22px 0 26px}.hero h1 span{display:block;white-space:nowrap}.hero-intro{max-width:430px;line-height:2.1;font-size:1rem}.hero-meta{display:flex;gap:20px;align-items:center;font-size:.75rem;color:var(--muted);margin:26px 0}.hero-start{display:inline-flex;align-items:center;gap:36px;color:var(--gold);font-size:.875rem;text-decoration:none;border-bottom:1px solid #766749;padding:6px 0}.hero-photo{position:relative}.hero-photo img{width:100%;height:480px;object-position:center;border-radius:100% 100% 0 0 / 72% 72% 0 0;filter:saturate(.78)}.photo-caption{display:flex;justify-content:space-between;gap:16px;margin-top:14px;font-size:.75rem;line-height:1.6;color:var(--muted)}.photo-caption a{color:var(--muted)}.photo-index{position:absolute;bottom:56px;left:24px;color:white;font-size:.75rem;letter-spacing:.14em;background:#0b1418d9;padding:7px 12px}
.chapter-nav{position:sticky;top:0;z-index:20;background:#0b1418f5;border-block:1px solid var(--line);backdrop-filter:blur(12px)}.chapter-nav-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:70px}.nav-title{font-size:.75rem;color:var(--muted);letter-spacing:.1em;flex-shrink:0}.chapter-links{display:flex;gap:30px;align-items:stretch}.chapter-links a{display:flex;gap:9px;align-items:center;min-height:70px;font-size:.875rem;white-space:nowrap;text-decoration:none;color:var(--soft);border-bottom:2px solid transparent}.chapter-links a span{font-family:Georgia,serif;font-size:.875rem;color:var(--muted)}.chapter-links a:hover,.chapter-links a[aria-current]{color:var(--gold);border-color:var(--gold)}.reading-track{height:2px;background:transparent;position:absolute;bottom:-1px;left:0;right:0;overflow:hidden}.reading-fill{height:100%;background:var(--gold);transform:scaleX(0);transform-origin:left;opacity:.65}
.overview{padding-block:80px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:34px}.section-heading h2{font:500 clamp(1.6rem,2.4vw,2.25rem)/1.6 var(--serif);margin-top:10px}.section-heading>p{max-width:430px;font-size:.9375rem}.layers{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--line)}.layer{padding:28px 30px 30px 0}.layer+.layer{padding-left:30px;border-left:1px solid var(--line)}.layer-top{display:flex;align-items:center;gap:13px;margin-bottom:12px}.layer-number{font:italic 1.2rem Georgia,serif;color:var(--gold)}.layer h3{font-size:1.125rem}.layer p{font-size:.9375rem}.layer-tag{color:var(--muted);font-size:.75rem;margin-bottom:6px;letter-spacing:.07em}
.chapter{padding-block:70px;border-top:1px solid var(--line);display:grid;grid-template-columns:200px minmax(0,1fr);gap:54px}.chapter-marker{align-self:start;position:sticky;top:115px}.chapter-number{font:normal 4.5rem/1 Georgia,serif;color:var(--gold);display:block;margin-bottom:18px}.chapter-marker h2{font:500 1.5rem/1.6 var(--serif)}.chapter-marker .eyebrow{font-size:.75rem;letter-spacing:.14em;margin-top:12px}.chapter-content>h3,.feature-copy h3{font:500 clamp(1.55rem,2.5vw,2.125rem)/1.6 var(--serif);margin-bottom:22px}.chapter-lead{font-size:1rem;max-width:720px;margin-bottom:32px}.diagram{margin-block:30px;background:var(--panel);border:1px solid var(--line);padding:26px 26px 18px}.diagram-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.diagram-heading h4{font-size:.875rem;font-weight:500;margin:0}.diagram-heading span,.diagram figcaption{font-size:.75rem;color:var(--muted)}.diagram svg{width:100%;height:auto}.diagram figcaption{margin-top:12px;line-height:1.7}.diagram text{font-family:var(--sans);fill:var(--soft)}.term-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px 34px;margin-top:32px}.term{border-top:1px solid var(--line);padding-top:20px}.term-title{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:baseline;margin-bottom:10px}.term h4{font-weight:500;font-size:1.125rem;margin:0}.term .reading{font-size:.75rem;color:var(--muted)}.term p{font-size:.9375rem}.text-link{font-size:.875rem;display:inline-block;margin-top:14px}.source-inline{font-size:.75rem;color:var(--muted);margin-top:20px}.source-inline a{color:var(--muted)}.field-note{display:flex;gap:18px;padding:20px 22px;border-left:2px solid var(--gold);background:var(--panel);margin-top:30px}.field-note>span{color:var(--gold);font-size:.75rem;letter-spacing:.08em;flex-shrink:0;padding-top:3px}.field-note p{font-size:.875rem}.feature{margin-top:34px;display:grid;grid-template-columns:1.05fr 1fr;border:1px solid var(--line);background:var(--panel)}.feature>figure{min-width:0}.feature img{width:100%;height:100%;min-height:260px}.feature-copy{padding:28px}.feature-copy .eyebrow{font-size:.75rem;margin-bottom:10px}.feature-copy h3{font-size:1.45rem;margin-bottom:12px}.feature-copy p{font-size:.875rem}.feature-copy a{font-size:.875rem;display:inline-block;margin-top:16px}.feature-credit{font-size:.75rem;color:var(--muted);margin-top:8px}.feature-credit a{color:inherit}
.comparison{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:30px}.comparison-card{padding:24px;background:var(--panel);border:1px solid var(--line)}.comparison-card .period{color:var(--gold);font-size:.75rem;letter-spacing:.04em}.comparison-card h4{font:500 1.4rem/1.6 var(--serif);margin:7px 0 8px}.comparison-card svg{display:block;width:100%;margin:18px 0}.comparison-card h5{font-size:1rem;font-weight:500;margin:20px 0 10px}.comparison-card p{font-size:.875rem}.comparison-card .example{border-top:1px solid var(--line);padding-top:14px;margin-top:20px;font-size:.8125rem}.comparison-card .example a{display:inline-block;margin-right:12px}.comparison-note{font-size:.75rem;color:var(--muted);margin-top:14px}.late-chamber{margin-top:30px;padding-top:28px;border-top:1px solid var(--line)}.late-chamber h4{font:500 1.4rem/1.6 var(--serif);margin:0 0 12px}.late-chamber p{font-size:.9375rem}.example-links{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:14px;font-size:.875rem}.visit-note{padding:20px 24px;margin-top:26px;border:1px solid #75664b}.visit-note h4{font-size:.875rem;color:var(--gold);margin:0 0 7px;font-weight:500}.visit-note p{font-size:.875rem}.table-wrap{overflow-x:auto;margin-block:28px;border-top:1px solid var(--line)}table{border-collapse:collapse;width:100%;text-align:left;font-size:1rem}caption{text-align:left;font-size:.75rem;color:var(--muted);padding:12px 0}th,td{padding:18px 15px;border-bottom:1px solid var(--line);vertical-align:top}thead th{font-weight:400;color:var(--gold);font-size:.75rem;background:var(--panel)}tbody th{font-weight:500;color:var(--text);min-width:120px}td{color:var(--soft)}.coffin-note{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:28px}.coffin-note article{border-top:1px solid var(--gold);padding-top:16px}.coffin-note h4{font-size:1.125rem;font-weight:500;margin:0 0 8px}.coffin-note p{font-size:.875rem}.stone-route{background:var(--panel);border:1px solid var(--line);padding:32px;margin-top:28px}.stone-route h4{font:500 1.5rem/1.6 var(--serif);margin:12px 0 22px}.route-stops{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-block:16px;border-block:1px solid var(--line)}.route-stop{font-size:1rem}.route-stop small{display:block;color:var(--muted);font-size:.75rem}.route-line{height:1px;background:var(--gold);flex:1;min-width:18px;position:relative}.route-line:after{content:'';position:absolute;right:0;top:-3px;width:6px;height:6px;border-right:1px solid var(--gold);border-top:1px solid var(--gold);transform:rotate(45deg)}.stone-route>p{font-size:.875rem;margin-top:18px}.material-list{margin-top:30px}.material-list>dl{display:grid;grid-template-columns:155px 1fr;gap:24px;padding-block:20px;border-bottom:1px solid var(--line)}.material-list dt{color:var(--text);font-weight:500}.material-list dt small{display:block;font-size:.75rem;font-weight:400;color:var(--muted)}.material-list dd{font-size:.9375rem;color:var(--soft)}
.faq-section{padding-block:70px;border-top:1px solid var(--line);display:grid;grid-template-columns:200px minmax(0,1fr);gap:54px}.faq-section h2{font:500 1.5rem/1.6 var(--serif);margin-top:12px}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:16px;justify-content:space-between;font-size:1rem;padding:24px 0}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:'+';font:normal 1.5rem Georgia,serif;color:var(--gold);flex-shrink:0}.faq-list details[open] summary:after{content:'−'}.faq-list details p{padding:0 28px 24px 0;font-size:.9375rem}.explore{margin-block:12px 65px;padding:45px 50px;background:var(--panel);border-block:1px solid var(--gold);display:flex;align-items:center;justify-content:space-between;gap:35px}.explore h2{font:500 clamp(1.5rem,2.4vw,2rem)/1.7 var(--serif);margin:10px 0}.explore p{font-size:.9375rem}.explore-actions{display:flex;flex-direction:column;align-items:center;gap:16px;flex-shrink:0}.button-primary{background:var(--gold);color:var(--bg);padding:13px 25px;min-height:50px;display:inline-flex;gap:35px;align-items:center;font-size:.9375rem;text-decoration:none}.button-primary:hover{background:#e7cc9e;color:var(--bg)}.explore-actions>a:last-child{font-size:.8125rem}.sources{border-top:1px solid var(--line);padding-block:30px 45px}.sources summary{color:var(--soft);font-size:.875rem;cursor:pointer;width:fit-content}.sources ol{padding-left:20px;columns:2;gap:45px;font-size:.8125rem;color:var(--muted);margin-block:24px}.sources li{break-inside:avoid;margin-bottom:12px}.sources a{color:var(--soft)}.source-policy{font-size:.75rem;color:var(--muted);max-width:850px}.site-footer{border-top:1px solid var(--line);padding-block:30px 36px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:24px}.footer-links{display:flex;gap:24px;flex-wrap:wrap;font-size:.75rem}.footer-links a{color:var(--muted);text-decoration:none}.footer-bottom{margin-top:24px;display:flex;justify-content:space-between;gap:24px;font-size:.75rem;color:var(--muted)}.footer-bottom .km-disclaimer{font-size:.75rem!important;color:var(--muted)!important;max-width:800px}.back-top{white-space:nowrap}html[lang=en] .hero h1{font-size:clamp(3rem,4.8vw,4.8rem);line-height:1.12}html[lang=en] .chapter-links{gap:22px}html[lang=en] .chapter-marker h2{font-size:1.4rem}html[lang=en] .hero-intro{line-height:1.9}
@media(min-width:1500px){.hero-photo img{height:520px}.hero{padding-top:70px;padding-bottom:70px}}
@media(max-width:1100px){.container{width:calc(100% - 64px)}.hero-grid{gap:34px;grid-template-columns:1fr 1fr}.hero-photo img{height:430px}.chapter,.faq-section{grid-template-columns:160px minmax(0,1fr);gap:34px}.chapter-links{gap:22px}.nav-title{display:none}.chapter-nav-inner{justify-content:center}.comparison-card{padding:20px}.feature-copy{padding:22px}.explore{padding:36px}.material-list>dl{grid-template-columns:130px 1fr}}
@media(max-width:760px){html{scroll-padding-top:95px}.container{width:calc(100% - 40px)}.site-header{height:70px}.brand{font-size:.875rem;gap:9px;letter-spacing:.025em}.brand img{width:24px;height:24px}.header-links{gap:16px;font-size:.8125rem}.map-link{padding:7px 11px;gap:8px}.hero{padding-top:24px;padding-bottom:35px}.breadcrumb{margin-bottom:28px}.hero-grid{grid-template-columns:1fr;gap:30px}.hero h1{font-size:clamp(2.6rem,8vw,3.6rem);line-height:1.45;margin:16px 0 20px}.hero-intro{max-width:550px}.hero-meta{margin:18px 0}.hero-photo img{height:340px;border-radius:50% 50% 0 0 / 75% 75% 0 0;object-position:center 48%}.hero-photo{max-width:550px;width:100%;justify-self:center}.photo-index{bottom:48px;left:16px}.photo-caption{font-size:.75rem}.chapter-nav-inner{width:100%;display:block;min-height:62px}.chapter-links{padding:0 20px;gap:25px;overflow:auto;scrollbar-width:thin;scrollbar-color:var(--line) transparent}.chapter-links a{min-height:62px;font-size:.8125rem;gap:7px;flex-shrink:0}.overview{padding-block:44px}.section-heading{display:block;margin-bottom:24px}.section-heading>p{margin-top:16px}.section-heading h2{font-size:1.75rem}.layers{grid-template-columns:1fr}.layer,.layer+.layer{padding:20px 0;border-left:0}.layer+.layer{border-top:1px solid var(--line)}.layer-top{margin-bottom:6px}.layer-tag{margin-bottom:3px}.chapter,.faq-section{display:block;padding-block:44px}.chapter-marker{position:static;display:grid;grid-template-columns:55px 1fr;align-items:center;gap:0 18px;margin-bottom:26px}.chapter-number{grid-row:1/3;font-size:3.1rem;margin:0}.chapter-marker h2{font-size:1.4rem}.chapter-marker .eyebrow{margin:4px 0 0;font-size:.75rem}.chapter-content>h3{font-size:1.625rem}.diagram{padding:18px 12px 14px;margin-inline:-4px}.diagram-heading{padding-inline:5px}.diagram-heading span{font-size:.75rem}.diagram figcaption{padding-inline:5px}.term-grid{gap:24px}.term h4{font-size:1rem}.term p{font-size:1rem}.feature{grid-template-columns:1fr 1fr}.feature img{min-height:260px}.feature-copy h3{font-size:1.2rem}.comparison{gap:12px}.comparison-card{padding:18px 14px}.comparison-card h4{font-size:1.2rem}.comparison-card h5{font-size:.9375rem}.comparison-card .period{font-size:.75rem}.field-note{display:block;padding:17px 20px}.field-note>span{display:block;margin-bottom:8px}.stone-route{padding:24px}.route-stop{font-size:.875rem}.route-stops{gap:10px}.material-list>dl{grid-template-columns:120px 1fr;gap:16px}.faq-section>div:first-child{margin-bottom:26px}.faq-list summary{font-size:.9375rem;padding-block:21px}.explore{display:block;padding:30px 24px;margin-bottom:44px}.explore-actions{align-items:start;margin-top:24px}.sources ol{columns:1}.footer-top,.footer-bottom{display:block}.footer-links{margin-top:22px;gap:18px}.back-top{display:inline-block;margin-top:20px}html[lang=en] .brand{max-width:170px;line-height:1.4}html[lang=en] .hero h1{font-size:3.6rem}html[lang=en] .chapter-links{gap:24px}}
@media(max-width:460px){.header-links{gap:12px}.map-link .arrow{display:none}.hero-photo img{height:285px}.hero h1{font-size:clamp(1.85rem,8.4vw,2.5rem)}.hero-intro{font-size:.9375rem}.photo-caption{display:block}.photo-caption>span{display:block;margin-top:4px}.photo-index{bottom:69px}.comparison{grid-template-columns:1fr}.comparison-card{padding:24px}.comparison-card svg{max-width:340px;margin-inline:auto}.feature{grid-template-columns:1fr}.feature img{height:225px;min-height:0}.feature-copy{padding:24px}.term-grid{grid-template-columns:1fr}.coffin-note{gap:18px}.coffin-note h4{font-size:1rem}.material-list>dl{display:block}.material-list dt{margin-bottom:8px}.material-list dt small{display:inline;margin-left:10px}.stone-route{padding:22px 18px}.route-stops{gap:8px}.route-stop{font-size:.8125rem}.route-stop small{font-size:.75rem}.route-line{min-width:12px}th,td{padding:14px 10px}tbody th{min-width:105px}.diagram-heading{align-items:start}.diagram-heading span{max-width:90px;text-align:right}html[lang=en] .hero h1{font-size:3rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
@media print{:root{color-scheme:light;--bg:#fff;--panel:#f4f4f1;--panel2:#eee;--text:#111;--soft:#333;--muted:#555;--gold:#68522e;--line:#ccc}body{font-size:10pt}.container{width:100%}.site-header,.chapter-nav,.hero-start,.explore,.back-top,.skip-link{display:none}.hero{padding:0 0 25px}.hero-photo img{height:240px}.hero h1{font-size:28pt}.hero-grid{grid-template-columns:1fr 1fr}.chapter,.faq-section{grid-template-columns:110px 1fr;padding-block:25px;gap:25px}.chapter-marker{position:static}.chapter-number{font-size:35pt}.chapter-marker h2{font-size:16pt}.overview{padding-block:25px}.diagram,.comparison-card,.term,.feature{break-inside:avoid}.feature img{max-height:250px}.faq-list details p{display:block!important}.sources ol{columns:1}.reading-track{display:none}a{color:#333}.photo-index{display:none}}

/* Keep explanatory text comfortable to read; smaller type is reserved for captions. */
.term p,.comparison-card p,.feature-copy p,.coffin-note p,.material-list dd,.late-chamber p,.faq-list details p{font-size:1rem}
.comparison-card .period,.comparison-card .reading{font-size:.8125rem}
.layer p{font-size:1rem}
.feature-copy .eyebrow{font-size:.75rem}
.hero .eyebrow{max-width:450px;line-height:1.8}
.hero-photo img{object-position:57% 57%}
@media(max-width:760px){.hero .eyebrow{font-size:.75rem}.hero h1{font-size:clamp(1.85rem,7.4vw,3.5rem)}}
@media(max-width:460px){.coffin-note{grid-template-columns:1fr}.route-stops{flex-wrap:wrap}.route-stop{flex:1;min-width:0}.route-line{flex:0 0 16px}}
