/* Shared additions for Batch 1; existing brand and component styles stay in site.css. */
.brand-logo{display:block;height:48px;width:auto;aspect-ratio:800/366;object-fit:contain;flex-shrink:0}
@media(max-width:560px){.brand-logo{height:40px}}
.mobile-menu[hidden]{display:none}
.mobile-menu{position:fixed;top:78px;left:12px;right:12px;z-index:70;padding:16px;border-radius:16px;background:var(--bg-2);border:1px solid var(--line);box-shadow:var(--shadow);display:grid;gap:6px;max-height:calc(100dvh - 160px);overflow-y:auto}
.mobile-menu a{padding:12px;border-radius:9px;background:var(--panel);font-weight:700}
a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.post-shell{max-width:920px;padding-block:32px 48px;overflow-wrap:anywhere}
.post-shell h1,.hub h1{font-size:clamp(1.9rem,5vw,3rem);line-height:1.15;margin:20px 0}
.breadcrumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:14px;color:var(--muted);list-style:none;padding:0}
.breadcrumbs li{display:inline;min-width:0}
.breadcrumbs li+li::before{content:'›';margin-right:8px}
.breadcrumbs a,.post-body a{color:var(--gold);text-decoration:underline;text-underline-offset:3px}
.post-excerpt{font-size:1.15rem;color:var(--muted)}
.post-meta{font-size:14px;color:var(--muted);margin:20px 0 30px}
.post-meta span{display:block;margin:4px 0}
.post-body{font-size:17px;line-height:1.8}
.post-body h2{font-size:clamp(1.4rem,3vw,1.85rem);line-height:1.3;margin:36px 0 14px;scroll-margin-top:100px}
.post-body h3{font-size:1.16rem;line-height:1.4;margin:24px 0 10px}
.post-body li{margin:7px 0}
.post-body ul,.post-body ol{padding-left:24px}
.table-scroll{overflow-x:auto;max-width:100%;border:1px solid var(--line);border-radius:var(--radius-sm);margin:24px 0}
.post-body table{width:100%;min-width:470px;border-collapse:collapse;font-size:15px;background:var(--panel)}
.post-body th,.post-body td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
.post-body th{background:var(--panel-2);color:var(--gold)}
.post-body .align-right{text-align:right}
.post-body .align-center{text-align:center}
.post-body img{height:auto;max-width:100%}
.post-tags{margin-top:28px}
.post-tags .tag{font-size:12px}
.batch-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.batch-card{display:flex;flex-direction:column;min-width:0;overflow-wrap:anywhere}
.batch-card h3{font-size:18px;line-height:1.4}
.batch-card p{font-size:14px;margin-bottom:18px}
.batch-card .section-link{margin-top:auto;padding-top:14px}
.batch-card .tag{align-self:flex-start}
.batch-card:hover{border-color:var(--gold)}
.featured-placeholder{height:90px;display:grid;place-items:center;font-size:36px;background:var(--panel-2);border-radius:var(--radius-sm);margin-bottom:14px;color:var(--gold)}
.featured-image{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:var(--radius-sm);margin-bottom:14px}
.batch-section{padding-top:24px}
.batch-section h3{margin-top:12px}
.hub{padding-block:32px 48px;overflow-wrap:anywhere}
.related{padding-bottom:0}
/* Keep the existing header usable at narrow widths without hiding its actions. */
@media(max-width:560px){.nav{flex-wrap:wrap;gap:10px;padding-block:10px}.nav-actions{margin-left:auto}.batch-grid{grid-template-columns:1fr}.post-body{font-size:16px}.post-shell{padding-top:20px}.mobile-menu{top:116px}.section-head{flex-wrap:wrap}.hero h1{font-size:clamp(38px,10vw,46px)}}
@media(min-width:561px) and (max-width:900px){.batch-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
