.draft-preview-banner{position:sticky;z-index:10;top:0;display:flex;align-items:center;justify-content:center;gap:18px;padding:12px 24px;background:#ffdd79;color:#332b18;font-size:12px}.draft-preview-banner strong{text-transform:uppercase;letter-spacing:.1em}.draft-preview-banner a{color:inherit;font-weight:800;text-underline-offset:3px}.article-newsletter{display:grid;grid-template-columns:1fr minmax(320px,.9fr);gap:70px;align-items:center;max-width:1060px;margin:0 auto 80px;padding:55px 60px;background:#17251f;color:#fff}.article-newsletter h2{margin:0 0 12px;font:600 clamp(32px,4vw,50px)/1.05 'Playfair Display'}.article-newsletter p{color:#ffffffb5;line-height:1.6}.article-newsletter form label{display:block;margin-bottom:9px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.article-newsletter form>div{display:flex}.article-newsletter input[type=email]{min-width:0;flex:1;padding:14px;border:0;background:#fff;font:14px inherit}.article-newsletter button{padding:0 20px;border:0;background:#d96c32;color:#fff;font-weight:800;cursor:pointer}.newsletter-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important}.newsletter-feedback{margin:10px 0 0!important;font-size:12px;font-weight:700}.newsletter-feedback.success{color:#d8ffb6}.newsletter-feedback.error{color:#ffd0c7}@media(max-width:760px){.draft-preview-banner{align-items:flex-start;flex-direction:column;gap:4px}.article-newsletter{grid-template-columns:1fr;gap:25px;margin:0 20px 60px;padding:38px 25px}.article-newsletter form>div{align-items:stretch;flex-direction:column}.article-newsletter button{padding:14px}}

/* Article page: two-column layout with sidebar, overflow-safe */
html,body{max-width:100%;overflow-x:hidden}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.article-page{min-width:0}
.article-crumbs{display:flex;flex-wrap:wrap;gap:8px;max-width:1240px;margin:0 auto;padding:28px clamp(16px,4vw,40px) 0;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;opacity:.7}
.article-crumbs a{color:inherit;text-decoration:none;border-bottom:1px solid var(--orange)}
.article-shell{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:clamp(32px,4vw,64px);align-items:start;max-width:1240px;margin:0 auto;padding:30px clamp(16px,4vw,40px) 80px}
.article-shell .journal-article{min-width:0;padding-bottom:0}
.article-shell .article-head{max-width:none;margin:0;padding:20px 0 36px;text-align:left}
.article-shell .article-head h1{font-size:clamp(34px,5vw,64px);line-height:1.05;overflow-wrap:break-word;hyphens:auto}
.article-shell .article-deck{max-width:none;margin:22px 0 0;font-size:clamp(17px,2vw,20px)}
.article-shell .article-head .note-meta{justify-content:flex-start}
.article-shell .article-hero{height:auto;aspect-ratio:16/9;max-height:560px;margin:0 0 44px}
.article-body{min-width:0;max-width:760px;overflow-wrap:anywhere;word-wrap:break-word}
.article-body>p:first-child{font-size:clamp(18px,2vw,21px)}
.article-body h2{font-size:clamp(28px,4vw,38px)}
.article-body h3{font-size:clamp(22px,3vw,26px)}
.article-body img,.article-body video,.article-body iframe,.article-body embed,.article-body object,.article-body svg{max-width:100%!important;height:auto}
.article-body iframe{width:100%;aspect-ratio:16/9;border:0}
.article-body figure{max-width:100%;margin:32px 0}
.article-body pre{max-width:100%;overflow-x:auto;padding:16px;background:var(--cream);font-size:14px;white-space:pre}
.article-body code{overflow-wrap:anywhere}
.article-body table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.article-body blockquote{font-size:clamp(19px,2.4vw,25px);padding-left:clamp(16px,3vw,30px);margin:32px 0}
.article-body ul,.article-body ol{padding-left:1.4em}
.article-body [style*="width"]{max-width:100%!important}
.article-share{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;max-width:760px;margin-top:48px;padding-top:24px;border-top:1px solid var(--line);font-size:13px;font-weight:700}
.article-share span{opacity:.7}
.article-share a{padding:8px 14px;border:1px solid var(--line);color:inherit;text-decoration:none}
.article-share a:hover{border-color:var(--orange)}
.article-sidebar{position:sticky;top:24px;display:grid;gap:22px;min-width:0}
.sidebar-card{padding:24px;background:var(--cream);font-size:14px;line-height:1.6}
.sidebar-about{border-top:4px solid var(--orange)}
.sidebar-card p{margin:10px 0 14px}
.sidebar-card>a{color:inherit;font-weight:700;font-size:13px}
.sidebar-title{display:block;margin-bottom:12px;color:var(--orange);font-size:11px;font-weight:700;letter-spacing:.17em;text-transform:uppercase}
.sidebar-posts{margin:0 0 16px;padding:0;list-style:none}
.sidebar-posts li+li{border-top:1px solid var(--line)}
.sidebar-posts a{display:grid;grid-template-columns:64px minmax(0,1fr);gap:14px;align-items:center;padding:12px 0;color:inherit;text-decoration:none}
.sidebar-posts img,.sidebar-thumb{width:64px;height:64px;object-fit:cover}
.sidebar-thumb{display:grid;place-items:center;background:var(--forest);color:var(--lime);font:600 18px 'Playfair Display'}
.sidebar-posts b{display:block;font:600 16px/1.25 'Playfair Display';overflow-wrap:break-word}
.sidebar-posts a:hover b{text-decoration:underline;text-decoration-color:var(--orange)}
.sidebar-posts small{display:block;margin-top:4px;font-size:11px;letter-spacing:.06em;text-transform:uppercase;opacity:.6}
.sidebar-search{display:flex}
.sidebar-search input{min-width:0;flex:1;padding:12px;border:1px solid var(--line);background:#fff;font:14px 'DM Sans'}
.sidebar-search button{padding:0 16px;border:0;background:var(--ink);color:#fff;font-weight:700;cursor:pointer}
.article-page .article-newsletter{max-width:1160px;grid-template-columns:minmax(0,1fr) minmax(0,.9fr)}
.article-page .article-end{max-width:1160px;margin:0 auto 90px}
@media(max-width:1020px){.article-shell{grid-template-columns:minmax(0,1fr)}.article-sidebar{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.article-body,.article-share{max-width:none}}
@media(max-width:760px){.article-page .article-newsletter{grid-template-columns:1fr;margin-inline:16px}.article-page .article-end{margin-inline:16px;padding:44px 20px}.article-end h2{font-size:clamp(30px,8vw,40px)}}
@media(max-width:640px){.article-sidebar{grid-template-columns:1fr}.article-shell{padding-top:16px}.article-shell .article-head{padding-top:8px}.article-shell .article-hero{margin-bottom:30px}.article-body{font-size:16px}.journal-nav{padding-inline:16px}.journal-nav nav{flex-wrap:wrap;gap:6px 14px}.journal-nav nav a{font-size:12px}}
