/* Gutenberg-friendly reading layout, scoped to the blog and latest-post section. */
body.blog-view { background:#f7f2e8; color:#253247; }
body.blog-view .global-header { background:#091421; }
.blog-main { padding-top:76px; }
.blog-container { width:min(1120px,calc(100% - 80px)); margin-inline:auto; }
.blog-breadcrumb { display:flex; flex-wrap:wrap; align-items:center; gap:12px; color:#5b6471; font-size:12px; letter-spacing:.04em; }
.blog-breadcrumb a:hover { color:#bd431c; text-decoration:underline; }
.blog-intro { padding:35px 0 58px; border-bottom:1px solid rgba(19,34,56,.16); background:#fffdf8; }
.blog-eyebrow { color:#a33918; font-family:var(--label); font-size:12px; font-weight:600; letter-spacing:.16em; }
.blog-intro .blog-eyebrow { margin-top:44px; }
.blog-intro h1 { margin:10px 0 20px; color:#132238; font-family:var(--serif); font-size:clamp(36px,4.5vw,54px); line-height:1.45; letter-spacing:.05em; }
.blog-intro__lead { font-size:16px; line-height:1.95; }
.blog-phrase { display:inline-block; max-width:100%; }
.blog-list { padding-block:36px 88px; }
.blog-filters { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:32px; }
.blog-filters a { padding:8px 18px; border:1px solid #c8c3ba; border-radius:3px; color:#253247; font-size:13px; line-height:1.6; background:#fffdf8; }
.blog-filters a[aria-current],.blog-filters a:hover { color:#fffdf8; background:#132238; border-color:#132238; }
.blog-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; }
.blog-card { min-width:0; border:1px solid #d5cfc4; background:#fffdf8; }
.blog-card__link { display:block; height:100%; }
.blog-card__image { overflow:hidden; background:#fff; }
.blog-card__image img { width:100%; height:auto; aspect-ratio:1200/630; object-fit:contain; transition:transform .35s ease; }
.blog-card__placeholder { display:flex; flex-direction:column; justify-content:center; align-items:center; aspect-ratio:1200/630; padding:24px; background:#132238; color:#fffdf8; }
.blog-card__placeholder span { font-size:14px; }
.blog-card__placeholder b { font-family:var(--english); font-size:44px; font-weight:500; }
.blog-card__body { padding:26px 28px 30px; }
.blog-meta { display:flex; flex-wrap:wrap; gap:12px 18px; align-items:center; color:#5b6471; font-family:var(--sans); font-size:12px; letter-spacing:.05em; line-height:1.7; }
.blog-category { display:inline-flex; align-items:center; padding:4px 10px; background:#f3e6dc; color:#993817; font-size:12px; font-weight:500; border-radius:2px; }
a.blog-category:hover { text-decoration:underline; }
.blog-card__title { margin:17px 0 14px; font-family:var(--sans); color:#132238; font-size:23px; font-weight:700; line-height:1.7; letter-spacing:.01em; overflow-wrap:normal; word-break:normal; line-break:strict; text-wrap:pretty; }
.blog-card__excerpt { font-size:14px; line-height:1.9; color:#46505e; }
.blog-card__read { display:flex; gap:28px; margin-top:24px; color:#993817; font-size:14px; font-weight:700; }
.blog-card__link:hover .blog-card__title { color:#a33918; }
.blog-card__link:hover .blog-card__image img { transform:scale(1.025); }
.blog-card--featured { grid-column:1/-1; }
.blog-card--featured .blog-card__link { display:grid; grid-template-columns:1.05fr 1fr; align-items:center; }
.blog-card--featured .blog-card__body { padding:32px 36px; }
.blog-card--featured .blog-card__title { font-size:25px; }
.blog-empty { padding:48px 0; }
.blog-article { padding:34px 0 88px; }
.blog-article__header { width:min(880px,calc(100% - 80px)); margin-inline:auto; padding-bottom:34px; }
.blog-article__header .blog-meta { margin-top:36px; }
.blog-article__title { margin:18px 0 20px; color:#132238; font-family:var(--sans); font-size:clamp(28px,3.1vw,42px); font-weight:700; line-height:1.6; letter-spacing:.01em; overflow-wrap:normal; word-break:normal; line-break:strict; text-wrap:pretty; }
.blog-article__byline { font-size:13px; color:#5b6471; }
.blog-article__content { width:min(760px,calc(100% - 80px)); margin-inline:auto; padding:42px 46px; border:1px solid #ddd6ca; background:#fffdf8; font-size:17px; line-height:2; letter-spacing:.025em; overflow-wrap:break-word; word-break:normal; word-break:auto-phrase; line-break:strict; }
.blog-article__content > * + * { margin-top:26px; }
.blog-article__content > p { margin-block:0 26px; }
.blog-article__content > h2,.blog-article__content > h3,.blog-article__content > h4 { color:#132238; font-family:var(--sans); font-weight:700; line-height:1.7; letter-spacing:.015em; word-break:normal; overflow-wrap:normal; line-break:strict; text-wrap:pretty; scroll-margin-top:100px; }
.blog-article__content > h2 { margin:58px 0 24px; padding:0 0 14px 17px; border-left:4px solid #bd431c; border-bottom:1px solid #d5cfc4; font-size:26px; }
.blog-article__content > h3 { margin:40px 0 18px; font-size:22px; }
.blog-article__content > h4 { margin:32px 0 16px; font-size:19px; }
.blog-article__content strong { color:#132238; font-weight:700; }
.blog-article__content p a,.blog-article__content li a { color:#993817; text-decoration:underline; text-underline-offset:4px; }
.blog-article__content ul,.blog-article__content ol { padding-left:1.6em; margin-block:24px 30px; }
.blog-article__content li { padding-left:.2em; margin-block:10px; }
.blog-article__content li::marker { color:#a33918; font-weight:700; }
.blog-article__content blockquote { margin:30px 0; padding:20px 24px; border-left:3px solid #c99a4a; background:#f7f2e8; color:#132238; }
.blog-article__content blockquote p { margin:0; }
.blog-article__content blockquote cite { display:block; margin-top:12px; font-size:13px; }
.blog-article__content .wp-block-image,.blog-article__content figure { max-width:100%; margin:30px auto; }
.blog-article__content .wp-block-image figure { margin:0 auto; }
.blog-article__content > .wp-block-image:first-child { margin-top:0; }
.blog-article__content .wp-block-image img { max-width:100%; height:auto; margin-inline:auto; border-radius:3px; }
.blog-article__content img[src$="/profile.jpg"],.blog-article__content img[src$="/ikechan.webp"] { width:auto !important; max-width:min(100%,380px); max-height:480px; object-fit:contain; }
.blog-article__content figcaption { margin-top:12px; color:#5b6471; font-size:13px; line-height:1.8; text-align:center; }
.blog-article__content .wp-block-spacer { margin:0; }
.blog-article__content .wp-block-buttons { display:flex; flex-wrap:wrap; gap:16px; margin-top:32px; }
.blog-article__content .wp-block-button { max-width:100%; }
.blog-article__content .wp-block-button__link { display:inline-flex; justify-content:center; align-items:center; padding:17px 24px; color:#fffdf8; border-radius:3px; background:#a33918; font-size:15px; line-height:1.8; font-weight:700; text-align:center; text-decoration:none; overflow-wrap:normal; word-break:normal; text-wrap:pretty; }
.blog-article__content .wp-block-button__link:hover { background:#812b13; }
.blog-article__content .alignwide,.blog-article__content .alignfull { width:100%; max-width:100%; margin-inline:0; }
.blog-article__content .wp-block-table { overflow-x:auto; }
.blog-article__content table { border-collapse:collapse; width:100%; font-size:15px; }
.blog-article__content th,.blog-article__content td { border:1px solid #c8c3ba; padding:12px; min-width:90px; }
.blog-article__content th { background:#f7f2e8; }
.blog-article__content pre { overflow-x:auto; padding:20px; background:#f1ece3; font-size:14px; }
.blog-article__content iframe,.blog-article__content video { max-width:100%; }
.blog-toc { margin:36px 0 0; padding:24px 26px; border:1px solid #d5cfc4; background:#f7f2e8; font-size:14px; }
.blog-toc summary { cursor:pointer; color:#132238; font-size:16px; font-weight:700; }
.blog-toc ol { margin:14px 0 0; padding-left:1.6em; }
.blog-toc li { margin:8px 0; line-height:1.8; }
.blog-toc li a { color:#253247; text-decoration:none; }
.blog-toc li a:hover { color:#993817; text-decoration:underline; }
.blog-article__footer { width:min(760px,calc(100% - 80px)); margin:34px auto 0; }
.blog-back { display:inline-flex; align-items:center; gap:18px; min-height:44px; color:#993817; font-size:14px; font-weight:700; text-decoration:underline; text-underline-offset:5px; }
.blog-tags { display:flex; flex-wrap:wrap; gap:12px; margin-bottom:24px; }
.blog-tags a { padding:5px 12px; border:1px solid #c8c3ba; font-size:13px; }
.blog-main .navigation { margin-block:36px; }
.blog-main .nav-links { display:flex; flex-wrap:wrap; justify-content:space-between; gap:20px; }
.blog-main .post-navigation .nav-links > div { flex:1; min-width:0; }
.blog-main .post-navigation a { display:flex; flex-direction:column; gap:8px; padding:20px; border:1px solid #d5cfc4; background:#fffdf8; font-size:14px; }
.blog-post-navigation__label { color:#993817; font-size:12px; }
.blog-main .page-numbers { display:inline-flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; padding:8px 14px; border:1px solid #c8c3ba; background:#fffdf8; font-size:14px; }
.blog-main .page-numbers.current { background:#132238; color:#fffdf8; }
.blog-latest { padding:64px 0 76px; background:#f7f2e8; border-top:1px solid #d5cfc4; }
.blog-latest__heading { display:flex; flex-wrap:wrap; justify-content:space-between; gap:20px; align-items:end; margin-bottom:30px; }
.blog-latest__heading h2 { margin-top:8px; color:#132238; font-family:var(--serif); font-size:34px; line-height:1.5; }
@media(max-width:900px) { .blog-card--featured .blog-card__link { display:block; } }
@media(max-width:760px) {
  .blog-container { width:calc(100% - 40px); }
  .blog-intro { padding:25px 0 38px; }
  .blog-intro .blog-eyebrow { margin-top:30px; }
  .blog-intro h1 { font-size:36px; }
  body.archive.blog-view .blog-intro h1 { font-size:30px; letter-spacing:.025em; }
  .blog-intro__lead { font-size:15px; text-wrap:pretty; }
  .blog-list { padding-block:26px 56px; }
  .blog-grid { grid-template-columns:1fr; gap:24px; }
  .blog-card--featured .blog-card__link { display:block; }
  .blog-card__body,.blog-card--featured .blog-card__body { padding:22px; }
  .blog-card__title,.blog-card--featured .blog-card__title { font-size:22px; line-height:1.65; }
  .blog-article { padding:24px 0 56px; }
  .blog-article__header { width:calc(100% - 40px); padding-bottom:28px; }
  .blog-article__header .blog-meta { margin-top:28px; }
  .blog-article__title { font-size:28px; line-height:1.65; }
  .blog-article__content { width:calc(100% - 24px); padding:28px 20px; font-size:16px; line-height:1.95; letter-spacing:.02em; }
  .blog-article__content > h2 { margin-top:44px; padding-left:12px; font-size:23px; }
  .blog-article__content > h3 { font-size:20px; }
  .blog-article__content .wp-block-button__link { padding:16px 18px; font-size:15px; }
  .blog-article__content blockquote { padding:18px; }
  .blog-toc { padding:20px 18px; font-size:14px; }
  .blog-article__footer { width:calc(100% - 40px); }
  .blog-latest { padding:44px 0 50px; }
  .blog-latest__heading h2 { font-size:29px; }
}
@media(prefers-reduced-motion:reduce) { .blog-card__image img { transition:none; } }
