/* PNGCORE design system — base.css: reset, typography, links, focus, layout primitives, prose, WordPress blocks, legacy renderer classes. */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--pc-header-h) + 16px)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;font-family:var(--pc-font);font-size:var(--pc-fs-body);line-height:var(--pc-lh-body);color:var(--pc-text);background:var(--pc-bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-feature-settings:"kern" 1,"liga" 1}
body.pc-no-scroll{overflow:hidden}
img,svg,video,canvas,iframe{display:block;max-width:100%}
img{height:auto}
svg{fill:none}
button,input,select,textarea{font:inherit;color:inherit;margin:0}
button{background:none;border:0;padding:0;cursor:pointer}
a{color:var(--pc-link);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.15em;transition:color var(--pc-dur-1) var(--pc-ease)}
a:hover{color:var(--pc-link-hover);text-decoration-thickness:2px}
hr{border:0;border-top:1px solid var(--pc-line);margin:var(--pc-s6) 0}
a[href^="mailto:"],a[href^="http"]{overflow-wrap:anywhere}
::selection{background:var(--pc-selection);color:var(--pc-ink)}
[hidden]{display:none!important}

/* focus: 2px ring + halo, visible on light and dark */
:focus{outline:none}
:focus-visible{outline:2px solid var(--pc-focus);outline-offset:2px;box-shadow:0 0 0 4px var(--pc-focus-halo);border-radius:var(--pc-r-sm)}

/* headings: sentence case, Archivo, tight tracking */
h1,h2,h3,h4,h5,h6,.pc-h1,.pc-h2,.pc-h3,.pc-h4,.pc-h5{margin:0 0 .5em;color:var(--pc-ink);font-weight:700;line-height:var(--pc-lh-heading);letter-spacing:var(--pc-track-heading);text-wrap:balance;overflow-wrap:break-word}
h1,.pc-h1{font-size:var(--pc-fs-h1);font-weight:800;line-height:1.06;letter-spacing:-.02em}
h2,.pc-h2{font-size:var(--pc-fs-h2);line-height:1.12}
h3,.pc-h3{font-size:var(--pc-fs-h3);line-height:1.2;letter-spacing:-.01em}
h4,.pc-h4{font-size:var(--pc-fs-h4);line-height:1.3;letter-spacing:0}
h5,.pc-h5{font-size:var(--pc-fs-h5);line-height:1.4;letter-spacing:0}
h6{font-size:var(--pc-fs-small);line-height:1.4;letter-spacing:0}
.pc-display{font-size:var(--pc-fs-display);font-weight:800;line-height:var(--pc-lh-tight);letter-spacing:var(--pc-track-display)}
.pc-display--black{font-family:'Archivo Black',var(--pc-font);font-weight:400;letter-spacing:-.01em}
p{margin:0 0 1em}
.pc-lead{font-size:var(--pc-fs-lead);line-height:var(--pc-lh-lead);color:var(--pc-text);max-width:var(--pc-measure)}
.pc-small{font-size:var(--pc-fs-small);line-height:1.5}
.pc-meta{font-size:var(--pc-fs-meta);font-weight:500;line-height:1.4;letter-spacing:.01em;color:var(--pc-muted)}
.pc-eyebrow{display:block;margin:0 0 var(--pc-s3);font-size:var(--pc-fs-eyebrow);font-weight:700;font-stretch:var(--pc-wdth-eyebrow);line-height:1.3;letter-spacing:var(--pc-track-eyebrow);text-transform:uppercase;color:var(--pc-brand-700)}
.pc-dark .pc-eyebrow{color:var(--pc-accent)}
.pc-num,.pc-tabular,table{font-variant-numeric:tabular-nums lining-nums}
.pc-muted{color:var(--pc-muted)}
.pc-ink{color:var(--pc-ink)}
.pc-measure{max-width:var(--pc-measure)}
.pc-balance{text-wrap:balance}
.pc-clamp-2,.pc-clamp-3{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}
.pc-clamp-2{-webkit-line-clamp:2}.pc-clamp-3{-webkit-line-clamp:3}
.pc-sr,.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.screen-reader-text:focus{position:static!important;width:auto;height:auto;margin:0;clip:auto;white-space:normal}

