/* Shared site nav — stamped into every page by scripts/stamp-nav.py.
   Self-contained: literal colors (no page CSS vars), .pcnav-* names only so
   legacy per-page nav rules can never bleed in. */

.pcnav{position:sticky;top:0;z-index:60;background:rgba(250,246,236,.92);backdrop-filter:saturate(180%) blur(10px);-webkit-backdrop-filter:saturate(180%) blur(10px);border-bottom:1px solid rgba(15,36,57,.15);font-family:'Inter',system-ui,-apple-system,sans-serif;line-height:1.4}
.pcnav-bar{max-width:1240px;margin:0 auto;display:flex;align-items:center;gap:22px;padding:14px 32px}
.pcnav-logo{display:flex;align-items:center;gap:13px;text-decoration:none;flex:0 0 auto}
.pcnav-seal{width:38px;height:38px;display:block}
.pcnav-wm{font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;font-size:21px;letter-spacing:.005em;line-height:1;color:#0F2439;white-space:nowrap}
.pcnav-links{display:flex;align-items:center;gap:20px;font-size:14px;color:#4A5D73;margin-left:auto}
.pcnav-links a{color:inherit;text-decoration:none;white-space:nowrap}
.pcnav-links a:hover{color:#0F2439}
/* Phone is drawer-only: the desktop row matches the homepage menu (no phone). */
.pcnav-call{display:none;font-family:'JetBrains Mono',ui-monospace,monospace;font-size:11px;letter-spacing:.18em;text-transform:uppercase;padding:10px 16px;border:1px solid #0F2439;color:#0F2439 !important;transition:all .15s}
.pcnav-call:hover{background:#0F2439;color:#F2EEE3 !important}
.pcnav-cta{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:11px;letter-spacing:.18em;text-transform:uppercase;padding:11px 17px;background:#B8944A;color:#0F2439;border:1px solid #B8944A;text-decoration:none;transition:background .15s;white-space:nowrap}
.pcnav-cta:hover{background:#a17c38}
.pcnav-burger{display:none;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:44px;height:40px;flex:0 0 auto;background:none;border:1px solid rgba(15,36,57,.25);cursor:pointer}
.pcnav-burger span{display:block;width:22px;height:2px;background:#0F2439;transition:transform .18s,opacity .18s}
.pcnav-open .pcnav-burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.pcnav-open .pcnav-burger span:nth-child(2){opacity:0}
.pcnav-open .pcnav-burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
/* Body scroll locks while the mobile drawer is open (nav.js toggles this). */
html.pcnav-lock{overflow:hidden}

@media (max-width:1200px){
  .pcnav-burger{display:flex}
  .pcnav-cta{margin-left:auto}
  .pcnav-links{display:none;position:absolute;top:100%;left:0;right:0;margin:0;flex-direction:column;align-items:stretch;gap:0;background:#FAF6EC;border-bottom:1px solid rgba(15,36,57,.15);box-shadow:0 24px 40px -24px rgba(15,36,57,.35);padding:6px 0 14px}
  .pcnav-open .pcnav-links{display:flex}
  .pcnav-links a{padding:13px 32px;font-size:16px;color:#0F2439}
  .pcnav-links a:hover{background:#F2EEE3}
  .pcnav-call{display:block;border:0;margin-top:4px;font-size:12px}
  .pcnav-call:hover{background:#F2EEE3;color:#0F2439 !important}
}
/* 600 (not 520): the full-size bar needs ~540px — 521-599 viewports
   overflowed the document by ~16px before this widened breakpoint. */
@media (max-width:600px){
  .pcnav-bar{padding:12px 16px;gap:10px}
  .pcnav-logo{gap:10px;flex:0 0 auto}
  .pcnav-wm{font-size:17px}
  .pcnav-seal{width:28px;height:28px}
  .pcnav-cta{font-size:9px;letter-spacing:.1em;padding:8px 10px}
  .pcnav-burger{width:40px}
}
@media (max-width:430px){
  .pcnav-wm{display:none}
}
@media (prefers-reduced-motion:reduce){
  .pcnav-burger span{transition:none}
}
