/* puckmodel site chrome -- generated from site_chrome.py; edit there */
:root { --pm-paper:#F3F2ED; --pm-paper2:#FBFAF6; --pm-ink:#11161D; --pm-ink2:#4A5260;
  --pm-rule:#D6D5CD; --pm-red:#C8341E; --pm-blue:#1E4E9A; --pm-line:#E3E2DA;
  --pm-serif:'Newsreader',Georgia,'Times New Roman',serif;
  --pm-sans:'Archivo',system-ui,-apple-system,'Segoe UI',sans-serif;
  --pm-mono:'JetBrains Mono',ui-monospace,Consolas,monospace; }
html body { background:var(--pm-paper); font-family:var(--pm-sans); }
html body h1 { font-family:var(--pm-serif); font-weight:500; letter-spacing:-.015em;
  font-size:clamp(30px, 3.4vw, 46px); line-height:1.05; }
::selection { background:var(--pm-ink); color:var(--pm-paper); }
.pm-vh { position:absolute !important; width:1px; height:1px; overflow:hidden;
  clip:rect(0 0 0 0); white-space:nowrap; }
.pm-in { max-width:1240px; margin:0 auto; padding:0 24px; box-sizing:border-box; }

/* utility strip */
.pm-util { background:var(--pm-paper); border-bottom:1px solid var(--pm-rule);
  font:500 11px/1 var(--pm-mono); letter-spacing:.06em; text-transform:uppercase;
  color:var(--pm-ink2); }
.pm-util .pm-in { height:30px; display:flex; align-items:center;
  justify-content:space-between; gap:16px; }
.pm-util .pm-u1 { display:flex; gap:22px; white-space:nowrap; }
.pm-util .pm-hl { color:var(--pm-red); text-decoration:none; }
.pm-util .pm-hl:hover { text-decoration:underline; text-underline-offset:3px; }

/* header */
.pm-hdr { position:relative; z-index:1000; background:var(--pm-paper);
  border-bottom:1px solid var(--pm-ink); margin-bottom:22px;
  font-family:var(--pm-sans); color:var(--pm-ink); }
.pm-hdr + .teamstrip { margin-top:-22px; }
.pm-hdr .pm-in { height:64px; display:flex; align-items:center; gap:36px; }
.pm-brand, .pm-fw { display:flex; align-items:center; gap:9px; flex:none;
  color:var(--pm-ink); text-decoration:none; font-weight:800; font-size:22px;
  font-stretch:118%; letter-spacing:-.03em; line-height:1; }
.pm-brand:hover { color:var(--pm-ink); }
.pm-nav { display:flex; align-items:stretch; gap:26px; flex:1; align-self:stretch; min-width:0; }
.pm-nav > a, .pm-dd > button { display:flex; align-items:center; gap:6px; white-space:nowrap;
  font:500 14px/1 var(--pm-sans); color:var(--pm-ink); text-decoration:none;
  background:none; border:0; padding:0; margin:0; cursor:pointer; }
.pm-nav > a:hover, .pm-dd > button:hover { color:var(--pm-red); }
.pm-nav > a[aria-current], .pm-dd.pm-on > button { font-weight:700;
  box-shadow:inset 0 -3px 0 var(--pm-red); }
.pm-cnt { font:500 11px/1 var(--pm-mono); padding:3px 5px; border-radius:3px;
  background:var(--pm-ink); color:var(--pm-paper); }
