/* Compact editorial, shared by every WordPress page and post. No content rewrites. */
body.pssite-compact {
 --ps-color-ink:#0f3a4a;
 --ps-color-text:#26343b;
 --ps-color-muted:#516873;
 --ps-color-accent:#f18f01;
 --ps-color-accent-hover:#f5a623;
 --ps-color-surface:#fff;
 --ps-color-background:#f5f7f7;
 --ps-color-border:#d5dfe3;
 --ps-color-control-border:#71858d;
 --ps-text-body:1rem;
 --ps-text-lead:1rem;
 --ps-text-card:1.125rem;
 --ps-text-h3:1.25rem;
 --ps-text-h2:1.5rem;
 --ps-text-h1:clamp(1.75rem,1.4rem + 1vw,2.25rem);
 --ps-section-space:1.5rem;
 --ps-radius-card:.375rem;
 --ps-radius-control:.375rem;
 --ps-shadow-card:none;
 --ps-shadow-hover:none;
 background:var(--ps-color-surface);
 color:var(--ps-color-text);
 font-family:var(--ps-font-body,Inter,system-ui,sans-serif);
 font-size:1rem;
 line-height:1.6;
}
body.pssite-compact .site-header,
body.pssite-compact #page .site-main>.page>.inside-article,
body.pssite-compact #page .site-main>.post>.inside-article {background:var(--ps-color-surface)}
body.pssite-compact #page .site-main {margin-block:0}
body.pssite-compact #page .site-main>:is(.page,.post)>.inside-article {
 padding:1.25rem clamp(1rem,3vw,2rem) 1.5rem;
 box-shadow:none;
}
body.pssite-compact #page .entry-content {margin-top:1rem;overflow-wrap:break-word}
body.pssite-compact #page :is(h1,h2,h3,h4,h5,h6) {
 color:var(--ps-color-ink);
 font-family:var(--ps-font-heading,Montserrat,system-ui,sans-serif);
 font-weight:700;
 line-height:1.3;
 overflow-wrap:break-word;
}
body.pssite-compact #page .entry-content h1 {font-size:var(--ps-text-h1);margin:0 0 .75rem}
body.pssite-compact #page .entry-content h2 {font-size:1.5rem;margin:1.5rem 0 .625rem}
body.pssite-compact #page .entry-content h3 {font-size:1.25rem;margin:1.25rem 0 .5rem}
body.pssite-compact #page .entry-content :is(h4,h5,h6) {font-size:1.125rem;margin:1rem 0 .5rem}
body.pssite-compact #page .entry-header {margin-bottom:.75rem}
body.pssite-compact #page .entry-header .entry-title {margin:0 0 .5rem}
body.pssite-compact #page .entry-content :is(p,ul,ol) {margin-bottom:.875rem}
body.pssite-compact #page .entry-content :is(ul,ol) {margin-top:.5rem;padding-inline-start:1.5rem}
body.pssite-compact #page .entry-content li+li {margin-top:.25rem}
body.pssite-compact #page .entry-content>p,
body.pssite-compact #page .entry-content>:is(ul,ol),
body.pssite-compact #page .entry-content>.wp-block-group,
body.pssite-compact #page .elementor-widget-text-editor {color:var(--ps-color-text)}
body.pssite-compact #page .entry-content .wp-block-post-template {list-style:none;padding-inline-start:0}
/* Links in prose keep a persistent affordance, independent of colour. */
body.pssite-compact #page .entry-content a:not([class]),
body.pssite-compact #page .entry-content :is(p,li,td,figcaption) a:not(.ps-btn):not(.wp-block-button__link):not(.ps-card):not(.ps-card__link):not(.psc-directory__card),
body.pssite-compact #page .entry-meta a {color:var(--ps-color-ink);text-decoration:underline;text-underline-offset:.2em}
body.pssite-compact #page .entry-content a:focus-visible,
body.pssite-compact #page :is(input,select,textarea,button):focus-visible {
 outline:3px solid var(--ps-color-ink);outline-offset:3px;
}
body.pssite-compact #page :is(.entry-meta,.entry-meta a,.cat-links,.tags-links,.posted-on,.byline) {color:var(--ps-color-muted);font-size:.875rem}
body.pssite-compact #page .entry-content blockquote {
 border-inline-start:3px solid var(--ps-color-ink);
 background:var(--ps-color-background);
 color:var(--ps-color-text);
 margin:1rem 0;padding:.75rem 1rem;font-size:1rem;
}
body.pssite-compact #page .entry-content :is(img,video,iframe) {max-width:100%}
body.pssite-compact #page .entry-content :is(img,video) {height:auto}
body.pssite-compact #page .entry-content figure {max-width:100%}
body.pssite-compact #page .entry-content pre {overflow-x:auto;max-width:100%;padding:1rem;font-size:.875rem}
body.pssite-compact #page .entry-content .wp-block-table {overflow-x:auto}
body.pssite-compact #page .entry-content :is(th,td) {padding:.625rem;border-color:var(--ps-color-border)}
body.pssite-compact.single-post #page .site-main>.post>.inside-article {
 max-width:calc(48rem + 4rem);margin-inline:auto;
}
body.pssite-compact.single-post #page .entry-content {line-height:1.65}
/* The GP content ID gives these shared rules precedence over historical
   page-ID-scoped inline styles; no page IDs or content are rewritten. */
