:root{
  --pxml-accent: var(--fs-color-primary, #d18a2f);
  --pxml-accent-strong: #b9781f;
  --pxml-accent-soft: #f7e7d1;
  --pxml-ink: #172033;
  --pxml-muted: #5d6777;
  --pxml-bg: #ffffff;
  --pxml-surface: #f7f8fb;
  --pxml-border: #dfe4ec;
  --pxml-dark: #101623;
  --pxml-radius: 22px;
  --pxml-shadow: 0 18px 48px rgba(16,22,35,.08);
  --pxml-wrap: 1180px;
  --pxml-wrap-narrow: 860px;
  --pxml-space-lg: clamp(2.75rem, 6vw, 5.75rem);
}
.pxml-legacy{font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;color:var(--pxml-ink);line-height:1.65;background:var(--pxml-bg);clear:both}
.pxml-legacy *{box-sizing:border-box}
.pxml-legacy a{color:inherit}
.pxml-wrap{width:min(calc(100% - 2rem), var(--pxml-wrap));margin-inline:auto}
.pxml-panel{padding:var(--pxml-space-lg) 0;border-top:1px solid rgba(223,228,236,.82)}
.pxml-panel--soft{background:var(--pxml-surface)}
.pxml-panel--index{background:linear-gradient(180deg,#ffffff 0%,#f4f6fa 100%)}
.pxml-section-head{max-width:860px;margin-bottom:1.5rem}
.pxml-kicker{display:inline-flex;align-items:center;width:max-content;max-width:100%;padding:.4rem .8rem;border-radius:999px;background:var(--pxml-accent-soft);color:var(--pxml-accent-strong);font-size:.82rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;margin-bottom:.85rem}
.pxml-legacy h2{margin:0 0 .85rem;font-size:clamp(1.45rem,2.35vw,2.25rem);line-height:1.15;letter-spacing:-.02em;color:var(--pxml-ink)}
.pxml-legacy h3{margin:0 0 .55rem;font-size:1.05rem;line-height:1.3;color:var(--pxml-ink)}
.pxml-lead,.pxml-legacy p{color:var(--pxml-muted)}
.pxml-lead{margin:0;font-size:clamp(1rem,1.35vw,1.13rem);max-width:72ch}
.pxml-link-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.pxml-link-card{background:#fff;border:1px solid var(--pxml-border);border-radius:20px;padding:1.1rem 1.15rem;box-shadow:var(--pxml-shadow);display:flex;flex-direction:column;gap:.55rem;min-height:100%}
.pxml-link-card strong{font-size:1rem;line-height:1.3;color:var(--pxml-ink)}
.pxml-link-card p{margin:0;font-size:.95rem}
.pxml-card-kicker{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--pxml-muted);font-weight:800}
.pxml-text-link{margin-top:auto;display:inline-flex;align-items:center;width:max-content;max-width:100%;font-weight:800;text-decoration:none;color:var(--pxml-accent-strong);border-bottom:1px solid transparent}
.pxml-text-link:hover{border-bottom-color:currentColor}
.pxml-faq-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.pxml-faq-card{background:#fff;border:1px solid var(--pxml-border);border-radius:20px;padding:1.15rem;box-shadow:var(--pxml-shadow)}
.pxml-faq-card p{margin:0}
.pxml-cta{padding:var(--pxml-space-lg) 0;background:linear-gradient(135deg,#111827 0%,#172033 100%);color:#fff;text-align:center}
.pxml-cta h2{color:#fff;text-align:center;margin:0 0 .85rem}
.pxml-cta p{color:rgba(255,255,255,.86);margin:0 auto 1.2rem;max-width:760px}
.pxml-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.9rem 1.2rem;border-radius:999px;text-decoration:none;font-weight:800;background:var(--pxml-accent);color:#111;border:1px solid transparent;transition:.2s ease}
.pxml-btn:hover{transform:translateY(-1px)}
.pxml-directory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.25rem}
.pxml-index-group{background:#fff;border:1px solid var(--pxml-border);border-radius:20px;padding:1.1rem 1.15rem;box-shadow:var(--pxml-shadow)}
.pxml-index-group ul{margin:.5rem 0 0;padding-left:1.1rem;display:grid;gap:.35rem}
.pxml-index-group a{color:var(--pxml-accent-strong);font-weight:700;text-decoration:none}
.pxml-index-group a:hover{text-decoration:underline}
.pxml-preview{background:#fff;margin:0;padding:0}
.pxml-preview-head{width:min(calc(100% - 2rem), var(--pxml-wrap));margin:1rem auto;padding:1rem;border:1px solid var(--pxml-border);border-radius:16px;background:#fff;color:var(--pxml-muted)}
.pxml-preview-head p{margin:.25rem 0}
@media (max-width: 1080px){.pxml-link-grid,.pxml-faq-grid,.pxml-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width: 720px){.pxml-panel{padding:2.35rem 0}.pxml-link-grid,.pxml-faq-grid,.pxml-directory-grid{grid-template-columns:1fr}.pxml-btn{width:100%}.pxml-legacy h2{font-size:1.55rem}}
/* V8.1 contrast safety for generated legacy blocks. */
.pxml-legacy .pxml-cta,
.pxml-legacy .pxml-cta h2{
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
}
.pxml-legacy .pxml-cta p{
  color:rgba(255,255,255,.9)!important;
  -webkit-text-fill-color:rgba(255,255,255,.9)!important;
}
.pxml-legacy a.pxml-btn,
.pxml-legacy a.pxml-btn:link,
.pxml-legacy a.pxml-btn:visited,
.pxml-legacy a.pxml-btn:hover,
.pxml-legacy a.pxml-btn:focus{
  background:var(--pxml-accent)!important;
  border-color:var(--pxml-accent)!important;
  color:#111827!important;
  -webkit-text-fill-color:#111827!important;
  text-decoration:none!important;
}
.pxml-legacy a.pxml-text-link,
.pxml-legacy a.pxml-text-link:link,
.pxml-legacy a.pxml-text-link:visited{
  color:var(--pxml-accent-strong)!important;
  -webkit-text-fill-color:var(--pxml-accent-strong)!important;
  text-decoration:none!important;
}


/* V8.2 city-service route fix. Keeps city hub links aligned to same-city service pages before generic service fallbacks. */
.pxml-city-route-fix .pxml-city-service-grid{align-items:stretch}
.pxml-city-route-fix .pxml-link-card{position:relative;overflow:hidden}
.pxml-city-route-fix .pxml-link-card::before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:linear-gradient(90deg,var(--pxml-accent),rgba(209,138,47,.18));opacity:.95}
.pxml-city-more{margin-top:1rem;border:1px solid var(--pxml-border);border-radius:20px;background:#fff;box-shadow:var(--pxml-shadow);padding:1rem 1.1rem;display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr);gap:1rem;align-items:center}
.pxml-city-more p{margin:.25rem 0 0;color:var(--pxml-muted)}
.pxml-city-more__links{display:flex;flex-wrap:wrap;gap:.55rem}
.pxml-city-more__links a{display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(185,120,31,.32);background:var(--pxml-accent-soft);color:var(--pxml-accent-strong)!important;-webkit-text-fill-color:var(--pxml-accent-strong)!important;text-decoration:none!important;border-radius:999px;padding:.48rem .72rem;font-weight:800;font-size:.88rem;line-height:1.2}
.pxml-city-more__links a:hover{text-decoration:underline!important}
@media (max-width: 840px){.pxml-city-more{grid-template-columns:1fr}}

/* PX Media V8.3 square-corner and spacing correction.
   Keeps generated legacy append blocks aligned with the updated no-radius design direction. */
.pxml-legacy{--pxml-radius:0!important;--pxml-space-lg:clamp(4rem,6vw,5.5rem)!important;}
body .pxml-legacy,
body .pxml-legacy *,
body .pxml-legacy *::before,
body .pxml-legacy *::after{
  border-radius:0!important;
}
.pxml-legacy .pxml-panel{padding:var(--pxml-space-lg) 0!important;}
.pxml-legacy .pxml-link-grid,
.pxml-legacy .pxml-faq-grid,
.pxml-legacy .pxml-directory-grid{gap:clamp(1rem,2vw,1.35rem)!important;}
.pxml-legacy .pxml-link-card,
.pxml-legacy .pxml-faq-card,
.pxml-legacy .pxml-index-group,
.pxml-legacy .pxml-city-more,
.pxml-legacy .pxml-btn,
.pxml-legacy .pxml-kicker,
.pxml-legacy .pxml-preview-head,
.pxml-legacy .pxml-city-more__links a{border-radius:0!important;}
@media (max-width:720px){.pxml-legacy .pxml-panel{padding:2.8rem 0!important;}}



/* V8.4 Divi integration wrapper reset: preserves existing generated legacy design inside Divi Builder modules. */
body .pxmedia-legacy-divi-section.et_pb_section{padding:0!important;margin:0!important;background:transparent!important;}
body .pxmedia-legacy-divi-section .pxmedia-legacy-divi-row.et_pb_row{width:100%!important;max-width:none!important;padding:0!important;margin:0!important;}
body .pxmedia-legacy-divi-section .et_pb_column,
body .pxmedia-legacy-divi-section .et_pb_module,
body .pxmedia-legacy-divi-section .et_pb_text_inner{padding:0!important;margin:0!important;max-width:none!important;}
body .pxmedia-legacy-divi-section .et_pb_text_inner > .pxml-legacy{margin:0!important;}
body .pxmedia-legacy-divi-section, body .pxmedia-legacy-divi-section *{border-radius:0!important;}


/* V8.6 generated legacy spacing and square-corner correction.
   Keeps all appended legacy blocks consistent with the homepage and V7 generated-content design system. */
.pxml-legacy,
.pxmedia-legacy-divi-section{
  --pxml-radius:0!important;
  --pxml-space-lg:clamp(4rem,6vw,5.5rem)!important;
}
body .pxml-legacy,
body .pxml-legacy *,
body .pxml-legacy *::before,
body .pxml-legacy *::after,
body .pxmedia-legacy-divi-section,
body .pxmedia-legacy-divi-section *,
body .pxmedia-legacy-divi-section *::before,
body .pxmedia-legacy-divi-section *::after{
  border-radius:0!important;
}
body .pxml-legacy .pxml-panel,
body .pxml-legacy .pxml-cta{
  padding-top:var(--pxml-space-lg)!important;
  padding-bottom:var(--pxml-space-lg)!important;
}
body .pxml-legacy .pxml-wrap{
  width:min(calc(100% - 40px),var(--pxml-wrap))!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
body .pxml-legacy .pxml-section-head{
  max-width:900px!important;
  margin-top:0!important;
  margin-bottom:clamp(28px,3vw,42px)!important;
}
body .pxml-legacy .pxml-kicker{
  display:flex!important;
  width:max-content!important;
  max-width:100%!important;
  margin:0 0 clamp(12px,1.1vw,16px)!important;
  border-radius:0!important;
}
body .pxml-legacy h2,
body .pxml-legacy h3{
  margin-top:0!important;
}
body .pxml-legacy .pxml-link-grid,
body .pxml-legacy .pxml-faq-grid,
body .pxml-legacy .pxml-directory-grid{
  gap:clamp(1.1rem,2vw,1.55rem)!important;
}
body .pxml-legacy .pxml-link-card,
body .pxml-legacy .pxml-faq-card,
body .pxml-legacy .pxml-index-group,
body .pxml-legacy .pxml-city-more,
body .pxml-legacy .pxml-btn,
body .pxml-legacy .pxml-kicker,
body .pxml-legacy .pxml-preview-head,
body .pxml-legacy .pxml-city-more__links a{
  border-radius:0!important;
}
body .pxml-legacy .pxml-link-card strong,
body .pxml-legacy .pxml-faq-card h3{
  font-weight:900!important;
}
body .pxml-legacy .pxml-link-card p,
body .pxml-legacy .pxml-faq-card p{
  font-weight:500!important;
  line-height:1.62!important;
}
body .pxmedia-legacy-divi-section.et_pb_section{padding:0!important;margin:0!important;background:transparent!important;}
body .pxmedia-legacy-divi-section .pxmedia-legacy-divi-row.et_pb_row{width:100%!important;max-width:none!important;padding:0!important;margin:0!important;}
body .pxmedia-legacy-divi-section .et_pb_column,
body .pxmedia-legacy-divi-section .et_pb_module,
body .pxmedia-legacy-divi-section .et_pb_text_inner{padding:0!important;margin:0!important;max-width:none!important;}
body .pxmedia-legacy-divi-section .et_pb_text_inner > .pxml-legacy{margin:0!important;}
@media (max-width:720px){
  body .pxml-legacy .pxml-panel,
  body .pxml-legacy .pxml-cta{padding-top:2.9rem!important;padding-bottom:2.9rem!important;}
  body .pxml-legacy .pxml-wrap{width:min(calc(100% - 24px),var(--pxml-wrap))!important;}
}

