/*
Theme Name: AdSafe Publisher
Author: AdSafe Publisher
Description: A clean, customizable lightweight publisher theme with conservative AdSense placement, editorial layouts, article tools, thin-content protection, and Core Web Vitals-minded performance.
Version: 3.6.0
Requires at least: 6.5
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: adsafe-publisher
Tags: blog, news, two-columns, right-sidebar, custom-logo, custom-menu, featured-images, block-styles, wide-blocks
*/

:root {
  --asp-bg: #f5f7fb;
  --asp-surface: #fff;
  --asp-surface-soft: #f9fbff;
  --asp-text: #152033;
  --asp-heading: #0e1729;
  --asp-muted: #667085;
  --asp-border: #e4e9f1;
  --asp-brand: #2563eb;
  --asp-brand-dark: #1d4ed8;
  --asp-accent: #f97316;
  --asp-radius: 18px;
  --asp-radius-sm: 12px;
  --asp-shadow: 0 12px 34px rgba(15, 23, 42, .055);
  --asp-shadow-hover: 0 18px 46px rgba(15, 23, 42, .09);
  --asp-content: 760px;
  --asp-wide: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background:
    radial-gradient(circle at top left, rgba(37,99,235,.045), transparent 28rem),
    var(--asp-bg);
  color: var(--asp-text);
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
}
a { color: var(--asp-brand); text-decoration-thickness: 1px; text-underline-offset: .16em; }
a:hover { color: var(--asp-brand-dark); }
img { max-width: 100%; height: auto; }
button, input, select, textarea { font: inherit; }
button, input, select, textarea { color: inherit; }
::selection { background: rgba(37,99,235,.16); }