/* Existing custom HTML pages share the compact treatment without changing copy. */
body.pssite-compact #page :is(.ps-hero,.ps-about-hero,.ps-hub,.ps-resources,.ps-articles,.ps-section,.ps-lh) {
 padding-block:1.25rem;background:var(--ps-color-surface);text-align:left;
}
body.pssite-compact #page :is(.ps-hero,.ps-about-hero,.ps-lh) h1 {max-width:none;margin:0 0 .625rem}
body.pssite-compact #page .ps-wrap {padding-inline:0}
body.pssite-compact #page .ps-about-hero .ps-wrap {max-width:48rem;margin-inline:auto}
body.pssite-compact #page .ps-section {max-width:48rem;margin-inline:auto;border-top:1px solid var(--ps-color-border)}
body.pssite-compact #page :is(.ps-sub,.ps-lead) {font-size:1rem;line-height:1.6;color:var(--ps-color-muted)}
body.pssite-compact #page :is(.ps-hero,.ps-about-hero) .ps-sub {max-width:70ch;margin:0 0 .75rem}
body.pssite-compact #page .ps-section :is(p,.ps-list) {margin-inline:0;color:var(--ps-color-text)}
body.pssite-compact #page .ps-cta {justify-content:flex-start;margin-top:.75rem}
body.pssite-compact #page :is(.ps-card,.ps-item) {padding:1rem;border-radius:.375rem;box-shadow:none}
body.pssite-compact #page :is(.ps-card,.ps-item):hover {box-shadow:none;transform:none}
body.pssite-compact #page :is(.ps-grid,.ps-lh .ps-list,.ps-articles .wp-block-post-template) {gap:1rem;margin-top:1rem}
/* The calculator owns its calculations, validation and results. Change only its presentation. */
body.pssite-compact #page :is(.psc-directory,.psc-calculator) {
 --psc-accent:var(--ps-color-ink);
 --psc-accent-dark:var(--ps-color-ink);
 --psc-border:var(--ps-color-border);
 --psc-error:#b42318;
 --psc-muted:var(--ps-color-muted);
 --psc-directory-accent:var(--ps-color-ink);
 --psc-directory-border:var(--ps-color-border);
 --psc-directory-muted:var(--ps-color-muted);
 color:var(--ps-color-text);font-family:var(--ps-font-body,Inter,system-ui,sans-serif);
}
body.pssite-compact #page .psc-directory {margin-block:1rem}
/* The installed calculator directory marks its card text !important; retain a
   single scoped override for that declaration, not a blanket colour reset. */
