.site-header { position: sticky; z-index: 20; top: 0; min-height: var(--header-height); background: var(--color-surface); border-bottom: 1px solid var(--color-border); }
.header-inner { display: flex; min-height: var(--header-height); align-items: center; gap: var(--space-5); }
.brand { display: inline-flex; flex: none; align-items: center; gap: .65rem; color: var(--color-primary); text-decoration: none; }
.brand-mark { display: grid; width: 2rem; height: 2rem; place-items: center; background: var(--color-primary); color: #fff; font-size: .7rem; font-weight: 800; letter-spacing: .04em; }
.brand-copy { display: grid; line-height: 1.05; }
.brand-name { font-size: 1.25rem; font-weight: 850; letter-spacing: -.04em; }
.brand-tagline { margin-top: .22rem; color: var(--color-text-muted); font-size: .56rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.primary-nav { margin-left: auto; }
.nav-list { display: flex; align-items: center; gap: clamp(.65rem, 1.4vw, 1.25rem); }
.nav-link { position: relative; display: inline-flex; min-height: var(--header-height); align-items: center; color: #475569; font-size: .84rem; font-weight: 700; text-decoration: none; white-space: nowrap; }
.nav-link:hover, .nav-link[aria-current="page"] { color: var(--color-primary); }
.nav-link[aria-current="page"]::after { position: absolute; right: 0; bottom: -1px; left: 0; height: 2px; background: var(--color-accent); content: ""; }
.header-actions { display: flex; align-items: center; gap: var(--space-2); }
.header-account { position: relative; }
.account-menu { position: relative; }
.account-menu > summary { list-style: none; }
.account-menu > summary::-webkit-details-marker { display: none; }
.account-menu__panel { position: absolute; top: calc(100% + .5rem); right: 0; display: grid; min-width: 13rem; gap: var(--space-3); padding: var(--space-4); background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-sm); box-shadow: var(--shadow-md); }
.account-menu__identity { overflow: hidden; color: var(--color-text-muted); font-size: .85rem; text-overflow: ellipsis; white-space: nowrap; }
.account-menu__link { padding: .55rem .7rem; border-radius: var(--radius-sm); color: var(--color-primary); font-weight: 700; text-decoration: none; }
.account-menu__link:hover, .account-menu__link[aria-current="page"] { background: var(--color-surface-muted); }
.account-menu__logout { padding: .55rem .7rem; border-radius: var(--radius-sm); background: var(--color-surface-muted); color: var(--color-primary); font-weight: 700; text-align: left; cursor: pointer; }
.account-menu__logout:hover { background: #dcece6; }
.menu-button { display: inline-grid; min-width: 2.75rem; min-height: 2.75rem; place-items: center; border-radius: var(--radius-sm); background: transparent; color: var(--color-primary); cursor: pointer; }
.menu-button:hover { background: var(--color-surface-muted); }
.menu-button { display: none; }
.menu-icon, .menu-icon::before, .menu-icon::after { width: 1.25rem; height: 2px; background: currentColor; transition: transform var(--transition); }
.menu-icon { position: relative; }
.menu-icon::before, .menu-icon::after { position: absolute; left: 0; content: ""; }
.menu-icon::before { top: -.4rem; }
.menu-icon::after { top: .4rem; }
.button { display: inline-flex; min-height: 2.75rem; align-items: center; justify-content: center; gap: var(--space-2); padding: .65rem 1rem; border: 1px solid transparent; border-radius: var(--radius-sm); font-weight: 700; text-decoration: none; cursor: pointer; transition: background var(--transition), border-color var(--transition); }
.button-primary { background: var(--color-primary); color: #fff; }
.button-primary:hover { background: var(--color-primary-hover); }
.button-secondary { background: transparent; border-color: var(--color-border); color: var(--color-primary); }
.button-secondary:hover { background: var(--color-surface-muted); }
.badge { display: inline-flex; width: fit-content; color: var(--color-secondary); font-size: .72rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.card, .content-card { overflow: hidden; background: var(--color-surface); border-bottom: 1px solid var(--color-border); }
.content-card__media { aspect-ratio: 16 / 9; background: var(--color-surface-muted); object-fit: cover; width: 100%; }
.content-card__body { display: grid; gap: var(--space-3); padding: var(--space-5); }
.content-card__title { font-size: 1.25rem; }
.content-card__meta { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-4); color: var(--color-text-muted); font-size: .85rem; }
.form-group { display: grid; gap: var(--space-2); }
.input { width: 100%; min-height: 2.75rem; padding: .65rem .8rem; background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-sm); color: var(--color-text); }
.input:focus { border-color: var(--color-focus); }
.loading, .error-message, .empty-state { padding: var(--space-6); border: 1px solid var(--color-border); border-radius: var(--radius-sm); text-align: center; }
.loading { color: var(--color-text-muted); }
.loading::before { display: inline-block; width: 1rem; height: 1rem; margin-right: var(--space-2); border: 2px solid var(--color-border); border-top-color: var(--color-primary); border-radius: 50%; vertical-align: -.15em; content: ""; animation: spin .8s linear infinite; }
.error-message { background: #fff0ee; color: var(--color-danger); }
.empty-state { background: var(--color-surface-muted); color: var(--color-text-muted); }
.empty-state > * + * { margin-top: var(--space-4); }
.error-code { color: var(--color-primary); font-size: 4rem; font-weight: 800; }
@keyframes spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; } }
.site-footer { padding-block: var(--space-7) var(--space-5); background: var(--color-primary); color: #fff; }
.footer-grid { display: grid; grid-template-columns: 1.4fr repeat(3, 1fr); gap: var(--space-6); }
.footer-brand p, .site-footer p { color: #94a3b8; }
.footer-heading { margin-bottom: var(--space-3); font-size: .95rem; letter-spacing: .02em; }
.footer-links { display: grid; gap: var(--space-2); }
.footer-links a { color: #cbd5e1; font-size: .9rem; text-decoration: none; }
.footer-links a:hover { text-decoration: underline; }
.newsletter-shell { display: grid; gap: var(--space-3); }
.footer-bottom { display: flex; justify-content: space-between; gap: var(--space-4); margin-top: var(--space-7); padding-top: var(--space-4); border-top: 1px solid rgba(255,255,255,.15); font-size: .85rem; }
.placeholder-hero { padding-block: clamp(3rem, 7vw, 5rem); background: var(--color-surface); border-bottom: 1px solid var(--color-border); }
.placeholder-hero h1 { max-width: 12ch; margin-block: var(--space-3); color: var(--color-primary); }
.placeholder-panel { display: grid; grid-template-columns: auto 1fr; align-items: start; gap: var(--space-5); max-width: 50rem; padding: clamp(1.5rem, 4vw, 2.5rem); background: var(--color-surface); border-top: 3px solid var(--color-secondary); border-bottom: 1px solid var(--color-border); }
.placeholder-icon { display: grid; width: 3rem; height: 3rem; place-items: center; border: 1px solid var(--color-border); border-radius: var(--radius-sm); color: var(--color-primary); font-weight: 800; }
.placeholder-panel h2 { margin-bottom: var(--space-2); font-size: clamp(1.35rem, 3vw, 1.8rem); }
