/* Shared editorial cards: intrinsic rows, uncropped 16:9 covers. */
.article-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;align-items:stretch}
.article-grid .article-card,.journal-section .article-card:nth-child(3){display:block;grid-column:auto;min-width:0;margin:0;border:1px solid #ded5ce;border-radius:18px;overflow:hidden;background:var(--paper);transition:border-color .35s,box-shadow .35s}
.article-card-link{display:flex;flex-direction:column;height:100%;min-width:0}
.article-grid .article-cover{display:block;position:relative;width:100%;height:auto;aspect-ratio:16/9;margin:0;border-radius:0;overflow:hidden;background:#eeeae4}
.article-grid .article-cover img{display:block;width:100%;height:100%;object-fit:contain;transform:none!important}
.article-grid .article-card-body{position:relative;display:flex;flex:1;flex-direction:column;gap:17px;padding:25px;background:linear-gradient(110deg,#66283e,#401927) no-repeat;background-size:0% 100%;transition:background-size .45s ease,color .3s}
.article-grid .article-meta{display:flex;flex-wrap:wrap;gap:5px 12px;justify-content:space-between;margin:0;font-size:.65rem;line-height:1.6;color:var(--wine)}
.article-grid .article-card h3{margin:0;font-size:1.65rem;line-height:1.2;overflow-wrap:anywhere}
.article-grid .article-card p{margin:0;font-size:.84rem;line-height:1.8}
.article-read{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:14px;font-size:.8rem;font-weight:500;color:var(--wine)}
.article-read .icon{width:22px;height:22px;flex-shrink:0}
.article-card:focus-within .article-card-body{background-size:100% 100%;color:#fff}
.article-card:focus-within :is(p,.article-meta,.article-read){color:#f6eee5}
@media(hover:hover){.article-card:hover .article-card-body{background-size:100% 100%;color:#fff}.article-card:hover :is(p,.article-meta,.article-read){color:#f6eee5}.article-card:hover{border-color:var(--wine);box-shadow:0 12px 30px #421b2512}}
.portal-latest{padding-bottom:80px}.related-articles{padding-block:65px 85px}
.article-main-image{aspect-ratio:16/9;overflow:hidden;border-radius:18px}.article-main-image img{width:100%;height:100%;object-fit:contain}
.reading-progress{position:fixed!important;top:0!important;left:0;right:0;height:3px;z-index:1001;pointer-events:none}
html.article-scroll,body.is-article{scrollbar-width:none}html.article-scroll::-webkit-scrollbar,body.is-article::-webkit-scrollbar{display:none;width:0}
@media(min-width:700px) and (max-width:1050px){.article-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:699px){
 .article-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}
 .article-grid .article-card{border-radius:12px}
 .article-grid .article-card-body{padding:14px 12px;gap:12px}
 .article-grid .article-meta{font-size:.58rem;line-height:1.5;gap:5px;flex-direction:column;align-items:flex-start}
 .article-grid .article-card h3{font-family:var(--sans);font-size:.91rem;letter-spacing:-.02em;line-height:1.45;font-weight:500}
 .article-grid .article-card p{display:none}
 .article-read{font-size:.68rem;padding-top:12px;gap:4px}.article-read .icon{width:18px;height:18px}
 .portal-latest{padding-bottom:48px}.related-articles{padding-block:40px 55px}
}

.portal-all-mobile{display:none}
.toc-toggle{display:none}
.article-sharing{margin-top:24px}.share-label{display:block;font-size:.75rem;color:var(--muted);margin-bottom:12px}.share-actions{display:flex;align-items:center;gap:10px}.share-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--wine);padding:11px;transition:background .2s,color .2s}.share-icon .icon{width:20px;height:20px}.share-icon:hover{background:var(--wine);color:white}.share-status{display:block;font-size:.72rem;line-height:1.6;overflow-wrap:anywhere}.share-status:not(:empty){margin-top:12px}
@media(max-width:699px){
 .article-page .article-main-image{width:100vw;max-width:none;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);border-radius:0}
 .article-page .article-main-image>img{height:auto;max-height:none;aspect-ratio:16/9;object-fit:contain}
 .article-layout{overflow-anchor:none}
 .article-layout .article-sidebar{position:sticky;top:70px;z-index:90;display:block;padding:14px 16px;background:var(--paper);border:1px solid var(--line);border-radius:12px;box-shadow:0 5px 18px #40192709;transition:top .3s}
 .header-hidden .article-layout .article-sidebar{top:6px}
 .article-sidebar .toc{padding:0}.toc .toc-desktop-title{display:none}
 .toc .toc-toggle{display:flex;justify-content:space-between;align-items:center;width:100%;border:0;background:transparent;padding:0;margin:0;min-height:30px;cursor:pointer}
 .toc-toggle .icon{width:15px;height:15px;transform:rotate(180deg);transition:transform .25s}
 .toc-collapsed .toc-toggle .icon{transform:none}
 .article-sidebar .toc nav{display:flex;flex-direction:column;flex-wrap:nowrap;gap:10px;max-height:32svh;overflow:auto;scrollbar-width:none;margin-top:12px}
 .article-sidebar .toc nav::-webkit-scrollbar{display:none}
 .article-sidebar.toc-collapsed .toc nav{display:none}
 .article-sharing{margin-top:14px;display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
 .share-label{margin:0;font-size:.68rem}.share-actions{gap:8px}.share-status{flex-basis:100%}.share-status:empty{display:none}
}
@media(max-width:699px){.journal-portal .portal-latest .article-grid>.article-card:nth-child(n+5){display:none}.portal-all-mobile{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:26px;min-height:44px;font-size:.8rem}.portal-all-mobile .icon{width:20px;height:20px}}
