/* ============================================================
   Potomac Blog — Index + Article design (Claude Design import)
   Scoped under .pl-blog (index) and .pl-article (single).
   Site font: Inter (loaded globally by the theme).
   ============================================================ */
:root{ --pl-orange:#F5821F; --pl-orange-dark:#D96E10; --pl-ink:#15253D; --pl-ink2:#22395D; --pl-dark:#0D1B2A; --pl-muted:#6B7280; --pl-muted2:#9CA3AF; --pl-border:#E5E7EB; }
.pl-blog, .pl-article{ width:100%; font-family:Inter,system-ui,-apple-system,'Segoe UI',Roboto,sans-serif; background:#fff; color:var(--pl-ink2); -webkit-font-smoothing:antialiased; }
.pl-blog *, .pl-article *{ box-sizing:border-box; }
.pl-blog a, .pl-article a{ text-decoration:none; }
.pl-eyebrow{ display:inline-flex; align-items:center; gap:12px; margin-bottom:20px; }
.pl-eyebrow span.line{ width:32px; height:2px; background:var(--pl-orange); display:block; }
.pl-eyebrow span.txt{ font-size:11px; font-weight:700; letter-spacing:.18em; color:var(--pl-orange); text-transform:uppercase; }
/* ---- Intro header ---- */
.pl-blog__head{ max-width:1260px; margin:0 auto; padding:88px 24px 40px; text-align:center; }
.pl-blog__head h1{ font-size:clamp(44px,6vw,72px); font-weight:800; letter-spacing:-.03em; line-height:1.02; margin:0 0 20px; color:var(--pl-ink); }
.pl-blog__head p{ max-width:640px; margin:0 auto; font-size:18px; line-height:1.7; color:var(--pl-muted); }
/* ---- Featured ---- */
.pl-featured{ max-width:1260px; margin:0 auto; padding:24px 24px 8px; }
.pl-featured__card{ display:grid; grid-template-columns:1.15fr 1fr; border:1px solid var(--pl-border); border-radius:20px; overflow:hidden; background:#fff; box-shadow:0 10px 36px rgba(15,42,68,.10); transition:box-shadow .3s cubic-bezier(.25,.46,.45,.94), transform .3s cubic-bezier(.25,.46,.45,.94); }
.pl-featured__card:hover{ box-shadow:0 22px 58px rgba(15,42,68,.18); transform:translateY(-2px); }
.pl-featured__media{ position:relative; min-height:420px; background:var(--pl-dark); }
.pl-featured__media img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }
.pl-featured__media::after{ content:''; position:absolute; inset:0; background:linear-gradient(115deg,rgba(13,27,42,.55),rgba(13,27,42,.12) 55%,transparent); }
.pl-badge-featured{ position:absolute; top:24px; left:24px; z-index:1; display:inline-flex; align-items:center; gap:8px; background:var(--pl-orange); color:#fff; font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; padding:8px 16px; border-radius:9999px; box-shadow:0 8px 24px rgba(245,130,31,.3); }
.pl-featured__body{ padding:56px; display:flex; flex-direction:column; justify-content:center; }
.pl-meta{ display:flex; align-items:center; gap:12px; margin-bottom:18px; }
.pl-meta .cat{ font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--pl-orange); }
.pl-meta .dot{ width:4px; height:4px; border-radius:50%; background:#D1D5DB; }
.pl-meta .date, .pl-meta .author{ font-size:13px; color:var(--pl-muted2); }
.pl-featured__body h2{ font-size:clamp(26px,2.4vw,34px); font-weight:800; letter-spacing:-.02em; line-height:1.12; color:var(--pl-ink); margin:0 0 18px; text-wrap:balance; }
.pl-featured__body p{ font-size:16px; line-height:1.7; color:var(--pl-muted); margin:0 0 28px; }
.pl-readmore{ display:inline-flex; align-items:center; gap:8px; font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--pl-ink); }
.pl-readmore .arrow{ color:var(--pl-orange); font-size:15px; }
/* ---- Tabs ---- */
.pl-tabs-wrap{ max-width:1260px; margin:0 auto; padding:44px 24px 0; }
.pl-tabs{ display:flex; flex-wrap:wrap; gap:10px; padding-bottom:28px; border-bottom:1px solid var(--pl-border); }
.pl-tab{ padding:10px 20px; border-radius:9999px; font-size:13px; font-weight:600; cursor:pointer; font-family:inherit; transition:all .25s cubic-bezier(.25,.46,.45,.94); background:#fff; color:#4B5563; border:1px solid var(--pl-border); }
.pl-tab:hover{ border-color:var(--pl-orange); color:var(--pl-orange); }
.pl-tab.active{ background:var(--pl-ink); color:#fff; border-color:var(--pl-ink); }
/* ---- Grid ---- */
.pl-grid-wrap{ max-width:1260px; margin:0 auto; padding:40px 24px 0; }
.pl-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:32px 28px; }
.pl-card{ display:flex; flex-direction:column; border:1px solid var(--pl-border); border-radius:12px; overflow:hidden; background:#fff; box-shadow:0 2px 8px rgba(0,0,0,.07); transition:box-shadow .3s cubic-bezier(.25,.46,.45,.94), transform .3s cubic-bezier(.25,.46,.45,.94), border-color .3s cubic-bezier(.25,.46,.45,.94); }
.pl-card:hover{ box-shadow:0 10px 24px rgba(15,42,68,.12); transform:translateY(-2px); border-color:var(--pl-orange); }
.pl-card__media{ position:relative; aspect-ratio:16/10; background:var(--pl-dark); overflow:hidden; }
.pl-card__media img{ width:100%; height:100%; object-fit:cover; object-position:center; }
.pl-badge{ position:absolute; top:14px; left:14px; background:rgba(255,255,255,.94); color:var(--pl-ink); font-size:10px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; padding:6px 12px; border-radius:9999px; backdrop-filter:blur(2px); }
.pl-card__body{ padding:26px 26px 28px; display:flex; flex-direction:column; flex:1; }
.pl-card__meta{ display:flex; align-items:center; gap:10px; margin-bottom:12px; }
.pl-card__meta span:not(.dot){ font-size:12px; color:var(--pl-muted2); }
.pl-card__body h3{ font-size:19px; font-weight:700; letter-spacing:-.01em; line-height:1.28; color:var(--pl-ink); margin:0 0 12px; text-wrap:pretty; }
.pl-card__body p{ font-size:14px; line-height:1.65; color:var(--pl-muted); margin:0 0 20px; flex:1; }
.pl-readmore.sm{ font-size:11px; }
.pl-readmore.sm .arrow{ font-size:14px; }
.pl-empty{ text-align:center; padding:60px 20px; color:var(--pl-muted); font-size:18px; }
/* ---- Pagination ---- */
.pl-pag-wrap{ max-width:1260px; margin:0 auto; padding:56px 24px 8px; }
.pl-pag{ display:flex; align-items:center; justify-content:center; gap:8px; flex-wrap:wrap; }
.pl-pag a, .pl-pag span.current, .pl-pag span.dots{ display:inline-flex; align-items:center; justify-content:center; min-width:42px; height:42px; padding:0 6px; border-radius:9999px; font-size:15px; font-weight:600; text-decoration:none; transition:all .25s cubic-bezier(.25,.46,.45,.94); }
.pl-pag a{ border:1px solid var(--pl-border); color:var(--pl-ink); }
.pl-pag a:hover{ border-color:var(--pl-orange); color:var(--pl-orange); }
.pl-pag span.current{ background:var(--pl-orange); color:#fff; font-weight:700; box-shadow:0 8px 24px rgba(245,130,31,.3); }
.pl-pag span.dots{ color:var(--pl-muted2); border:none; }
/* ---- Newsletter ---- */
.pl-news{ position:relative; overflow:hidden; margin-top:72px; padding:80px 24px; border-top:1px solid rgba(255,255,255,.1); background:linear-gradient(135deg,#16253D 0%,#1B2E4A 52%,#213754 100%); }
.pl-news::before{ content:''; position:absolute; inset:0; pointer-events:none; opacity:.9; background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px); background-size:28px 28px; }
.pl-news::after{ content:''; position:absolute; inset:0; pointer-events:none; background:radial-gradient(circle at 50% 14%,rgba(245,130,31,.10) 0%,transparent 18%),radial-gradient(circle at 50% 50%,rgba(255,255,255,.04) 0%,transparent 36%); }
.pl-news__inner{ position:relative; z-index:1; max-width:720px; margin:0 auto; text-align:center; }
.pl-news .pl-eyebrow span.txt{ letter-spacing:.22em; }
.pl-news h2{ font-weight:800; color:#fff; line-height:1.05; letter-spacing:-.035em; margin:0 0 20px; font-size:clamp(2.1rem,3.6vw,3.4rem); }
.pl-news p.sub{ font-size:16px; line-height:1.7; color:rgba(255,255,255,.72); max-width:600px; margin:0 auto 32px; }
.pl-news form{ display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:12px; max-width:540px; margin:0 auto; }
.pl-news input[type=email]{ flex:1 1 260px; min-width:0; padding:15px 20px; border-radius:9999px; border:1px solid rgba(255,255,255,.22); background:rgba(255,255,255,.06); color:#fff; font-size:15px; font-family:inherit; outline:none; }
.pl-news input[type=email]::placeholder{ color:rgba(255,255,255,.55); }
.pl-news button{ flex:0 0 auto; display:inline-flex; align-items:center; justify-content:center; gap:8px; min-width:170px; padding:15px 28px; border:none; border-radius:9999px; background:var(--pl-orange); color:#fff; font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; cursor:pointer; box-shadow:0 12px 28px rgba(245,130,31,.24); transition:all .2s cubic-bezier(.25,.46,.45,.94); }
.pl-news button:hover{ background:var(--pl-orange-dark); transform:translateY(-1px); }
.pl-news p.fine{ font-size:12px; color:rgba(255,255,255,.5); margin:18px 0 0; }
.pl-news__ok{ color:#fff; font-size:16px; margin-top:8px; }
/* ---- Responsive ---- */
@media (max-width:900px){ .pl-featured__card{ grid-template-columns:1fr; } .pl-featured__media{ min-height:260px; } .pl-featured__body{ padding:32px 28px; } .pl-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:600px){ .pl-grid{ grid-template-columns:1fr; } .pl-blog__head{ padding:56px 20px 28px; } }
/* full-bleed newsletter band (break out of the theme content width) */
.pl-news, .pl-cta{ margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); width:100vw; max-width:100vw; }
/* hide the theme page-title cover on blog design pages */
body.page-id-12204 .wp-block-cover.cover-sub, body.page-id-13 .wp-block-cover.cover-sub{ display:none !important; }
body.page-id-12204, body.page-id-13{ overflow-x:hidden; }

/* ============================================================
   ARTICLE STYLES (.pl-article single blog post)
   ============================================================ */
.pl-art__back{ max-width:820px; margin:0 auto; padding:36px 24px 0; }
.pl-art__back a{ display:inline-flex; align-items:center; gap:8px; font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--pl-muted2); transition:color .25s cubic-bezier(.25,.46,.45,.94); }
.pl-art__back a:hover{ color:var(--pl-orange); }
.pl-art__head{ max-width:820px; margin:0 auto; padding:40px 24px 36px; text-align:center; }
.pl-art__head .pl-eyebrow{ justify-content:center; }
.pl-art__head h1{ font-size:clamp(34px,5vw,58px); font-weight:800; letter-spacing:-.03em; line-height:1.05; margin:0 0 24px; color:var(--pl-ink); text-wrap:balance; }
.pl-art__sub{ max-width:640px; margin:0 auto 32px; font-size:19px; line-height:1.6; color:var(--pl-muted); text-wrap:pretty; }
.pl-art__byline{ display:inline-flex; align-items:center; gap:12px; }
.pl-art__avatar{ width:42px; height:42px; border-radius:50%; background:var(--pl-ink); color:#fff; display:inline-flex; align-items:center; justify-content:center; font-size:14px; font-weight:700; }
.pl-art__byline .who{ text-align:left; }
.pl-art__byline .name{ font-size:14px; font-weight:600; color:var(--pl-ink); }
.pl-art__byline .sub{ font-size:12px; color:var(--pl-muted2); }
.pl-art__hero{ max-width:1100px; margin:0 auto 8px; padding:0 24px; }
.pl-art__hero .frame{ border-radius:16px; overflow:hidden; background:var(--pl-dark); aspect-ratio:16/8; }
.pl-art__hero img{ width:100%; height:100%; object-fit:cover; object-position:center; }
.pl-art__hero figcaption{ max-width:760px; margin:14px auto 0; font-size:13px; color:var(--pl-muted2); text-align:center; }
/* body typography */
.pl-art__body{ max-width:760px; margin:0 auto; padding:48px 24px 8px; font-size:18px; line-height:1.8; color:#374151; }
.pl-art__body > p{ margin:0 0 26px; }
.pl-art__body > p:first-of-type{ font-size:20px; line-height:1.75; color:var(--pl-ink2); }
.pl-art__body h2{ font-size:28px; font-weight:800; letter-spacing:-.02em; line-height:1.2; color:var(--pl-ink); margin:44px 0 18px; }
.pl-art__body h3{ font-size:22px; font-weight:700; letter-spacing:-.01em; line-height:1.25; color:var(--pl-ink); margin:36px 0 14px; }
.pl-art__body a{ color:var(--pl-orange-dark); text-decoration:underline; }
.pl-art__body ul, .pl-art__body ol{ margin:0 0 26px; padding-left:24px; }
.pl-art__body li{ margin:0 0 10px; }
.pl-art__body img{ max-width:100%; height:auto; border-radius:12px; margin:12px 0; }
.pl-art__body blockquote{ margin:40px 0; padding:8px 0 8px 28px; border-left:3px solid var(--pl-orange); }
.pl-art__body blockquote p{ font-size:24px; font-weight:700; line-height:1.4; letter-spacing:-.01em; color:var(--pl-ink); margin:0; }
.pl-art__body figure{ margin:24px 0; }
.pl-art__body figcaption{ font-size:13px; color:var(--pl-muted2); text-align:center; margin-top:8px; }
.pl-art__tags{ display:flex; flex-wrap:wrap; gap:10px; margin:44px 0 8px; padding-top:32px; border-top:1px solid var(--pl-border); }
.pl-art__tags span{ font-size:12px; font-weight:600; color:#4B5563; background:#F3F4F6; padding:8px 16px; border-radius:9999px; }
.pl-related{ max-width:1260px; margin:0 auto; padding:64px 24px 8px; }
.pl-related__head{ display:flex; align-items:center; gap:12px; margin-bottom:28px; }
.pl-related__head span.line{ width:32px; height:2px; background:var(--pl-orange); display:block; }
.pl-related__head h2{ font-size:13px; font-weight:700; letter-spacing:.18em; color:var(--pl-ink); text-transform:uppercase; margin:0; }
.pl-related .pl-grid{ grid-template-columns:repeat(3,1fr); gap:28px; }
@media (max-width:900px){ .pl-related .pl-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:600px){ .pl-related .pl-grid{ grid-template-columns:1fr; } }
/* Blog CTA band (request-a-quote), replaces old .pl-news subscribe bar */
.pl-cta__btn{ transition:all .2s cubic-bezier(.25,.46,.45,.94); }
.pl-cta__btn--primary:hover{ background:#D96E10 !important; transform:translateY(-1px); }
.pl-cta__btn--ghost:hover{ background:rgba(255,255,255,0.14) !important; border-color:rgba(255,255,255,0.5) !important; }

/* remove white gap between dark CTA band and blue footer — index, staging + all articles (pl-blog-footer-gap) */
/* real gap = .foo-bottom margin-top:50px (.foo-top is display:none), NOT the template-part wrapper */
body.page-id-13 .pl-cta, body.page-id-12204 .pl-cta, body.pl-blog-single .pl-cta{ margin-bottom:0 !important; }
body.page-id-13 .foo-bottom, body.page-id-12204 .foo-bottom, body.pl-blog-single .foo-bottom{ margin-top:0 !important; margin-block-start:0 !important; }

/* ===== pl-rich-refactor: article rich blocks + CTA, moved from inline (pixel-parity) ===== */
.pl-art__body .pl-p-20{ margin:0 0 20px; }
.pl-art__body .pl-stat{ display:grid; grid-template-columns:repeat(4,1fr); gap:0; margin:40px 0; border:1px solid #E5E7EB; border-radius:12px; overflow:hidden; }
.pl-art__body .pl-stat__cell{ padding:24px 20px; text-align:center; border-right:1px solid #E5E7EB; }
.pl-art__body .pl-stat__cell:last-child{ border-right:0; }
.pl-art__body .pl-stat__num{ font-size:30px; font-weight:800; color:#F5821F; letter-spacing:-0.02em; line-height:1; }
.pl-art__body .pl-stat__label{ font-size:10px; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; color:#9CA3AF; margin-top:8px; }
.pl-art__body .pl-table{ margin:8px 0 40px; border:1px solid #E5E7EB; border-radius:12px; overflow:hidden; }
.pl-art__body .pl-table table{ width:100%; border-collapse:collapse; font-size:14px; line-height:1.55; }
.pl-art__body .pl-table thead tr{ background:#F8FAFC; }
.pl-art__body .pl-table th{ text-align:left; padding:14px 18px; font-size:10px; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; color:#15253D; border-bottom:1px solid #E5E7EB; }
.pl-art__body .pl-table th:first-child{ width:74px; }
.pl-art__body .pl-table td{ padding:16px 18px; border-bottom:1px solid #F1F3F5; vertical-align:top; color:#374151; }
.pl-art__body .pl-table tbody tr:last-child td{ border-bottom:0; }
.pl-art__body .pl-table td:first-child{ font-weight:800; color:#F5821F; }
.pl-art__body .pl-table td:nth-child(3){ color:#6B7280; }
.pl-cta{ position:relative; overflow:hidden; margin-top:72px; padding:80px 24px; border-top:1px solid rgba(255,255,255,0.1); background:linear-gradient(135deg,#16253D 0%,#1B2E4A 52%,#213754 100%); }
.pl-cta .pl-cta__grid{ position:absolute; inset:0; pointer-events:none; opacity:0.9; background-image:linear-gradient(rgba(255,255,255,0.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,0.045) 1px,transparent 1px); background-size:28px 28px; }
.pl-cta .pl-cta__glow{ position:absolute; inset:0; pointer-events:none; background:radial-gradient(circle at 50% 14%,rgba(245,130,31,0.10) 0%,transparent 18%),radial-gradient(circle at 50% 50%,rgba(255,255,255,0.04) 0%,transparent 36%); }
.pl-cta .pl-cta__inner{ position:relative; z-index:1; max-width:720px; margin:0 auto; text-align:center; }
.pl-cta .pl-cta__eyebrow{ display:inline-flex; align-items:center; gap:12px; margin-bottom:20px; }
.pl-cta .pl-cta__eyebrow-line{ width:28px; height:1px; background:rgba(245,130,31,0.9); display:block; }
.pl-cta .pl-cta__eyebrow-txt{ font-size:11px; font-weight:700; letter-spacing:0.22em; color:#F5821F; text-transform:uppercase; }
.pl-cta .pl-cta__title{ font-family:Inter,system-ui,sans-serif; font-weight:800; color:#fff; line-height:1.05; letter-spacing:-0.035em; margin:0 0 20px; font-size:clamp(2.1rem,3.6vw,3.4rem); }
.pl-cta .pl-cta__lede{ font-size:16px; line-height:1.7; color:rgba(255,255,255,0.72); max-width:600px; margin:0 auto 32px; }
.pl-cta .pl-cta__btns{ display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:12px; }
.pl-cta .pl-cta__btn{ display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:15px 30px; border-radius:9999px; font-size:12px; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; text-decoration:none; }
.pl-cta .pl-cta__btn--primary{ background:#F5821F; color:#fff; box-shadow:0 12px 28px rgba(245,130,31,0.24); }
.pl-cta .pl-cta__btn--ghost{ background:rgba(255,255,255,0.06); color:#fff; border:1px solid rgba(255,255,255,0.22); }
.pl-cta .pl-cta__fine{ font-size:12px; color:rgba(255,255,255,0.5); margin:20px 0 0; }