/* Alegrivox: copper controls and a compact field-station footer. */
.site-header .header-row { display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:5rem;gap:0 1.25rem;width:100%;max-width:none;min-height:5rem;margin:0;padding:0 1rem;align-items:center; }
.site-header .brand { grid-column:1;grid-row:1;justify-self:start;width:max-content;gap:.65rem;margin:0;padding:0;font-size:1.8rem;line-height:1.25;transform:none; }
.site-header .brand svg { width:2.25rem;height:2.25rem;flex:none; }
.site-header #primary-nav { grid-column:2;grid-row:1;justify-self:end;display:flex;flex-direction:row;gap:.45rem;padding:0;align-items:center;width:auto; }
.site-header .nav-link { display:flex;align-items:center;justify-content:center;padding:.65rem .8rem;min-height:2.75rem;background:#283027;color:#e8ebdc;font-size:.875rem;font-weight:600;line-height:1.5;white-space:normal;text-align:center;opacity:1; }
.site-header .nav-link:hover { color:#151b15;background:#e0a172;opacity:1; }
.site-header .menu-toggle { grid-column:2;grid-row:1;justify-self:end;width:2.875rem;height:2.875rem;min-width:2.875rem;min-height:2.875rem;padding:0;border:0;border-radius:.2rem;background:#e0a172;color:#171a17;align-items:center;justify-content:center; }
.site-header .menu-toggle:hover { background:#f2bb90; }
.av-menu-glyph { display:block;width:1.5rem;height:1.5rem;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:square; }
.av-menu-cross { display:none; }
.menu-toggle[aria-expanded=true] .av-menu-bars { display:none; }
.menu-toggle[aria-expanded=true] .av-menu-cross { display:block; }
.site-header a:focus-visible,.site-header button:focus-visible { outline:.1875rem solid #f2bb90;outline-offset:.2rem; }
.site-footer.av-footer { background:#111711;margin:0;padding:1.75rem 0 1rem;color:#e8ebdc; }
.av-footer-board { display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:1.5rem 3rem;align-items:start; }
.av-footer-profile { display:grid;gap:.65rem;min-width:0; }
.av-footer-profile .brand { font-size:1.7rem;line-height:1.2;gap:.6rem;margin:0 0 .1rem;width:max-content;max-width:100%; }
.av-footer-profile .brand svg { width:2rem;height:2rem;flex:none; }
.av-footer-email { font-family:Consolas,monospace;font-size:.875rem;line-height:1.5;padding:.6rem .8rem;background:#263025;color:#f3c7a4;width:fit-content;max-width:100%;overflow-wrap:anywhere; }
.av-footer-profile address { font-size:.875rem;line-height:1.65;font-style:normal;margin:0;max-width:52ch;overflow-wrap:anywhere;color:#c7cebf; }
.av-footer-phone { font-size:.875rem;line-height:1.6;color:#c7cebf;overflow-wrap:anywhere; }
.av-footer-links { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;min-width:0; }
.av-footer-links nav { display:grid;align-content:start;gap:.4rem;min-width:0; }
.av-footer .footer-link { display:flex;align-items:center;min-height:2.75rem;padding:.55rem .8rem;font-size:.875rem;line-height:1.45;color:#e8ebdc;background:#20291f;overflow-wrap:anywhere;opacity:1; }
.av-footer a:hover { color:#171a17;background:#e0a172;opacity:1; }
.av-footer .brand:hover { background:transparent;color:#f2bb90; }
.av-footer a:focus-visible { outline:.1875rem solid #e0a172;outline-offset:.2rem; }
.av-footer-rights { padding-top:1.25rem;font-family:Consolas,monospace;font-size:.875rem;line-height:1.6;color:#bdc7b5; }
@media(max-width:65rem){
 .site-header .menu-toggle:not([hidden]) { display:flex; }
 .site-header #primary-nav { grid-column:1/-1;grid-row:2;justify-self:stretch;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;padding:.75rem 0 1rem;max-height:calc(100dvh - 5rem);overflow:auto; }
 .site-header .nav-link { justify-content:flex-start;text-align:left;padding:.75rem 1rem;font-size:1rem; }
 .av-footer-board { gap:1.5rem;grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
}
@media(max-width:40rem){
 .av-footer-board { grid-template-columns:minmax(0,1fr);gap:1.1rem; }
 .av-footer-links { grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem; }
 .av-footer-profile address { max-width:none; }
}
@media(max-width:24rem){.site-header #primary-nav { grid-template-columns:minmax(0,1fr); }}

/* Short pages end at the footer, with no trailing viewport strip. */
body{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}body>main{flex:1 0 auto}.site-header,.site-footer{flex:none}
