/* FLM legacy blocks: align the saved page families with the shared brand tokens.
   This layer changes presentation only. Dark media, status colors and controls
   keep their existing roles; compact app, table and legal sizes stay intact. */

html.flm-brand-system #page :is(.hlm-why,.city-wide,.fm-help,.fm-vertical-photos,.fm-contact-minimal,.fm-value-strip,.fm-compare-matrix,.cta-wide-section) {
  font-family:var(--flm-font-body,"DM Sans",Arial,sans-serif) !important;
  color:var(--flm-ink,#162444) !important;
}
html.flm-brand-system #page :is(.hlm-why,.city-wide,.fm-vertical-photos,.fm-contact-minimal,.fm-compare-matrix,.cta-wide-section) {
  background-color:#fff !important;
}
html.flm-brand-system #page :is(.hlm-why,.fm-help,.fm-value-strip) {
  border-color:var(--flm-line,#d5dfed) !important;
}
html.flm-brand-system #page :is(.fm-help,.fm-value-strip) {
  background-color:var(--flm-wash,#eef3fc) !important;
}

/* The older Frisco, Prosper and Celina content blocks. */
html.flm-brand-system #page :is(.hlm-why-title,.hlm-why-card-title,.city-wide-title,.city-step-title,.city-fill-title,.city-services-title,.fm-help-title,.fm-help-faq-title) {
  font-family:var(--flm-font-heading,Manrope,Arial,sans-serif) !important;
  font-weight:650 !important;
  color:var(--flm-ink,#162444) !important;
}
html.flm-brand-system #page :is(.fm-title,.hlm-why-title,.city-wide-title,.city-services-title,.fm-help-title,.fm-vertical-title,.fm-value-title,.fm-matrix-title,.cta-wide-title) {
  font-family:var(--flm-font-heading,Manrope,Arial,sans-serif) !important;
  font-weight:650 !important;font-size:clamp(28px,2.8vw,38px) !important;
  line-height:1.16 !important;letter-spacing:-.035em !important;
}
html.flm-brand-system #page :is(.hlm-why-card-text,.city-step-text,.city-wide-subtitle,.city-services-subtitle,.fm-help-subtitle) { font-size:16px !important;line-height:1.6 !important; }
html.flm-brand-system #page :is(.hlm-why-subtitle,.hlm-why-card-text,.hlm-why-note,.city-wide-subtitle,.city-step-text,.city-services-subtitle,.city-services-cta-note,.fm-help-subtitle,.fm-help-note) {
  color:var(--flm-muted,#4e5f7a) !important;
}
html.flm-brand-system #page :is(.hlm-why-cta-text,.city-services-cta-text,.city-softnote,.city-pill-v) {
  color:var(--flm-ink,#162444) !important;
  font-weight:600 !important;
}
html.flm-brand-system #page :is(.hlm-why-card,.city-card--steps,.city-softnote) {
  background:var(--flm-paper,#fbfcff) !important;
  border-color:var(--flm-line,#d5dfed) !important;
}
html.flm-brand-system #page :is(.city-card,.city-step + .city-step,.city-fill,.city-pill,.city-services-list,.city-services-cta) {
  border-color:var(--flm-line,#d5dfed) !important;
}
html.flm-brand-system #page :is(.hlm-why-kicker,.city-badge) {
  background:var(--flm-wash,#eef3fc) !important;
  border-color:var(--flm-line,#d5dfed) !important;
  color:var(--flm-muted,#4e5f7a) !important;
  font-weight:600 !important;
}
html.flm-brand-system #page .city-pill-k { color:var(--flm-muted,#4e5f7a) !important; }
html.flm-brand-system #page .city-services-list li { color:var(--flm-ink,#162444) !important; }
html.flm-brand-system #page .city-step-num {
  background:var(--flm-ink,#162444) !important;
  color:#fff !important;
  font-weight:600 !important;
}
html.flm-brand-system #page :is(.hlm-why-cta-btn,.city-btn-primary,.fm-help-btn) {
  background:var(--flm-blue,#2458cf) !important;
  border-color:var(--flm-blue,#2458cf) !important;
  color:#fff !important;
  font-family:var(--flm-font-body,"DM Sans",Arial,sans-serif) !important;
  font-weight:600 !important;
}
html.flm-brand-system #page .city-btn-secondary {
  background:#fff !important;
  border-color:var(--flm-line,#d5dfed) !important;
  color:var(--flm-blue,#2458cf) !important;
  font-family:var(--flm-font-body,"DM Sans",Arial,sans-serif) !important;
  font-weight:600 !important;
}
@media (hover:hover) {
  html.flm-brand-system #page :is(.hlm-why-cta-btn,.city-btn-primary,.fm-help-btn):hover { background:#1d4dbb !important; border-color:#1d4dbb !important; }
  html.flm-brand-system #page .city-btn-secondary:hover { background:var(--flm-wash,#eef3fc) !important; }
}

/* Photography and contact keep their original media and form geometry. */
html.flm-brand-system #page :is(.fm-vertical-title,.fm-success-title) {
  font-family:var(--flm-font-heading,Manrope,Arial,sans-serif) !important;
  font-weight:650 !important;
  color:var(--flm-ink,#162444) !important;
}
html.flm-brand-system #page .fm-vertical-eyebrow { color:var(--flm-blue,#2458cf) !important; }
html.flm-brand-system #page :is(.fm-vertical-subtitle,.fm-contact-minimal .fm-success-text) { color:var(--flm-muted,#4e5f7a) !important; }
html.flm-brand-system #page :is(.fm-vertical-photo,.fm-contact-form-card) { border-color:var(--flm-line,#d5dfed) !important; }
html.flm-brand-system #page .fm-contact-minimal .fm-input-group label { color:var(--flm-ink,#162444) !important; font-weight:600 !important; }
html.flm-brand-system #page .fm-contact-minimal .fm-input-group :is(input,textarea) {
  font-family:var(--flm-font-body,"DM Sans",Arial,sans-serif) !important;
  background:var(--flm-paper,#fbfcff) !important;
  color:var(--flm-ink,#162444) !important;
  border-color:var(--flm-line,#d5dfed) !important;
}
html.flm-brand-system #page .fm-contact-minimal .fm-input-group :is(input,textarea):focus {
  border-color:var(--flm-blue,#2458cf) !important;
  box-shadow:0 0 0 3px #2458cf14 !important;
}
html.flm-brand-system #page .fm-contact-minimal .fm-submit-btn { background:var(--flm-blue,#2458cf) !important; color:#fff !important; font-weight:600 !important; }
html.flm-brand-system #page .fm-contact-minimal .fm-submit-btn:hover { background:#1d4dbb !important; }

/* Progress documentation uses the same navy and blue as the main site. */
html.flm-brand-system #page .flm-rollout.progress-page {
  --ink:var(--flm-ink,#162444) !important;
  --blue:var(--flm-blue,#2458cf) !important;
  --muted:var(--flm-muted,#4e5f7a) !important;
  font-family:var(--flm-font-body,"DM Sans",Arial,sans-serif) !important;
}
html.flm-brand-system #page .progress-page :is(.pp-lead,.pp-small,dd) { color:var(--flm-muted,#4e5f7a) !important; }
html.flm-brand-system #page .progress-page :is(.pp-hero,.pp-hero-media figcaption,.pp-card) { background:var(--flm-paper,#fbfcff) !important; }
html.flm-brand-system #page .progress-page .pp-tint { background:var(--flm-wash,#eef3fc) !important; }
html.flm-brand-system #page .progress-page :is(.pp-card,.pp-report,.pp-report-v2,.pp-close,.pp-hero-media) { border-radius:16px !important; border-color:var(--flm-line,#d5dfed) !important; }
html.flm-brand-system #page .progress-page :is(.pp-close,.pp-visit-label) { background:var(--flm-ink,#162444) !important; color:#fff !important; }
html.flm-brand-system #page .progress-page .pp-close h2 { color:#fff !important; }
html.flm-brand-system #page .progress-page .pp-close .pp-small { color:#dbe6fa !important; }
html.flm-brand-system #page .progress-page .pp-close .pp-button { background:#fff !important; border-color:#fff !important; color:var(--flm-ink,#162444) !important; }
html.flm-brand-system #page .progress-page .pp-visit-label strong { font-family:var(--flm-font-heading,Manrope,Arial,sans-serif) !important; font-weight:650 !important; }
html.flm-brand-system #page .progress-page .pp-button.pp-outline { color:var(--flm-blue,#2458cf) !important; }

/* Pricing neutrals and table typography; values, badges and comparison stay intact. */
html.flm-brand-system #flm-pricing-tabs {
  --flm-accent:var(--flm-blue,#2458cf) !important;
  --flm-accent-dark:#1d4dbb !important;
  --flm-accent-light:var(--flm-wash,#eef3fc) !important;
  --flm-accent-soft:var(--flm-paper,#fbfcff) !important;
  --flm-dark:var(--flm-ink,#162444) !important;
  --flm-button:var(--flm-blue,#2458cf) !important;
  --flm-text:var(--flm-muted,#4e5f7a) !important;
  /* This block's legacy variable shares the theme token's name. Use the
     agreed value directly rather than creating a custom-property cycle. */
  --flm-muted:#4e5f7a !important;
  --flm-background:var(--flm-paper,#fbfcff) !important;
  --flm-light:var(--flm-wash,#eef3fc) !important;
  --flm-border:var(--flm-line,#d5dfed) !important;
}
html.flm-brand-system #page :is(.fm-value-title,.fm-matrix-title,.cta-wide-title,.cta-faq-heading) {
  font-family:var(--flm-font-heading,Manrope,Arial,sans-serif) !important;
  font-weight:650 !important;
  color:var(--flm-ink,#162444) !important;
}
html.flm-brand-system #page :is(.fm-value-sub,.fm-matrix-subtitle,.fm-matrix-notes,.fm-cell-detail,.cta-wide-subtitle,.cta-faq-intro,.cta-faq-answer p) { color:var(--flm-muted,#4e5f7a) !important; }
html.flm-brand-system #page .fm-matrix-table :is(th,td) { font-family:var(--flm-font-body,"DM Sans",Arial,sans-serif) !important; border-color:var(--flm-line,#d5dfed) !important; }
html.flm-brand-system #page .fm-matrix-table thead th { background:var(--flm-wash,#eef3fc) !important; color:var(--flm-ink,#162444) !important; font-weight:600 !important; }
html.flm-brand-system #page .fm-matrix-table .fm-col-popular { color:var(--flm-blue,#2458cf) !important; border-bottom-color:var(--flm-blue,#2458cf) !important; }
html.flm-brand-system #page .cta-btn-primary { background:var(--flm-blue,#2458cf) !important; border-color:var(--flm-blue,#2458cf) !important; color:#fff !important; }
html.flm-brand-system #page .cta-btn-primary:hover { background:#1d4dbb !important; border-color:#1d4dbb !important; }
html.flm-brand-system #page .cta-btn-secondary { background:#fff !important; color:var(--flm-blue,#2458cf) !important; border-color:var(--flm-line,#d5dfed) !important; }
html.flm-brand-system #page .cta-btn-secondary:hover { background:var(--flm-wash,#eef3fc) !important; }
html.flm-brand-system #page .cta-faq-question { background:var(--flm-paper,#fbfcff) !important; color:var(--flm-ink,#162444) !important; border-color:var(--flm-line,#d5dfed) !important; font-weight:600 !important; }
html.flm-brand-system #page .cta-faq-question[aria-expanded="true"] { background:#fff !important; border-bottom-color:transparent !important; }
html.flm-brand-system #page .cta-faq-question[aria-expanded="true"]::after { color:var(--flm-blue,#2458cf) !important; }
html.flm-brand-system #page .cta-faq-answer { border-color:var(--flm-line,#d5dfed) !important; }

/* Booking keeps date availability, success/error states and compact type sizes. */
html.flm-brand-system #fm-app {
  --fm-dark:var(--flm-ink,#162444) !important;
  --fm-dark-soft:#203657 !important;
  --fm-ink:var(--flm-ink,#162444) !important;
  --fm-muted:var(--flm-muted,#4e5f7a) !important;
  --fm-border:var(--flm-line,#d5dfed) !important;
  --fm-border-dark:#aabbd3 !important;
  --fm-background:var(--flm-paper,#fbfcff) !important;
  --fm-blue:var(--flm-blue,#2458cf) !important;
  --fm-blue-dark:#1d4dbb !important;
  --fm-blue-light:var(--flm-wash,#eef3fc) !important;
  font-family:var(--flm-font-body,"DM Sans",Arial,sans-serif) !important;
}
html.flm-brand-system #fm-app :is(button,input,select,textarea,label,summary) { font-family:var(--flm-font-body,"DM Sans",Arial,sans-serif) !important; }
html.flm-brand-system #fm-app :is(button,label,strong,summary,.fm-nav-button,.fm-progress-item,.fm-progress-item > span,.fm-eyebrow,.fm-popular,.fm-section-label > span,.fm-extras-kicker,.fm-extras-action,.fm-addon-quantity > span,.fm-quantity-value,.fm-recommendations-title,.fm-payment-line,.fm-current-selection span,.fm-selection-card > span,.fm-day-weekday,.fm-day-date,.fm-day-status,.fm-estimate-total > span,.fm-summary-total > span,.fm-summary-tag,.fm-loading,.fm-mobile-label,.fm-mobile-value) { font-weight:600 !important; }
html.flm-brand-system #fm-app :is(h2,h3,.fm-bundle-name,.fm-service-name,.fm-small-heading,.fm-form-section-title,.fm-summary-header > strong) { font-family:var(--flm-font-heading,Manrope,Arial,sans-serif) !important; font-weight:650 !important; }
html.flm-brand-system #fm-app :is(.fm-bundle-price,.fm-service-price,.fm-addon-price,.fm-estimate-total > strong,.fm-summary-total > strong,.fm-mobile-value) { font-family:var(--flm-font-heading,Manrope,Arial,sans-serif) !important; font-weight:650 !important; }
html.flm-brand-system #fm-app .fm-market-card { background:var(--flm-wash,#eef3fc) !important; border-color:var(--flm-line,#d5dfed) !important; }
html.flm-brand-system #fm-app .flm-booking-assurance { color:var(--flm-muted,#4e5f7a) !important; }
html.flm-brand-system #fm-toast-container .fm-toast { font-family:var(--flm-font-body,"DM Sans",Arial,sans-serif) !important; font-weight:600 !important; }
html.flm-brand-system #fm-toast-container .fm-toast:not(.success):not(.error) { background:var(--flm-ink,#162444) !important; }

/* Native blog content shares the type families while retaining article/card sizes. */
html.flm-brand-system #page .flm-blog-intro h1 { color:var(--flm-ink,#162444) !important; }
html.flm-brand-system #page .flm-blog-intro p { color:var(--flm-muted,#4e5f7a) !important; }
html.flm-brand-system #page :is(.blog-meta-primary,.blog-meta-secondary) { color:var(--flm-muted,#4e5f7a) !important; }
html.flm-brand-system #page .blog-side-by-side .blog-item { border-radius:16px !important; border-color:var(--flm-line,#d5dfed) !important; }
html.flm-brand-system #page :is(.blog-item,.blog-item-content,.blog-excerpt,.blog-meta-primary,.blog-meta-secondary,.item-pagination) { font-family:var(--flm-font-body,"DM Sans",Arial,sans-serif) !important; }
html.flm-brand-system #page .blog-item-content .sqs-html-content :is(p,li,blockquote,td,th) { font-family:var(--flm-font-body,"DM Sans",Arial,sans-serif) !important; color:var(--flm-muted,#4e5f7a) !important; }
html.flm-brand-system #page :is(.blog-title,.entry-title,.blog-item-content h2,.blog-item-content h3,.item-pagination-title) { font-family:var(--flm-font-heading,Manrope,Arial,sans-serif) !important; font-weight:650 !important; color:var(--flm-ink,#162444) !important; }
html.flm-brand-system #page .blog-excerpt p { color:var(--flm-muted,#4e5f7a) !important; }
html.flm-brand-system #page .blog-item-content .sqs-html-content a { color:var(--flm-blue,#2458cf) !important; }
html.flm-brand-system #page .blog-item-content .sqs-html-content strong { color:var(--flm-ink,#162444) !important; font-weight:600 !important; }

/* Legal pages use the shared neutrals with their original compact hierarchy. */
html.flm-brand-system #page :is(#flm-privacy,.fm-terms-section) {
  --ink:var(--flm-ink,#162444) !important;
  --muted:var(--flm-muted,#4e5f7a) !important;
  --blue:var(--flm-blue,#2458cf) !important;
  --line:var(--flm-line,#d5dfed) !important;
  --soft:var(--flm-wash,#eef3fc) !important;
  font-family:var(--flm-font-body,"DM Sans",Arial,sans-serif) !important;
}
html.flm-brand-system #page :is(#flm-privacy,.fm-terms-section) :is(h1,h2,h3) { font-family:var(--flm-font-heading,Manrope,Arial,sans-serif) !important; font-weight:650 !important; }
html.flm-brand-system #page :is(.flm-pp-hero,.fm-terms-header) { background:linear-gradient(145deg,var(--flm-wash,#eef3fc),#fff 80%) !important; }
