/* Professional site header (shared with IrishTown) */
:root { --h-forest:#1b3022; --h-forest-dark:#061b0e; --h-gold:#d4af37; --h-gold-deep:#735c00; }
#wrapper > header.site-header { position:fixed; top:0; left:50%; z-index:1050; width:min(1280px,calc(100% - 32px)); transform:translateX(-50%); display:flex; align-items:center; justify-content:space-between; gap:20px; padding:12px 24px; background:rgba(255,255,255,.9); border:1px solid rgba(212,175,55,.16); border-top:2px solid var(--h-gold); box-shadow:0 14px 34px rgba(27,48,34,.1); backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px); transition:padding .25s ease, box-shadow .25s ease, background .25s ease; font-family:"Montserrat",Arial,sans-serif; }
.site-header.scrolled { padding-block:8px; background:rgba(255,255,255,.96); }
.site-header .brand { display:inline-flex; align-items:center; }
.site-header .brand img { width:auto; height:56px; object-fit:contain; }
.site-header .site-nav { display:flex; align-items:center; gap:22px; }
.site-header .site-nav a { position:relative; color:var(--h-forest); font-size:.72rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; white-space:nowrap; transition:color .25s ease, background .25s ease, transform .25s ease; }
.site-header .site-nav a:not(.nav-solid)::after { content:""; position:absolute; left:50%; bottom:-6px; width:0; height:1px; background:var(--h-gold); transform:translateX(-50%); transition:width .25s ease; }
.site-header .site-nav a:hover { color:var(--h-gold-deep); }
.site-header .site-nav a:hover::after, .site-header .site-nav a.nav-active::after { width:100%; }
.site-header .site-nav a.nav-active { color:var(--h-gold-deep); }
.site-header .site-nav .nav-project { padding-left:0; border-left:0; }
.site-header .site-nav .nav-project + .nav-project { padding-left:0; border-left:0; }
.site-header .site-nav a.nav-solid { display:inline-flex; align-items:center; gap:8px; padding:11px 20px; color:#fff; background:linear-gradient(135deg,var(--h-forest),var(--h-forest-dark)); border:1px solid var(--h-forest); border-radius:2px; box-shadow:0 8px 18px rgba(6,27,14,.22); }
.site-header .site-nav a.nav-solid:hover { color:var(--h-forest-dark); background:var(--h-gold); border-color:var(--h-gold); transform:translateY(-2px); }
.site-header .nav-toggle { display:none; width:42px; aspect-ratio:1; background:var(--h-forest); border:0; border-radius:4px; }
.site-header .nav-toggle span { display:block; width:20px; height:2px; margin:4px auto; background:#fff; transition:transform .25s ease, opacity .25s ease; }
@media (max-width:1120px){ .site-header .site-nav{gap:12px} .site-header .site-nav a{font-size:.66rem;letter-spacing:.06em} .site-header .site-nav .nav-project{padding-left:12px} .site-header .brand img{height:48px} }
@media (max-width:920px){
  .site-header .nav-toggle{display:block}
  .site-header .site-nav{ position:absolute; top:calc(100% + 10px); left:0; right:0; display:grid; gap:4px; padding:16px; background:rgba(255,255,255,.97); border:1px solid rgba(27,48,34,.16); box-shadow:0 22px 48px rgba(27,48,34,.13); opacity:0; pointer-events:none; transform:translateY(-10px); transition:opacity .25s ease, transform .25s ease; }
  .site-header .site-nav.open{opacity:1;pointer-events:auto;transform:translateY(0)}
  .site-header .site-nav a{padding:12px}
  .site-header .site-nav .nav-project, .site-header .site-nav .nav-project + .nav-project{padding-left:12px;border-left:0}
  .site-header .site-nav a.nav-solid{justify-content:center;margin-top:6px}
  .site-header .nav-toggle.open span:nth-child(1){transform:translateY(6px) rotate(45deg)}
  .site-header .nav-toggle.open span:nth-child(2){opacity:0}
  .site-header .nav-toggle.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
}
@media (max-width:640px){ #wrapper > header.site-header{width:calc(100% - 20px);padding:10px 12px} }
html{scroll-behavior:smooth}
section[id]{scroll-margin-top:90px}
