:root {
  --pn-black: #141414;
  --pn-paper: #f4efe6;
  --pn-white: #fffdf8;
  --pn-red: #e43b32;
  --pn-line: #d9d1c5;
  --pn-muted: #716c63;
  --pn-title: "Barlow Condensed", "Arial Narrow", Impact, sans-serif;
  --pn-body: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { background: var(--pn-paper); color: var(--pn-black); font-family: var(--pn-body); margin: 0; }
a { color: inherit; }
.pn-skip-link { background: var(--pn-black); color: #fff; left: -9999px; padding: 10px 14px; position: fixed; top: 10px; z-index: 9999; }
.pn-skip-link:focus { left: 10px; }
.pn-site-header { background: rgba(244,239,230,.96); border-bottom: 1px solid var(--pn-line); position: sticky; top: 0; z-index: 100; }
.pn-site-header__inner { align-items: center; display: flex; justify-content: space-between; margin: auto; max-width: 1380px; min-height: 86px; padding: 12px 30px; }
.pn-site-brand { align-items: center; display: flex; gap: 12px; text-decoration: none; }
.pn-site-brand .custom-logo { height: auto; max-height: 60px; max-width: 230px; width: auto; }
.pn-site-brand__mark { align-items: center; background: var(--pn-red); color: #fff; display: inline-flex; font-family: var(--pn-title); font-size: 24px; font-weight: 900; height: 46px; justify-content: center; transform: rotate(-2deg); width: 46px; }
.pn-site-brand strong { display: block; font-family: var(--pn-title); font-size: 23px; font-weight: 900; line-height: .9; }
.pn-site-brand small { color: var(--pn-muted); display: block; font-size: 8px; font-weight: 800; letter-spacing: .16em; margin-top: 7px; }
.pn-site-nav { align-items: center; display: flex; gap: 25px; }
.pn-site-nav a { font-size: 10px; font-weight: 800; letter-spacing: .1em; text-decoration: none; text-transform: uppercase; }
.pn-site-nav a:hover { color: var(--pn-red); }
.pn-menu-toggle { background: var(--pn-black); border: 0; color: #fff; display: none; font: 800 10px var(--pn-body); letter-spacing: .1em; padding: 12px 15px; text-transform: uppercase; }
.pn-site-main { min-height: 72vh; }
.pn-page,
.pn-index { margin: 0 auto; max-width: 980px; padding: 75px 28px; }
.pn-page > header,
.pn-index > h1 { border-bottom: 3px solid var(--pn-black); margin-bottom: 35px; padding-bottom: 25px; }
.pn-page > header p { color: var(--pn-red); font-size: 9px; font-weight: 850; letter-spacing: .18em; }
.pn-page > header h1,
.pn-index > h1,
.pn-missing-plugin h1 { font-family: var(--pn-title); font-size: clamp(55px, 8vw, 98px); font-weight: 900; line-height: .88; margin: 0; text-transform: uppercase; }
.pn-page p { line-height: 1.75; }
.pn-index article { background: var(--pn-white); border: 1px solid var(--pn-line); margin-bottom: 15px; padding: 24px; }
.pn-index article h2 { font-family: var(--pn-title); font-size: 32px; margin: 0; text-transform: uppercase; }
.pn-site-footer { align-items: center; background: var(--pn-black); color: #fff; display: flex; justify-content: space-between; min-height: 130px; padding: 30px max(30px, calc((100vw - 1320px) / 2)); }
.pn-site-footer strong { display: block; font-family: var(--pn-title); font-size: 25px; }
.pn-site-footer span { color: rgba(255,255,255,.5); font-size: 8px; letter-spacing: .14em; }
.pn-site-footer p { color: rgba(255,255,255,.54); font-size: 9px; max-width: 460px; text-align: right; }
.pn-missing-plugin { margin: 80px auto; max-width: 930px; padding: 30px; }
.pn-missing-plugin > p:first-child { color: var(--pn-red); font-size: 9px; font-weight: 850; letter-spacing: .18em; }
.pn-missing-plugin a { background: var(--pn-black); color: #fff; display: inline-block; font-size: 10px; font-weight: 800; margin-top: 20px; padding: 15px 19px; text-decoration: none; text-transform: uppercase; }
.pncap-app-page .pn-site-header,
.pncap-app-page .pn-site-footer { display: none; }
.pncap-app-page .pn-site-main { min-height: 100vh; }
.pncap-app-page .pn-site-main > .pncap-app { min-height: 100vh; }

@media (max-width: 720px) {
  .pn-site-header__inner { min-height: 72px; padding-inline: 16px; }
  .pn-menu-toggle { display: block; }
  .pn-site-nav { background: var(--pn-black); color: #fff; display: none; left: 0; padding: 25px; position: absolute; right: 0; top: 72px; }
  .pn-site-nav.is-open { display: grid; }
  .pn-site-footer { align-items: flex-start; flex-direction: column; gap: 22px; }
  .pn-site-footer p { text-align: left; }
}

