/* Editorial pages share the corporate palette and typography. */
.journal-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:48px;padding:60px 0 64px}
.journal-heading h1{font-size:clamp(36px,4.4vw,60px);line-height:1.55;letter-spacing:.02em}
.journal-heading>p{color:var(--muted);font-size:14px;line-height:2.1;margin-bottom:10px}
.blog-listing{padding-bottom:84px}
.journal-filter{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0;display:flex;align-items:center;justify-content:space-between;gap:28px;margin-bottom:48px}
.journal-filter nav{display:flex;flex-wrap:wrap;gap:10px}
.journal-filter nav a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 22px;border-radius:3px;font-size:13px;background:var(--paper);transition:background .2s,color .2s}
.journal-filter nav a.active,.journal-filter nav a:hover{background:var(--ink);color:#fff}
.journal-filter>span{font:10px Arial,sans-serif;letter-spacing:.12em;white-space:nowrap;color:var(--muted)}
.blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:50px 32px}
.blog-card{display:block;min-width:0}
.blog-card-image{position:relative;aspect-ratio:1200/630;background:var(--paper);overflow:hidden;border-radius:4px}
.blog-card-image img{display:block;width:100%;height:100%;object-fit:contain;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.blog-cover-fallback{height:100%;padding:24px;display:flex;flex-direction:column;justify-content:space-between;background:#f2eadf;position:relative;overflow:hidden}
.blog-cover-fallback>span{font:12px Arial,sans-serif;letter-spacing:.14em;z-index:1}
.blog-cover-fallback>b{font-size:30px;letter-spacing:.04em;z-index:1}
.blog-cover-fallback>i{position:absolute;right:18px;bottom:-40px;font:180px Arial,sans-serif;color:#e2a57b}
.blog-sample{position:absolute;top:12px;right:12px;font-size:10px;color:#fff;background:var(--ink);padding:4px 8px}
.blog-card-meta{display:flex;flex-wrap:wrap;gap:18px;align-items:center;margin-top:24px;font-size:11px}
.blog-card-meta>span,.blog-card-meta>a{color:var(--accent);font-weight:700}
.blog-card-meta time{color:var(--muted);font:11px Arial,sans-serif;letter-spacing:.05em}
.blog-card h3{font-size:21px;line-height:1.7;margin-top:12px;transition:color .2s}
.blog-card>p{color:var(--muted);font-size:13px;line-height:1.9;margin-top:12px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.blog-card-more{margin-top:22px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:15px;font-size:12px;font-weight:700;min-height:44px}
.blog-card-more>span{font-size:22px;transition:transform .3s}
.blog-featured{margin-bottom:60px}
.blog-featured>.blog-card{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);column-gap:50px;align-items:start;padding-bottom:40px;border-bottom:1px solid var(--line)}
.blog-featured .blog-card-image{grid-column:1;grid-row:1/5;width:100%;align-self:center}
.blog-featured .blog-card-meta,.blog-featured h3,.blog-featured .blog-card>p,.blog-featured .blog-card-more{grid-column:2}
.blog-featured .blog-card-meta{margin-top:0}
.blog-featured h3{font-size:28px;margin-top:14px}
.blog-featured .blog-card>p{font-size:14px}
.blog-demo-banner{background:#fff3dc;color:#704515;padding:12px 22px;font-size:12px;text-align:center;line-height:1.8}
.blog-pagination{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:8px;margin-top:60px}
.blog-pagination a{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:8px 14px;border:1px solid var(--line);font-size:13px}
.blog-pagination [aria-current=page]{background:var(--ink);color:#fff}
.blog-pagination [aria-disabled=true]{color:#92978e;pointer-events:none}
.blog-empty{padding:85px 0;text-align:center}.blog-empty .eyebrow{justify-content:center}.blog-empty>p:not(.eyebrow){margin-block:20px;color:var(--muted)}.blog-empty .text-link{margin-top:24px}.blog-empty-short{padding:36px;background:var(--paper);color:var(--muted)}
.article-heading{max-width:900px;margin:52px auto 44px}
.article-heading h1{font-size:clamp(30px,3.2vw,46px);line-height:1.65;margin-top:24px;letter-spacing:.02em}
.article-description{color:var(--muted);font-size:16px;line-height:2;margin-top:26px}
.article-author{border-top:1px solid var(--line);padding-top:20px;margin-top:26px;font-size:12px;display:flex;justify-content:space-between;gap:20px;color:var(--muted)}
.article-eyecatch{max-width:1040px;margin:0 auto 60px;background:var(--paper);border-radius:4px;overflow:hidden}
.article-eyecatch img{width:100%;height:auto;max-height:600px;object-fit:contain}
.article-layout{display:grid;grid-template-columns:minmax(0,760px) minmax(200px,260px);gap:70px;align-items:start;justify-content:center}
.article-body{font-size:16px;line-height:2.15;min-width:0;overflow-wrap:anywhere}
.article-body>:first-child{margin-top:0}
.article-body p{margin:0 0 1.7em}.article-body h2{font-size:28px;line-height:1.7;margin:64px 0 26px;padding-bottom:18px;border-bottom:2px solid var(--orange)}
.article-body h3{font-size:22px;line-height:1.7;margin:38px 0 20px}.article-body h4,.article-body h5,.article-body h6{font-size:18px;margin:30px 0 18px}
.article-body img{max-width:100%;height:auto;margin:32px auto}.article-body figure{margin:32px 0}.article-body figcaption{font-size:12px;color:var(--muted);text-align:center}
.article-body a{color:var(--accent);text-decoration:underline;text-underline-offset:4px}.article-body ul,.article-body ol{padding-left:1.8em;margin:24px 0}.article-body li{padding-left:5px;margin-bottom:8px}
.article-body blockquote{margin:32px 0;border-left:3px solid var(--orange);background:var(--paper);padding:24px 28px}.article-body blockquote p:last-child{margin-bottom:0}
.article-body pre{overflow-x:auto;padding:24px;background:var(--ink);color:#fff;font-size:13px;line-height:1.8}.article-body code{font-family:ui-monospace,monospace}.article-body p code{padding:3px 5px;background:var(--paper)}
.article-body table{display:block;overflow-x:auto;max-width:100%;border-collapse:collapse;margin:32px 0;font-size:14px}.article-body td,.article-body th{border:1px solid var(--line);padding:12px 18px}.article-body th{background:var(--paper)}.article-body hr{border:0;border-top:1px solid var(--line);margin:40px 0}
.article-toc{position:sticky;top:125px;background:var(--paper);padding:24px;font-size:12px}.article-toc summary{cursor:pointer;font-weight:700;padding:6px 0;min-height:36px}.article-toc ol{list-style:none;padding:0;margin:16px 0 0}.article-toc li{border-top:1px solid var(--line)}.article-toc a{display:block;padding:12px 0;line-height:1.8}.article-toc a:hover{color:var(--accent)}.article-toc .subheading{padding-left:14px;font-size:11px}
.article-back{margin:60px 0 0;padding-top:28px;border-top:1px solid var(--line)}
.related-articles{padding-block:85px}.related-articles h2{font-size:30px}.blog-contact{display:flex;align-items:center;justify-content:space-between;gap:40px;padding:48px;background:var(--paper);margin-top:40px;margin-bottom:35px}.blog-contact .eyebrow{margin-bottom:15px}.blog-contact h2{font-size:32px}.blog-contact p:not(.eyebrow){font-size:13px;margin-top:12px;color:var(--muted)}.blog-contact .button{flex-shrink:0}.mobile-only{display:none}.home-journal{padding-top:10px}.home-journal .blog-featured{margin-bottom:0}
@media(hover:hover) and (pointer:fine){.blog-card:hover h3{color:var(--accent)}.blog-card:hover .blog-card-image img{transform:scale(1.025)}.blog-card:hover .blog-card-more>span{transform:translate(3px,-3px)}}
@media(max-width:1100px){.blog-grid{gap:36px 22px}.blog-featured>.blog-card{column-gap:30px}.blog-featured h3{font-size:23px}.article-layout{gap:36px;grid-template-columns:minmax(0,1fr) 220px}.header .navigation{gap:18px}}
@media(max-width:800px){.journal-heading{display:block;padding:36px 0}.journal-heading h1{font-size:36px}.journal-heading>p{font-size:13px;margin-top:24px}.journal-filter{padding-block:18px;gap:16px;flex-wrap:wrap;margin-bottom:28px}.journal-filter nav{gap:8px}.journal-filter nav a{padding-inline:16px;font-size:12px}.blog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 20px}.blog-featured>.blog-card{display:block;padding-bottom:30px}.blog-featured .blog-card-meta{margin-top:20px}.blog-featured h3{font-size:23px}.blog-featured{margin-bottom:36px}.blog-card h3{font-size:19px}.blog-card>p{font-size:13px}.blog-card-meta{gap:10px;margin-top:18px}.blog-listing{padding-bottom:45px}.article-heading{margin-block:30px}.article-heading h1{font-size:29px;margin-top:18px}.article-description{font-size:14px}.article-author{font-size:11px}.article-eyecatch{margin-bottom:32px}.article-layout{display:flex;flex-direction:column;gap:36px}.article-toc{position:static;order:-1;width:100%;padding:20px}.article-body{width:100%;font-size:15px;line-height:2.1}.article-body h2{font-size:23px;margin-top:44px}.article-body h3{font-size:20px}.article-body blockquote{padding:20px}.related-articles{padding-block:56px}.related-articles h2{font-size:24px}.blog-contact{padding:28px;flex-direction:column;align-items:stretch;gap:24px;margin-top:24px}.blog-contact h2{font-size:28px}.blog-contact .button{justify-content:space-between}.blog-demo-banner{font-size:11px;padding:10px 18px}.home-journal{padding-top:0}.header .navigation{gap:8px}}
@media(max-width:500px){.blog-grid{grid-template-columns:1fr}.journal-heading h1{font-size:33px}.mobile-only{display:block}.blog-cover-fallback>b{font-size:27px}}
@media(prefers-reduced-motion:reduce){.blog-card,.blog-card *{animation:none!important;transition:none!important;transform:none!important}}