body.pssite-compact #page .psc-directory__card {color:var(--ps-color-ink)!important}
body.pssite-compact #page .psc-directory__card-title {font-family:var(--ps-font-heading,Montserrat,system-ui,sans-serif)}
body.pssite-compact #page .psc-directory__card-description {color:var(--ps-color-muted)}
body.pssite-compact #page .psc-directory__formula {background:var(--ps-color-background);color:var(--ps-color-ink)}
body.pssite-compact #page .psc-directory__link-label {color:var(--ps-color-ink)}
body.pssite-compact #page .psc-calculator :is(input,select,button) {font:inherit;min-height:44px;border-radius:.375rem;text-transform:none;letter-spacing:normal}
body.pssite-compact #page .psc-calculator :is(input,select) {background:var(--ps-color-surface);color:var(--ps-color-ink);border-color:var(--ps-color-control-border)}
body.pssite-compact #page .psc-calculator__calculate {background:var(--ps-color-accent);color:var(--ps-color-ink)}
body.pssite-compact #page .psc-calculator__calculate:hover {background:var(--ps-color-accent-hover)}
body.pssite-compact #page .psc-calculator__reset {background:var(--ps-color-surface);color:var(--ps-color-ink);border:1px solid var(--ps-color-control-border)}
body.pssite-compact #page .psc-directory__group+.psc-directory__group {margin-top:1.5rem;padding-top:1.5rem}
body.pssite-compact #page .psc-directory__card {min-height:0;padding:1rem;border-radius:.375rem;box-shadow:none}
body.pssite-compact #page .psc-directory__card:hover {transform:none;box-shadow:none}
body.pssite-compact #page .psc-directory__card-title {font-size:1.125rem}
body.pssite-compact #page .psc-calculator {box-shadow:none;border-radius:.375rem}
/* Body copy differs from headings; metadata stays clear at small sizes. */
body.pssite-compact #page .pssite-card p:not(.pssite-meta),
body.pssite-compact #page .pssite-feature .pssite-card p:not(.pssite-meta),
body.pssite-compact #page .psfeeds-card p:not(.psfeeds-meta) {color:var(--ps-color-text)}
body.pssite-compact #page :is(.pssite-meta,.psfeeds-meta,.psfeeds-link-note) {color:var(--ps-color-muted)}
/* Restore intentional component spacing after the shared article rules. */
body.pssite-compact #page .pssite :is(h1,h2,h3) {margin:0 0 .5rem}
body.pssite-compact #page .pssite h2 {font-size:1.375rem;margin:0}
body.pssite-compact #page .pssite :is(h3,.pssite-card h2) {font-size:1.125rem}
body.pssite-compact #page .pssite-feature .pssite-card h3 {font-size:1.375rem}
body.pssite-compact #page .pssite :is(p,ul,ol) {margin:0 0 .75rem}
body.pssite-compact #page .pssite .pssite-preview-row p {margin:0}
body.pssite-compact #page .pssite .pssite-preview-row h3 {margin-bottom:.375rem}
body.pssite-compact #page .pssite-shortcuts {margin:0}
body.pssite-compact #page .pssite .pssite-topics {margin:0 0 1rem}
body.pssite-compact #page .pssite .pssite-pagination {margin-top:1rem}
body.pssite-compact #page .psfeeds .psfeeds-card :is(h2,h3) {font-size:1.125rem;margin:.25rem 0 .5rem}
body.pssite-compact #page .psfeeds .psfeeds-card p {margin:0 0 .5rem}
body.pssite-compact #page .psfeeds .psfeeds-results-meta p {margin:0}
body.pssite-compact #page .psfeeds .psfeeds-role-details>summary {color:var(--ps-color-ink)}
/* Existing Elementor text widgets inherit this system; embedded products keep their own UI. */
body.pssite-compact #page .elementor-widget-heading .elementor-heading-title {
 font-family:var(--ps-font-heading,Montserrat,system-ui,sans-serif);color:var(--ps-color-ink);
}
body.pssite-compact #page .elementor-widget-text-editor {font-family:var(--ps-font-body,Inter,system-ui,sans-serif);line-height:1.6}
/* Navigation retains GeneratePress keyboard, dropdown and off-canvas behaviour. */
body.pssite-compact .slideout-navigation {background:var(--ps-color-surface)}
body.pssite-compact .slideout-navigation :is(a,.slideout-exit) {color:var(--ps-color-ink)}
body.pssite-compact .main-navigation .main-nav ul li>a {min-height:44px}
body.pssite-compact .pssite-footer {background:var(--ps-color-background)}
@media(max-width:640px){
 body.pssite-compact #page .site-main>:is(.page,.post)>.inside-article {padding:1rem 1rem 1.25rem}
 body.pssite-compact.single-post #page .site-main>.post>.inside-article {max-width:100%}
 body.pssite-compact #page .entry-content h2 {font-size:1.375rem}
 body.pssite-compact #page .pssite .pssite-feature .pssite-card h3 {font-size:1.125rem}
 body.pssite-compact #page .pssite h2 {font-size:1.25rem}
 body.pssite-compact #page .pssite .pssite-hero h1 {font-size:1.75rem}
 body.pssite-compact .pssite-brand {font-size:1rem}
 body.pssite-compact #page :is(.ps-hero,.ps-about-hero,.ps-section) {padding-block:1rem}
}

