/* Shared nav + footer (all pages). Markup generated by scripts/build_pages.py */
nav.top{position:sticky;top:0;z-index:40;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:rgba(12,12,14,0.82);border-bottom:1px solid var(--border);padding:14px 32px}
nav.top .row{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:24px}
nav.top .logo{font-family:'Instrument Serif',serif;font-size:22px;letter-spacing:0.5px}
nav.top .logo .gold{color:var(--gold)}
nav.top .nav-links{display:flex;align-items:center;gap:28px;font-size:12px;text-transform:uppercase;letter-spacing:0.18em;color:rgba(245,240,235,0.5)}
nav.top .nav-links > a,.dd-trigger{position:relative;padding:6px 0;transition:color .25s;display:inline-flex;align-items:center;gap:6px}
nav.top .nav-links > a:hover,.dd:hover .dd-trigger,.dd:focus-within .dd-trigger{color:var(--gold)}
.dd{position:relative}
.dd-trigger svg{opacity:.6;transition:transform .3s}
.dd:hover .dd-trigger svg,.dd:focus-within .dd-trigger svg{transform:rotate(180deg)}
.dd-menu{position:absolute;top:calc(100% + 14px);left:-24px;width:340px;padding:18px 10px 10px;background:#141416;border:1px solid var(--border-2);box-shadow:0 24px 60px rgba(0,0,0,.5);opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .25s,transform .25s,visibility .25s;text-transform:none;letter-spacing:0}
.dd-menu::before{content:"";position:absolute;left:0;right:0;top:-16px;height:16px}
.dd:hover .dd-menu,.dd:focus-within .dd-menu{opacity:1;visibility:visible;transform:translateY(0)}
.dd-kicker{font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:rgba(201,169,110,.75);padding:0 12px 8px}
.dd-link{display:block;padding:10px 12px;transition:background .2s}
.dd-link:hover{background:rgba(201,169,110,.07)}
.dd-link span{display:block;font-size:14px;color:var(--fg);font-weight:500}
.dd-link small{display:block;font-size:12px;color:rgba(245,240,235,.45);font-weight:300;line-height:1.45;margin-top:2px}
.dd-link:hover span{color:var(--gold)}
.nav-right{display:flex;align-items:center;gap:12px}
nav.top .btn-cta{padding:10px 22px;border:1px solid rgba(201,169,110,0.35);color:var(--gold);font-size:12px;letter-spacing:0.1em;font-weight:500;background:transparent;transition:all .3s}
nav.top .btn-cta:hover{background:var(--gold);color:var(--brand)}
.nav-burger{display:none;width:40px;height:40px;border:1px solid var(--border-2);background:transparent;flex-direction:column;align-items:center;justify-content:center;gap:6px}
.nav-burger span{display:block;width:16px;height:1px;background:var(--fg);transition:transform .3s}
.nav-burger[aria-expanded="true"] span:first-child{transform:translateY(3.5px) rotate(45deg)}
.nav-burger[aria-expanded="true"] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
.mnav{max-width:1200px;margin:0 auto;padding:18px 0 8px;display:grid;gap:18px;max-height:calc(100dvh - 70px);overflow-y:auto}
.mnav[hidden]{display:none}
.mnav-group{display:flex;flex-direction:column;border-top:1px solid var(--border);padding-top:14px}
.mnav-group .dd-kicker{padding:0 0 6px}
.mnav a{padding:9px 0;font-size:16px;color:rgba(245,240,235,.8)}
@media (max-width:980px){
  nav.top{padding:12px 16px}
  nav.top .nav-links{display:none}
  .nav-burger{display:flex}
  nav.top .btn-cta{padding:9px 14px}
}
/* Footer */
.site-footer{padding:64px 32px 32px;border-top:1px solid var(--border)}
.site-footer .frow{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px}
.site-footer .fcol{display:flex;flex-direction:column;gap:9px}
.site-footer .fcol .dd-kicker{padding:0 0 4px}
.site-footer .fcol a{font-size:13px;color:rgba(245,240,235,.5);transition:color .2s}
.site-footer .fcol a:hover{color:var(--gold)}
.site-footer .logo{font-family:'Instrument Serif',serif;font-size:22px;color:var(--fg)!important}
.site-footer .logo .gold{color:var(--gold)}
.site-footer .fbrand p{font-size:13px;color:rgba(245,240,235,.4);font-weight:300;line-height:1.6;max-width:260px}
.site-footer .fmail{color:rgba(201,169,110,.8)!important}
.site-footer .fcopy{max-width:1100px;margin:40px auto 0;font-size:11px;color:rgba(245,240,235,.22)}
@media (max-width:780px){.site-footer{padding:48px 16px 28px}.site-footer .frow{grid-template-columns:1fr 1fr}.site-footer .fbrand{grid-column:1/-1}}
/* Services mega menu: four areas, two services each */
.dd-menu.mega{width:720px;left:-120px;display:grid;grid-template-columns:1fr 1fr;gap:6px 10px;padding:20px 12px 12px}
.dd-menu.mega .dd-col{padding-bottom:8px}
.site-footer .fgap{display:block;height:14px}
