/* Shared family tokens. Orange never changes with appearance. */
:root {
 --pn-paper:#F6F6F3; --pn-surface:#FAFAF8; --pn-global-ink:#20211F;
 --pn-global-copy:#435365; --pn-global-muted:#596979; --pn-global-line:#C8CBC7;
 --pn-global-accent-text:#A83C0D; --pn-panel-bg:#20211F; --pn-panel-ink:#F6F6F3;
 --pn-panel-copy:#DAE2EA; --pn-accent:#F57C00; --pn-wash:#FCE7D9;
 --pn-ink:var(--pn-global-ink); --pn-copy:var(--pn-global-copy); --pn-muted:var(--pn-global-muted);
 --pn-line:var(--pn-global-line); --pn-accent-text:var(--pn-global-accent-text);
 --pn-head:'JetBrains Mono',ui-monospace,monospace; --pn-body:'Instrument Sans',system-ui,sans-serif;
 color-scheme:light;
}
:root[data-pnf-appearance="dark"] {
 --pn-paper:#101F2D; --pn-surface:#192F43; --pn-global-ink:#F6F6F3;
 --pn-global-copy:#D7E0E9; --pn-global-muted:#B7C4D0; --pn-global-line:#536576;
 --pn-global-accent-text:#FFB18A; --pn-panel-bg:#273D50; --pn-wash:#422F27;
 color-scheme:dark;
}
@media(prefers-color-scheme:dark) {
 :root:not([data-pnf-appearance="light"]):not([data-pnf-appearance="dark"]) {
 --pn-paper:#101F2D; --pn-surface:#192F43; --pn-global-ink:#F6F6F3;
 --pn-global-copy:#D7E0E9; --pn-global-muted:#B7C4D0; --pn-global-line:#536576;
 --pn-global-accent-text:#FFB18A; --pn-panel-bg:#273D50; --pn-wash:#422F27;
 color-scheme:dark;
 }
}
*,*::before,*::after {box-sizing:border-box}
[hidden] {display:none!important}
html {scroll-behavior:smooth}
body.pnf-site {margin:0;background:var(--pn-paper);color:var(--pn-global-ink);font:18px/1.65 var(--pn-body)}
.pnf-site :is(h1,h2,h3,h4,h5,h6) {font-family:var(--pn-head)!important;font-weight:700;letter-spacing:-.035em!important;overflow-wrap:break-word;line-height:1.25!important}
.pnf-site :is(p,li,label,input,select,textarea) {font-family:var(--pn-body)}
.pnf-site a {text-underline-offset:.2em;color:var(--pn-accent-text)}
.pnf-site img {max-width:100%;height:auto}
.pnf-site button {font:inherit;cursor:pointer}
.pnf-site :focus-visible {outline:3px solid var(--pn-accent);outline-offset:4px}
.pnf-site input:focus,.pnf-site select:focus,.pnf-site textarea:focus {outline:2px solid var(--pn-accent)!important;outline-offset:2px;box-shadow:none}
.pnf-site :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),textarea,select) {background:var(--pn-surface);color:var(--pn-global-ink);max-width:100%}
.pnf-site .pn-prose :is(h2,h3,strong) {color:var(--pn-global-ink)}
.pnf-site .pn-prose :is(p,li) {color:var(--pn-global-copy)}
.pnf-site .pn-prose a {color:var(--pn-global-accent-text)}
.pnf-site main {min-width:0}
.pnf-site main>section {scroll-margin-top:24px}
.pnf-site .text-neutral,.pnf-site .prose {color:var(--pn-global-ink)}
.pnf-site .pn-skip:focus {background:var(--pn-surface);color:var(--pn-global-ink);z-index:9999}
.pnf-site .pn-skip {position:absolute;left:-9999px;top:0}
.pnf-site .pn-skip:focus {left:16px;top:16px;padding:12px 16px}
.pnf-site form {max-width:100%}
.pnf-site button[type=submit]:hover {filter:brightness(1.12)}
.pnf-header {background:var(--pn-paper);border-bottom:1px solid var(--pn-global-line)}
.pnf-nav {max-width:1248px;margin:auto;padding:22px 24px;display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.pnf-brand {display:inline-flex;align-items:center;gap:12px;flex:none;text-decoration:none;color:var(--pn-ink)!important;font:700 25px/1.1 var(--pn-head);letter-spacing:-.045em}
.pnf-brand img {width:42px;height:42px;object-fit:contain}
.pnf-tools {margin-left:auto;display:flex;align-items:center;gap:12px;order:3}
.pnf-appearance {display:flex;gap:2px;padding:3px;border:1px solid var(--pn-global-line);border-radius:7px;background:var(--pn-surface)}
.pnf-appearance button {width:34px;height:34px;display:grid;place-items:center;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--pn-global-ink);padding:7px}
.pnf-appearance button[aria-pressed=true] {border-color:var(--pn-global-ink);background:var(--pn-paper)}
.pnf-appearance svg {width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.pnf-links {display:flex;align-items:center;gap:22px;margin-left:auto}
.pnf-links>a:not(.pnf-button) {color:var(--pn-global-ink);text-decoration:none;font-size:15px;padding:10px 0;border-bottom:3px solid transparent}
.pnf-links>a[aria-current=page],.pnf-links>a:not(.pnf-button):hover {border-bottom-color:var(--pn-accent)}
.pnf-menu {background:transparent;color:var(--pn-global-ink);border:1px solid var(--pn-global-line);padding:8px 10px;border-radius:4px;min-height:40px}
.pnf-button {display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:46px;padding:11px 18px;border:1px solid var(--pn-accent);border-radius:4px;background:var(--pn-accent);color:#10263C!important;font:600 16px/1.4 var(--pn-body);text-decoration:none}
.pnf-button:hover {filter:brightness(1.07)}
.pnf-button-secondary {background:transparent;border-color:var(--pn-global-ink);color:var(--pn-global-ink)!important}
.pnf-hero {max-width:1248px;margin:auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:center;padding:64px 24px 72px;border-bottom:1px solid var(--pn-global-line)}
.pnf-overline {font:500 12px/1.5 var(--pn-head)!important;letter-spacing:.04em;text-transform:uppercase;color:var(--pn-global-accent-text);margin:0 0 16px}
.pnf-hero-brand {display:flex;align-items:center;gap:18px;font-size:clamp(34px,4.6vw,62px);margin:0 0 24px;white-space:nowrap;line-height:1.1!important}
.pnf-hero-brand img {width:65px;height:65px;object-fit:contain;flex:none}
.pnf-baseline {font:700 clamp(22px,2.5vw,32px)/1.4 var(--pn-head)!important;margin:0 0 24px;color:var(--pn-global-ink);letter-spacing:-.04em}
.pnf-baseline span {text-decoration:underline;text-decoration-color:var(--pn-accent);text-decoration-thickness:4px;text-underline-offset:9px}
.pnf-lead {font-size:20px;line-height:1.65;color:var(--pn-global-copy);margin:0 0 30px;max-width:54ch}
.pnf-actions {display:flex;flex-wrap:wrap;gap:12px}
.pnf-demos {background:var(--pn-surface);border:1px solid var(--pn-global-line);border-top:4px solid var(--pn-accent);padding:23px;border-radius:4px;min-width:0}
.pnf-demos .pnf-overline {margin-bottom:10px;font-size:11px!important}
.pnf-demos>h2 {font-size:22px;margin:0 0 10px}
.pnf-demo-intro {font-size:16px;line-height:1.5;color:var(--pn-global-copy);margin:0 0 18px}
.pnf-slide {border:1px solid var(--pn-global-line);padding:16px;margin:0 0 16px;border-radius:3px;min-width:0}
.pnf-slide p {font-size:15px;line-height:1.5;color:var(--pn-global-copy);margin:12px 0}
.pnf-demo-masthead {display:flex;align-items:center;gap:9px}
.pnf-demo-masthead h3 {font-size:17px;margin:0;min-width:0}
.pnf-ln {font:700 13px/1 var(--pn-head);background:var(--pn-panel-bg);color:var(--pn-panel-ink);padding:9px 5px;border-bottom:3px solid var(--pn-accent);flex:none}
.pnf-demo-badge {font:500 10px/1.4 var(--pn-head);text-transform:uppercase;color:var(--pn-global-accent-text);margin-left:auto;flex:none}
.pnf-demo-topics {list-style:none;margin:14px 0 0;padding:0;display:flex;gap:6px;flex-wrap:wrap}
.pnf-demo-topics li {font-size:11px;border:1px solid var(--pn-global-line);padding:3px 6px;border-radius:2px;color:var(--pn-global-copy)}
.pnf-slide .pnf-demo-caption {margin:16px 0 6px;font:500 11px/1.5 var(--pn-head);text-transform:uppercase}
.pnf-demo-rows {list-style:none;margin:0 0 12px;padding:0}
.pnf-demo-rows li {padding:8px 0;border-top:1px solid var(--pn-global-line);font-size:14px;line-height:1.5;color:var(--pn-global-ink)}
.pnf-demo-open {display:inline-block;font-size:14px;font-weight:600;color:var(--pn-global-ink);text-decoration:underline;text-decoration-color:var(--pn-accent);text-decoration-thickness:2px}
.pnf-carousel-controls {display:flex;align-items:center;gap:8px}
.pnf-carousel-controls>button {width:36px;min-height:36px;border:1px solid var(--pn-global-line);border-radius:3px;color:var(--pn-global-ink);background:var(--pn-paper);flex:none}
.pnf-demo-dots {display:flex;gap:0;align-items:center}
.pnf-demo-dots button {display:grid;place-items:center;width:28px;height:36px;padding:0;border:0;background:transparent}
.pnf-demo-dots span {display:block;width:7px;height:7px;border-radius:50%;background:var(--pn-global-muted)}
.pnf-demo-dots button[aria-pressed=true] span {background:var(--pn-accent);outline:1px solid var(--pn-global-ink);outline-offset:3px}
.pnf-demo-status {font:400 10px/1.5 var(--pn-head);color:var(--pn-global-copy);margin-left:auto;max-width:150px}
.pnf-demo-note {font-size:12px;line-height:1.5;color:var(--pn-global-muted);margin:12px 0 0}
.pnf-sr-only {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1051px) {
 .pnf-tools {margin-left:0}
 .pnf-nav {gap:20px}
 .pnf-links {gap:18px}
 .pnf-links .pnf-button {font-size:14px;padding-inline:12px}
}
@media(max-width:1050px) {
 .pnf-nav {gap:16px}
 .pnf-tools {order:0}
 .pnf-js .pnf-menu:not([hidden]) {display:block}
 .pnf-links {width:100%;margin:0;gap:16px;flex-wrap:wrap}
 .pnf-js .pnf-links {display:none}
 .pnf-js .pnf-links.is-open {display:flex}
 .pnf-hero {gap:28px}
 .pnf-hero-brand {font-size:40px;gap:12px}
 .pnf-hero-brand img {width:50px;height:50px}
}
@media(min-width:1051px) { .pnf-menu {display:none!important} }
@media(max-width:720px) {
 body.pnf-site {font-size:17px}
 .pnf-nav {padding:16px;gap:8px}
 .pnf-brand {font-size:21px;gap:8px}
 .pnf-brand img {width:31px;height:31px}
 .pnf-tools {gap:7px}
 .pnf-appearance {padding:2px;gap:0}
 .pnf-appearance button {width:29px;height:32px;padding:6px}
 .pnf-menu {font-size:0;padding:6px;min-height:38px}
 .pnf-menu span {font-size:20px}
 .pnf-links a {font-size:15px}
 .pnf-links .pnf-button {width:100%}
 .pnf-hero {grid-template-columns:1fr;padding:38px 18px 40px;gap:32px}
 .pnf-hero-brand {font-size:clamp(29px,8.5vw,43px);gap:10px;margin-bottom:18px}
 .pnf-hero-brand img {width:44px;height:44px}
 .pnf-baseline {font-size:24px;line-height:1.5;margin-bottom:20px}
 .pnf-lead {font-size:18px;margin-bottom:24px}
 .pnf-actions .pnf-button {flex:1 1 150px}
 .pnf-demos {padding:17px}
 .pnf-demos>h2 {font-size:21px}
 .pnf-slide {padding:13px}
 .pnf-demo-masthead h3 {font-size:15px}
 .pnf-demo-badge {display:none}
 .pnf-demo-status {font-size:9px;max-width:90px}
 .pnf-carousel-controls {gap:4px}
 .pnf-demo-dots button {width:24px}
 .pnf-site :is(h1,h2,h3) {hyphens:auto}
 .pnf-site main>section:not(.pnf-hero) {padding-left:18px!important;padding-right:18px!important}
 .pnf-site main>section:not(.pnf-hero)>div[style*="max-width"] {padding-left:0!important;padding-right:0!important}
 .pnf-site main>section[style*="max-width"] {padding-top:50px!important;padding-bottom:35px!important}
 .pnf-site main>section>div[style*="max-width"] {padding-top:50px!important;padding-bottom:50px!important}
 .pnf-site form[style] {padding:22px!important}
 .pnf-site .pn-prose {padding:40px 18px 60px}
}
@media(prefers-reduced-motion:reduce) {html {scroll-behavior:auto}* {animation:none!important;transition:none!important}}

/* 2.1: compact desktop, top-aligned blocks and a shared sticky masthead. */
@media(min-width:1051px) { body.pnf-site {zoom:.75} }
.pnf-header {position:sticky;top:0;z-index:200}
.admin-bar .pnf-header {top:32px}
.pnf-brand-text {display:flex;flex-direction:column;gap:5px}
.pnf-brand-baseline {display:block;font:500 13px/1.35 var(--pn-head);letter-spacing:-.035em;color:var(--pn-global-ink);text-decoration:underline;text-decoration-color:var(--pn-accent);text-decoration-thickness:2px;text-underline-offset:4px;white-space:nowrap}
.pnf-header .pnf-brand img {align-self:flex-start}
.pnf-nav {align-items:flex-start;gap:16px}
.pnf-links {align-items:flex-start;gap:16px}
.pnf-tools {align-items:flex-start}
.pnf-palette {display:flex;flex-direction:column;gap:2px;font:500 10px/1.2 var(--pn-head)!important;color:var(--pn-global-muted)}
.pnf-site .pnf-palette select {width:100px;min-height:30px;padding:2px 8px;border:1px solid var(--pn-global-line);border-radius:4px;background:var(--pn-surface);color:var(--pn-global-ink);font:500 13px/1.3 var(--pn-body)}
.pnf-hero {align-items:start;padding-top:48px}
.pnf-hero-title {font-size:clamp(36px,4.6vw,58px);margin:0 0 28px;line-height:1.25!important}
.pnf-hero-title span {text-decoration:underline;text-decoration-color:var(--pn-accent);text-decoration-thickness:4px;text-underline-offset:10px}
.pnf-site main section div[style*="flex-wrap: wrap"] {align-items:flex-start!important}
.pnf-site main section div[style*="display: grid"] {align-items:start}
html {scroll-padding-top:130px}
.pnf-news {max-width:1248px;margin:auto;padding:48px 24px 72px}
.pnf-news-heading {margin-bottom:36px}
.pnf-news-heading h1 {font-size:46px;margin:0 0 16px;text-decoration:underline;text-decoration-color:var(--pn-accent);text-decoration-thickness:4px;text-underline-offset:9px}
.pnf-news-heading p:not(.pnf-overline) {color:var(--pn-global-copy);font-size:18px;margin:0}
.pnf-news-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:start}
.pnf-news-card {padding:22px;border:1px solid var(--pn-global-line);border-top:3px solid var(--pn-accent);background:var(--pn-surface)}
.pnf-news-card time {font:400 12px/1.5 var(--pn-head);color:var(--pn-global-muted)}
.pnf-news-card h2 {font-size:21px;margin:14px 0}
.pnf-news-card h2 a {color:var(--pn-global-ink);text-decoration:none}
.pnf-news-excerpt {font-size:16px;color:var(--pn-global-copy)}
.pnf-pagination ul {display:flex;flex-wrap:wrap;list-style:none;padding:0;gap:16px;margin-top:32px}
.pnf-pagination .current {border-bottom:3px solid var(--pn-accent)}
.pnf-news-empty {border-top:1px solid var(--pn-global-line);padding:24px 0;color:var(--pn-global-copy)}
@media(max-width:782px) {.admin-bar .pnf-header {top:46px}}
@media(max-width:600px) {.admin-bar .pnf-header {top:0}}
@media(max-width:1050px) {
 .pnf-news-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
 .pnf-tools {margin-left:auto}
}
@media(max-width:720px) {
 .pnf-header .pnf-brand {font-size:21px}
 .pnf-brand-baseline {font-size:11px;line-height:1.4}
 .pnf-nav {padding:12px 16px;gap:12px}
 .pnf-tools {flex-wrap:wrap;align-items:center;gap:12px}
 .pnf-site .pnf-menu {font-size:0}
 .pnf-hero-title {font-size:35px}
 .pnf-hero {padding-top:30px}
 .pnf-news {padding:32px 18px 50px}
 .pnf-news-grid {grid-template-columns:1fr}
 .pnf-news-heading h1 {font-size:34px}
 html {scroll-padding-top:170px}
}
/* Only surfaces change with palettes. Brand orange and slate titles remain. */
:root {--pn-paper:var(--pn-light-paper,#F6F6F3);--pn-surface:var(--pn-light-surface,#FAFAF8)}
:root[data-pnf-palette="mist"] {--pn-light-paper:#EDF4F8;--pn-light-surface:#FAFAF8;--pn-night-paper:#0D2233;--pn-night-surface:#16364C}
:root[data-pnf-palette="sand"] {--pn-light-paper:#F6F5F2;--pn-light-surface:#FAFAF8;--pn-night-paper:#25231D;--pn-night-surface:#333127}
:root[data-pnf-palette="pearl"] {--pn-light-paper:#F0F1F2;--pn-light-surface:#FAFAF8;--pn-night-paper:#191F26;--pn-night-surface:#262F39}
:root[data-pnf-appearance="dark"] {--pn-paper:var(--pn-night-paper,#101F2D);--pn-surface:var(--pn-night-surface,#192F43)}
@media(prefers-color-scheme:dark) {
 :root:not([data-pnf-appearance="light"]):not([data-pnf-appearance="dark"]) {--pn-paper:var(--pn-night-paper,#101F2D);--pn-surface:var(--pn-night-surface,#192F43)}
}

/* 2.1.1: menus from WordPress admin, including editable submenus. */
.pnf-menu-list,.pnf-footer-menu,.pnf-menu-list .sub-menu,.pnf-footer-menu .sub-menu {list-style:none;margin:0;padding:0}
.pnf-menu-list {display:flex;align-items:flex-start;flex-wrap:wrap;gap:18px}
.pnf-menu-list li {position:relative;display:flex;align-items:center;flex-wrap:wrap;gap:2px}
.pnf-menu-list a {display:block;padding:10px 0;color:var(--pn-global-ink);font-size:15px;text-decoration:none;border-bottom:3px solid transparent}
.pnf-menu-list :is(.current-menu-item,.current-menu-ancestor)>a,.pnf-menu-list a:hover {border-bottom-color:var(--pn-accent)}
.pnf-site .pnf-submenu-toggle {background:transparent;color:inherit;border:0;min-width:28px;min-height:34px;padding:3px;font-size:17px}
.pnf-menu-list .sub-menu {width:100%;padding:8px 12px;border-left:2px solid var(--pn-accent)}
.pnf-menu-list.pnf-submenus-ready>li>.sub-menu {position:absolute;z-index:210;left:0;top:100%;width:240px;max-width:calc(100vw - 32px);background:var(--pn-surface);border:1px solid var(--pn-global-line);border-top:3px solid var(--pn-accent);padding:8px 12px}
.pnf-menu-list .sub-menu>li {display:flex;align-items:center;gap:4px}
.pnf-menu-list .sub-menu a {padding:7px 0;font-size:14px;overflow-wrap:anywhere;white-space:normal;flex:1}
.pnf-footer-nav {flex:999 1 640px;min-width:0}
.pnf-footer-menu {display:flex;align-items:flex-start;gap:20px 32px;flex-wrap:wrap}
.pnf-footer-menu>li {min-width:140px;flex:1;position:relative}
.pnf-footer-menu a {color:var(--pn-ink);font-size:16px;display:inline-block;padding:6px 0;text-decoration:none}
.pnf-footer-menu .sub-menu {padding-left:12px;border-left:1px solid var(--pn-line)}
.pnf-footer-menu .current-menu-item>a {text-decoration:underline;text-decoration-color:var(--pn-accent);text-decoration-thickness:2px}
@media(max-width:1050px) {
 .pnf-menu-list {width:100%;flex-direction:column;gap:0}
 .pnf-menu-list>li {width:100%}
 .pnf-menu-list>li>a {flex:1}
 .pnf-menu-list.pnf-submenus-ready>li>.sub-menu {position:static;width:100%;max-width:100%;margin:0 0 8px;padding:4px 12px;border:0;border-left:2px solid var(--pn-accent)}
}

/* 2.2.0: identical light sand surfaces in every day palette. */
:root {--pn-light-surface:#FAFAF8;--pn-family-blue:#20211F;--pn-family-orange:#F57C00;--pn-family-yellow:#FFD105;--pn-family-cyan:#0E9FCB;--pn-family-coral:#FF5151}