/* Legacy builder layout surfaces adopt the publication palette. Content images
   and embedded product interfaces are preserved; only layout decoration resets. */
body.pssite-compact #page .elementor :is(.elementor-section,.elementor-column-wrap,.elementor-widget-wrap,.e-con) {
 background-color:var(--ps-color-surface)!important;
 background-image:none!important;
 color:var(--ps-color-text);
}
body.pssite-compact #page .elementor-background-overlay {display:none}
body.pssite-compact #page .elementor-widget-heading .elementor-heading-title {background:transparent}
body.pssite-compact #page .elementor-section>.elementor-container {max-width:75rem}
body.pssite-compact #page .elementor :is(input[type=email],input[type=text],select,textarea) {
 min-height:44px;max-width:100%;font-size:1rem;background:var(--ps-color-surface);color:var(--ps-color-ink);border:1px solid var(--ps-color-control-border);border-radius:.375rem;
}
body.pssite-compact #page .elementor :is(input[type=submit],button[type=submit]) {
 min-height:44px;font-size:1rem;background:var(--ps-color-accent);color:var(--ps-color-ink);border:1px solid transparent;border-radius:.375rem;text-transform:none;
}
/* Filled selections and editorial headlines override the generic prose-link rule. */
body.pssite-compact #page .psfeeds .psfeeds-views a[aria-current=page],
body.pssite-compact #page .pssite .pssite-topics a[aria-current=page] {
 background:var(--ps-color-ink);color:var(--ps-color-surface);text-decoration:none;
}
body.pssite-compact #page .psfeeds .psfeeds-card :is(h2,h3) a,
body.pssite-compact #page .pssite :is(.pssite-card,.pssite-preview-row) :is(h2,h3) a {
 color:var(--ps-color-ink);text-decoration:none;
}
body.pssite-compact #page .psfeeds .psfeeds-card :is(h2,h3) a:hover,
body.pssite-compact #page .pssite :is(.pssite-card,.pssite-preview-row) :is(h2,h3) a:hover {text-decoration:underline}
@media(max-width:640px){
 /* GP's legacy wide blocks use desktop negative margins. Keep separators and
    button rows inside the phone column without clipping or hiding content. */
 body.pssite-compact #page .entry-content .alignwide {width:100%;max-width:100%;margin-inline:0}
}

body.pssite-compact #page .elementor-widget-heading>.elementor-widget-container {background:transparent!important}
body.pssite-compact #page .elementor .elementor-widget-spacer {display:none}
body.pssite-compact #page .elementor .elementor-section {margin-block:0;padding-block:1rem}