.screen-reader-text { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.skip-link:focus { position:fixed; z-index:99999; top:12px; left:12px; width:auto; height:auto; margin:0; padding:10px 14px; clip:auto; background:#fff; color:#111; border-radius:9px; box-shadow:var(--asp-shadow); }

/* Header */
.site-header { background: rgba(255,255,255,.94); border-bottom: 1px solid var(--asp-border); }
.site-header::after { content:""; display:block; height:2px; background:linear-gradient(90deg,var(--asp-brand),var(--asp-accent)); opacity:.85; }
.header-inner { max-width:var(--asp-wide); margin:0 auto; min-height:74px; padding:13px 22px; display:flex; align-items:center; gap:28px; }
.site-branding { display:flex; align-items:center; gap:12px; min-width:0; }
.custom-logo { max-height:46px; width:auto; display:block; }
.site-title { margin:0; font-size:1.24rem; line-height:1.15; font-weight:800; letter-spacing:-.02em; }
.site-title a { color:var(--asp-heading); text-decoration:none; }
.site-description { margin:4px 0 0; color:var(--asp-muted); font-size:.82rem; line-height:1.35; }
.primary-nav { margin-left:auto; }
.primary-nav ul { list-style:none; display:flex; gap:6px; padding:0; margin:0; align-items:center; }
.primary-nav a { display:block; color:#334155; text-decoration:none; font-size:.94rem; font-weight:700; padding:9px 11px; border-radius:9px; transition:background-color .15s ease,color .15s ease; }
.primary-nav a:hover, .primary-nav .current-menu-item > a { color:var(--asp-brand); background:#eff6ff; }
.menu-toggle { display:none; margin-left:auto; border:1px solid var(--asp-border); background:#fff; border-radius:10px; padding:8px 11px; cursor:pointer; font-weight:700; }

/* Global layout */
.site-main-wrap { max-width:var(--asp-wide); margin:0 auto; padding:38px 22px 64px; }
.layout-grid { display:grid; grid-template-columns:minmax(0,1fr) 310px; gap:34px; align-items:start; }
.content-column { min-width:0; }
.archive-head { margin:0 0 24px; padding:0 2px; }
.archive-kicker { display:inline-flex; align-items:center; gap:7px; margin-bottom:8px; color:var(--asp-brand); font-size:.76rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.archive-kicker::before { content:""; width:20px; height:3px; border-radius:999px; background:var(--asp-accent); }
.archive-title { margin:0; color:var(--asp-heading); font-size:clamp(1.9rem,3vw,2.55rem); line-height:1.1; letter-spacing:-.035em; }
.archive-description { max-width:680px; margin-top:10px; color:var(--asp-muted); }
.archive-description p { margin:0; }

/* Post cards */
.post-list { display:grid; gap:18px; }
.post-card, .article-card, .sidebar-card, .widget { background:var(--asp-surface); border:1px solid var(--asp-border); border-radius:var(--asp-radius); box-shadow:var(--asp-shadow); }
.post-card { overflow:hidden; display:grid; grid-template-columns:220px minmax(0,1fr); min-height:170px; transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease; }
.post-card:hover { transform:translateY(-2px); box-shadow:var(--asp-shadow-hover); border-color:#d8e0eb; }
.post-card--no-image { grid-template-columns:1fr; }
.post-card--featured { grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); min-height:300px; }
.post-card--featured .post-thumbnail { order:2; }
.post-thumbnail { display:block; overflow:hidden; background:#eef2f7; }
.post-thumbnail img { display:block; width:100%; height:100%; min-height:100%; object-fit:cover; transition:transform .28s ease; }
.post-card:hover .post-thumbnail img { transform:scale(1.018); }
.post-card-inner { display:flex; flex-direction:column; justify-content:center; padding:20px 22px; }
.post-card--featured .post-card-inner { padding:32px; }
.post-eyebrow { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-bottom:9px; color:var(--asp-muted); font-size:.78rem; font-weight:650; }
.category-pill { display:inline-flex; align-items:center; max-width:100%; padding:4px 8px; border-radius:999px; background:#eff6ff; color:var(--asp-brand-dark); font-size:.72rem; font-weight:800; text-decoration:none; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.post-card h2 { margin:0 0 9px; color:var(--asp-heading); font-size:1.28rem; line-height:1.25; letter-spacing:-.02em; }
.post-card--featured h2 { font-size:clamp(1.7rem,3vw,2.3rem); line-height:1.13; letter-spacing:-.035em; }
.post-card h2 a { color:inherit; text-decoration:none; }
.post-card h2 a:hover { color:var(--asp-brand); }
.post-card .entry-summary { color:#536174; font-size:.94rem; }
.post-card .entry-summary p { margin:0; }
.post-card--featured .entry-summary { font-size:1rem; }
.read-more { display:inline-flex; align-items:center; gap:7px; margin-top:13px; color:var(--asp-brand); text-decoration:none; font-weight:800; font-size:.9rem; }
.read-more::after { content:"→"; transition:transform .15s ease; }
.read-more:hover::after { transform:translateX(3px); }

/* Article */
.article-card { padding:clamp(24px,4.2vw,50px); }
.entry-header { max-width:var(--asp-content); margin:0 auto 30px; }
.single-category { margin-bottom:11px; }
.entry-title { margin:0 0 15px; color:var(--asp-heading); font-size:clamp(2rem,4.5vw,3.45rem); line-height:1.08; letter-spacing:-.045em; text-wrap:balance; }
.entry-meta { color:var(--asp-muted); font-size:.86rem; display:flex; flex-wrap:wrap; align-items:center; gap:7px 12px; }
.entry-meta span + span::before { content:"•"; margin-right:12px; color:#b1b9c7; }
.featured-image { max-width:980px; margin:0 auto 30px; overflow:hidden; border-radius:15px; background:#eef2f7; }
.featured-image img { display:block; width:100%; }
.entry-content { font-size:1.055rem; color:#27364b; }
.entry-content > * { max-width:var(--asp-content); margin-left:auto; margin-right:auto; }
.entry-content > .alignwide { max-width:1040px; }
.entry-content > .alignfull { max-width:none; width:100%; }
.entry-content h2, .entry-content h3, .entry-content h4 { color:var(--asp-heading); line-height:1.2; letter-spacing:-.02em; }
.entry-content h2 { margin-top:2em; font-size:clamp(1.5rem,2.7vw,2rem); }
.entry-content h3 { margin-top:1.7em; font-size:1.28rem; }
.entry-content p { margin-top:0; margin-bottom:1.28em; }
body:not(.asp-plugin-rich) .entry-content ul, body:not(.asp-plugin-rich) .entry-content ol { padding-left:1.35em; }
.entry-content blockquote { margin-top:1.8rem; margin-bottom:1.8rem; padding:1rem 1.25rem; border-left:4px solid var(--asp-brand); border-radius:0 var(--asp-radius-sm) var(--asp-radius-sm) 0; }
.entry-content blockquote:not(.has-background) { background:#f8fbff; }
.entry-content blockquote:not(.has-text-color) { color:#384861; }
.entry-content pre { overflow:auto; padding:16px; border-radius:12px; background:#0f172a; color:#e2e8f0; }
body:not(.asp-plugin-rich) .entry-content table { width:100%; border-collapse:collapse; font-size:.95rem; }
body:not(.asp-plugin-rich) .entry-content th, body:not(.asp-plugin-rich) .entry-content td { padding:10px 12px; border:1px solid var(--asp-border); text-align:left; }
body:not(.asp-plugin-rich) .entry-content .wp-block-button, body:not(.asp-plugin-rich) .entry-content form, body:not(.asp-plugin-rich) .entry-content nav { margin-top:1.5rem; margin-bottom:1.5rem; }
.article-footer { max-width:var(--asp-content); margin:34px auto 0; padding-top:22px; border-top:1px solid var(--asp-border); }
.article-tags { display:flex; flex-wrap:wrap; gap:8px; }
.article-tags a { display:inline-flex; padding:6px 9px; border:1px solid var(--asp-border); border-radius:999px; color:#526176; text-decoration:none; font-size:.8rem; font-weight:650; background:#fff; }

/* Theme-owned forms and buttons only. Plugin forms keep their own CSS. */
.search-form input[type="search"],
.comment-form input[type="text"], .comment-form input[type="email"], .comment-form input[type="url"], .comment-form textarea,
.post-password-form input[type="password"] { max-width:100%; border:1px solid #d7deea; border-radius:10px; background:#fff; padding:10px 12px; outline:none; }
.search-form input[type="search"]:focus, .comment-form input:focus, .comment-form textarea:focus, .post-password-form input:focus { border-color:#93b4fa; box-shadow:0 0 0 3px rgba(37,99,235,.1); }
.search-form .search-submit, .comment-form input[type="submit"], .post-password-form input[type="submit"],
.wp-block-button__link { border:0; border-radius:10px; padding:10px 15px; font-weight:750; cursor:pointer; }
.wp-block-button__link:not(.has-background) { background:var(--asp-brand); }
.wp-block-button__link:not(.has-text-color) { color:#fff; }
.search-form .search-submit:hover, .comment-form input[type="submit"]:hover, .post-password-form input[type="submit"]:hover { background:var(--asp-brand-dark); color:#fff; }
.wp-block-button__link:not(.has-background):hover { background:var(--asp-brand-dark); }
.wp-block-button__link:not(.has-text-color):hover { color:#fff; }

/* Pagination */
.pagination { margin-top:28px; }
.nav-links { display:flex; flex-wrap:wrap; gap:8px; }
.page-numbers { display:inline-flex; min-width:42px; min-height:42px; align-items:center; justify-content:center; padding:8px 12px; border:1px solid var(--asp-border); border-radius:10px; text-decoration:none; background:#fff; color:#475569; font-weight:700; }
.page-numbers:hover { border-color:#c9d7ef; background:#f8fbff; }
.page-numbers.current { background:var(--asp-brand); color:#fff; border-color:var(--asp-brand); }

/* Sidebar */
.sidebar { display:grid; gap:20px; }
.sidebar-card, .widget { padding:21px; }
.widget-title { margin:0 0 14px; color:var(--asp-heading); font-size:1rem; line-height:1.25; letter-spacing:-.01em; }
.widget ul { list-style:none; padding:0; margin:0; }
.widget li { padding:8px 0; border-bottom:1px solid #edf0f4; }
.widget li:last-child { border-bottom:0; padding-bottom:0; }
.widget a { color:#45556d; text-decoration:none; }
.widget a:hover { color:var(--asp-brand); }
.widget p:last-child { margin-bottom:0; }

/* Footer */
.site-footer { border-top:1px solid var(--asp-border); background:#fff; }
.footer-inner { max-width:var(--asp-wide); margin:0 auto; padding:34px 22px; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:24px; color:var(--asp-muted); font-size:.88rem; }
.footer-brand strong { display:block; margin-bottom:2px; color:var(--asp-heading); font-size:.98rem; }
.footer-description { max-width:560px; }
.footer-nav ul { display:flex; justify-content:flex-end; gap:8px 15px; flex-wrap:wrap; list-style:none; padding:0; margin:0; }
.footer-nav a { color:var(--asp-muted); text-decoration:none; }
.footer-nav a:hover { color:var(--asp-brand); }
.footer-copyright { grid-column:1/-1; padding-top:16px; border-top:1px solid #edf0f4; font-size:.8rem; }

/* Conservative ad containers: clear separation, no disguise, no overlap. */
.adsafe-ad-zone { clear:both; width:100%; max-width:100%; margin:56px auto; padding:18px 0; text-align:center; position:relative; overflow:visible; isolation:isolate; }
.adsafe-ad-zone::before { content:"Advertisements"; display:block; margin:0 auto 10px; color:#8791a3; font-size:10px; line-height:1; letter-spacing:.11em; text-transform:uppercase; }
.adsafe-ad-frame { min-height:140px; display:flex; align-items:center; justify-content:center; width:100%; contain:layout paint; }
.adsafe-ad-frame ins.adsbygoogle { width:100%; }
.adsafe-ad-zone--after_intro .adsafe-ad-frame, .adsafe-ad-zone--mid_article .adsafe-ad-frame, .adsafe-ad-zone--late_article .adsafe-ad-frame, .adsafe-ad-zone--after_post .adsafe-ad-frame, .adsafe-ad-zone--archive .adsafe-ad-frame { min-height:250px; }
.adsafe-ad-zone--sidebar .adsafe-ad-frame { min-height:280px; }
.adsafe-ad-zone--sidebar { margin:0 0 50px; padding:20px 0 30px; border-bottom:1px solid var(--asp-border); }
.adsafe-ad-zone--after-content { margin-top:56px; }
.adsafe-ad-placeholder { min-height:140px; display:flex; align-items:center; justify-content:center; border:1px dashed #cfd7e3; border-radius:11px; color:#7a8799; font-size:.82rem; background:#fafcff; }
.adsafe-interactive-buffer { margin-top:48px !important; }

@media (max-width: 980px) {
  .layout-grid { grid-template-columns:1fr; }
  .sidebar { margin-top:6px; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .sidebar > .adsafe-ad-zone { grid-column:1/-1; }
}

@media (max-width: 900px) {
  .primary-nav { display:none; position:absolute; top:67px; left:14px; right:14px; z-index:30; background:#fff; border:1px solid var(--asp-border); border-radius:14px; box-shadow:var(--asp-shadow-hover); padding:10px; }
  .primary-nav.is-open { display:block; }
  .primary-nav ul { display:grid; gap:2px; }
  .primary-nav a { padding:10px; }
  .menu-toggle { display:block; }
  .header-inner { position:relative; }
  .post-card--featured { grid-template-columns:1fr 1fr; }
  .adsafe-ad-zone { margin:48px auto; padding:16px 0; }
  .adsafe-ad-frame, .adsafe-ad-placeholder { min-height:120px; }
  .adsafe-ad-zone--after_intro .adsafe-ad-frame, .adsafe-ad-zone--mid_article .adsafe-ad-frame, .adsafe-ad-zone--late_article .adsafe-ad-frame, .adsafe-ad-zone--after_post .adsafe-ad-frame, .adsafe-ad-zone--archive .adsafe-ad-frame, .adsafe-ad-zone--sidebar .adsafe-ad-frame { min-height:120px; }
}

@media (max-width: 680px) {
  .site-main-wrap { padding:26px 14px 48px; }
  .header-inner { min-height:66px; padding:11px 14px; }
  .site-description { display:none; }
  .post-card, .post-card--featured { grid-template-columns:1fr; }
  .post-card--featured .post-thumbnail { order:0; }
  .post-thumbnail img { aspect-ratio:16/9; min-height:0; }
  .post-card--featured .post-card-inner, .post-card-inner { padding:19px; }
  .post-card--featured h2 { font-size:1.55rem; }
  .article-card { padding:24px 18px; border-radius:14px; }
  .entry-header { margin-bottom:22px; }
  .entry-title { font-size:2.05rem; }
  .entry-content { font-size:1rem; }
  .sidebar { grid-template-columns:1fr; }
  .footer-inner { grid-template-columns:1fr; }
  .footer-nav ul { justify-content:flex-start; }
  .adsafe-ad-zone { margin:46px auto; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior:auto !important; transition:none !important; }
}

/* ===== AdSafe Publisher 3.0 editorial layer ===== */
body { overflow-wrap: break-word; }
.site-header { position:sticky; top:0; z-index:100; backdrop-filter:saturate(140%) blur(12px); }
.admin-bar .site-header { top:32px; }
.reading-progress { position:fixed; inset:0 0 auto; z-index:1000; height:3px; background:linear-gradient(90deg,var(--asp-brand),var(--asp-accent)); transform:scaleX(0); transform-origin:left center; pointer-events:none; }
.header-inner { min-height:76px; }
.brand-copy { min-width:0; }
.header-search { width:min(230px,22vw); }
.header-search .search-form { display:flex; margin:0; }
.header-search label { flex:1; min-width:0; }
.header-search .search-field { height:40px; border-radius:10px 0 0 10px; font-size:.88rem; padding:8px 10px; }
.header-search .search-submit { height:40px; border-radius:0 10px 10px 0; padding:8px 12px; font-size:.82rem; }

.home-intro { display:flex; align-items:flex-end; justify-content:space-between; gap:28px; margin:0 0 30px; padding:4px 2px 0; }
.home-intro h1 { margin:0; color:var(--asp-heading); font-size:clamp(2.15rem,4vw,3.75rem); line-height:1; letter-spacing:-.05em; }
.home-intro p { max-width:670px; margin:12px 0 0; color:var(--asp-muted); font-size:1rem; }
.topic-chips { max-width:440px; display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; }
.topic-chips a { padding:7px 11px; border:1px solid var(--asp-border); border-radius:999px; background:rgba(255,255,255,.85); color:#49576b; text-decoration:none; font-size:.79rem; font-weight:750; }
.topic-chips a:hover { border-color:#bfd0ef; color:var(--asp-brand); background:#fff; }

.editorial-hero { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(270px,.7fr); gap:18px; margin-bottom:4px; }
.editorial-hero > .post-card--featured { grid-template-columns:1fr; min-height:100%; }
.editorial-hero > .post-card--featured .post-thumbnail { order:0; min-height:270px; }
.editorial-hero > .post-card--featured .post-thumbnail img { aspect-ratio:16/9; }
.editorial-hero > .post-card--featured .post-card-inner { padding:26px 28px 28px; }
.editorial-hero > .post-card--featured h2 { font-size:clamp(1.65rem,2.8vw,2.55rem); }
.hero-support-grid { display:grid; grid-template-columns:1fr; gap:12px; }
.compact-card { display:grid; grid-template-columns:112px minmax(0,1fr); gap:0; min-height:112px; overflow:hidden; background:#fff; border:1px solid var(--asp-border); border-radius:15px; box-shadow:var(--asp-shadow); transition:transform .15s ease,box-shadow .15s ease; }
.compact-card:hover { transform:translateY(-1px); box-shadow:var(--asp-shadow-hover); }
.compact-thumb { overflow:hidden; background:#eef2f7; }
.compact-thumb img { display:block; width:100%; height:100%; object-fit:cover; }
.compact-body { align-self:center; padding:14px 15px; }
.compact-card .post-eyebrow { margin:0 0 5px; font-size:.7rem; }
.compact-card h2 { margin:0; font-size:.98rem; line-height:1.26; letter-spacing:-.015em; }
.compact-card h2 a { color:var(--asp-heading); text-decoration:none; }
.compact-card h2 a:hover { color:var(--asp-brand); }
.section-head { display:flex; align-items:flex-end; justify-content:space-between; gap:18px; margin:38px 2px 18px; }
.section-head h2 { margin:1px 0 0; color:var(--asp-heading); font-size:1.65rem; letter-spacing:-.025em; }
.section-kicker { color:var(--asp-brand); font-size:.72rem; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }

.breadcrumbs { display:flex; flex-wrap:wrap; gap:7px; align-items:center; margin:0 0 14px; color:#7b8798; font-size:.79rem; }
.breadcrumbs a { color:#617086; text-decoration:none; }
.breadcrumbs a:hover { color:var(--asp-brand); }
.entry-content h2,.entry-content h3 { scroll-margin-top:110px; }
.article-tools { max-width:var(--asp-content); margin:0 auto 22px; padding:12px 0; display:flex; flex-wrap:wrap; align-items:center; gap:7px; border-top:1px solid var(--asp-border); border-bottom:1px solid var(--asp-border); }
.article-tools-label { margin-right:3px; color:#7b8798; font-size:.75rem; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.article-tools a,.article-print { min-height:34px; display:inline-flex; align-items:center; padding:6px 10px; border:1px solid var(--asp-border); border-radius:9px; background:#fff; color:#526176; text-decoration:none; font-size:.78rem; font-weight:750; }
.article-tools a:hover,.article-print:hover { border-color:#c7d6f0; color:var(--asp-brand); background:#f8fbff; }
.article-print { cursor:pointer; }
.auto-toc { max-width:var(--asp-content); margin:0 auto 28px; padding:17px 19px; border:1px solid #dce6f5; border-radius:13px; background:#f8fbff; }
.auto-toc strong { display:block; margin-bottom:8px; color:var(--asp-heading); font-size:.9rem; }
.auto-toc ol { margin:0; padding-left:1.2rem; columns:2; column-gap:26px; }
.auto-toc li { margin:5px 0; break-inside:avoid; color:#738096; font-size:.84rem; }
.auto-toc li.toc-sub { margin-left:10px; }
.auto-toc a { color:#526176; text-decoration:none; }
.auto-toc a:hover { color:var(--asp-brand); }

.author-box,.related-posts,.post-navigation { margin-top:22px; background:#fff; border:1px solid var(--asp-border); border-radius:var(--asp-radius); box-shadow:var(--asp-shadow); }
.author-box { display:grid; grid-template-columns:auto minmax(0,1fr); gap:18px; align-items:center; padding:23px; }
.author-avatar img { display:block; border-radius:50%; }
.author-box h2 { margin:2px 0 5px; color:var(--asp-heading); font-size:1.18rem; }
.author-box p { margin:0 0 8px; color:var(--asp-muted); font-size:.9rem; }
.author-box a { font-size:.84rem; font-weight:800; text-decoration:none; }
.related-posts { padding:23px; }
.related-posts .section-head { margin:0 0 17px; }
.related-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.related-card { min-width:0; overflow:hidden; border:1px solid var(--asp-border); border-radius:13px; background:#fff; }
.related-thumb { display:block; background:#eef2f7; }
.related-thumb img { display:block; width:100%; aspect-ratio:16/9; object-fit:cover; }
.related-body { padding:13px; }
.related-body > span { color:#8490a1; font-size:.7rem; }
.related-body h3 { margin:5px 0 0; font-size:.94rem; line-height:1.3; }
.related-body h3 a { color:var(--asp-heading); text-decoration:none; }
.post-navigation { padding:14px; }
.post-navigation .nav-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.post-navigation .nav-previous,.post-navigation .nav-next { min-width:0; }
.post-navigation .nav-next { text-align:right; }
.post-navigation a { display:block; height:100%; padding:10px; border-radius:10px; text-decoration:none; }
.post-navigation a:hover { background:#f8fbff; }
.post-nav-label { display:block; color:#8a94a5; font-size:.68rem; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.post-nav-title { display:block; margin-top:3px; color:#334155; font-size:.86rem; font-weight:800; line-height:1.35; }

.footer-widgets { max-width:var(--asp-wide); margin:0 auto; padding:36px 22px 8px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.footer-widget-title { margin:0 0 12px; color:var(--asp-heading); font-size:.9rem; }
.footer-widget { color:var(--asp-muted); font-size:.86rem; }
.footer-widget ul { list-style:none; padding:0; margin:0; }
.footer-widget li { margin:7px 0; }
.footer-widget a { color:#556478; text-decoration:none; }
.back-to-top { position:fixed; right:20px; bottom:20px; z-index:80; width:42px; height:42px; padding:0; border:1px solid #d9e1ec; border-radius:50%; background:#fff; color:var(--asp-heading); box-shadow:var(--asp-shadow-hover); font-size:1.15rem; }
.back-to-top:hover { background:var(--asp-brand); color:#fff; }

@media (max-width:1100px) {
  .header-search { display:none; }
  .editorial-hero { grid-template-columns:minmax(0,1.15fr) minmax(250px,.85fr); }
}
@media (max-width:900px) {
  .editorial-hero { grid-template-columns:1fr; }
  .hero-support-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .compact-card { grid-template-columns:105px minmax(0,1fr); }
  .home-intro { align-items:flex-start; flex-direction:column; }
  .topic-chips { max-width:none; justify-content:flex-start; }
}
@media (max-width:782px) { .admin-bar .site-header { top:46px; } }
@media (max-width:680px) {
  .site-header { position:relative; top:auto; }
  .reading-progress { height:2px; }
  .home-intro { margin-bottom:22px; }
  .home-intro h1 { font-size:2.35rem; }
  .topic-chips { flex-wrap:nowrap; max-width:100%; overflow:auto; padding-bottom:3px; scrollbar-width:none; }
  .topic-chips::-webkit-scrollbar { display:none; }
  .topic-chips a { flex:none; }
  .hero-support-grid { grid-template-columns:1fr; }
  .compact-card { grid-template-columns:98px minmax(0,1fr); }
  .auto-toc ol { columns:1; }
  .related-grid { grid-template-columns:1fr; }
  .related-card { display:grid; grid-template-columns:115px minmax(0,1fr); }
  .related-thumb img { height:100%; aspect-ratio:auto; }
  .author-box { grid-template-columns:1fr; }
  .post-navigation .nav-links { grid-template-columns:1fr; }
  .post-navigation .nav-next { text-align:left; }
  .footer-widgets { grid-template-columns:1fr; padding-top:28px; }
  .back-to-top { right:14px; bottom:14px; }
}
@media print {
  .site-header,.site-footer,.sidebar,.adsafe-ad-zone,.article-tools,.auto-toc,.related-posts,.author-box,.post-navigation,.comments-area,.back-to-top,.reading-progress { display:none !important; }
  .layout-grid { display:block; }
  .article-card { border:0; box-shadow:none; padding:0; }
  body { background:#fff; color:#000; }
}

/* ===== AdSafe Publisher 3.1 — clean customizable design system ===== */
body {
  background: var(--asp-bg);
  letter-spacing: -.005em;
}
.site-header {
  position: relative;
  top: auto;
  background: rgba(255,255,255,.97);
  box-shadow: none;
  backdrop-filter: none;
}
.asp-sticky-header .site-header { position: sticky; top: 0; backdrop-filter: saturate(140%) blur(10px); }
.admin-bar.asp-sticky-header .site-header { top: 32px; }
.site-header::after { height: 1px; opacity: .45; }
.header-inner { min-height: 70px; }
.site-main-wrap { padding-top: 34px; }
.home-intro { margin-bottom: 24px; }
.home-intro h1 { font-size: clamp(2rem,3.4vw,3.15rem); letter-spacing: -.045em; }
.home-intro p { max-width: 620px; color: #6b7280; }
.archive-kicker::before { width: 15px; height: 2px; }
.topic-chips a { background:#fff; box-shadow:none; }

/* Width controls */
.asp-width-compact { --asp-wide: 1080px; }
.asp-width-standard { --asp-wide: 1180px; }
.asp-width-wide { --asp-wide: 1280px; }
.asp-content-narrow { --asp-content: 700px; }
.asp-content-standard { --asp-content: 760px; }
.asp-content-wide { --asp-content: 840px; }

/* Typography scale */
.asp-font-small { font-size: 15px; }
.asp-font-standard { font-size: 16px; }
.asp-font-large { font-size: 17px; }

/* Corner controls */
.asp-corners-square { --asp-radius: 10px; --asp-radius-sm: 8px; }
.asp-corners-soft { --asp-radius: 16px; --asp-radius-sm: 11px; }
.asp-corners-rounded { --asp-radius: 24px; --asp-radius-sm: 16px; }
.compact-card,.related-card,.auto-toc { border-radius: var(--asp-radius-sm); }

/* Shadow controls */
.asp-shadow-none { --asp-shadow: none; --asp-shadow-hover: none; }
.asp-shadow-soft { --asp-shadow: 0 7px 24px rgba(15,23,42,.045); --asp-shadow-hover: 0 13px 34px rgba(15,23,42,.075); }
.asp-shadow-medium { --asp-shadow: 0 10px 30px rgba(15,23,42,.07); --asp-shadow-hover: 0 18px 44px rgba(15,23,42,.11); }

/* Card controls */
.asp-cards-flat .post-card,
.asp-cards-flat .article-card,
.asp-cards-flat .sidebar-card,
.asp-cards-flat .widget,
.asp-cards-flat .compact-card,
.asp-cards-flat .related-posts,
.asp-cards-flat .author-box,
.asp-cards-flat .post-navigation { border-color: transparent; box-shadow: none; }
.asp-cards-outlined .post-card,
.asp-cards-outlined .article-card,
.asp-cards-outlined .sidebar-card,
.asp-cards-outlined .widget,
.asp-cards-outlined .compact-card,
.asp-cards-outlined .related-posts,
.asp-cards-outlined .author-box,
.asp-cards-outlined .post-navigation { box-shadow:none; border-color:#dce2ea; }

/* Sidebar placement */
.asp-sidebar-left .layout-grid { grid-template-columns:310px minmax(0,1fr); }
.asp-sidebar-left .sidebar { grid-column:1; grid-row:1; }
.asp-sidebar-left .content-column { grid-column:2; grid-row:1; }
.asp-sidebar-none .layout-grid { grid-template-columns:minmax(0,1fr); }
.asp-sidebar-none .content-column { width:100%; }

/* Header presets */
.asp-header-compact .header-inner { min-height:58px; padding-top:8px; padding-bottom:8px; }
.asp-header-compact .site-description { display:none; }
.asp-header-compact .custom-logo { max-height:38px; }
.asp-header-compact .primary-nav a { padding:7px 9px; font-size:.9rem; }
.asp-header-centered .header-inner { flex-wrap:wrap; justify-content:center; gap:8px 26px; padding-top:16px; padding-bottom:14px; }
.asp-header-centered .site-branding { width:100%; justify-content:center; text-align:center; }
.asp-header-centered .primary-nav { margin-left:0; }
.asp-header-centered .header-search { width:210px; }

/* Homepage presets */
.asp-home-clean .editorial-hero { grid-template-columns:1fr; gap:14px; }
.asp-home-clean .editorial-hero > .post-card--featured { grid-template-columns:minmax(0,1.05fr) minmax(310px,.95fr); min-height:290px; }
.asp-home-clean .editorial-hero > .post-card--featured .post-thumbnail { order:2; min-height:290px; }
.asp-home-clean .hero-support-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.asp-home-clean .compact-card { min-height:105px; }

.asp-home-minimal .home-intro { display:block; max-width:760px; }
.asp-home-minimal .topic-chips { justify-content:flex-start; max-width:none; margin-top:16px; }
.asp-home-minimal .editorial-hero { grid-template-columns:1fr; }
.asp-home-minimal .editorial-hero > .post-card--featured { grid-template-columns:1fr; }
.asp-home-minimal .editorial-hero > .post-card--featured .post-thumbnail { order:0; min-height:320px; }
.asp-home-minimal .hero-support-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.asp-home-minimal .compact-card { box-shadow:none; }

.asp-home-magazine .editorial-hero { grid-template-columns:minmax(0,1.28fr) minmax(270px,.72fr); }
.asp-home-magazine .hero-support-grid { grid-template-columns:1fr; }

/* Optional metadata controls */
.asp-hide-excerpts .post-card .entry-summary { display:none; }
.asp-hide-reading-time .post-eyebrow span:last-child { display:none; }

/* Cleaner card details */
.post-card { min-height:158px; }
.post-card:hover { transform: translateY(-1px); }
.post-card-inner { padding:21px 23px; }
.post-card h2 { letter-spacing:-.025em; }
.post-eyebrow { color:#7b8493; }
.category-pill { background:#f3f6fb; color:var(--asp-brand); }
.read-more { font-size:.79rem; }
.sidebar { gap:16px; }
.widget,.sidebar-card { padding:20px; }
.adsafe-ad-zone { background:#fbfbfc; border-color:#e8ebef; }

/* Mobile cleanup */
@media (max-width:900px) {
  .asp-sidebar-left .layout-grid,.asp-sidebar-right .layout-grid { grid-template-columns:1fr; }
  .asp-sidebar-left .sidebar,.asp-sidebar-left .content-column { grid-column:auto; grid-row:auto; }
  .asp-home-clean .editorial-hero > .post-card--featured { grid-template-columns:1fr; }
  .asp-home-clean .editorial-hero > .post-card--featured .post-thumbnail { order:0; min-height:240px; }
  .asp-home-clean .hero-support-grid,.asp-home-minimal .hero-support-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:782px) { .admin-bar.asp-sticky-header .site-header { top:46px; } }
@media (max-width:680px) {
  .asp-sticky-header .site-header { position:relative; top:auto; }
  .asp-header-centered .header-inner { justify-content:space-between; }
  .asp-header-centered .site-branding { width:auto; justify-content:flex-start; text-align:left; }
  .asp-home-clean .hero-support-grid,.asp-home-minimal .hero-support-grid { grid-template-columns:1fr; }
  .site-main-wrap { padding-top:24px; }
  .home-intro h1 { font-size:2.05rem; }
}

/* V3.4 Revenue Optimizer: late long-form units keep the same conservative visual separation. */
.adsafe-ad-zone--late_article{margin-top:60px;margin-bottom:60px}

/* V3.4 verified monetization containers. */
.adsafe-ad-zone--multiplex .adsafe-ad-frame { min-height: 300px; }
@media (max-width:900px) { .adsafe-ad-zone--multiplex .adsafe-ad-frame { min-height: 180px; } }

/* Multipage article/page navigation. */
.page-links{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:28px 0 8px;padding-top:20px;border-top:1px solid var(--asp-border,#e7e9ee);font-size:.9rem;font-weight:700}
.page-links .post-page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:0 10px;border:1px solid var(--asp-border,#e7e9ee);border-radius:10px;background:#fff;text-decoration:none}
.page-links .post-page-numbers.current{background:var(--asp-brand);border-color:var(--asp-brand);color:#fff}


/* ===== AdSafe Publisher 3.5 — Jobs + Blog / plugin compatibility layer ===== */
/* Two-tier header: branding never competes with a long job/category menu. */
.site-header { overflow: visible; }
.header-top-inner { max-width:var(--asp-wide); min-height:68px; margin:0 auto; padding:10px 22px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.site-branding { flex:0 1 auto; max-width:min(520px,60vw); }
.brand-copy { min-width:0; }
.site-title { white-space:nowrap; word-break:normal; overflow-wrap:normal; }
.site-title a { white-space:inherit; }
.site-description { max-width:440px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.header-actions { margin-left:auto; display:flex; align-items:center; gap:10px; flex:0 0 auto; }
.header-nav-shell { border-top:1px solid var(--asp-border); background:#fff; }
.primary-nav { max-width:var(--asp-wide); margin:0 auto; padding:0 16px; overflow-x:auto; overflow-y:visible; scrollbar-width:none; -webkit-overflow-scrolling:touch; }
.primary-nav::-webkit-scrollbar { display:none; }
.primary-nav ul { flex-wrap:nowrap; min-width:max-content; gap:2px; }
.primary-nav li { position:relative; flex:0 0 auto; }
.primary-nav a { white-space:nowrap; padding:11px 10px; font-size:.9rem; }
.primary-nav .sub-menu { display:none; position:absolute; left:0; top:100%; min-width:220px; z-index:60; padding:7px; border:1px solid var(--asp-border); border-radius:12px; background:#fff; box-shadow:var(--asp-shadow-hover); }
.primary-nav li:hover > .sub-menu, .primary-nav li:focus-within > .sub-menu { display:block; }
.primary-nav .sub-menu li { width:100%; }
.primary-nav .sub-menu a { width:100%; }
.header-search .search-form { display:flex; align-items:center; gap:0; min-width:230px; }
.header-search .search-field { width:min(260px,24vw); min-width:150px; border-radius:10px 0 0 10px; }
.header-search .search-submit { border-radius:0 10px 10px 0; white-space:nowrap; }

/* The legacy one-row header rules are intentionally neutralized in 3.5. */
.header-inner { display:none; }
.asp-header-compact .header-top-inner { min-height:56px; padding-top:7px; padding-bottom:7px; }
.asp-header-compact .custom-logo { max-height:38px; }
.asp-header-centered .header-top-inner { flex-direction:column; justify-content:center; gap:8px; padding-top:14px; padding-bottom:12px; }
.asp-header-centered .site-branding { max-width:100%; justify-content:center; text-align:center; }
.asp-header-centered .header-actions { margin-left:0; }

/* Plugin-rich pages get a neutral, full-width content canvas. */
.asp-plugin-rich .layout-grid { grid-template-columns:minmax(0,1fr); }
.asp-plugin-rich .sidebar { display:none; }
.asp-plugin-rich .content-column { min-width:0; width:100%; }
.asp-plugin-rich .article-card { max-width:none; padding:clamp(20px,3vw,36px); }
.asp-plugin-rich .entry-content > * { max-width:none; }
.asp-plugin-rich .entry-content { overflow:visible; }
.asp-plugin-rich .entry-content form, .asp-plugin-rich .entry-content nav { margin-top:0; margin-bottom:0; }

/* Pages are allowed to host plugin shortcodes/builders without the article text clamp. */
.page .entry-content > * { max-width:100%; }
.page-template-page-templates-template-full-width-php .layout-grid,
.page-template-page-templates-template-plugin-canvas-php .layout-grid { grid-template-columns:minmax(0,1fr); }
.page-template-page-templates-template-full-width-php .sidebar,
.page-template-page-templates-template-plugin-canvas-php .sidebar { display:none; }
.page-template-page-templates-template-plugin-canvas-php .site-main-wrap { max-width:none; padding:0; }
.page-template-page-templates-template-plugin-canvas-php .article-card { padding:0; border:0; border-radius:0; box-shadow:none; background:transparent; }
.page-template-page-templates-template-plugin-canvas-php .entry-content > * { max-width:none; }

/* Common plugin containers: prevent overflow without re-skinning plugin UI. */
.entry-content :where(.job_listings,.job_filters,.job-manager-form,.job-manager-job-dashboard,.sjb-page,.sjb-listing,.awsm-job-listings,.awsm-job-form,.woocommerce,.elementor,.wpforms-container,.wpcf7,.gform_wrapper,.fluentform) { max-width:100%; }
.entry-content :where(table,.shop_table) { max-width:100%; }
.entry-content :where(.job_listings,.sjb-page,.awsm-job-listings,.woocommerce) img { height:auto; }

/* Job + blog taxonomy discovery blocks. */
.portal-taxonomy-section { margin:0 0 26px; padding:20px; border:1px solid var(--asp-border); border-radius:var(--asp-radius); background:#fff; }
.portal-taxonomy-head { display:flex; align-items:end; justify-content:space-between; gap:18px; margin-bottom:14px; }
.portal-taxonomy-head h2 { margin:0; color:var(--asp-heading); font-size:1.15rem; }
.portal-taxonomy-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.portal-taxonomy-link { display:flex; align-items:center; justify-content:space-between; min-width:0; gap:10px; padding:11px 12px; border:1px solid var(--asp-border); border-radius:11px; color:#334155; text-decoration:none; background:#fff; }
.portal-taxonomy-link:hover { border-color:#cbd7ea; background:#f8fbff; color:var(--asp-brand); }
.portal-taxonomy-link span:first-child { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-weight:700; }
.portal-taxonomy-count { flex:0 0 auto; color:#7b8798; font-size:.75rem; font-weight:700; }

/* WooCommerce: declare support but leave component styling to WooCommerce. */
.woocommerce-page .entry-content > * { max-width:none; }
.woocommerce-page .site-main-wrap { overflow:visible; }

/* Elementor full-width/canvas compatibility. */
.elementor-page .entry-content > .elementor { max-width:none; }
body.elementor-template-full-width .layout-grid { grid-template-columns:1fr; }
body.elementor-template-full-width .sidebar { display:none; }

@media (max-width:900px) {
  .header-top-inner { min-height:64px; padding:9px 14px; }
  .site-branding { max-width:calc(100% - 88px); }
  .site-description { display:none; }
  .header-search { display:none; }
  .menu-toggle { display:block; }
  .header-nav-shell { border-top:0; }
  .primary-nav { display:none; position:absolute; top:100%; left:10px; right:10px; max-width:none; max-height:min(72vh,560px); overflow:auto; z-index:80; padding:8px; border:1px solid var(--asp-border); border-radius:14px; background:#fff; box-shadow:var(--asp-shadow-hover); }
  .primary-nav.is-open { display:block; }
  .primary-nav ul { display:block; min-width:0; }
  .primary-nav a { white-space:normal; padding:10px 11px; }
  .primary-nav .sub-menu { display:block; position:static; min-width:0; margin:2px 0 4px 14px; padding:0; border:0; box-shadow:none; }
  .site-header { position:relative; }
  .asp-sticky-header .site-header { position:sticky; }
  .portal-taxonomy-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:560px) {
  .custom-logo { max-height:40px; max-width:150px; }
  .site-title { max-width:58vw; overflow:hidden; text-overflow:ellipsis; font-size:1.05rem; }
  .portal-taxonomy-grid { grid-template-columns:1fr; }
  .portal-taxonomy-section { padding:16px; }
}


/* ===== AdSafe Publisher 3.5.1 — compatibility audit fixes ===== */
/* Long branding is truncated as one line instead of collapsing one character per line. */
.site-branding,.brand-copy,.site-title { min-width:0; }
.site-title { max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; word-break:normal; overflow-wrap:normal; }
.site-title a { display:block; max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:inherit; }

/* Keep desktop dropdowns visible. A scroll container clips absolutely-positioned submenus,
   so long desktop menus wrap instead of using overflow-x:auto. */
.header-nav-shell { position:relative; z-index:40; overflow:visible; }
@media (min-width:901px) {
  .primary-nav { overflow:visible; }
  .primary-nav ul { min-width:0; flex-wrap:wrap; }
  .primary-nav .sub-menu { overflow:visible; }
}

/* Plugin/builder screens get neutral typography and no hidden-but-executing sidebar. */
.asp-plugin-rich .entry-content { max-width:none; font-size:inherit; color:inherit; }
.asp-plugin-rich .entry-content > * { max-width:none; }
.plugin-single-main,.plugin-archive-main { max-width:var(--asp-wide); }
.plugin-single-card { max-width:none; }
.job-listing-theme-shell .entry-header { max-width:none; }
.adsafe-native-job-archive { margin:0; padding:0; list-style:none; }

/* Related grid honors the 2–4 item setting cleanly. */
.related-grid { grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); }

/* Visible, translatable ad label replaces the hard-coded CSS pseudo-label. */
.adsafe-ad-zone::before { content:none; display:none; }
.adsafe-ad-label { display:block; margin:0 auto 10px; color:#8791a3; font-size:10px; line-height:1; letter-spacing:.11em; text-transform:uppercase; }

@media (max-width:900px) {
  .primary-nav { overflow:auto; }
  .site-title { max-width:58vw; }
}

/* ===== AdSafe Publisher 3.6 — full visual customization layer ===== */
:root {
  --asp-link:#2563eb;--asp-link-hover:#1d4ed8;
  --asp-header-bg:#fff;--asp-header-title:#111827;--asp-header-desc:#667085;--asp-header-border:#e4e9f1;
  --asp-nav-bg:#fff;--asp-nav-text:#334155;--asp-nav-hover-bg:#eff6ff;--asp-nav-hover-text:#2563eb;
  --asp-search-bg:#fff;--asp-search-text:#152033;--asp-search-border:#d7deea;
  --asp-home-intro-bg:#f7f8fa;--asp-home-intro-heading:#111827;--asp-home-intro-text:#667085;--asp-home-intro-kicker:#2563eb;
  --asp-chip-bg:#fff;--asp-chip-text:#49576b;--asp-chip-border:#e4e9f1;
  --asp-jobs-bg:#fff;--asp-jobs-heading:#111827;--asp-jobs-kicker:#2563eb;--asp-job-tile-bg:#fff;--asp-job-tile-text:#334155;--asp-job-tile-border:#e4e9f1;--asp-job-count-bg:#f3f6fb;--asp-job-count-text:#7b8798;
  --asp-card-bg:#fff;--asp-card-heading:#111827;--asp-card-text:#536174;--asp-card-meta:#667085;--asp-card-border:#e4e9f1;--asp-card-hover-border:#d8e0eb;--asp-category-bg:#eff6ff;--asp-category-text:#1d4ed8;--asp-readmore:#2563eb;
  --asp-article-bg:#fff;--asp-article-heading:#111827;--asp-article-text:#27364b;--asp-article-meta:#667085;--asp-article-link:#2563eb;--asp-article-border:#e4e9f1;
  --asp-sidebar-bg:#f7f8fa;--asp-widget-bg:#fff;--asp-widget-heading:#111827;--asp-widget-text:#536174;--asp-widget-link:#45556d;--asp-widget-link-hover:#2563eb;--asp-widget-border:#e4e9f1;
  --asp-footer-bg:#fff;--asp-footer-heading:#111827;--asp-footer-text:#667085;--asp-footer-link:#667085;--asp-footer-link-hover:#2563eb;--asp-footer-border:#e4e9f1;--asp-footer-widget-bg:#fff;--asp-footer-widget-heading:#111827;--asp-footer-widget-text:#667085;--asp-footer-widget-link:#45556d;--asp-footer-widget-border:#e4e9f1;
  --asp-button-bg:#2563eb;--asp-button-text:#fff;--asp-button-hover-bg:#1d4ed8;--asp-button-hover-text:#fff;--asp-form-bg:#fff;--asp-form-text:#152033;--asp-form-border:#d7deea;--asp-form-focus:#93b4fa;
  --asp-ad-label:#8791a3;--asp-ad-bg:#fafcff;--asp-ad-text:#7a8799;--asp-ad-border:#cfd7e3;
  --asp-about-bg:#fff;--asp-about-heading:#111827;--asp-about-text:#536174;--asp-about-button-bg:#2563eb;--asp-about-button-text:#fff;--asp-about-border:#e4e9f1;
  --asp-logo-height:46px;--asp-body-size:16px;--asp-nav-size:14px;--asp-article-size:17px;--asp-widget-title-size:16px;--asp-section-space:32px;--asp-block-gap:18px;--asp-sidebar-width:310px;--asp-widget-padding:21px;--asp-custom-card-radius:18px;--asp-widget-radius:18px;--asp-button-radius:10px;
  --asp-font-body:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --asp-font-heading:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
body{font-family:var(--asp-font-body);font-size:var(--asp-body-size);color:var(--asp-text);background:var(--asp-bg)}
h1,h2,h3,h4,h5,h6,.site-title,.widget-title,.footer-widget-title{font-family:var(--asp-font-heading)}
a{color:var(--asp-link)}a:hover{color:var(--asp-link-hover)}
.custom-logo{max-height:var(--asp-logo-height)}
.site-header{background:var(--asp-header-bg);border-bottom-color:var(--asp-header-border)}
.site-title a{color:var(--asp-header-title)}.site-description{color:var(--asp-header-desc)}
.header-nav-shell{background:var(--asp-nav-bg);border-top-color:var(--asp-header-border)}
.primary-nav a{color:var(--asp-nav-text);font-size:var(--asp-nav-size)}
.primary-nav a:hover,.primary-nav .current-menu-item>a,.primary-nav .current-menu-ancestor>a{background:var(--asp-nav-hover-bg);color:var(--asp-nav-hover-text)}
.primary-nav .sub-menu{background:var(--asp-nav-bg);border-color:var(--asp-header-border)}
.header-search .search-field,.search-form input[type="search"]{background:var(--asp-search-bg);color:var(--asp-search-text);border-color:var(--asp-search-border)}
.home-intro{margin-bottom:var(--asp-section-space);padding:clamp(16px,2vw,26px);border-radius:var(--asp-custom-card-radius);background:var(--asp-home-intro-bg)}
.home-intro h1{color:var(--asp-home-intro-heading)}.home-intro p{color:var(--asp-home-intro-text)}.home-intro .archive-kicker{color:var(--asp-home-intro-kicker)}
.topic-chips a{background:var(--asp-chip-bg);color:var(--asp-chip-text);border-color:var(--asp-chip-border)}
.portal-taxonomy-section{margin-bottom:var(--asp-section-space);background:var(--asp-jobs-bg);border-color:var(--asp-job-tile-border);border-radius:var(--asp-custom-card-radius)}
.portal-taxonomy-head h2{color:var(--asp-jobs-heading)}.portal-taxonomy-section .section-kicker{color:var(--asp-jobs-kicker)}
.portal-taxonomy-link{background:var(--asp-job-tile-bg);color:var(--asp-job-tile-text);border-color:var(--asp-job-tile-border)}
.portal-taxonomy-count{display:inline-flex;align-items:center;justify-content:center;min-width:30px;padding:2px 7px;border-radius:999px;background:var(--asp-job-count-bg);color:var(--asp-job-count-text)}
.layout-grid{grid-template-columns:minmax(0,1fr) var(--asp-sidebar-width);gap:var(--asp-block-gap)}
.post-list,.hero-support-grid{gap:var(--asp-block-gap)}
.post-card,.compact-card,.related-card{background:var(--asp-card-bg);border-color:var(--asp-card-border);border-radius:var(--asp-custom-card-radius)}
.post-card:hover,.compact-card:hover{border-color:var(--asp-card-hover-border)}
.post-card h2,.post-card h2 a,.compact-card h2 a,.related-body h3 a{color:var(--asp-card-heading)}
.post-card .entry-summary{color:var(--asp-card-text)}.post-eyebrow,.related-body>span{color:var(--asp-card-meta)}
.category-pill{background:var(--asp-category-bg);color:var(--asp-category-text)}.read-more{color:var(--asp-readmore)}
.article-card{background:var(--asp-article-bg);border-color:var(--asp-article-border);border-radius:var(--asp-custom-card-radius)}
.entry-title,.entry-content h1,.entry-content h2,.entry-content h3,.entry-content h4,.entry-content h5,.entry-content h6{color:var(--asp-article-heading)}
.entry-content{color:var(--asp-article-text);font-size:var(--asp-article-size)}.entry-meta{color:var(--asp-article-meta)}.entry-content a{color:var(--asp-article-link)}
.sidebar{background:var(--asp-sidebar-bg);border-radius:var(--asp-widget-radius);gap:var(--asp-block-gap)}
.sidebar-card,.widget{padding:var(--asp-widget-padding);background:var(--asp-widget-bg);border-color:var(--asp-widget-border);border-radius:var(--asp-widget-radius);color:var(--asp-widget-text)}
.widget-title{font-size:var(--asp-widget-title-size);color:var(--asp-widget-heading)}.widget a{color:var(--asp-widget-link)}.widget a:hover{color:var(--asp-widget-link-hover)}
.site-footer{background:var(--asp-footer-bg);border-top-color:var(--asp-footer-border);color:var(--asp-footer-text)}
.footer-inner{color:var(--asp-footer-text)}.footer-brand strong{color:var(--asp-footer-heading)}.footer-nav a{color:var(--asp-footer-link)}.footer-nav a:hover{color:var(--asp-footer-link-hover)}.footer-copyright{border-top-color:var(--asp-footer-border)}
.footer-widget{padding:var(--asp-widget-padding);border:1px solid var(--asp-footer-widget-border);border-radius:var(--asp-widget-radius);background:var(--asp-footer-widget-bg);color:var(--asp-footer-widget-text)}
.footer-widget-title{color:var(--asp-footer-widget-heading);font-size:var(--asp-widget-title-size)}.footer-widget a{color:var(--asp-footer-widget-link)}
.search-form .search-submit,.comment-form input[type="submit"],.post-password-form input[type="submit"],.theme-button,.wp-block-button__link{border-radius:var(--asp-button-radius)}
.search-form .search-submit,.comment-form input[type="submit"],.post-password-form input[type="submit"],.theme-button,.wp-block-button__link:not(.has-background){background:var(--asp-button-bg)}
.search-form .search-submit,.comment-form input[type="submit"],.post-password-form input[type="submit"],.theme-button,.wp-block-button__link:not(.has-text-color){color:var(--asp-button-text)}
.search-form .search-submit:hover,.comment-form input[type="submit"]:hover,.post-password-form input[type="submit"]:hover,.theme-button:hover{background:var(--asp-button-hover-bg);color:var(--asp-button-hover-text)}
.wp-block-button__link:not(.has-background):hover{background:var(--asp-button-hover-bg)}.wp-block-button__link:not(.has-text-color):hover{color:var(--asp-button-hover-text)}
.comment-form input[type="text"],.comment-form input[type="email"],.comment-form input[type="url"],.comment-form textarea,.post-password-form input[type="password"]{background:var(--asp-form-bg);color:var(--asp-form-text);border-color:var(--asp-form-border)}
.search-form input:focus,.comment-form input:focus,.comment-form textarea:focus,.post-password-form input:focus{border-color:var(--asp-form-focus)}
.adsafe-ad-label{color:var(--asp-ad-label)}.adsafe-ad-placeholder{background:var(--asp-ad-bg);color:var(--asp-ad-text);border-color:var(--asp-ad-border)}
.section-head{margin-top:var(--asp-section-space)}
.home-about-section{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 0 var(--asp-section-space);padding:clamp(20px,3vw,34px);border:1px solid var(--asp-about-border);border-radius:var(--asp-custom-card-radius);background:var(--asp-about-bg)}
.home-about-copy{max-width:760px}.home-about-section h2{margin:4px 0 8px;color:var(--asp-about-heading);font-size:clamp(1.45rem,2.5vw,2rem);line-height:1.15}.home-about-section p{margin:0;color:var(--asp-about-text)}
.home-about-button,.theme-button{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;padding:10px 16px;text-decoration:none;font-weight:800;border:0;background:var(--asp-about-button-bg);color:var(--asp-about-button-text)}
@media(max-width:680px){.home-about-section{align-items:flex-start;flex-direction:column}.home-intro{padding:16px}.sidebar{background:transparent}}

@media(max-width:980px){.layout-grid{grid-template-columns:1fr}}