/* layout */
.pc-container{width:100%;max-width:calc(var(--pc-container) + 2*var(--pc-gutter));margin-inline:auto;padding-inline:var(--pc-gutter)}
.pc-container--narrow{max-width:calc(var(--pc-container-narrow) + 2*var(--pc-gutter))}
.pc-container--wide{max-width:calc(var(--pc-container-wide) + 2*var(--pc-gutter))}
.pc-section{padding-block:var(--pc-section)}
.pc-section--sm{padding-block:var(--pc-section-sm)}
.pc-section--flush-top{padding-top:0}
.pc-section--surface{background:var(--pc-surface)}
.pc-section--navy{background:var(--pc-navy)}
.pc-section--navy-900{background:var(--pc-navy-900)}
.pc-section:not(.pc-section--surface):not(.pc-dark) + .pc-section:not(.pc-section--surface):not(.pc-dark),.pc-section--surface + .pc-section--surface{padding-top:0}
.pc-grid{display:grid;gap:var(--pc-gap);grid-template-columns:repeat(12,minmax(0,1fr))}
.pc-grid > *{min-width:0;grid-column:span 12}
.pc-grid-2 > *,.pc-grid-3 > *,.pc-grid-4 > *{grid-column:span 12}
@media (min-width:720px){.pc-grid-2 > *,.pc-grid-4 > *{grid-column:span 6}.pc-grid-3 > *{grid-column:span 4}.pc-span-6{grid-column:span 6}.pc-span-8{grid-column:span 8}.pc-span-4{grid-column:span 4}}
@media (min-width:960px){.pc-grid-4 > *{grid-column:span 3}.pc-grid-3 > *{grid-column:span 4}.pc-span-5{grid-column:span 5}.pc-span-7{grid-column:span 7}.pc-span-3{grid-column:span 3}.pc-span-9{grid-column:span 9}}
.pc-cards{display:grid;gap:var(--pc-gap);grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr))}
.pc-cards--2{grid-template-columns:repeat(auto-fill,minmax(min(100%,360px),1fr))}
.pc-cards--3{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}
.pc-cards--4{grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr))}
.pc-cards--5{grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr))}
.pc-cluster{display:flex;flex-wrap:wrap;gap:var(--pc-s3) var(--pc-s4);align-items:center}
.pc-stack > * + *{margin-top:var(--pc-s5)}
.pc-split{display:grid;gap:var(--pc-s7) var(--pc-gap);align-items:start}
@media (min-width:960px){.pc-split{grid-template-columns:5fr 7fr}.pc-split--even{grid-template-columns:1fr 1fr}.pc-split--reverse > :first-child{order:2}}
.pc-actions{display:flex;flex-wrap:wrap;gap:var(--pc-s3) var(--pc-s4);align-items:center;margin:var(--pc-s5) 0 0}
.pc-col > :first-child,.pc-group > :first-child{margin-top:0}
.pc-rule{border:0;height:1px;background:var(--pc-line);margin:var(--pc-s7) 0}
.pc-rule--accent{width:48px;height:3px;background:var(--pc-brand);border-radius:2px;margin:0 0 var(--pc-s4)}
.pc-dark .pc-rule--accent{background:var(--pc-accent)}
.pc-flow > * + *{margin-top:1em}
.pc-text-center{text-align:center}
.pc-right{margin-left:auto}
.pc-sticky{position:sticky;top:calc(var(--pc-header-h) + 24px)}
.pc-ratio{position:relative;overflow:hidden;background:var(--pc-surface-2)}
.pc-ratio > img,.pc-ratio > video,.pc-ratio > iframe{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pc-ratio--16x9{aspect-ratio:16/9}.pc-ratio--3x2{aspect-ratio:3/2}.pc-ratio--4x3{aspect-ratio:4/3}.pc-ratio--3x4{aspect-ratio:3/4}.pc-ratio--1x1{aspect-ratio:1}
.pc-icon{width:1.25em;height:1.25em;flex:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;fill:none;vertical-align:-.25em}
.pc-icon--lg{width:28px;height:28px}
.pc-icon--brand{color:var(--pc-brand)}
.pc-chip-icon{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:var(--pc-r-lg);background:var(--pc-brand-50);color:var(--pc-brand-700)}
.pc-chip-icon .pc-icon{width:26px;height:26px}
.pc-dark .pc-chip-icon{background:rgba(255,255,255,.08);color:var(--pc-accent)}

/* reveal (JS adds .is-in; no-JS and reduced-motion show content immediately) */
.js .pc-reveal{opacity:0;transform:translateY(16px);transition:opacity var(--pc-dur-3) var(--pc-ease),transform var(--pc-dur-3) var(--pc-ease)}
.js .pc-reveal.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.js .pc-reveal{opacity:1;transform:none;transition:none}}

