
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Noto+Serif+JP:wght@600;700&display=swap');
:root{
 --ink:#182019;--muted:#697268;--paper:#f7f0e3;--paper2:#efe1c8;--white:#fffdfa;
 --accent:#7b3f27;--accent2:#b77c4e;--line:#d8c8ae;--shadow:0 18px 45px rgba(52,35,19,.11);
 --green:#314c3a;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--white);color:var(--ink);font-family:"DM Sans",system-ui,sans-serif;line-height:1.65}
img{max-width:100%}
a{color:inherit}
.wrap{width:min(1140px,calc(100% - 40px));margin:auto}
.narrow{width:min(790px,100%)}
.site-header{position:sticky;top:0;z-index:20;background:rgba(255,253,250,.93);backdrop-filter:blur(12px);border-bottom:1px solid rgba(216,200,174,.75)}
.nav{height:72px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:flex;gap:9px;align-items:baseline;text-decoration:none}
.brand-word{font-weight:900;letter-spacing:.14em}
.brand-kanji{font-family:"Noto Serif JP",serif}
nav{display:flex;gap:22px;flex-wrap:wrap}
nav a{text-decoration:none;color:var(--muted);font-weight:700;font-size:.92rem}
.hero{background:linear-gradient(135deg,var(--paper),#fffaf1 62%,var(--paper2));border-bottom:1px solid var(--line)}
.hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:64px;align-items:center;padding:74px 0}
.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.75rem;font-weight:900;color:var(--accent);margin:0 0 12px}
h1,h2,h3{line-height:1.08;margin-top:0}
h1{overflow-wrap:anywhere}
h1,h2,h3{font-family:Georgia,serif}
h1{font-size:clamp(3rem,7.5vw,6.2rem);letter-spacing:-.055em;margin-bottom:22px}
h2{font-size:clamp(2rem,4vw,3.3rem);letter-spacing:-.035em;margin-bottom:20px}
h3{font-size:1.55rem;margin-bottom:10px}
.lede{font-size:1.22rem;color:#49534b;max-width:700px}
.hero-actions{display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin-top:28px}
.button{background:var(--ink);color:#fff;text-decoration:none;padding:13px 18px;border-radius:999px;font-weight:800}
.button.alt{background:var(--accent)}
.text-link{font-weight:800;color:var(--accent);text-decoration:none}
.sage-card{background:#211b15;border-radius:6px;padding:12px;box-shadow:var(--shadow);margin:0;transform:rotate(.5deg)}
.sage-card img{display:block;width:100%;background:#d8b77d}
.sage-card figcaption{background:#fff8eb;padding:15px;color:#4e463c;font-size:.9rem}
.verdict-strip{background:var(--ink);color:white;padding:14px 0}
.verdict-label{font-size:.74rem;font-weight:900;letter-spacing:.16em;color:#e8c6a2;margin-right:14px}
.section{padding:72px 0}
.alt{background:#f4ecdf}
.topic-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:32px}
.topic-card{background:#fff;border:1px solid var(--line);padding:24px;text-decoration:none;min-height:125px;transition:.18s}
.topic-card:hover,.article-card:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(52,35,19,.08)}
.topic-card span{display:block;font-family:Georgia,serif;font-weight:700;font-size:1.55rem}
.topic-card small{display:block;color:var(--muted);margin-top:7px}
.article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:32px}
.article-card{background:#fffdfa;border:1px solid var(--line);padding:25px;transition:.18s}
.article-card.featured{border-top:5px solid var(--accent)}
.article-card h3 a{text-decoration:none}
.tag{font-size:.72rem;text-transform:uppercase;letter-spacing:.13em;font-weight:900;color:var(--accent)}
.mini-verdict{border-left:3px solid var(--accent);padding-left:13px;color:#4a534b}
.manifesto{text-align:center}
.manifesto p:last-child{font-size:1.12rem;color:var(--muted)}
.experience{background:var(--green);color:#fff}
.experience .eyebrow{color:#f3c99f}
.experience p{color:#e3e8e3}
.experience-card{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);padding:28px;border-radius:8px}
footer{background:#171a17;color:#eee4d3;padding:34px 0}
.footer-grid{display:flex;justify-content:space-between;gap:24px;align-items:center;flex-wrap:wrap}
footer a{color:#eee4d3}
footer small{color:#aaa596}
.article-wrap{width:min(800px,calc(100% - 40px));margin:auto;padding:60px 0}
.article-wrap h1{font-size:clamp(2.7rem,7vw,5.2rem)}
.article-wrap h2{font-size:2rem;margin-top:48px}
.article-wrap p,.article-wrap li{font-size:1.07rem}
.back{display:inline-block;margin-bottom:28px;text-decoration:none;font-weight:800;color:var(--accent)}
.callout{background:#f4ecdf;border-left:5px solid var(--accent);padding:22px 24px;margin:30px 0}
.rule{background:#171a17;color:white;padding:21px 22px;margin:30px 0;font-weight:700}
.note{font-size:.94rem!important;color:var(--muted)}
.kicker{font-family:Georgia,serif;font-size:1.45rem;color:#455046}
.list-card{border:1px solid var(--line);padding:22px;margin:18px 0;background:#fffdfa}
.breadcrumb{font-size:.9rem;color:var(--muted);margin-bottom:16px}
@media(max-width:820px){
 .hero-grid{grid-template-columns:1fr;gap:36px;padding:50px 0}
 .sage-card{max-width:430px}
 .topic-grid,.article-grid{grid-template-columns:1fr}
}
@media(max-width:560px){
 .wrap{width:min(100% - 26px,1140px)}
 nav a:nth-child(2),nav a:nth-child(3){display:none}
 h1{font-size:3.55rem}
 .hero-grid{padding:38px 0}
 .footer-grid{display:block}
}
