
:root{--paper:#f7f6f2;--white:#fffefa;--forest:#153b39;--ink:#293c36;--muted:#5b6a60;--line:#dce1d6;--sage:#567b61;--bronze:#a2714c;--serif:'Yu Mincho','Hiragino Mincho ProN','Noto Serif CJK JP',Georgia,serif;--sans:-apple-system,BlinkMacSystemFont,'Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:120px}body{margin:0;background:var(--paper);font-family:var(--sans);color:var(--ink);font-size:1rem;line-height:1.9;-webkit-font-smoothing:antialiased}button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid var(--bronze);outline-offset:5px}h1,h2,p,figure{margin:0}h1,h2{overflow-wrap:break-word}.skip-link{position:fixed;top:-100px;left:20px;z-index:30;background:var(--forest);color:white;padding:10px 18px}.skip-link:focus{top:15px}
.site-header{position:sticky;top:0;z-index:20;background:var(--paper);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:25px;min-height:88px;padding:17px 5.5%}
.brand{display:flex;align-items:center;gap:15px}.brand-mark{display:flex;align-items:center;justify-content:center;width:35px;height:40px;background:var(--forest);color:var(--paper);font-family:var(--serif);font-size:1.2rem;border-radius:2px}.brand-name{font:500 1.1rem var(--serif);letter-spacing:.08em}.brand-name small{display:block;font:400 .75rem Georgia,serif;color:var(--muted);letter-spacing:.08em;margin-top:6px}
.header-actions{display:flex;align-items:center;gap:37px}.header-actions nav{display:flex;gap:27px;font-size:.875rem}.header-actions nav a{padding:6px 0}.header-actions nav a:hover{color:var(--sage)}
.language-switch{display:flex;gap:3px;padding:3px;border:1px solid #ccd6c7;border-radius:5px;background:#edf1e8}.language-switch button{background:none;border:0;padding:7px 12px;border-radius:3px;color:#4b6449;font-size:.875rem;line-height:1.5;min-height:35px}.language-switch button[aria-pressed=true]{color:var(--paper);background:var(--forest)}.language-switch button:hover:not([aria-pressed=true]){background:#dfe8d7}
main{max-width:1360px;margin:auto;padding:0 5.5%}.hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:60px;align-items:center;padding:64px 0 62px;border-bottom:1px solid var(--line)}.eyebrow{font-size:.875rem;color:#55704d;line-height:1.7;letter-spacing:.055em}.eyebrow span{color:#a7b19e;margin:0 9px}h1{font-family:var(--serif);font-weight:500;font-size:clamp(3.4rem,5.5vw,4.8rem);line-height:1.3;letter-spacing:.14em;margin-top:22px}.name-secondary{font:italic 1.8rem Georgia,var(--serif);color:#8a664c;margin-top:5px;letter-spacing:.02em}.overview-copy{margin-top:28px}.section-label{font-size:.875rem;font-weight:500;color:#67755e;margin-bottom:10px;letter-spacing:.08em}.overview-copy p{font-size:1rem;line-height:2.05;color:#4b5d4b;overflow-wrap:break-word}.hero-image{position:relative;min-width:0}.hero-image img{display:block;width:100%;height:auto;aspect-ratio:5/4;object-fit:cover;border-radius:3px;background:#153b39}.image-rule{display:flex;gap:10px;align-items:center;margin-top:20px;color:#7a836d;font-size:.75rem;letter-spacing:.16em}.image-rule:before{content:"";height:1px;background:#a5b196;flex:1}.image-rule:after{content:"";height:1px;background:#a5b196;width:34px}
.reading-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:65px;margin:61px 0 84px}.contents{position:sticky;top:125px;align-self:start;min-width:0}.contents-label{font-size:.875rem;color:#5b7551;font-weight:500;letter-spacing:.06em;margin-bottom:23px}.contents-links{display:flex;flex-direction:column;gap:7px;border-top:1px solid #d1ddc8;padding-top:14px}.contents-links a{display:flex;align-items:baseline;gap:16px;line-height:1.65;padding:10px 9px 10px 0;font-size:.875rem;color:#5f7158;transition:color .15s,background .15s;overflow-wrap:break-word}.contents-links a span{color:#8c9d80;font:400 .75rem Georgia,serif;min-width:18px}.contents-links a:hover{color:var(--forest);background:#edf2e7}.chapters{max-width:870px;min-width:0}.chapter{padding:0 0 41px;margin:0 0 38px;border-bottom:1px solid var(--line)}.chapter:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}.chapter-heading{display:flex;gap:18px;align-items:baseline;margin-bottom:21px}.chapter-number{font:400 .875rem Georgia,serif;color:#728c63;min-width:23px}.chapter h2{font-family:var(--serif);font-size:1.7rem;font-weight:500;line-height:1.6;letter-spacing:.04em}.chapter-copy{padding-left:41px;font-size:1rem;line-height:2.05;color:#40563d;overflow-wrap:break-word}.chapter-copy p+p{margin-top:21px}.theory-link{color:#366744;border-bottom:1px solid #94b180;text-decoration:none;text-underline-offset:4px}.theory-link:hover{color:#1b4a29;border-bottom-color:#1b4a29}em{font-family:Georgia,var(--serif);font-weight:400}.site-footer{background:var(--forest);color:#f1f0e1;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:35px 5.5%}.footer-brand{display:flex;align-items:center;gap:18px;font-family:var(--serif);font-size:1.2rem}.footer-brand .divider{color:#91a691}.footer-role{font-family:var(--sans);font-size:.875rem;color:#c0d0b8;padding-left:18px;border-left:1px solid #69816b}.back-top{font-size:.875rem;color:#d6dfcc;padding:6px 0;border-bottom:1px solid #77906e;line-height:1.6}.back-top:hover{color:white}
html[lang=en] h1{letter-spacing:-.04em;font-size:clamp(3.7rem,6vw,5.3rem);font-family:Georgia,serif}html[lang=en] .name-secondary{font-family:var(--serif);font-style:normal;font-size:1.45rem;letter-spacing:.18em}html[lang=en] .eyebrow{letter-spacing:0}html[lang=en] .overview-copy p,html[lang=en] .chapter-copy{line-height:1.95}html[lang=en] .chapter h2{letter-spacing:0}html[lang=zh-Hans] .overview-copy p,html[lang=zh-Hans] .chapter-copy{line-height:2.1}
@media(max-width:1100px){.hero{gap:38px;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}.reading-layout{grid-template-columns:200px minmax(0,1fr);gap:35px}.header-actions{gap:22px}.header-actions nav{gap:17px}.hero-image img{aspect-ratio:4/5}.chapter-copy{padding-left:0}.chapter h2{font-size:1.55rem}}
@media(max-width:800px){.site-header{min-height:79px;padding:15px 5%;gap:16px}.header-actions nav{display:none}.header-actions{gap:0}main{padding-inline:5%}.hero{padding:36px 0 39px;grid-template-columns:1fr;gap:31px}.hero-content{max-width:660px}.hero-image img{aspect-ratio:3/2;max-height:420px}.image-rule{margin-top:13px}.reading-layout{grid-template-columns:1fr;gap:33px;margin:32px 0 49px}.contents{position:static}.contents-label{margin-bottom:13px}.contents-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px 20px;padding-top:9px}.contents-links a{gap:10px;font-size:.875rem;padding:8px 0}.contents-links a span{min-width:17px}.chapter{margin-bottom:29px;padding-bottom:30px}.chapter-heading{margin-bottom:16px;gap:11px}.chapter h2{font-size:1.5rem}.chapter-copy{padding:0}.site-footer{padding:29px 5%;gap:20px}.footer-brand{gap:12px;font-size:1.1rem}.footer-role{padding-left:12px}.overview-copy p{line-height:2.05}.overview-copy{margin-top:22px}}
@media(max-width:520px){.site-header{gap:12px}.brand{gap:10px}.brand-mark{width:28px;height:34px;font-size:1rem}.brand-name{font-size:.95rem}.brand-name small{font-size:.75rem;margin-top:4px}.language-switch{gap:1px;padding:2px}.language-switch button{font-size:.875rem;padding:6px 7px;min-height:33px}h1{font-size:3.55rem;letter-spacing:.1em;margin-top:17px}.name-secondary{font-size:1.65rem}.eyebrow{font-size:.875rem;letter-spacing:0}.eyebrow span{margin:0 5px}.hero{padding-top:30px;gap:26px}.hero-image img{aspect-ratio:4/3}.image-rule{font-size:.75rem;letter-spacing:.1em}.contents-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 14px}.contents-links a{align-items:baseline}.chapter-copy{line-height:2}.chapter h2{font-size:1.4rem}.site-footer{align-items:flex-start;flex-direction:column;gap:20px}.footer-brand{flex-wrap:wrap}.back-top{align-self:flex-end}html[lang=en] h1{font-size:3.8rem}html[lang=en] .name-secondary{font-size:1.35rem}.overview-copy p,.chapter-copy{font-size:1rem}}
@media(max-width:359px){.site-header{flex-wrap:wrap;justify-content:space-between}.brand-name{font-size:.95rem}.brand-mark{display:none}.language-switch button{padding:6px}.header-actions{margin-left:auto}.eyebrow{line-height:1.9}.contents-links{column-gap:12px}.contents-links a{gap:7px}.chapter h2{font-size:1.32rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media print{.site-header{position:static}.header-actions,.contents,.back-top,.image-rule{display:none}.hero{display:block}.hero-image{display:none}.reading-layout{display:block}.chapter{break-inside:avoid}.site-footer{background:white;color:#153b39}body{background:white}.footer-role{color:#153b39}}
