/* UECF site header + primary navigation (shared across pages) */
:root{
  --uecf-ink:#101B31;
  --uecf-gold:#C79A3D;
  --uecf-gold-soft:#E4C685;
  --uecf-cream:#FAF6EC;
  --uecf-header-h:76px;
  --uecf-max:1200px;
  --uecf-font-display:'Fraunces', Georgia, 'Times New Roman', serif;
  --uecf-font-body:'Source Sans 3', system-ui, -apple-system, sans-serif;
}
.skip-link{
  position:absolute; left:-999px; top:0; z-index:200;
  background:var(--uecf-gold); color:var(--uecf-ink);
  padding:10px 18px; font-weight:700; border-radius:0 0 6px 0;
  font-family:var(--uecf-font-body);
}
.skip-link:focus{left:0;}

header.site-header{
  background:var(--uecf-ink); color:var(--uecf-cream);
  position:sticky; top:0; z-index:100;
  border-bottom:3px solid var(--uecf-gold);
  box-shadow:0 4px 20px rgba(0,0,0,.15);
  font-family:var(--uecf-font-body);
}
header.site-header .header-inner{
  display:flex; align-items:center; justify-content:space-between;
  padding:10px 24px; max-width:var(--uecf-max); margin:0 auto;
}
header.site-header .brand{
  display:flex; align-items:center; gap:16px;
  color:var(--uecf-cream); text-decoration:none;
}
header.site-header .brand:hover{text-decoration:none;}
header.site-header .brand-logo-img{
  width:50px; height:50px; flex:none; display:block; object-fit:contain;
  filter:drop-shadow(0 2px 4px rgba(0,0,0,.3));
}
header.site-header .brand-text{display:flex; flex-direction:column; line-height:1.2;}
header.site-header .brand-text .full{
  font-family:var(--uecf-font-display); font-size:1.15rem; font-weight:700;
  color:var(--uecf-cream); letter-spacing:-.01em;
}
header.site-header .brand-text .sub{
  font-size:.75rem; letter-spacing:.08em; text-transform:uppercase;
  color:var(--uecf-gold-soft); font-weight:600;
}

header.site-header nav.primary-nav{display:flex;}
header.site-header nav.primary-nav ul{
  display:flex; gap:4px; flex-wrap:wrap; align-items:center;
  margin:0; padding:0; list-style:none;
}
header.site-header nav.primary-nav a,
header.site-header nav.primary-nav button{
  color:var(--uecf-cream); font-size:.9rem; font-weight:600;
  padding:10px 14px; display:block; border-radius:4px;
  background:none; border:none; font-family:inherit; cursor:pointer;
  transition:all .2s ease; white-space:nowrap;
}
header.site-header nav.primary-nav a:hover,
header.site-header nav.primary-nav button:hover,
header.site-header nav.primary-nav a[aria-current="page"]{
  background:rgba(228,198,133,.15); text-decoration:none; color:var(--uecf-gold-soft);
}
header.site-header .nav-toggle{
  display:none; background:none; border:1px solid rgba(228,198,133,.5);
  color:var(--uecf-cream); padding:8px 12px; border-radius:6px;
  font-size:1rem; cursor:pointer; font-family:var(--uecf-font-body);
}
@media (max-width:992px){
  header.site-header nav.primary-nav{
    position:absolute; top:100%; left:0; right:0; background:var(--uecf-ink);
    flex-direction:column; max-height:0; overflow:hidden;
    transition:max-height .3s ease; border-bottom:1px solid rgba(228,198,133,.25);
  }
  header.site-header nav.primary-nav.open{max-height:600px;}
  header.site-header nav.primary-nav ul{
    flex-direction:column; align-items:stretch; padding:8px 24px 16px;
  }
  header.site-header .nav-toggle{display:block;}
}

/* ------------------------------------------------------------------
   Mobile-only auto-hiding site header (<=768px)
   Desktop (>768px) is intentionally untouched.
   JS toggles .header-visible / .header-hidden on header.site-header.
------------------------------------------------------------------- */
@media (max-width:768px){
  header.site-header{
    /* Keep sticky so layout space is preserved (no content jump). */
    transition:transform 0.25s ease;
    will-change:transform;
  }
  header.site-header.header-visible{
    transform:translateY(0);
  }
  header.site-header.header-hidden{
    transform:translateY(-100%);
    pointer-events:none; /* don't intercept taps while off-screen */
  }
  /* When the header is hidden, pull the sticky tools bar to the top. */
  html.uecf-mobile-header-hidden{
    --uecf-header-h:0px !important;
  }
  #sidebar{
    transition:top 0.25s ease;
  }
}
@media (max-width:768px) and (prefers-reduced-motion:reduce){
  header.site-header,
  #sidebar{
    transition:none;
  }
}
/* Belt-and-suspenders: never apply hide transforms on desktop. */
@media (min-width:769px){
  header.site-header.header-visible,
  header.site-header.header-hidden{
    transform:none !important;
    pointer-events:auto !important;
  }
}

footer.site-footer{
  border-top:3px solid var(--uecf-gold);
  background:var(--uecf-ink); color:var(--uecf-cream);
  font-family:var(--uecf-font-body);
  padding:30px 24px;
}
.footer-inner{max-width:980px; margin:0 auto; text-align:center;}
.footer-inner a{color:var(--uecf-gold-soft); font-weight:600;}
.footer-inner a:hover{text-decoration:underline;}
.footer-inner p{margin:0 0 8px; font-size:0.84375rem;}
.footer-inner p:last-child{margin-bottom:0; color:#9FB8D4; font-size:0.75rem;}
