/* Shared site chrome. Keep navigation and footer geometry identical on every page. */
html { scrollbar-gutter: stable; }
body:not(.home-page) { padding-top: 84px; }

header,
.site-header {
  position: fixed !important;
  inset: 0 0 auto !important;
  z-index: 50 !important;
  padding: 0 !important;
  pointer-events: none;
}

.site-header.capture-static { position: absolute !important; }

header .bar,
.site-header .bar {
  width: min(calc(100% - 56px), 1180px) !important;
  height: 66px !important;
  margin: 18px auto 0 !important;
  padding: 7px 10px 7px 12px !important;
  display: flex !important;
  align-items: center !important;
  border: 1px solid rgba(255,255,255,.72) !important;
  border-radius: 999px !important;
  background: rgba(255,253,250,.96) !important;
  box-shadow: 0 8px 28px rgba(38,34,31,.11) !important;
  backdrop-filter: blur(18px);
  pointer-events: auto;
}

header .brand,
.site-header .brand { display:flex; align-items:center; gap:11px; flex:0 0 auto; }
header .crest,
.site-header .crest { width:48px; height:48px; border-radius:50%; object-fit:cover; }
header .wm,
.site-header .wm { font-family:'Libertine',Georgia,serif; font-size:22px; letter-spacing:-.01em; white-space:nowrap; }
header .navlinks,
.site-header .navlinks { margin-left:auto; display:flex; align-items:center; justify-content:flex-end; gap:24px; color:#7d6f77; font-size:12.5px; font-weight:600; letter-spacing:.085em; }
header .navlinks a,
.site-header .navlinks a { padding:7px 0 4px; }
header .navlinks .here,
.site-header .navlinks .here { color:#26221f; border-bottom:2px solid #a8853a; }
header .nav-cta,
.site-header .nav-cta { min-height:44px; margin-left:28px; padding:0 19px; display:inline-flex; align-items:center; justify-content:center; border-radius:999px; background:#292622; color:#fff; font-size:10px; font-weight:600; letter-spacing:.04em; white-space:nowrap; }

body:not(.home-page) .filters { top:84px; }
body:not(.home-page) .detail { top:108px; }
body:not(.home-page) .contents { top:108px; }

footer { margin-top:0 !important; border-top:1px solid #e6ddd2 !important; background:#fffdfa !important; }
footer .bar { max-width:1240px !important; margin:0 auto !important; padding:34px 24px 14px !important; display:flex !important; justify-content:space-between !important; align-items:center !important; flex-wrap:wrap !important; gap:16px !important; }
footer .fname { font-family:'Libertine',Georgia,serif !important; font-size:19px !important; color:#26221f !important; }
footer .floc { margin-top:3px !important; color:#7d6f77 !important; font-size:12.5px !important; letter-spacing:.06em !important; }
footer .contact { display:flex !important; align-items:center !important; gap:10px !important; flex-wrap:wrap !important; }
footer .cbtn { display:inline-flex !important; align-items:center !important; gap:8px !important; padding:10px 16px !important; border:1px solid #e6ddd2 !important; border-radius:999px !important; background:#fffdfa !important; color:#26221f !important; font-size:13px !important; font-weight:600 !important; }
footer .cbtn img,
footer .cbtn svg { width:16px !important; height:16px !important; display:block !important; }
footer .attr { max-width:1240px !important; margin:0 auto !important; padding:14px 24px 22px !important; display:flex !important; justify-content:center !important; border-top:1px solid #e6ddd2 !important; color:#7d6f77 !important; font-size:11.5px !important; letter-spacing:.12em !important; }

@media (max-width:960px) {
  header .navlinks,
  .site-header .navlinks { display:none; }
  header .nav-cta,
  .site-header .nav-cta { margin-left:auto; }
}

@media (max-width:700px) {
  body:not(.home-page) { padding-top:68px; }
  header .bar,
  .site-header .bar { width:calc(100% - 20px) !important; height:58px !important; margin-top:10px !important; padding:6px 7px !important; }
  header .crest,
  .site-header .crest { width:44px; height:44px; }
  header .wm,
  .site-header .wm { font-size:17px; }
  header .nav-cta,
  .site-header .nav-cta { min-height:40px; padding-inline:12px; font-size:8px; }
  body:not(.home-page) .filters { top:68px; }
  body:not(.home-page) .detail,
  body:not(.home-page) .contents { top:88px; }
  footer .bar { display:block !important; padding-inline:16px !important; }
  footer .contact { margin-top:22px !important; }
  footer .cbtn { padding:9px 12px !important; font-size:12px !important; }
  footer .attr { margin-inline:16px !important; padding-inline:0 !important; }
}

@media (max-width:420px) {
  header .wm,
  .site-header .wm { font-size:15.5px; }
}