.pm-nav > a[aria-current] .pm-cnt { background:var(--pm-red); color:#fff; }
.pm-dd { position:relative; display:flex; }
.pm-dd > button svg { transition:transform .15s; }
.pm-dd.open > button svg { transform:rotate(180deg); }
.pm-ddm { display:none; position:absolute; top:100%; left:-16px; min-width:220px;
  background:var(--pm-paper); border:1px solid var(--pm-ink); padding:6px 0;
  box-shadow:0 12px 28px rgba(17,22,29,.14); }
.pm-dd.open .pm-ddm { display:block; }
.pm-ddm a { display:block; padding:11px 16px; font-size:14px; color:var(--pm-ink);
  text-decoration:none; }
.pm-ddm a:hover, .pm-ddm a:focus-visible { background:var(--pm-line); color:var(--pm-ink); }
.pm-ddm a[aria-current] { font-weight:700; color:var(--pm-red); }
.pm-hdr a:focus-visible, .pm-hdr button:focus-visible, .pm-ftr a:focus-visible {
  outline:2px solid var(--pm-blue); outline-offset:2px; }

/* search */
.pm-sbox { position:relative; width:280px; flex:none; }
.pm-sbox input { width:100%; height:42px; box-sizing:border-box; margin:0;
  padding:0 40px 0 14px; border:1px solid #BDBCB3; border-radius:6px;
  background:var(--pm-paper2); color:var(--pm-ink); font:400 14px var(--pm-sans);
  outline:none; -webkit-appearance:none; appearance:none; }
.pm-sbox input::placeholder { color:#6B7380; }
.pm-sbox input:focus { border-color:var(--pm-ink); box-shadow:0 0 0 1px var(--pm-ink); }
.pm-sbox kbd { position:absolute; right:10px; top:12px; font:500 11px/1 var(--pm-mono);
  padding:3px 6px; border:1px solid #BDBCB3; border-radius:3px; color:var(--pm-ink2);
  background:none; pointer-events:none; }
.pm-sbox input:focus + kbd { display:none; }
.pm-sres { position:absolute; top:calc(100% + 6px); right:0; width:min(440px, calc(100vw - 24px));
  max-height:62vh; overflow-y:auto; list-style:none; margin:0; padding:6px 0;
  background:var(--pm-paper); border:1px solid var(--pm-ink);
  box-shadow:0 12px 28px rgba(17,22,29,.16); z-index:1001; }
.pm-sres[hidden] { display:none; }
.pm-sres li { margin:0; padding:0; }
.pm-sres li a { display:flex; justify-content:space-between; align-items:baseline; gap:12px;
  padding:10px 14px; color:var(--pm-ink); text-decoration:none; font-size:14px; }
.pm-sres li.on a, .pm-sres li a:hover { background:var(--pm-line); }
.pm-sres .ss { font:500 11px var(--pm-mono); color:var(--pm-ink2); white-space:nowrap; }
.pm-sres .pm-empty { padding:10px 14px; font-size:13px; color:var(--pm-ink2); }
.pm-sres .pm-empty a { color:var(--pm-blue); }
.pm-ib { display:none; width:44px; height:44px; flex:none; align-items:center;
  justify-content:center; background:none; border:0; border-radius:6px; padding:0;
  color:var(--pm-ink); cursor:pointer; }
.pm-ib:hover { background:var(--pm-line); }

/* footer */
.pm-ftr { background:var(--pm-ink); color:#B7BFCB; margin-top:56px; padding:48px 0 44px;
  font:400 14px/1.55 var(--pm-sans); }
.pm-ftr .pm-in { display:grid; grid-template-columns:minmax(0,2fr) repeat(3, minmax(0,1fr));
  gap:32px; }
.pm-fw { color:var(--pm-paper); font-size:24px; }
.pm-fw:hover { color:var(--pm-paper); }
.pm-fb p { margin:14px 0 0; max-width:380px; }
.pm-ftr a { color:var(--pm-paper); text-decoration:none; }
.pm-ftr a:hover { text-decoration:underline; text-underline-offset:3px; }
.pm-fb p a { text-decoration:underline; text-underline-offset:3px; }
.pm-fc { display:flex; flex-direction:column; gap:9px; }
.pm-fc span { font:500 11px/1.6 var(--pm-mono); letter-spacing:.08em; text-transform:uppercase;
  color:#8E97A6; }

/* legacy pieces restyled */
html .teamstrip { background:var(--pm-paper); border-bottom:1px solid var(--pm-rule); }
html .teamstrip a.cur { background:var(--pm-line); box-shadow:inset 0 -2px 0 var(--pm-red);
  border-radius:4px 4px 0 0; }

@media (max-width:1180px) {
  .pm-hdr .pm-in { gap:24px; }
  .pm-nav { gap:20px; }
  .pm-sbox { width:200px; }
}
@media (max-width:1060px) {
  .pm-sbtn { display:flex; }
  .pm-sbox { display:none; }
  .pm-hdr.pm-srch .pm-sbox { display:block; position:absolute; left:0; right:0; top:100%;
    width:auto; padding:10px 16px 12px; background:var(--pm-paper);
    border-bottom:1px solid var(--pm-ink); }
  .pm-hdr.pm-srch .pm-sbox kbd { display:none; }
  .pm-hdr.pm-srch .pm-sres { left:16px; right:16px; width:auto; }
}
@media (max-width:820px) {
  .pm-in { padding:0 16px; }
  .pm-hdr .pm-in { height:58px; gap:4px; }
  .pm-brand { margin-right:auto; font-size:21px; }
  .pm-mbtn { display:flex; }
  .pm-sbtn { margin-right:-4px; }
  .pm-nav { display:none; }
  .pm-nav.open { display:block; position:absolute; left:0; right:0; top:100%;
    background:var(--pm-paper); border-bottom:1px solid var(--pm-ink); padding:6px 16px 14px;
    box-shadow:0 14px 28px rgba(17,22,29,.12); max-height:calc(100vh - 90px); overflow-y:auto; }
  .pm-nav.open > a { height:48px; border-bottom:1px solid var(--pm-rule); font-size:16px; }
  .pm-nav.open > a[aria-current] { box-shadow:none; color:var(--pm-red); }
  .pm-nav.open .pm-dd { display:block; }
  .pm-nav.open .pm-dd > button { height:40px; padding-top:10px; cursor:default; box-shadow:none;
    font:500 11px/1 var(--pm-mono); letter-spacing:.08em; text-transform:uppercase;
    color:var(--pm-ink2); }
  .pm-nav.open .pm-dd > button svg { display:none; }
  .pm-nav.open .pm-ddm { display:block; position:static; border:0; box-shadow:none;
    padding:0; min-width:0; background:none; }
  .pm-nav.open .pm-ddm a { padding:0; height:46px; display:flex; align-items:center;
    border-bottom:1px solid var(--pm-rule); font-size:16px; }
  .pm-ftr .pm-in { grid-template-columns:repeat(3, minmax(0,1fr)); gap:28px 20px; }
  .pm-fb { grid-column:1 / -1; }
}
@media (max-width:640px) {
  .pm-util .pm-u2 { display:none; }
}
@media print { .pm-util, .pm-hdr, .pm-ftr { display:none; } }