/* Selective visuals: one editorial illustration, compact labelled icon links. */
body.pssite-compact #page .pssite-home .pssite-feature-visual {margin:0 0 .625rem;background:var(--ps-color-background);border-radius:.375rem;overflow:hidden}
body.pssite-compact #page .pssite-home .pssite-feature-visual img {display:block;width:100%;height:116px;object-fit:contain;background:var(--ps-color-background)}
body.pssite-compact #page .pssite .pssite-card-meta {display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin:0 0 .5rem}
body.pssite-compact #page .pssite .pssite-content-label {display:inline-block;padding:.125rem .375rem;border-radius:.2rem;background:var(--ps-color-background);color:var(--ps-color-ink);font-size:.75rem;font-weight:600;line-height:1.5}
body.pssite-compact #page .pssite-home .pssite-excerpt {font-size:1rem;line-height:1.5;margin:0}
body.pssite-compact #page .pssite-home .pssite-shortcuts {display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.5rem}
body.pssite-compact #page .pssite-home [aria-label="Practical tools"] {grid-template-columns:repeat(4,minmax(0,1fr))}
body.pssite-compact #page .pssite .pssite-icon-link {display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:.375rem;min-height:64px;padding:.25rem;border-radius:.25rem;font-size:.875rem;line-height:1.4;text-decoration:none}
body.pssite-compact #page .pssite .pssite-icon-link:hover {background:var(--ps-color-background)}
body.pssite-compact #page .pssite .pssite-icon-link:hover span {text-decoration:underline;text-underline-offset:.2em}
.pssite-icon {display:block;width:24px;height:24px;flex:0 0 auto;color:var(--ps-color-ink,#0f3a4a)}
body.pssite-compact #page .pssite-home .pssite-home-jobs {background:var(--ps-color-background);padding:.875rem 1rem;border:0;border-radius:.375rem;margin-top:.25rem}
body.pssite-compact #page .pssite-home .pssite-home-jobs h2 {font-size:1.125rem}
body.pssite-compact #page .pssite-home .pssite-home-jobs .pssite-sectionhead {margin-bottom:.5rem}
body.pssite-compact #page .pssite-home .pssite-home-jobs h3 {font-family:var(--ps-font-body,Inter,system-ui,sans-serif);font-size:1rem;font-weight:600}
body.pssite-compact #page .pssite-home .pssite-home-jobs .pssite-meta {font-size:.8125rem}
/* Editor-insertable pattern only; no existing article bodies are changed. */
body.pssite-compact #page .entry-content .pssite-worked-example {margin-block:1.25rem;padding:.875rem 1rem;background:var(--ps-color-background);border-inline-start:3px solid var(--ps-color-accent)}
body.pssite-compact #page .entry-content .pssite-worked-example>:is(h2,h3) {margin-top:0;font-size:1.125rem}
body.pssite-compact #page .entry-content .pssite-worked-example>:last-child {margin-bottom:0}
@media(max-width:980px) and (min-width:641px){
 body.pssite-compact #page .pssite-home .pssite-shortcuts {grid-template-columns:repeat(3,minmax(0,1fr))}
 body.pssite-compact #page .pssite-home [aria-label="Practical tools"] {grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
 body.pssite-compact #page .pssite-home .pssite-feature-visual img {height:88px}
 body.pssite-compact #page .pssite-home .pssite-shortcuts,
 body.pssite-compact #page .pssite-home [aria-label="Practical tools"] {grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}
 body.pssite-compact #page .pssite .pssite-icon-link {min-height:68px}
 body.pssite-compact #page .pssite-home .pssite-home-jobs {padding:.75rem}
}
@media(min-width:1000px) and (max-height:800px){
 body.pssite-compact #page .pssite-home .pssite-feature-visual img {height:104px}
 body.pssite-compact #page .pssite-home .pssite-home-jobs {padding:.625rem .875rem}
 body.pssite-compact #page .pssite-home .pssite-home-jobs .pssite-sectionhead {margin-bottom:.25rem}
}
