:root{color-scheme:light;--ink:#25384a;--muted:#687682;--rose:#d07d8d;--line:#e9e5e2;--bg:#fbf9f8}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:'Yu Mincho','Hiragino Mincho ProN',serif;line-height:1.9}a{color:inherit}header{background:#fff;border-bottom:1px solid var(--line)}.wrap{max-width:940px;margin:auto;padding:0 24px}.head{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:18px;padding-bottom:18px}.brand{text-decoration:none;font-size:24px;letter-spacing:.12em}.nav{font:14px sans-serif;display:flex;gap:25px}.nav a{text-decoration:none}.hero{padding:70px 0 44px}.eyebrow{font:12px sans-serif;letter-spacing:.24em;color:var(--rose)}h1{font-size:clamp(30px,5vw,44px);font-weight:500;letter-spacing:.1em;margin:10px 0}h2{font-size:24px;font-weight:500;margin:0 0 8px}.intro,.meta{color:var(--muted)}.list{display:grid;gap:18px;margin-bottom:80px}.entry,.article{background:#fff;border:1px solid var(--line);padding:28px 32px}.entry a{text-decoration:none}.entry a:hover,.nav a:hover{color:var(--rose)}.meta{font:13px sans-serif;margin-bottom:12px}.tag{color:#aa6172}.article{margin:36px auto 70px;max-width:800px;padding:clamp(24px,5vw,58px)}.article p{margin:0 0 1.6em}.note{font:13px sans-serif;color:var(--muted);background:#f8f4f2;padding:12px 16px}.back{display:inline-block;margin-top:30px;color:#a65e70}footer{border-top:1px solid var(--line);padding:26px 0;font:12px sans-serif;color:var(--muted)}@media(max-width:600px){.head{align-items:flex-start;flex-direction:column}.hero{padding-top:45px}.entry{padding:22px}}

.category-nav{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 35px}.category-link{border:1px solid #d9d6d4;border-radius:30px;padding:9px 15px;color:#243c51;text-decoration:none;font-size:14px}.category-link:hover,.category-link.active{background:#243c51;color:#fff;border-color:#243c51}

/* Category navigation: compatible with both blog stylesheet names */
.category-nav { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin:0 0 35px; padding:0; }
.category-nav .category-link { display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; padding:9px 17px; border:1px solid #d9d6d4; border-radius:999px; background:#fff; color:#25384a; text-decoration:none; font:14px/1.5 sans-serif; white-space:nowrap; transition:background .15s,color .15s; }
.category-nav .category-link:hover, .category-nav .category-link.active { background:#25384a; border-color:#25384a; color:#fff; }
@media(max-width:600px) { .category-nav {gap:8px;} .category-nav .category-link {padding:8px 12px;font-size:13px;} }

/* Match homepage navigation on blog pages */
.site-header{background:#fff;border-bottom:1px solid #e7e4e0}
.site-header .head-inner{max-width:1080px;min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:0;padding-bottom:0}
.site-header .brand{font-family:Georgia,'Yu Mincho',serif;font-size:24px;font-weight:700;letter-spacing:.09em;color:#24384b;line-height:1.5;white-space:nowrap}
.site-header .brand small{display:block;font:normal 11px/1.5 sans-serif;letter-spacing:.18em;color:#64717c}
.site-header .main-nav{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:12px 24px;font:13px/1.5 'Yu Gothic',Meiryo,sans-serif;white-space:nowrap}
.site-header .main-nav a{text-decoration:none;color:#26323c}
.site-header .main-nav a:hover{color:#a95e71}
@media(max-width:760px){.site-header .head-inner{display:block;padding-top:18px;padding-bottom:18px}.site-header .main-nav{justify-content:flex-start;gap:10px 17px;margin-top:14px;white-space:normal}}

/* Header layout: shared with homepage */
.site-header .head-inner{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:86px;padding-top:12px;padding-bottom:12px}
.site-header .brand{display:block;flex-shrink:0;font-size:23px;line-height:1.35;letter-spacing:.08em;text-decoration:none}
.site-header .brand small{display:block;font-size:11px;letter-spacing:.08em;color:var(--muted);margin-top:5px;font-weight:normal}
.site-header .main-nav{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px 22px;font:13px/1.5 sans-serif;white-space:nowrap}
.site-header .main-nav a{text-decoration:none}
.site-header .main-nav a:hover{color:var(--rose)}
@media(max-width:800px){.site-header .head-inner{align-items:flex-start;flex-direction:column;gap:12px;padding-top:16px;padding-bottom:16px}.site-header .main-nav{justify-content:flex-start;gap:10px 18px;white-space:normal}}
