/* Compact editorial presentation. Preserve readable text and usable controls. */
.pssite,.pssite-breadcrumbs,.pssite-footer{color:var(--ps-color-ink,#0f3a4a);font-family:var(--ps-font-body,Inter,system-ui,sans-serif);overflow-wrap:anywhere}
.pssite *{box-sizing:border-box}.pssite{max-width:75rem;margin-inline:auto}
.pssite h1,.pssite h2,.pssite h3{font-family:var(--ps-font-heading,Montserrat,system-ui,sans-serif);font-weight:700;line-height:1.3;color:var(--ps-color-ink,#0f3a4a)}
.pssite h1{font-size:clamp(1.75rem,1.4rem + 1vw,2.25rem);margin:0 0 .5rem;max-width:none}
.pssite h2{font-size:1.375rem;margin:0}.pssite h3{font-size:1.125rem;margin:0 0 .5rem}
.pssite p{line-height:1.5;margin:0 0 .75rem}.pssite-hero{padding-block:.5rem 1.25rem}
.pssite-lead{font-size:1rem;color:var(--ps-color-muted,#516873);max-width:70ch}
.pssite-section{padding-block:1.25rem;border-top:1px solid var(--ps-color-border,#d5dfe3)}
.pssite-sectionhead{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-bottom:.75rem}
.pssite-sectionhead>a{font-size:.875rem;display:inline-flex;align-items:center;min-height:44px}
.pssite-opening,.pssite-utilities{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem}
.pssite-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.pssite-card{min-width:0;padding:1rem;border:1px solid var(--ps-color-border,#d5dfe3);border-radius:.375rem;background:var(--ps-color-surface,#fff);box-shadow:none}
body .pssite .pssite-card h2,body .pssite .pssite-card h3{font-size:1.125rem;line-height:1.35;margin:0 0 .5rem}
.pssite-card p{color:var(--ps-color-muted,#516873)}.pssite-card p:last-child{margin-bottom:0}
.pssite-feature .pssite-grid{grid-template-columns:minmax(0,1fr)}.pssite-feature .pssite-card{padding:0;border:0;background:transparent}
body .pssite .pssite-feature .pssite-card h3{font-size:1.375rem;line-height:1.35}
.pssite-meta{font-size:.875rem;color:var(--ps-color-muted,#516873)}
.pssite-preview-row{padding-block:.75rem;border-bottom:1px solid var(--ps-color-border,#d5dfe3);min-width:0}
.pssite-preview-row:first-child{padding-top:0}.pssite-preview-row:last-child{border-bottom:0;padding-bottom:0}
.pssite-preview-row h3{margin-bottom:.375rem}.pssite-preview-row p{margin:0}
.pssite-preview-jobs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}
.pssite-preview-jobs .pssite-preview-row{padding:0;border:0}
body .pssite a,body .pssite-breadcrumbs a{color:var(--ps-color-ink,#0f3a4a);text-underline-offset:.2em}
body .pssite .pssite-card h2 a,body .pssite .pssite-card h3 a,body .pssite .pssite-preview-row h3 a{text-decoration:none}
body .pssite .pssite-card h2 a:hover,body .pssite .pssite-card h3 a:hover,body .pssite .pssite-preview-row h3 a:hover{text-decoration:underline}
.pssite-shortcuts,.pssite-topics,.pssite-pagination{display:flex;gap:.5rem 1rem;flex-wrap:wrap;align-items:center;margin:0}
.pssite-shortcuts a{display:inline-flex;align-items:center;min-height:44px;font-size:1rem}
.pssite-topics{margin-block:0 1rem;gap:.5rem}
.pssite-topics a,.pssite-pagination a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.375rem .75rem;border:1px solid var(--ps-color-control-border,#71858d);border-radius:.375rem;text-decoration:none;font-weight:600;font-size:.875rem}
body .pssite .pssite-topics a[aria-current=page]{background:var(--ps-color-ink,#0f3a4a);color:#fff}
.pssite-pagination{margin-top:1rem}.pssite a:focus-visible,.pssite-breadcrumbs a:focus-visible{outline:3px solid var(--ps-color-ink,#0f3a4a);outline-offset:3px}
.pssite-breadcrumbs{font-size:.875rem;line-height:1.5;margin:0 auto .75rem;max-width:75rem}
.pssite-breadcrumbs>a{display:inline-block;padding-block:.25rem}
body.pssite-landing .site-main{margin-block:0}
body.pssite-landing .site-main>.page>.inside-article{background:transparent;padding:1rem clamp(1rem,3vw,2rem) 1.5rem}
/* Branding and navigation stay owned by GeneratePress. */
body.pssite-compact .inside-header{padding-block:8px}
body.pssite-compact .site-header .header-image{height:56px;width:auto}
body.pssite-compact .main-navigation:not(.slideout-navigation) .main-nav>ul>li>a{line-height:44px;padding-inline:12px}
body.pssite-compact .navigation-branding img{height:48px;width:auto;padding-block:0}
body.pssite-compact .main-navigation .menu-toggle{min-height:56px}
body.pssite-compact .main-navigation .main-nav ul li.current-menu-item>a,body.pssite-compact .main-navigation .main-nav ul li.current-menu-ancestor>a{color:var(--ps-color-ink,#0f3a4a);text-decoration:underline;text-underline-offset:.3em}
body.pssite-compact .site-main .entry-header .entry-title{font-size:clamp(1.75rem,1.4rem + 1vw,2.25rem);line-height:1.25}
.pssite-footer{background:var(--ps-color-surface,#fff);border-top:1px solid var(--ps-color-border,#d5dfe3);padding:1.25rem clamp(1rem,3vw,2rem)}
.pssite-footer-inner{max-width:75rem;margin-inline:auto}.pssite-footer p{margin:0 0 .5rem;line-height:1.5}
.pssite-footer a{color:var(--ps-color-ink,#0f3a4a);text-underline-offset:.2em;display:inline-flex;align-items:center;min-height:44px}
.pssite-footer-menu,.pssite-footer-utility{display:flex;flex-wrap:wrap;gap:0 1.25rem;list-style:none;margin:0;padding:0}
.pssite-footer a:focus-visible{outline:3px solid var(--ps-color-ink,#0f3a4a);outline-offset:3px}
/* Empty by default. A future adapter must reserve sizes only for enabled ads. */
.pssite-ad{max-width:100%;margin-block:1.5rem;min-height:var(--ps-ad-height,0);text-align:center}
.pssite-ad-label{display:block;font-size:.75rem;color:var(--ps-color-muted,#516873)}
@media(min-width:981px){.pssite-ad{--ps-ad-height:var(--ps-ad-desktop-height,0)}}
@media(max-width:980px){.pssite-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pssite-opening,.pssite-utilities{gap:1.25rem}}
@media(max-width:640px){
 .pssite-opening,.pssite-utilities,.pssite-grid,.pssite-preview-jobs{grid-template-columns:minmax(0,1fr);gap:0}
 .pssite-hero{padding-top:.25rem;padding-bottom:1rem}.pssite h1{font-size:1.75rem}.pssite h2{font-size:1.25rem}
 .pssite-section{padding-block:1rem}.pssite-grid{gap:.75rem}.pssite-card{padding:.875rem}
 body .pssite .pssite-feature .pssite-card h3{font-size:1.125rem}
 .pssite-preview-jobs .pssite-preview-row{padding-block:.75rem;border-bottom:1px solid var(--ps-color-border,#d5dfe3)}
 .pssite-preview-jobs .pssite-preview-row:last-child{border-bottom:0}
 .pssite-sectionhead{margin-bottom:.5rem}.pssite-ad{--ps-ad-height:var(--ps-ad-mobile-height,0)}
}

.pssite-brand{display:inline-flex;gap:.5rem;align-items:center;color:var(--ps-color-ink,#0f3a4a);font:700 1rem/1.2 var(--ps-font-body,Inter,system-ui,sans-serif);text-decoration:none}
body.pssite-compact .site-logo .pssite-brand img{height:48px;width:48px;object-fit:contain}
.pssite-brand:focus-visible{outline:3px solid var(--ps-color-ink,#0f3a4a);outline-offset:3px}

/* Align native page titles with the publication content shell. */
body.pssite-compact .site.grid-container{max-width:calc(75rem + 4rem)}
body.pssite-compact .site-main>.page>.inside-article{max-width:calc(75rem + 4rem);margin-inline:auto;box-sizing:border-box}
body.pssite-compact .site-main .entry-header .entry-title{font-family:var(--ps-font-heading,Montserrat,system-ui,sans-serif);font-weight:700}
body.pssite-compact .main-navigation:not(.slideout-navigation){background:transparent}
body.pssite-compact .main-navigation:not(.slideout-navigation) .main-nav ul li>a{color:var(--ps-color-ink,#0f3a4a);background:transparent;font-family:var(--ps-font-body,Inter,system-ui,sans-serif);font-weight:400}
body.pssite-compact .main-navigation:not(.slideout-navigation) .main-nav ul li>a:hover{background:transparent;text-decoration:underline}
@media(max-width:640px){body.pssite-compact .site.grid-container,body.pssite-compact .site-main>.page>.inside-article{max-width:100%}}

body.pssite-compact .site-logo{line-height:0}

body.pssite-compact{background:var(--ps-color-background,#fafafa)}
body.pssite-compact .site{background:transparent}
body.pssite-compact .main-navigation .menu-toggle{color:var(--ps-color-ink,#0f3a4a);background:transparent}
/* Free GP fallback: keep the logo and menu on one mobile row. GP Premium's
   separate mobile/off-canvas navigation continues to own its own behaviour. */
@media(max-width:768px){
 body.pssite-compact .inside-header{display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:.5rem;padding:8px 16px;position:relative}
 body.pssite-compact .pssite-brand span{max-width:8rem}
 body.pssite-compact .inside-header>.main-navigation{margin:0;width:auto;float:none;flex:0 0 auto}
 body.pssite-compact .inside-header>.main-navigation.toggled .main-nav{position:absolute;inset-inline:0;top:100%;background:#fff;padding:.5rem 1rem;border-bottom:1px solid var(--ps-color-border,#d5dfe3);z-index:1000}
}
@media(max-width:768px){
 body.pssite-compact .inside-header>.main-navigation>.inside-navigation{position:static}
 body.pssite-compact .inside-header .menu-toggle{min-height:44px;line-height:28px;padding:8px;font-size:16px}
}
/* Short laptop screens get tighter spacing, never smaller reading text. */
@media(min-width:1000px) and (max-height:800px){
 .pssite-home .pssite-section{padding-block:.75rem}
 .pssite-home .pssite-hero{padding-bottom:.75rem}
 .pssite-home .pssite-sectionhead{margin-bottom:.25rem}
 body.pssite-compact .site-logo .pssite-brand img{width:40px;height:40px}
}