/* prose: WordPress content, single posts, policy text, legacy renderer output */
.pc-prose{max-width:var(--pc-measure);font-size:var(--pc-fs-body)}
.pc-prose > *{margin-top:0;margin-bottom:1.1em}
.pc-prose > :last-child{margin-bottom:0}
.pc-prose h2,.pc-prose h3,.pc-prose h4{margin-top:1.6em;margin-bottom:.5em}
.pc-prose h2{font-size:var(--pc-fs-h3)}.pc-prose h3{font-size:var(--pc-fs-h4)}.pc-prose h4{font-size:var(--pc-fs-h5)}
.pc-prose > h2:first-child,.pc-prose > h3:first-child{margin-top:0}
.pc-prose .pc-lead,.pc-prose p.has-large-font-size{font-size:var(--pc-fs-lead);line-height:var(--pc-lh-lead)}
.pc-prose ul,.pc-prose ol,.pc-list{padding-left:1.25em}
.pc-prose li,.pc-list li{margin:.35em 0;padding-left:.25em}
.pc-prose li::marker{color:var(--pc-brand);font-weight:700}
.pc-prose ul ul,.pc-prose ol ol{margin:.35em 0}
.pc-prose strong{color:var(--pc-ink);font-weight:700}
.pc-prose a{font-weight:500}
.pc-prose img,.pc-figure img{border-radius:var(--pc-r)}
.pc-prose blockquote,.pc-quote,.wp-block-quote{margin:1.5em 0;padding:var(--pc-s4) var(--pc-s5);border-left:4px solid var(--pc-brand);background:var(--pc-surface);border-radius:0 var(--pc-r) var(--pc-r) 0;font-size:var(--pc-fs-lead);line-height:1.45;color:var(--pc-ink)}
.pc-prose blockquote p,.pc-quote p,.wp-block-quote p{margin:0}
.pc-quote footer,.pc-prose blockquote cite,.wp-block-quote cite{display:block;margin-top:var(--pc-s3);font-size:var(--pc-fs-meta);font-style:normal;font-weight:500;color:var(--pc-muted)}
.pc-quote footer::before,.wp-block-quote cite::before{content:"— "}
.pc-dark .pc-prose blockquote,.pc-dark .pc-quote{background:rgba(255,255,255,.06);border-color:var(--pc-accent)}
.pc-prose figure,.pc-figure,.wp-block-image,.wp-caption{margin:1.5em 0;max-width:100%}
.pc-prose figcaption,.pc-figure figcaption,.wp-caption-text,.wp-element-caption{margin-top:var(--pc-s2);font-size:var(--pc-fs-meta);line-height:1.45;color:var(--pc-muted)}
.pc-prose table,.wp-block-table table,.pc-table{width:100%;border-collapse:collapse;font-size:var(--pc-fs-small);line-height:1.45}
.pc-prose th,.pc-prose td,.pc-table th,.pc-table td{padding:var(--pc-s3) var(--pc-s4);border-bottom:1px solid var(--pc-line);text-align:left;vertical-align:top}
.pc-prose th,.pc-table th{font-weight:700;color:var(--pc-ink);background:var(--pc-surface);border-bottom:2px solid var(--pc-line-strong)}
.pc-prose td.pc-num,.pc-table td.pc-num,.pc-table th.pc-num{text-align:right}
.pc-prose tbody tr:hover,.pc-table tbody tr:hover{background:var(--pc-surface)}
.pc-table-wrap,.wp-block-table{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:1.5em 0}
.pc-prose hr{margin:2em 0}
.pc-prose iframe,.pc-video iframe,.pc-video video,.pc-map iframe{width:100%;aspect-ratio:16/9;height:auto;border:0;border-radius:var(--pc-r)}
.pc-map iframe{aspect-ratio:4/3}
.pc-pdf iframe{width:100%;height:min(80vh,900px);border:1px solid var(--pc-line);border-radius:var(--pc-r)}
.pc-prose code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em;background:var(--pc-surface);padding:.1em .35em;border-radius:var(--pc-r-sm)}
.pc-prose .pc-eyebrow + h2{margin-top:0}
/* WordPress block essentials */
.alignleft{float:left;margin:.4em 1.5em 1em 0;max-width:50%}
.alignright{float:right;margin:.4em 0 1em 1.5em;max-width:50%}
.aligncenter{margin-inline:auto;text-align:center}
.alignwide,.alignfull,.pc-prose .alignwide,.pc-prose .alignfull{max-width:none}
.pc-prose .alignwide{width:min(var(--pc-container),calc(100vw - 2*var(--pc-gutter)));margin-left:50%;transform:translateX(-50%)}
.pc-prose .alignfull{width:100vw;margin-left:50%;transform:translateX(-50%)}
.pc-prose .alignfull img{border-radius:0}
@media (max-width:719px){.alignleft,.alignright{float:none;margin:1.5em 0;max-width:100%}}
.has-text-align-center{text-align:center}.has-text-align-right{text-align:right}
.wp-block-buttons{display:flex;flex-wrap:wrap;gap:var(--pc-s3) var(--pc-s4)}
.wp-block-columns{display:grid;gap:var(--pc-gap)}
@media (min-width:720px){.wp-block-columns{grid-template-columns:repeat(var(--pc-cols,2),1fr)}}
.wp-block-gallery,.pc-gallery{display:grid;gap:var(--pc-s3);grid-template-columns:repeat(auto-fill,minmax(min(100%,180px),1fr));list-style:none;padding:0;margin:1.5em 0}
.wp-block-gallery figure,.pc-gallery figure{margin:0}
.wp-block-gallery img,.pc-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--pc-r)}
.wp-block-embed__wrapper{position:relative}
.wp-block-separator{border:0;border-top:1px solid var(--pc-line);max-width:120px;margin:2em auto}
.wp-block-separator.is-style-wide{max-width:none}
.wp-block-group.has-background{padding:var(--pc-s5);border-radius:var(--pc-r)}
.wp-block-pullquote{border-top:4px solid var(--pc-brand);border-bottom:1px solid var(--pc-line);padding:var(--pc-s5) 0;text-align:center;font-size:var(--pc-fs-h4)}
.wp-block-file{display:flex;align-items:center;gap:var(--pc-s3);flex-wrap:wrap}
.wp-block-details,.pc-details{border-top:1px solid var(--pc-line);border-bottom:1px solid var(--pc-line);margin:1.5em 0;padding:0}
.wp-block-details + .wp-block-details,.pc-details + .pc-details{border-top:0;margin-top:-1.5em}
.wp-block-details summary,.pc-details summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:var(--pc-s4);align-items:center;padding:var(--pc-s4) 0;font-weight:700;color:var(--pc-ink);font-size:var(--pc-fs-h5)}
.wp-block-details summary::-webkit-details-marker,.pc-details summary::-webkit-details-marker{display:none}
.wp-block-details summary::after,.pc-details summary::after{content:"";flex:none;width:22px;height:22px;border-radius:50%;border:1.5px solid var(--pc-line-strong);background:linear-gradient(var(--pc-ink),var(--pc-ink)) center/10px 1.5px no-repeat,linear-gradient(var(--pc-ink),var(--pc-ink)) center/1.5px 10px no-repeat;transition:transform var(--pc-dur-2) var(--pc-ease)}
.wp-block-details[open] summary::after,.pc-details[open] summary::after{background:linear-gradient(var(--pc-ink),var(--pc-ink)) center/10px 1.5px no-repeat;transform:rotate(180deg)}
.pc-details-body,.wp-block-details > :not(summary){padding:0 0 var(--pc-s5);color:var(--pc-text)}
/* legacy renderer (inc/elementor-render.php) classes not covered above */
.pc-h{text-wrap:balance}
.pc-videos{display:grid;gap:var(--pc-gap);grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr))}
.pc-video-item h3{font-size:var(--pc-fs-h5);margin:var(--pc-s3) 0 var(--pc-s2)}
.pc-video{margin:1.5em 0}
.pc-iconlink{display:inline-flex;align-items:center;gap:.4em;font-weight:600}
.pc-iconlink::after{content:"↗";font-weight:400}
.pc-posts{display:grid;gap:var(--pc-gap);grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}
.pc-people{display:grid;gap:var(--pc-gap);grid-template-columns:repeat(auto-fill,minmax(min(100%,210px),1fr))}
.pc-people--4{grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr))}
@media (max-width:719px){.pc-people,.pc-people--4{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--pc-s5) var(--pc-s4)}}
.pc-form-fallback{padding:var(--pc-s5);background:var(--pc-surface);border-radius:var(--pc-r)}
.pc-form-fallback p{margin:0}
