/* Editorial layout. Scoped so product illustrations and buttons retain their styles. */
.blog-page{background:#fff;color:#23231f;font-family:Poppins,Arial,sans-serif}
.blog-page main{overflow:visible}
.blog-page [hidden]{display:none!important}
.blog-page .blog-hero{background:#f3f6ef;padding:clamp(56px,7vw,100px) 0;text-align:center;border-bottom:1px solid #e9ece5}
.blog-page .blog-kicker{color:#59664c;font-size:14px;font-weight:500;letter-spacing:.04em;margin:0 0 18px}
.blog-page .blog-hero h1{font-size:clamp(38px,6.3vw,86px);line-height:1.12;letter-spacing:-.055em;font-weight:600;margin:0 auto 24px;max-width:1050px;text-wrap:balance;overflow-wrap:break-word}
.blog-page .blog-hero .container>p:last-child{font-size:clamp(17px,1.6vw,21px);line-height:1.65;color:#5b6256;max-width:690px;margin:0 auto;text-wrap:pretty}
.blog-page .blog-library{padding-block:40px 88px}
.blog-page .blog-tools{display:flex;gap:36px;align-items:flex-start;justify-content:space-between;padding-bottom:24px;border-bottom:1px solid #e8e9e5}
.blog-page .blog-topics{display:flex;flex-wrap:wrap;gap:8px 22px;max-width:880px}
.blog-page .blog-topics a{font-size:14px;line-height:1.5;padding-block:10px;color:#60625c;text-decoration:none;border-bottom:1px solid transparent;transition:color 150ms ease-in-out,border-color 150ms ease-in-out}
.blog-page .blog-topics a[aria-current=page]{color:#23231f;border-bottom-color:#23231f}
.blog-page .blog-search{flex:0 0 258px;max-width:100%}
.blog-page .blog-search label{font-size:12px;color:#666b62;display:block;margin-bottom:8px}
.blog-page .blog-search input{width:100%;min-height:46px;border:1px solid #e1e4dc;border-radius:8px;padding:11px 14px;font:inherit;font-size:13px;color:#23231f;background:#fff;appearance:none}
.blog-page .blog-result-count{font-size:13px;color:#696e64;margin:22px 0 0}
.blog-page .blog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(32px,6vw,88px);list-style:none;margin:0;padding:0}
.blog-page .blog-card{min-width:0;padding:34px 0 38px}
.blog-page .blog-category{display:inline-block;color:#657052;font-size:12px;font-weight:500;text-decoration:none;margin-bottom:14px;line-height:1.5}
.blog-page .blog-card h2{font-size:clamp(24px,2.3vw,31px);line-height:1.35;font-weight:600;letter-spacing:-.035em;margin:0 0 16px;text-wrap:pretty;overflow-wrap:break-word}
.blog-page .blog-card h2 a{color:#23231f;text-decoration:none;transition:color 150ms cubic-bezier(.4,0,.2,1)}
.blog-page .blog-card p{font-size:17px;line-height:1.75;color:#62665d;margin:0 0 23px;text-wrap:pretty}
.blog-page .blog-meta{display:flex;align-items:center;gap:9px;flex-wrap:wrap;font-size:12px;line-height:1.7;color:#696e64}
.blog-page .blog-card h2 a:hover,.blog-page .blog-topics a:hover,.blog-page .blog-back:hover,.blog-page .blog-category:hover,.blog-page .blog-toc a:hover{color:#b54110}
.blog-page .blog-card h2 a:hover{color:#ef5e20}
.blog-page main a:focus-visible,.blog-page .blog-search input:focus-visible{outline:2px solid #b54110;outline-offset:5px;border-radius:3px}
.blog-page .blog-back{display:block;width:fit-content;color:#62665d;font-size:14px;text-decoration:none;margin-bottom:30px;transition:color 150ms ease-in-out}
.blog-page .blog-article-hero{background:#f3f6ef;padding:50px 0 60px;border-bottom:1px solid #e9ece5}
.blog-page .blog-article-hero .container{max-width:1120px}
.blog-page .blog-article-hero h1{font-size:clamp(34px,4.7vw,64px);font-weight:600;letter-spacing:-.045em;line-height:1.17;max-width:1040px;margin:0 0 26px;text-wrap:balance;overflow-wrap:break-word}
.blog-page .blog-reading-layout{max-width:1120px;display:grid;grid-template-columns:minmax(0,740px) minmax(200px,1fr);gap:70px;padding-top:58px;align-items:start}
.blog-page .blog-prose{font-size:17px;line-height:1.85;color:#444a40;min-width:0;overflow-wrap:break-word}
.blog-page .blog-prose ul,.blog-page .blog-prose ol{margin:0 0 28px;padding-inline-start:1.5em}
.blog-page .blog-prose ul{list-style:disc}
.blog-page .blog-prose ol{list-style:decimal}
.blog-page .blog-prose li{margin-bottom:12px;padding-inline-start:5px}
.blog-page .blog-prose p{margin:0 0 23px;max-width:none}
.blog-page .blog-prose .blog-lead{font-size:20px;line-height:1.75;color:#30372a;margin-bottom:38px}
.blog-page .blog-prose h2{font-size:26px;line-height:1.35;letter-spacing:-.025em;color:#23231f;margin:42px 0 18px;font-weight:600;scroll-margin-top:200px;text-wrap:pretty}
.blog-page .blog-toc{position:sticky;top:180px;border-inline-start:1px solid #e2e6dc;padding-inline-start:24px;font-size:13px;line-height:1.7}
.blog-page .blog-toc p{font-weight:600;color:#23231f;margin:0 0 14px}
.blog-page .blog-toc ol{list-style:none;padding:0;margin:0;display:grid;gap:14px}
.blog-page .blog-toc a{color:#646b5d;text-decoration:none;transition:color 150ms ease-in-out}
.blog-page .blog-next-step{border-top:1px solid #e2e6dc;margin-top:46px;padding-top:26px}
.blog-page .blog-next-step p{font-size:13px;color:#696e64;margin:0 0 8px}
.blog-page .blog-next-step a{display:inline-flex;align-items:center;gap:15px;color:#23231f;text-decoration:none;border-bottom:1px solid #91978a;padding-bottom:5px;font-size:16px}
.blog-page .blog-related{max-width:1120px;border-top:1px solid #e2e6dc;margin-top:70px;padding-block:40px 60px}
.blog-page .blog-related>h2{font-size:28px;letter-spacing:-.025em;font-weight:600;margin:0}
.blog-page .blog-related .blog-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.blog-page .blog-related .blog-card h2{font-size:22px}
.blog-page .blog-related .blog-card p{font-size:15px}
.blog-page .blog-empty{padding:50px 0;color:#62665d}
@media(max-width:900px){.blog-page .blog-tools{flex-direction:column;gap:22px}.blog-page .blog-search{flex-basis:auto;width:100%}.blog-page .blog-reading-layout{grid-template-columns:minmax(0,1fr);gap:0;max-width:740px}.blog-page .blog-toc{position:static;grid-row:1;margin-bottom:32px}.blog-page .blog-related .blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.blog-page .blog-hero{padding:50px 0 54px}.blog-page .blog-library{padding-block:24px 42px}.blog-page .blog-grid,.blog-page .blog-related .blog-grid{grid-template-columns:minmax(0,1fr)}.blog-page .blog-card{padding:28px 0}.blog-page .blog-topics{gap:3px 17px}.blog-page .blog-card h2{font-size:25px}.blog-page .blog-card p{font-size:16px;line-height:1.75}.blog-page .blog-article-hero{padding:30px 0 38px}.blog-page .blog-reading-layout{padding-top:30px}.blog-page .blog-prose{font-size:16px}.blog-page .blog-prose .blog-lead{font-size:18px}.blog-page .blog-prose h2{font-size:24px}.blog-page .blog-related{margin-top:46px}.blog-page .blog-meta{font-size:11px}}
@media(prefers-reduced-motion:reduce){.blog-page main *{scroll-behavior:auto;transition:none!important}}
/* Contextual editorial links retain normal paragraph flow and readable contrast. */
.blog-page .blog-prose section p a{color:#914012;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.blog-page .blog-prose section p a:hover{color:#23231f}
@media(min-width:901px){.blog-page .blog-related .blog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 60px}}

/* Localized copy keeps natural glyph spacing and a readable line height. */
html:is([lang="ja"],[lang="ko"],[lang^="zh"],[lang="th"],[dir="rtl"]) .blog-page :is(h1,h2,.blog-kicker){letter-spacing:normal;line-height:1.4}
html:is([lang="ja"],[lang="ko"],[lang^="zh"],[lang="th"]) .blog-page :is(.blog-prose,.blog-card p){line-height:1.9;word-break:normal;overflow-wrap:anywhere}
html[dir="rtl"] .blog-page :is(.blog-prose,.blog-card,.blog-toc){text-align:start}
