/* Supplemental nav styles — dropdowns */
.site-nav ul { display: flex; gap: 2rem; list-style: none; }
.site-nav li { position: relative; }
.site-nav li ul {
    position: absolute;
    top: calc(100% + .5rem);
    left: 50%;
    transform: translateX(-50%) translateY(6px);
    background: rgba(6,6,18,.96);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: .75rem;
    padding: .75rem 0;
    min-width: 210px;
    box-shadow: 0 16px 40px rgba(0,0,0,.35);
    opacity: 0;
    visibility: hidden;
    transition: opacity .2s, visibility .2s, transform .2s;
}
.site-nav li:hover > ul,
.site-nav li:focus-within > ul {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0);
}
.site-nav li ul li { width: 100%; }
.site-nav li ul a {
    display: block;
    padding: .55rem 1.25rem;
    border-bottom: none !important;
    font-size: .88rem;
    white-space: nowrap;
    color: rgba(255,255,255,.75) !important;
}
.site-nav li ul a:hover { background: rgba(255,255,255,.07); color: #fff !important; }

/* Single post layout */
.post-layout {
    display: grid;
    grid-template-columns: 1fr 300px;
    gap: 3rem;
    align-items: start;
}
@media (max-width: 900px) {
    .post-layout { grid-template-columns: 1fr; }
    .blog-sidebar { display: none; }
}
.post-article h1 { font-size: clamp(1.6rem, 3vw, 2.4rem); margin-bottom: 1rem; }
.post-meta { color: var(--brand-muted, #6b7280); font-size: .9rem; margin-bottom: 1.5rem; }
.post-thumb { border-radius: 1rem; overflow: hidden; margin-bottom: 2rem; }
.post-content { line-height: 1.8; }
.post-content h2 { font-size: 1.5rem; margin: 2rem 0 1rem; }
.post-content h3 { font-size: 1.25rem; margin: 1.5rem 0 .75rem; }
.post-content p  { margin-bottom: 1.25rem; }
.post-content ul, .post-content ol { padding-left: 1.5rem; margin-bottom: 1.25rem; list-style: disc; }
.post-tags { margin-top: 2rem; font-size: .9rem; }
.post-tags a { margin-right: .5rem; }
.blog-sidebar .widget { margin-bottom: 2rem; }
.blog-sidebar .widget__title { font-size: 1rem; font-weight: 700; margin-bottom: 1rem; border-bottom: 2px solid var(--brand-primary, #003087); padding-bottom: .5rem; }
