/* Shared navigation and footer for the portfolio's main pages. */
header.portfolio-header{max-width:1240px;min-height:90px;height:auto;margin:auto;padding:20px clamp(22px,5vw,72px);display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.portfolio-header .brand{font:700 18px 'Space Grotesk',Arial,sans-serif;letter-spacing:-.04em;text-decoration:none;white-space:nowrap}
.portfolio-header .brand::after{content:"";display:inline-block;width:7px;height:7px;margin:3px 0 0 7px;vertical-align:top;border-radius:50%;background:var(--accent)}
.portfolio-header nav{display:flex;align-items:center;gap:26px;flex-wrap:wrap;font:12px 'IBM Plex Mono',monospace}
.portfolio-header nav a{text-decoration:none;border-bottom:2px solid transparent;padding-bottom:6px}
.portfolio-header nav a:hover,.portfolio-header nav a:focus-visible{border-bottom-color:var(--accent)}
footer.portfolio-footer{max-width:1240px;margin:auto;padding:24px clamp(22px,5vw,72px) 35px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;color:var(--muted);font:12px 'IBM Plex Mono',monospace}
.portfolio-footer a{color:inherit;text-underline-offset:4px}
.portfolio-footer a:hover{color:var(--accent)}
.portfolio-header a:focus-visible,.portfolio-footer a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
@media(max-width:760px){header.portfolio-header{min-height:76px;padding-top:20px;padding-bottom:18px}.portfolio-header nav{gap:15px}footer.portfolio-footer{gap:12px}}
