/* Approved public editorial templates. Local implementation; CMS and SEO remain authoritative. */

/* Component layout replaces the templates' former unscoped inline design blocks. */
html:root body.psfm-approved-shell .psfm-approved-editorial .psfm-projects-page { padding-block:28px 56px!important; }
html:root body.psfm-approved-shell .psfm-approved-editorial .psfm-project-grid { display:grid; }
html:root body.psfm-approved-shell .psfm-approved-editorial .psfm-project-card { display:flex; flex-direction:column; height:100%; }
html:root body.psfm-approved-shell .psfm-approved-editorial .psfm-project-card-body { display:flex; flex-direction:column; flex:1; gap:12px; }
html:root body.psfm-approved-shell .psfm-approved-editorial .psfm-project-card-body .theme-btn { margin-top:auto; }
html:root body.psfm-approved-shell .psfm-approved-editorial .psfm-project-media-badge { position:absolute; top:12px; inset-inline-start:12px; padding:4px 9px; border-radius:4px; }
html:root body.psfm-approved-shell .psfm-approved-editorial .psfm-project-media-caption { position:absolute; bottom:12px; inset-inline-start:12px; padding:4px 9px; border-radius:4px; }
html:root body.psfm-approved-shell .psfm-approved-editorial .psfm-project-support { margin-top:36px; }
html:root body.psfm-approved-shell .psfm-approved-editorial .psfm-project-support-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:20px; }
html:root body.psfm-approved-shell .psfm-approved-editorial .psfm-blog-grid { row-gap:24px; }
html:root body.psfm-approved-shell .psfm-approved-editorial .psfm-blog-grid > [class*="col-"] { display:flex; min-width:0; }
html:root body.psfm-approved-shell .psfm-approved-editorial .psfm-blog-card { display:flex; flex-direction:column; height:100%; width:100%; }
html:root body.psfm-approved-shell .psfm-approved-editorial .psfm-blog-card .blog-item-img { flex-shrink:0; }
html:root body.psfm-approved-shell .psfm-approved-editorial .psfm-blog-card .blog-item-info { display:flex; flex:1; flex-direction:column; gap:10px; }
html:root body.psfm-approved-shell .psfm-approved-editorial .psfm-blog-category-pill { position:static; padding:0; border:0; text-transform:uppercase; font-size:11px; font-weight:700; letter-spacing:.035em; }
html:root body.psfm-approved-shell .psfm-approved-editorial .psfm-blog-card .blog-meta { margin:0; font-size:12px; }
html:root body.psfm-approved-shell .psfm-approved-editorial .psfm-blog-card .blog-meta ul { padding:0; margin:0; }
html:root body.psfm-approved-shell .psfm-approved-editorial .psfm-blog-card .blog-title { margin:0; }
html:root body.psfm-approved-shell .psfm-approved-editorial .psfm-blog-card-actions { display:flex; flex-direction:column; gap:12px; margin-top:auto; padding-top:8px; }
html:root body.psfm-approved-shell .psfm-approved-editorial .psfm-blog-card-actions .blog-quote-link { align-self:center; color:#142d4e; font-weight:650; text-decoration:underline; }
html:root body.psfm-approved-shell .psfm-approved-editorial :is(.psfm-blog-quick-card,.psfm-blog-support-card) { display:flex; gap:16px; align-items:flex-start; padding:18px; height:100%; }
html:root body.psfm-approved-shell .psfm-approved-editorial :is(.psfm-blog-quick-card,.psfm-blog-support-card) > span { width:42px; height:42px; flex:0 0 42px; display:grid; place-items:center; font-size:22px; }
html:root body.psfm-approved-shell .psfm-approved-editorial :is(.psfm-blog-quick-card,.psfm-blog-support-card) p { margin:4px 0 0; font-size:14px; line-height:1.5; }
html:root body.psfm-approved-shell .psfm-approved-editorial .psfm-blog-support { margin-top:40px; border-top:1px solid var(--editorial-line); padding-top:28px; }
html:root body.psfm-approved-shell .psfm-approved-editorial .psfm-blog-support-card h3 { font-size:17px; margin:0; }
html:root body.psfm-approved-shell .psfm-approved-editorial .psfm-blog-empty-state { display:flex; align-items:center; gap:28px; padding:28px; border:1px solid var(--editorial-line); border-radius:6px; background:#f8f9fb; margin-block:20px 30px; }
html:root body.psfm-approved-shell .psfm-approved-editorial .psfm-blog-empty-actions { display:flex; flex-direction:column; gap:12px; flex:0 0 220px; }
html:root body.psfm-approved-shell .psfm-approved-editorial .psfm-blog-empty-actions a { display:flex; align-items:center; gap:10px; border:1px solid var(--editorial-line); background:#fff; padding:12px; color:#142d4e; }
html:root body.psfm-approved-shell .psfm-approved-editorial .blog-share-list { display:flex; gap:10px; flex-wrap:wrap; list-style:none; padding:0; margin:12px 0; }
html:root body.psfm-approved-shell .psfm-approved-editorial .blog-share-link { display:grid; place-items:center; width:44px; height:44px; }
html:root body.psfm-approved-shell .psfm-approved-editorial #social-links ul { display:flex; flex-wrap:wrap; gap:10px; padding:0; list-style:none; }
html:root body.psfm-approved-shell .psfm-approved-editorial #social-links ul li { margin:0; padding:0; }
html:root body.psfm-approved-shell .psfm-approved-editorial #social-links ul li a { display:grid; place-items:center; width:44px; height:44px; font-size:19px; }
html:root body.psfm-approved-shell .psfm-approved-editorial .client-exposure-page-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
html:root body.psfm-approved-shell .psfm-approved-editorial .client-exposure-page-card { min-height:170px; padding:24px; display:grid; align-content:start; gap:12px; }
html:root body.psfm-approved-shell .psfm-approved-editorial .client-exposure-page-card i { color:var(--editorial-red); font-size:28px; }
html:root body.psfm-approved-shell .psfm-approved-editorial .client-exposure-page-card strong { color:var(--editorial-ink); }
html:root body.psfm-approved-shell .psfm-approved-editorial .client-logo-page-card { place-items:center; align-content:center; min-height:128px; padding:20px; }
html:root body.psfm-approved-shell .psfm-approved-editorial .client-logo-page-card img { width:min(180px,100%); height:82px; }
@media (max-width:991.98px) {
  html:root body.psfm-approved-shell .psfm-approved-editorial .client-exposure-page-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:767.98px) {
  html:root body.psfm-approved-shell .psfm-approved-editorial .psfm-blog-empty-state { flex-direction:column; align-items:stretch; padding:20px; }
  html:root body.psfm-approved-shell .psfm-approved-editorial .psfm-blog-empty-actions { flex-basis:auto; }
  html:root body.psfm-approved-shell .psfm-approved-editorial .client-exposure-page-grid { grid-template-columns:1fr; }
  html:root body.psfm-approved-shell .psfm-approved-editorial .client-logo-page-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  html:root body.psfm-approved-shell .psfm-approved-editorial .client-logo-page-card { min-height:112px; padding:12px; }
  html:root body.psfm-approved-shell .psfm-approved-editorial .psfm-project-support-actions { flex-direction:column; }
}

html:root body.psfm-approved-shell .psfm-approved-editorial {
  --editorial-ink:#111318; --editorial-copy:#414854; --editorial-red:#c8102e;
  --editorial-line:#e2e6ed; --editorial-paper:#fff;
  background:var(--editorial-paper); color:var(--editorial-copy);
  font-size:16px; line-height:1.65;
}
html:root body.psfm-approved-shell .psfm-approved-editorial *,
html:root body.psfm-approved-shell .psfm-approved-editorial *::before,
html:root body.psfm-approved-shell .psfm-approved-editorial *::after { box-sizing:border-box; }
html:root body.psfm-approved-shell .psfm-approved-editorial .container { width:min(100%,1200px); max-width:1200px; padding-inline:24px; }
html:root body.psfm-approved-shell .psfm-approved-editorial :is(h1,h2,h3,h4,.site-title,.site-title span) { color:var(--editorial-ink)!important; text-shadow:none; overflow-wrap:anywhere; }
html:root body.psfm-approved-shell .psfm-approved-editorial h1 { font-size:clamp(28px,2.5vw,36px)!important; line-height:1.14!important; letter-spacing:-.025em; font-weight:700; margin:10px 0 14px; }
html:root body.psfm-approved-shell .psfm-approved-editorial h2 { font-size:clamp(23px,2.3vw,30px); line-height:1.3; }
html:root body.psfm-approved-shell .psfm-approved-editorial p { color:var(--editorial-copy)!important; line-height:1.65; }
html:root body.psfm-approved-shell .psfm-approved-editorial :is(.site-title-tagline,.blog-detail-eyebrow) { display:block; color:var(--editorial-red)!important; font-size:12px; font-weight:750; line-height:1.5; letter-spacing:.09em; text-transform:uppercase; margin-bottom:10px; }
html:root body.psfm-approved-shell .psfm-approved-editorial .site-title-tagline::before { display:none; }
html:root body.psfm-approved-shell .psfm-approved-editorial .site-breadcrumb { padding:0!important; background:#fff!important; }
html:root body.psfm-approved-shell .psfm-approved-editorial .site-breadcrumb-wrapper { padding:26px 0 12px!important; min-height:0!important; background:#fff!important; border:0!important; box-shadow:none!important; }
html:root body.psfm-approved-shell .psfm-approved-editorial .site-breadcrumb-wrapper::before,
html:root body.psfm-approved-shell .psfm-approved-editorial .site-breadcrumb-wrapper::after { display:none!important; }
html:root body.psfm-approved-shell .psfm-approved-editorial .breadcrumb-menu { position:static!important; display:flex!important; flex-wrap:wrap; gap:10px; padding:0!important; margin:0 0 22px!important; font-size:13px!important; }
html:root body.psfm-approved-shell .psfm-approved-editorial .breadcrumb-menu :is(li,a,i) { color:#525c6b!important; font-size:inherit; }
html:root body.psfm-approved-shell .psfm-approved-editorial .breadcrumb-menu li.active { color:var(--editorial-red)!important; }
.psfm-approved-editorial .breadcrumb-menu li + li::before { content:"/"; margin-inline-end:10px; color:#76818d; }
html:root body.psfm-approved-shell .psfm-approved-editorial .psfm-breadcrumb-summary { max-width:none; font-size:17px; margin:0 0 20px; }
html:root body.psfm-approved-shell .psfm-approved-editorial .psfm-breadcrumb-chips { display:flex; flex-wrap:wrap; gap:10px 24px; margin-block:20px 0; }
html:root body.psfm-approved-shell .psfm-approved-editorial .psfm-breadcrumb-chips span { display:inline-flex; align-items:center; gap:6px; color:var(--editorial-copy)!important; background:#fff!important; border:0!important; padding:0; font-size:13px; }
html:root body.psfm-approved-shell .psfm-approved-editorial .psfm-breadcrumb-chips i { color:var(--editorial-red)!important; }
html:root body.psfm-approved-shell .psfm-approved-editorial .hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin:20px 0 0; }
html:root body.psfm-approved-shell .psfm-approved-editorial :is(.theme-btn,.theme-btn-white) { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:46px; padding:12px 20px; border-radius:5px!important; border:1px solid var(--editorial-red)!important; background:var(--editorial-red)!important; color:#fff!important; box-shadow:none!important; font-size:14px!important; font-weight:700; line-height:1.45; text-transform:none; white-space:normal; text-align:center; }
html:root body.psfm-approved-shell .psfm-approved-editorial .theme-btn-white { background:#fff!important; color:#142d4e!important; border-color:#142d4e!important; }
html:root body.psfm-approved-shell .psfm-approved-editorial :is(.theme-btn,.theme-btn-white)::before,html:root body.psfm-approved-shell .psfm-approved-editorial :is(.theme-btn,.theme-btn-white)::after { display:none!important; }
html:root body.psfm-approved-shell .psfm-approved-editorial a:focus-visible,
html:root body.psfm-approved-shell .psfm-approved-editorial summary:focus-visible { outline:3px solid #1263e8; outline-offset:4px; }
html:root body.psfm-approved-shell .psfm-approved-editorial a { overflow-wrap:anywhere; }
html:root body.psfm-approved-shell .psfm-approved-editorial [id] { scroll-margin-top:110px; }
html:root body.psfm-approved-shell .psfm-approved-editorial .psfm-editorial-split { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.08fr); align-items:center; gap:40px; }
html:root body.psfm-approved-shell .psfm-approved-editorial .psfm-editorial-hero-photo { margin:0; min-width:0; }
html:root body.psfm-approved-shell .psfm-approved-editorial .psfm-editorial-hero-photo img { display:block; width:100%!important; height:auto!important; max-height:230px; object-fit:contain!important; border-radius:6px; }
html:root body.psfm-approved-shell .psfm-approved-editorial .psfm-editorial-capabilities { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; padding-block:26px; margin-top:32px; border-block:1px solid var(--editorial-line); }
html:root body.psfm-approved-shell .psfm-approved-editorial .psfm-editorial-capabilities span { display:flex; align-items:center; gap:14px; font-size:16px; font-weight:700; color:var(--editorial-ink); }
html:root body.psfm-approved-shell .psfm-approved-editorial .psfm-editorial-capabilities i { font-size:26px; color:var(--editorial-red); }
html:root body.psfm-approved-shell .psfm-approved-editorial .psfm-blog-area { padding:24px 0 56px!important; background:#fff!important; }
html:root body.psfm-approved-shell .psfm-approved-editorial .psfm-blog-area > .container { display:flex; flex-direction:column; }
html:root body.psfm-approved-shell .psfm-approved-editorial .psfm-blog-quick-paths { order:-1; margin-bottom:30px; }
html:root body.psfm-approved-shell .psfm-approved-editorial .psfm-blog-area > .container > .row:first-child .col-lg-6 { width:100%; max-width:none; }
html:root body.psfm-approved-shell .psfm-approved-editorial .psfm-blog-area .site-heading { text-align:start!important; margin-bottom:24px; }
html:root body.psfm-approved-shell .psfm-approved-editorial :is(.psfm-blog-quick-card,.psfm-blog-support-card) { border:1px solid var(--editorial-line); border-radius:6px; background:#fff; box-shadow:0 3px 14px rgba(20,35,53,.035); }
html:root body.psfm-approved-shell .psfm-approved-editorial :is(.psfm-blog-quick-card,.psfm-blog-support-card) > span { background:#fff1f3; color:var(--editorial-red); border-radius:7px; }
html:root body.psfm-approved-shell .psfm-approved-editorial :is(.psfm-blog-quick-card,.psfm-blog-support-card) h2 { font-size:16px; }
html:root body.psfm-approved-shell .psfm-approved-editorial :is(.psfm-blog-card,.psfm-project-card,.blog-item) { border:1px solid var(--editorial-line)!important; border-radius:6px!important; background:#fff!important; box-shadow:0 3px 14px rgba(20,35,53,.045)!important; overflow:hidden; transform:none!important; }
html:root body.psfm-approved-shell .psfm-approved-editorial :is(.psfm-blog-card,.psfm-project-card):hover { box-shadow:0 9px 24px rgba(20,35,53,.09)!important; }
html:root body.psfm-approved-shell .psfm-approved-editorial :is(.blog-item-img,.psfm-project-media) { display:block; position:relative; background:#f7f8fa!important; aspect-ratio:var(--editorial-media-ratio,16/10)!important; min-height:0!important; height:auto!important; overflow:hidden; }
html:root body.psfm-approved-shell .psfm-approved-editorial .psfm-project-media { --editorial-media-ratio:1; --editorial-media-fit:cover; --editorial-media-position:center 30%; }
html:root body.psfm-approved-shell .psfm-approved-editorial :is(.blog-item-img,.psfm-project-media) picture { display:block; position:absolute; inset:0; width:100%; height:100%; }
html:root body.psfm-approved-shell .psfm-approved-editorial :is(.blog-item-img,.psfm-project-media) img { width:100%!important; height:100%!important; max-height:none!important; object-fit:var(--editorial-media-fit,contain)!important; object-position:var(--editorial-media-position,center); transform:none!important; border-radius:0; }
html:root body.psfm-approved-shell .psfm-approved-editorial :is(.blog-item-info,.psfm-project-card-body) { padding:20px; }
html:root body.psfm-approved-shell .psfm-approved-editorial :is(.blog-item-info,.psfm-project-card-body) :is(h2,h3,.blog-title) { font-size:21px; line-height:1.35; }
html:root body.psfm-approved-shell .psfm-approved-editorial :is(.psfm-blog-category-pill,.psfm-project-media-badge,.psfm-project-media-caption) { color:#414854!important; background:#fff!important; border:1px solid var(--editorial-line); box-shadow:none; font-size:12px; }
html:root body.psfm-approved-shell .psfm-approved-editorial .psfm-blog-card .blog-text { display:block; -webkit-line-clamp:unset; overflow:visible; }
html:root body.psfm-approved-shell .psfm-approved-editorial .psfm-project-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
html:root body.psfm-approved-shell .psfm-approved-editorial .psfm-project-card-body .theme-btn { padding:0; min-height:44px; justify-content:start; color:var(--editorial-red)!important; background:none!important; border:0!important; }
html:root body.psfm-approved-shell .psfm-approved-editorial :is(.psfm-project-support,.psfm-project-cta,.blog-support-cta) { background:#fff!important; border:1px solid var(--editorial-line)!important; color:var(--editorial-copy)!important; border-radius:6px!important; box-shadow:none!important; padding:26px; }
html:root body.psfm-approved-shell .psfm-approved-editorial .psfm-editorial-empty-note { border-inline-start:3px solid var(--editorial-red); padding-inline-start:16px; }
html:root body.psfm-approved-shell .psfm-approved-editorial .psfm-project-capability-disclosure { border-inline-start:3px solid var(--editorial-red); padding:10px 14px; margin:0; color:#39495b; background:#f7f8fa; line-height:1.55; font-size:14px; }
html:root body.psfm-approved-shell .psfm-approved-editorial .bg-gray-100 { background:#fff!important; padding-top:12px!important; padding-bottom:50px!important; }
html:root body.psfm-approved-shell .psfm-approved-editorial .blog-detail-card { display:grid; grid-template-columns:minmax(0,1fr) 260px; column-gap:36px; background:#fff!important; border:0!important; border-radius:0!important; box-shadow:none!important; overflow:visible; }
html:root body.psfm-approved-shell .psfm-approved-editorial .psfm-editorial-article-heading { grid-column:1; grid-row:1; padding:0 0 18px; }
html:root body.psfm-approved-shell .psfm-approved-editorial .psfm-editorial-article-heading h1 { font-size:clamp(28px,2.5vw,36px)!important; }
html:root body.psfm-approved-shell .psfm-editorial-blog-single .psfm-editorial-article-heading { min-width:0; padding-block:0 clamp(24px,3vw,32px); }
html:root body.psfm-approved-shell .psfm-editorial-blog-single .blog-detail-summary { max-inline-size:68ch; margin-bottom:0; }
html:root body.psfm-approved-shell .psfm-approved-editorial .blog-detail-card > picture { display:block; grid-column:1; grid-row:2; aspect-ratio:16/9!important; width:100%; max-height:none!important; position:relative; background:#f7f8fa; overflow:hidden; }
html:root body.psfm-approved-shell .psfm-approved-editorial .blog-detail-card > picture img { position:absolute; inset:0; display:block; width:100%!important; height:100%!important; object-fit:contain!important; object-position:center!important; }
html:root body.psfm-approved-shell .psfm-approved-editorial .blog-detail-body { grid-column:1; grid-row:3; min-width:0; padding:clamp(24px,3vw,36px) 0!important; }
html:root body.psfm-approved-shell .psfm-approved-editorial .blog-detail-content { max-inline-size:72ch; font-size:17px; line-height:1.75; }
html:root body.psfm-approved-shell .psfm-approved-editorial .blog-detail-content :is(p,li) { line-height:1.8; }
html:root body.psfm-approved-shell .psfm-approved-editorial .blog-detail-content :is(h2,h3) { margin-block:32px 12px; }
html:root body.psfm-approved-shell .psfm-approved-editorial .blog-detail-content > :first-child { margin-top:0; }
html:root body.psfm-approved-shell .psfm-approved-editorial .blog-detail-content img { max-width:100%; height:auto!important; object-fit:contain!important; }
html:root body.psfm-approved-shell .psfm-approved-editorial .psfm-editorial-contents { grid-column:2; grid-row:1/4; align-self:start; min-width:0; position:sticky; top:104px; border:1px solid var(--editorial-line); border-radius:6px; padding:20px; background:#f7f9fc; }
html:root body.psfm-approved-shell .psfm-approved-editorial .psfm-editorial-contents summary { font-size:18px; font-weight:750; line-height:1.5; color:var(--editorial-ink); cursor:pointer; }
html:root body.psfm-approved-shell .psfm-approved-editorial .psfm-editorial-contents nav a { display:block; min-height:44px; padding-block:12px; color:var(--editorial-copy); border-bottom:1px solid var(--editorial-line); font-size:15px; line-height:1.5; }
html:root body.psfm-approved-shell .psfm-approved-editorial .psfm-editorial-contents nav a:last-child { border-bottom:0; }
html:root body.psfm-approved-shell .psfm-approved-editorial .psfm-editorial-sidebar-link { margin-top:28px; }
html:root body.psfm-approved-shell .psfm-approved-editorial .psfm-editorial-sidebar-link h2 { font-size:21px; }
html:root body.psfm-approved-shell .psfm-approved-editorial .psfm-editorial-sidebar-link a { display:block; margin-top:12px; color:var(--editorial-red); }
html:root body.psfm-approved-shell .psfm-approved-editorial :is(.blog-related-panel,.blog-related-links) { background:#fff!important; border-color:var(--editorial-line)!important; }
html:root body.psfm-approved-shell .psfm-approved-editorial .blog-related-list a { border-color:var(--editorial-line); }
html:root body.psfm-approved-shell .psfm-approved-editorial .blog-support-actions { display:flex; flex-wrap:wrap; gap:10px; }
html:root body.psfm-approved-shell .psfm-approved-editorial :is(.blog-share-link,#social-links ul li) { border:1px solid var(--editorial-line)!important; background:#fff!important; color:#142d4e!important; box-shadow:none!important; border-radius:5px; }
html:root body.psfm-approved-shell .psfm-approved-editorial .psfm-editorial-related { margin-top:24px; padding-top:24px; border-top:1px solid var(--editorial-line); }
html:root body.psfm-approved-shell .psfm-approved-editorial .psfm-editorial-related-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; margin-top:20px; }
html:root body.psfm-approved-shell .psfm-approved-editorial .psfm-editorial-related-card { display:grid; grid-template-columns:110px minmax(0,1fr); gap:14px; align-items:start; min-width:0; color:var(--editorial-ink); font-size:14px; line-height:1.45; }
html:root body.psfm-approved-shell .psfm-approved-editorial .psfm-editorial-related-card picture { display:block; aspect-ratio:1.25; background:#f7f8fa; }
html:root body.psfm-approved-shell .psfm-approved-editorial .psfm-editorial-related-card img { width:100%; height:100%; object-fit:contain; }
html:root body.psfm-approved-shell .psfm-approved-editorial .psfm-editorial-related-card span span { display:block; color:var(--editorial-red); margin-top:10px; }
html:root body.psfm-approved-shell .psfm-approved-editorial .project-detail-card { grid-template-columns:minmax(0,1fr) 300px; }
html:root body.psfm-approved-shell .psfm-approved-editorial .project-detail-card > .psfm-editorial-article-heading { grid-column:1/-1; }
html:root body.psfm-approved-shell .psfm-approved-editorial .project-detail-media { grid-column:1; grid-row:2; min-width:0; aspect-ratio:auto; position:static; display:grid; place-items:center; background:#fff; }
html:root body.psfm-approved-shell .psfm-approved-editorial .project-detail-media picture { display:block; position:static; width:100%; height:auto; }
html:root body.psfm-approved-shell .psfm-approved-editorial .project-detail-media img { display:block; width:auto!important; max-width:100%!important; height:auto!important; max-height:720px!important; object-fit:contain!important; margin-inline:auto; }
html:root body.psfm-approved-shell .psfm-approved-editorial .project-detail-card > .card-body { display:contents; }
html:root body.psfm-approved-shell .psfm-approved-editorial .psfm-editorial-project-description { grid-column:1; grid-row:3; padding-top:24px; min-width:0; }
html:root body.psfm-approved-shell .psfm-approved-editorial .project-detail-card .psfm-project-cta { grid-column:2; grid-row:2/4; align-self:start; display:block; position:sticky; top:104px; }
html:root body.psfm-approved-shell .psfm-approved-editorial .psfm-project-cta h2 { font-size:24px; }
html:root body.psfm-approved-shell .psfm-approved-editorial .psfm-project-cta-actions { display:flex; flex-direction:column; gap:12px; margin-top:22px; }
html:root body.psfm-approved-shell .psfm-approved-editorial .psfm-project-cta-actions [data-psfm-event="quote_click"] { order:-1; color:#fff!important; background:var(--editorial-red)!important; border-color:var(--editorial-red)!important; }
html:root body.psfm-approved-shell .psfm-approved-editorial .psfm-project-cta-actions [data-psfm-event="call_click"] { color:#142d4e!important; background:#eaf2fc!important; border-color:#c8d9ef!important; }
html:root body.psfm-approved-shell .psfm-approved-editorial .psfm-project-cta-actions [data-psfm-event="whatsapp_click"] { color:#075e36!important; background:#e8f7ed!important; border-color:#b4dfc3!important; }
html:root body.psfm-approved-shell .psfm-approved-editorial .project-detail-card .social-media { grid-column:1/-1; padding-top:22px; border-top:1px solid var(--editorial-line); }
html:root body.psfm-approved-shell .psfm-approved-editorial :is(.partner-area,.testimonial-area) { background:#fff!important; padding:20px 0 60px!important; }
html:root body.psfm-approved-shell .psfm-approved-editorial :is(.partner-area,.testimonial-area) .site-heading { max-width:860px; margin-inline:auto; }
html:root body.psfm-approved-shell .psfm-approved-editorial .testimonial-area .col-lg-6.mx-auto { width:100%; }
html:root body.psfm-approved-shell .psfm-approved-editorial :is(.testimonial-item,.psfm-google-review-panel,.client-exposure-page-card) { background:#fff!important; border:1px solid var(--editorial-line)!important; border-radius:6px!important; box-shadow:0 3px 14px rgba(20,35,53,.04)!important; }
html:root body.psfm-approved-shell .psfm-approved-editorial .testimonial-item { height:auto; min-height:0; margin-bottom:24px; text-align:start!important; }
html:root body.psfm-approved-shell .psfm-approved-editorial .testimonial-item::before,
html:root body.psfm-approved-shell .psfm-approved-editorial .testimonial-item::after { display:none; }
html:root body.psfm-approved-shell .psfm-approved-editorial .testimonial-author-img1 img { object-fit:contain!important; }
html:root body.psfm-approved-shell .psfm-approved-editorial .psfm-google-review-actions { display:flex; flex-wrap:wrap; gap:12px; }
html:root body.psfm-approved-shell .psfm-approved-editorial .client-exposure-page-card img { object-fit:contain; filter:none; }
@media (max-width:991.98px) {
  html:root body.psfm-approved-shell .psfm-approved-editorial .psfm-editorial-split { gap:24px; }
  html:root body.psfm-approved-shell .psfm-approved-editorial .psfm-project-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  html:root body.psfm-approved-shell .psfm-editorial-project-single .blog-detail-card { grid-template-columns:minmax(0,1fr) 220px; gap:24px; }
  html:root body.psfm-approved-shell .psfm-editorial-blog-single .blog-detail-card { grid-template-columns:minmax(0,1fr); gap:24px; }
  html:root body.psfm-approved-shell .psfm-approved-editorial .psfm-editorial-contents { grid-column:1; grid-row:3; position:static; padding:16px 20px; }
  html:root body.psfm-approved-shell .psfm-approved-editorial .blog-detail-body { grid-row:4; padding-top:0!important; }
  html:root body.psfm-approved-shell .psfm-approved-editorial .psfm-editorial-contents nav a { padding-block:10px; }
  html:root body.psfm-approved-shell .psfm-editorial-blog-single .psfm-editorial-article-heading { padding-bottom:0; }
  html:root body.psfm-approved-shell .psfm-approved-editorial .psfm-editorial-related-grid { grid-template-columns:1fr; }
}
@media (max-width:767.98px) {
  html:root body.psfm-approved-shell .psfm-approved-editorial .container { padding-inline:16px; }
  html:root body.psfm-approved-shell .psfm-approved-editorial .site-breadcrumb-wrapper { padding:18px 0 8px!important; }
  html:root body.psfm-approved-shell .psfm-approved-editorial .breadcrumb-menu { margin-bottom:16px!important; font-size:12px!important; }
  html:root body.psfm-approved-shell .psfm-approved-editorial .psfm-editorial-split,
  html:root body.psfm-approved-shell .psfm-approved-editorial .psfm-editorial-capabilities,
  html:root body.psfm-approved-shell .psfm-approved-editorial .psfm-project-grid,
  html:root body.psfm-approved-shell .psfm-approved-editorial .blog-detail-card { grid-template-columns:minmax(0,1fr); gap:22px; }
  html:root body.psfm-approved-shell .psfm-approved-editorial .psfm-editorial-capabilities { gap:0; padding-block:0; }
  html:root body.psfm-approved-shell .psfm-approved-editorial .psfm-editorial-capabilities span { padding-block:16px; border-bottom:1px solid var(--editorial-line); }
  html:root body.psfm-approved-shell .psfm-approved-editorial .psfm-editorial-hero-photo img { max-height:200px; }
  html:root body.psfm-approved-shell .psfm-approved-editorial .hero-actions { flex-direction:column; }
  html:root body.psfm-approved-shell .psfm-approved-editorial .hero-actions > a { width:100%; }
  html:root body.psfm-approved-shell .psfm-approved-editorial .psfm-blog-quick-paths { gap:12px; }
  html:root body.psfm-approved-shell .psfm-approved-editorial .psfm-blog-quick-paths > .col-md-4 { width:100%; }
  html:root body.psfm-approved-shell .psfm-approved-editorial .blog-detail-card > picture { grid-row:2; aspect-ratio:16/9!important; }
  html:root body.psfm-approved-shell .psfm-approved-editorial .project-detail-media img,
  html:root body.psfm-approved-shell .psfm-approved-editorial .psfm-project-working-photo img,
  html:root body.psfm-approved-shell .psfm-approved-editorial .psfm-project-working-gallery img { width:100%!important; max-height:none!important; height:auto!important; }
  html:root body.psfm-approved-shell .psfm-approved-editorial .psfm-editorial-project-description { grid-column:1; grid-row:3; padding-top:0; }
  html:root body.psfm-approved-shell .psfm-approved-editorial .project-detail-card .psfm-project-cta { grid-column:1; grid-row:4; position:static; }
  html:root body.psfm-approved-shell .psfm-approved-editorial .project-detail-card .social-media { grid-row:5; }
  html:root body.psfm-approved-shell .psfm-approved-editorial .psfm-editorial-related-grid { display:flex; overflow:auto; scroll-snap-type:x proximity; padding-bottom:12px; }
  html:root body.psfm-approved-shell .psfm-approved-editorial .psfm-editorial-related-card { flex-basis:86%; flex-shrink:0; grid-template-columns:90px minmax(0,1fr); scroll-snap-align:start; }
  html:root body.psfm-approved-shell .psfm-approved-editorial .blog-support-actions { flex-direction:column; }
}

/* Retire legacy dark-banner rules inside approved editorial templates only. */
html:root body.psfm-approved-shell .psfm-approved-editorial .site-breadcrumb .site-breadcrumb-wrapper > .container { display:block!important; text-align:start!important; margin-inline:auto!important; width:min(100%,1200px)!important; background:none!important; box-shadow:none!important; border:0!important; }
html:root body.psfm-approved-shell .psfm-approved-editorial .site-breadcrumb .site-breadcrumb-wrapper :is(h1,h2,h3,.breadcrumb-title,.site-title,.site-title span) { color:#111318!important; text-shadow:none!important; -webkit-text-fill-color:#111318!important; text-align:start!important; margin-inline:0!important; background:none!important; box-shadow:none!important; }
html:root body.psfm-approved-shell .psfm-approved-editorial .site-breadcrumb .site-breadcrumb-wrapper .breadcrumb-menu { background:none!important; box-shadow:none!important; border:0!important; border-radius:0!important; justify-content:flex-start!important; width:auto!important; max-width:none!important; }
html:root body.psfm-approved-shell .psfm-approved-editorial .site-breadcrumb .site-breadcrumb-wrapper .breadcrumb-menu::before,
html:root body.psfm-approved-shell .psfm-approved-editorial .site-breadcrumb .site-breadcrumb-wrapper .breadcrumb-menu::after,
html:root body.psfm-approved-shell .psfm-approved-editorial .site-breadcrumb::before,
html:root body.psfm-approved-shell .psfm-approved-editorial .site-breadcrumb::after { display:none!important; }
html:root body.psfm-approved-shell .psfm-approved-editorial .blog-detail-card > .blog-detail-image { grid-column:1; grid-row:2; display:block; width:100%!important; height:auto!important; max-height:470px; object-fit:contain!important; background:#f7f8fa; }
@media (max-width:767.98px) {
 html:root body.psfm-approved-shell .psfm-approved-editorial .site-breadcrumb .site-breadcrumb-wrapper > .container { padding-inline:16px!important; }
 html:root body.psfm-approved-shell .psfm-approved-editorial .blog-detail-card > .blog-detail-image { max-height:300px; }
}

@media (prefers-reduced-motion:reduce) {
  html:root body.psfm-approved-shell .psfm-approved-editorial * { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
}
/* Owner-supplied portrait working photos stay complete, never stretched into a banner. */
html:root body.psfm-approved-shell .psfm-approved-editorial .page-item.active .page-link { background: #b00e29 !important; border-color: #b00e29 !important; color: #fff !important; }
html:root body.psfm-approved-shell .psfm-approved-editorial .psfm-project-working-photo {display:block; max-width:620px; margin:24px auto; padding:0; border:0; background:#fff;}
html:root body.psfm-approved-shell .psfm-approved-editorial .psfm-project-working-photo img {display:block; width:auto; max-width:100%; max-height:720px; height:auto; object-fit:contain; margin-inline:auto;}
html:root body.psfm-approved-shell .psfm-approved-editorial .psfm-project-working-photo figcaption {font-size: 12px; line-height: 1.5; color: #545e6b;}
html:root body.psfm-approved-shell .psfm-approved-editorial .psfm-project-working-gallery {display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr)); gap:16px; margin:24px 0;}
html:root body.psfm-approved-shell .psfm-approved-editorial .psfm-project-working-gallery figure {margin:0; min-width:0; overflow:hidden; border:0; background:#fff;}
html:root body.psfm-approved-shell .psfm-approved-editorial .psfm-project-working-gallery img {display:block; width:auto; max-width:100%; height:auto; max-height:640px; object-fit:contain; margin:auto;}
