/* LAYOUT – containers, header, footer, generic sections. */
.container { width: 100%; max-width: var(--container); margin-inline: auto; padding-inline: var(--gutter); }
.container--narrow { max-width: var(--container-narrow); }
.section { padding-block: var(--section-space); }
.site-main { min-height: 50vh; }

/* Top bar */
.topbar { border-bottom: 1px solid var(--color-border); font-size: .8rem; }
.topbar__inner { display: flex; justify-content: flex-end; padding-block: .4rem; }

/* Header */
.site-header { position: sticky; top: 0; z-index: 50; background: rgba(11, 11, 13, .9); backdrop-filter: blur(8px); border-bottom: 1px solid transparent; transition: border-color .2s; }
.site-header.is-scrolled { border-bottom-color: var(--color-border); }
.site-header__inner { display: flex; align-items: center; justify-content: space-between; min-height: var(--header-h); gap: 1.5rem; }
.site-logo { display: inline-flex; align-items: center; gap: .75rem; }
.site-logo__img { width: 48px; height: auto; }
.site-logo__text { display: flex; flex-direction: column; line-height: 1.1; }
.site-logo__line1 { font-family: var(--font-display); font-weight: 700; letter-spacing: .18em; }
.site-logo__line2 { font-size: .72rem; letter-spacing: .12em; color: var(--color-muted); text-transform: uppercase; }

.primary-nav__list { display: flex; gap: clamp(1rem, 2.5vw, 2.25rem); }
.primary-nav__list a { font-size: .9rem; letter-spacing: .06em; text-transform: uppercase; padding-block: .5rem; }
.primary-nav__list .current-menu-item > a,
.primary-nav__list .current_page_item > a { color: var(--color-accent); }

.nav-toggle { display: none; background: none; border: 0; padding: .5rem; cursor: pointer; }
.nav-toggle__bar { display: block; width: 24px; height: 2px; margin: 5px 0; background: currentColor; transition: transform .2s, opacity .2s; }
.nav-toggle[aria-expanded="true"] .nav-toggle__bar:nth-child(2) { transform: translateY(7px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] .nav-toggle__bar:nth-child(3) { opacity: 0; }
.nav-toggle[aria-expanded="true"] .nav-toggle__bar:nth-child(4) { transform: translateY(-7px) rotate(-45deg); }

/* Footer */
.site-footer { background: var(--color-surface); border-top: 1px solid var(--color-border); padding-top: var(--section-space); }
.site-footer__grid { display: grid; grid-template-columns: 1.4fr 1fr 1.6fr; gap: 3rem; }
.site-footer__heading { font-size: .8rem; letter-spacing: .14em; text-transform: uppercase; color: var(--color-muted); font-family: var(--font-body); }
.site-footer__tagline { margin-top: 1rem; color: var(--color-muted); }
.footer-nav li + li { margin-top: .5rem; }
.site-footer__bottom { margin-top: 3rem; border-top: 1px solid var(--color-border); font-size: .85rem; color: var(--color-muted); }
.site-footer__bottom-inner { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem; padding-block: 1.25rem; }
.legal-nav { display: flex; gap: 1.5rem; }

/* Social */
.social { display: flex; gap: 1rem; flex-wrap: wrap; }
.social .icon { display: none; }                 /* icons supplied by original CSS later */
.social__label { font-size: .8rem; letter-spacing: .08em; text-transform: uppercase; }
