/* Shared header finish only. Each page retains its layout, sizing and controls. */
:is(.topbar, .portal-header, .community-header, .district-topbar) {
  background: rgba(7, 9, 12, .96);
  border-bottom-color: rgba(255, 255, 255, .18);
  box-shadow: 0 10px 32px rgba(0, 0, 0, .34);
  backdrop-filter: blur(16px);
}
:is(.topbar, .portal-header, .community-header, .district-topbar)
:is(.brand-logo, .portal-brand img, .community-brand img, .back-city img) {
  filter: drop-shadow(3px 4px 0 rgba(255, 106, 0, .54));
}
:is(.site-nav, .portal-nav, .community-nav) > a {
  color: #d1d5d8;
  text-decoration: none;
}
:is(.site-nav, .portal-nav, .community-nav) > a:is(:hover, :focus-visible, [aria-current="page"]) {
  color: #f8f8f3;
  text-shadow: 0 0 14px rgba(255, 100, 0, .45);
}
:is(.topbar, .portal-header, .community-header)
:is(.member-entry, .metro-link) {
  color: #080a0d;
  border-color: #ff6400;
  background: #ff6400;
}
:is(.site-menu, .city-more-menu) > nav {
  border-color: rgba(255, 255, 255, .25);
  background: rgba(7, 9, 12, .98);
  box-shadow: 0 24px 60px rgba(0, 0, 0, .55);
}
:is(.site-menu, .city-more-menu) > nav a {
  color: #e2e5e7;
}

/* The original painted navigation treatment, shared across public routes. */
:is(.site-nav, .portal-nav, .community-nav) > a { position:relative; font-family:var(--bryk-font-ui,system-ui,sans-serif); font-weight:850; letter-spacing:.065em; }
:is(.site-nav, .portal-nav, .community-nav) > a::after { content:""; position:absolute; left:-5%; right:-5%; bottom:2px; height:7px; opacity:.55; background:radial-gradient(circle at 4% 55%,var(--orange) 0 1px,transparent 2px),radial-gradient(circle at 95% 38%,var(--orange) 0 1px,transparent 2px),linear-gradient(176deg,transparent 18%,var(--orange) 22% 58%,transparent 62%); transform:rotate(-1deg) scaleX(.42); transform-origin:left center; transition:opacity .18s ease,transform .2s ease; }
:is(.site-nav, .portal-nav, .community-nav) > a:nth-child(2n)::after { --orange:var(--pink); transform:rotate(1.2deg) scaleX(.42); }
:is(.site-nav, .portal-nav, .community-nav) > a:nth-child(3n)::after { --orange:var(--lime); }
:is(.site-nav, .portal-nav, .community-nav) > a:hover::after,:is(.site-nav, .portal-nav, .community-nav) > a:focus-visible::after { opacity:.95; transform:rotate(-1deg) scaleX(1); }

:is(.topbar, .portal-header, .community-header, .district-topbar) + .street-tape { top:var(--bryk-header-height,78px); }
:is(.site-menu,.city-more-menu) > nav { max-height:calc(100dvh - var(--bryk-header-height,78px) - 24px); overflow-y:auto; overscroll-behavior:contain; }

/* Keep secondary routes reachable without filling the main header. */
.topbar .site-menu{display:block}
@media(min-width:1181px){.topbar .site-nav>a[href="/city-deeds/"],.topbar .site-nav>a[href="/community/"]{display:none}}
:is(.site-menu,.city-more-menu)>nav a{min-height:44px}
:is(.topbar,.portal-header,.community-header) :is(a,button,summary){flex-shrink:0}
@media(max-width:540px){:is(.site-menu,.city-more-menu)>nav{max-height:calc(100dvh - 110px);overflow-y:auto;overscroll-behavior:contain}}

.portal-secondary{display:none}
.portal-header{grid-template-columns:auto minmax(0,1fr) auto;gap:20px}
.portal-brand{width:auto;gap:12px;text-decoration:none}
.portal-brand img{width:52px;height:52px}
.portal-brand-copy{display:grid;gap:4px;color:#f3f4f2;white-space:nowrap}
.portal-brand-copy strong{font:900 19px/1 var(--bryk-font-ui)}
.portal-brand-copy small{font:800 8px/1.3 var(--bryk-font-ui);letter-spacing:.04em;color:#abb3bb}
@media(max-width:900px){
 .portal-header{grid-template-columns:minmax(0,1fr) auto;min-height:66px;padding:8px 14px;gap:12px}
 .portal-brand img{width:44px;height:44px}
 .portal-brand-copy small{display:none}
 .portal-header .city-header-actions{display:none}
 .portal-secondary{display:contents}
 .portal-nav-toggle{min-height:44px;min-width:60px;padding:0 12px;background:var(--bryk-orange);color:#080a0d;border-color:var(--bryk-orange)}
 .portal-nav-toggle>span{display:none}
 .portal-nav-toggle b{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto;white-space:normal}
 .portal-nav a{min-height:44px;display:flex;align-items:center;padding:12px}
 .portal-nav{max-height:calc(100dvh - 80px);overscroll-behavior:contain}
}
.portal-header.nav-open{z-index:1000}@media(max-width:900px){.portal-header.nav-open .portal-nav>a::after{display:none}.portal-nav a{border-width:0 0 1px!important;background:transparent!important}}
