.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);border-bottom:1px solid var(--border)}
.topline{min-height:32px;background:var(--surface-soft);border-bottom:1px solid var(--border);color:var(--text-tertiary);font-size:12px}
.top-inner{min-height:32px;display:flex;align-items:center;gap:20px}
.top-actions{margin-left:auto;display:flex;align-items:center;gap:14px}
.masthead{min-height:76px;display:flex;align-items:center;gap:32px}
.brand{display:flex;align-items:center;gap:10px;flex:0 0 auto}
.brand-seal{display:grid;place-items:center;width:40px;height:40px;background:var(--brand);color:#fff;border-radius:var(--radius-md) var(--radius-md) var(--radius-md) 4px;font-size:20px;font-weight:700}
.brand-seal.small{width:32px;height:32px;font-size:16px}
.brand-copy{display:flex;flex-direction:column;line-height:1.15}
.brand-copy b{font-size:24px;font-weight:700;letter-spacing:0}
.brand-copy small{margin-top:3px;color:var(--text-tertiary);font-size:10px;letter-spacing:0}
.main-nav{display:flex;align-items:stretch;align-self:stretch;margin-left:auto}
.main-nav-link{position:relative;display:flex;align-items:center;padding:0 14px;color:var(--text-secondary);font-size:14px;white-space:nowrap}
.main-nav-link:hover,.main-nav-link.is-active{color:var(--brand)}
.main-nav-link.is-active{font-weight:600}
.main-nav-link.is-active::after{content:"";position:absolute;left:14px;right:14px;bottom:0;height:2px;background:var(--brand)}
.mobile-menu-btn,.mobile-menu,.mobile-bottom{display:none}
.page-pad{padding-block:32px 56px}
.home-grid{display:grid;grid-template-columns:220px minmax(0,1fr) 300px;gap:20px;padding-block:24px 48px;align-items:start}
.home-side,.detail-side{display:flex;flex-direction:column;gap:20px}
.category-panel,.home-side,.detail-side{position:sticky;top:132px}
.site-footer{margin-top:auto;border-top:1px solid var(--border);background:#edf0ec}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:32px;padding-block:40px}
.footer-grid>div{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.footer-brand{display:flex;align-items:center;gap:8px;font-weight:700}
.footer-bottom{display:flex;justify-content:space-between;padding-block:14px;border-top:1px solid var(--border);color:var(--text-tertiary);font-size:12px}
