/* Shared site menu, used on every page including the homepage.
   Class names are prefixed pn- so they never collide with page styles. */
.pn { position:sticky; top:0; z-index:60; background:rgba(251,251,253,.86);
  backdrop-filter:saturate(180%) blur(20px); -webkit-backdrop-filter:saturate(180%) blur(20px);
  border-bottom:1px solid rgba(0,0,0,.08); font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif; }
.pn-in { max-width:1180px; margin:0 auto; padding:0 28px; height:62px; display:flex; align-items:center; gap:18px; }
.pn-logo { font-size:19px; font-weight:700; letter-spacing:-.02em; text-decoration:none; color:#1D1D1F; margin-right:auto; }
.pn-logo span { color:#9A6A2C; }
.pn-menu { display:flex; align-items:center; gap:4px; }
.pn-menu > a, .pn-dd > summary { font-size:14.5px; color:#5E5E63; text-decoration:none; padding:8px 12px; border-radius:10px;
  cursor:pointer; list-style:none; display:flex; align-items:center; gap:6px; white-space:nowrap; }
.pn-dd > summary::-webkit-details-marker { display:none; }
.pn-dd > summary::after { content:""; width:6px; height:6px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor;
  transform:rotate(45deg) translateY(-2px); opacity:.6; }
.pn-menu > a:hover, .pn-dd > summary:hover, .pn-dd[open] > summary { color:#1D1D1F; background:rgba(0,0,0,.04); }
.pn-dd { position:relative; }
.pn-panel { position:absolute; top:calc(100% + 8px); left:-8px; min-width:290px; background:#fff; border:1px solid rgba(0,0,0,.08);
  border-radius:16px; padding:8px; box-shadow:0 24px 60px -20px rgba(0,0,0,.25); }
.pn-panel a { display:block; padding:10px 12px; border-radius:10px; text-decoration:none; color:#1D1D1F; font-size:14.5px; font-weight:600; }
.pn-panel a small { display:block; font-weight:400; color:#86868B; font-size:13px; margin-top:2px; }
.pn-panel a:hover, .pn-panel a[aria-current="page"] { background:rgba(154,106,44,.08); }
.pn-cta { display:inline-flex; align-items:center; background:#1D1D1F; color:#fff; text-decoration:none; font-weight:600; font-size:14px;
  padding:9px 18px; border-radius:999px; white-space:nowrap; }
.pn-cta:hover { opacity:.88; }
.pn-call { font-size:14px; color:#5E5E63; text-decoration:none; white-space:nowrap; padding:8px 4px; }
.pn-call:hover { color:#1D1D1F; }
.pn-burger { display:none; width:40px; height:40px; border:1px solid rgba(0,0,0,.12); border-radius:10px; background:#fff; cursor:pointer;
  align-items:center; justify-content:center; }
.pn-burger span, .pn-burger span::before, .pn-burger span::after { display:block; width:16px; height:1.5px; background:#1D1D1F; position:relative; content:""; }
.pn-burger span::before { position:absolute; top:-5px; } .pn-burger span::after { position:absolute; top:5px; }

@media (max-width:980px) {
  .pn-call { display:none; }
  .pn-burger { display:inline-flex; }
  .pn-menu { display:none; position:absolute; top:62px; left:0; right:0; background:#fff; border-bottom:1px solid rgba(0,0,0,.08);
    flex-direction:column; align-items:stretch; padding:10px 16px 18px; gap:2px; max-height:calc(100dvh - 62px); overflow:auto;
    box-shadow:0 30px 60px -30px rgba(0,0,0,.3); }
  .pn.open .pn-menu { display:flex; }
  .pn-menu > a, .pn-dd > summary { font-size:16px; padding:12px 8px; }
  .pn-panel { position:static; box-shadow:none; border:none; padding:0 0 6px 8px; min-width:0; }
}
@media (max-width:560px) { .pn-in { padding:0 16px; gap:10px; } .pn-cta { padding:8px 14px; } }

/* Shared site footer (pf-), used on every page including the homepage. */
.pf { border-top:1px solid rgba(0,0,0,.08); background:#F5F5F7; font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif; color:#5E5E63; }
.pf-in { max-width:1180px; margin:0 auto; padding:56px 28px 0; display:grid; grid-template-columns:1.5fr repeat(4, 1fr); gap:40px; }
.pf-brand .pn-logo { display:inline-block; margin-bottom:12px; }
.pf-brand p { font-size:14.5px; line-height:1.6; max-width:30ch; margin:0 0 18px; }
.pf-brand .pn-cta { font-size:14px; }
.pf-brand .pf-call { display:block; font-size:13.5px; margin-top:12px; color:#5E5E63; text-decoration:none; }
.pf-brand .pf-call:hover { color:#1D1D1F; }
.pf-col h4 { font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:#1D1D1F; font-weight:700; margin:4px 0 14px; }
.pf-col a { display:block; font-size:14.5px; color:#5E5E63; text-decoration:none; padding:5px 0; line-height:1.4; }
.pf-col a:hover { color:#1D1D1F; }
.pf-bar { max-width:1180px; margin:44px auto 0; padding:20px 28px 28px; border-top:1px solid rgba(0,0,0,.08);
  display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; font-size:13px; color:#86868B; }
.pf-bar a { color:#86868B; text-decoration:none; } .pf-bar a:hover { color:#1D1D1F; }
@media (max-width:980px) { .pf-in { grid-template-columns:repeat(2, 1fr); } .pf-brand { grid-column:1 / -1; } }
@media (max-width:560px) { .pf-in { padding:44px 16px 0; gap:28px 20px; } .pf-bar { padding:18px 16px 24px; flex-direction:column; } }
