/* FoundationFix Birmingham — site-wide visual repair, v1.3.4
   High-contrast component styles loaded after the base theme and common plugin styles.
   Intent: preserve the established cream / teal / terracotta design while repairing
   contrast, buttons, forms, header surfaces, WordPress content and responsive layouts. */
:root {
  --ff-ink: #182b2b;
  --ff-ink-soft: #2f4645;
  --ff-muted: #536361;
  --ff-paper: #fbf8f2;
  --ff-panel: #ffffff;
  --ff-primary: #176b67;
  --ff-primary-dark: #104c4a;
  --ff-accent: #cf6845;
  --ff-pale: #e8f2ee;
  --ff-border: #dce5e0;
  --ff-focus: #b95532;
  --ff-shadow: 0 18px 48px rgba(24, 43, 43, .09);
}

html { scroll-behavior: smooth; scroll-padding-top: 150px; }
body, body.custom-background {
  background: var(--ff-paper) !important;
  color: var(--ff-ink) !important;
  font-family: 'DM Sans', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  line-height: 1.68;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
body * { text-shadow: none; }
body p { color: var(--ff-muted); }
body h1, body h2, body h3, body h4, body h5, body h6 { color: var(--ff-ink); font-family: Manrope, 'DM Sans', system-ui, sans-serif; }
body h1, body h2, body h3 { text-wrap: pretty; }
body a { text-underline-offset: 3px; }
body a:not(.btn):not(.brand):hover { color: var(--ff-primary-dark); }
.wrap { width: min(1160px, calc(100% - 48px)); }

/* Top bar and navigation: force strong surfaces and readable brand colors. */
body .topbar {
  display: block !important;
  background: #182b2b !important;
  color: #edf5f1 !important;
  border-bottom: 1px solid rgba(255,255,255,.08) !important;
}
body .topbar .wrap { align-items: center; min-height: 38px; padding-block: 8px; }
body .topbar span, body .topbar small, body .topbar .ff-contact-pending { color: #edf5f1 !important; opacity: 1 !important; }
body .topbar small { color: #c6d8d2 !important; }
body .topbar a { color: #ffffff !important; text-decoration: none; }
body .topbar a:hover { color: #f4c98b !important; }
body .header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(251,248,242,.98) !important;
  color: var(--ff-ink) !important;
  border-bottom: 1px solid var(--ff-border) !important;
  box-shadow: 0 6px 24px rgba(24,43,43,.035);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
}
body.admin-bar .header { top: 32px; }
body .header .nav { min-height: 78px; }
body .header .brand, body .header .brand > span:last-child { color: var(--ff-ink) !important; opacity: 1 !important; }
body .header .brand small { color: #536361 !important; }
body .header .brand-mark { background: var(--ff-primary) !important; color: #ffffff !important; border-radius: 13px; box-shadow: inset 0 -3px 0 rgba(0,0,0,.13); }
body .header .navlinks > a:not(.btn), body .header .navlinks .ff-primary-menu a { color: #243a38 !important; opacity: 1 !important; }
body .header .navlinks > a:not(.btn):hover, body .header .navlinks .ff-primary-menu a:hover { color: var(--ff-primary) !important; }
body .header .ff-menu-toggle { background: #ffffff !important; color: var(--ff-primary-dark) !important; border: 1px solid #cbdad3 !important; }
body .header .navlinks { opacity: 1 !important; }
body .header .navlinks.ff-open { background: #fffdf8 !important; }
body .header .navlinks .ff-primary-menu { list-style: none; }

/* Buttons: prevent white-on-pale CTAs and theme/plugin button collisions. */
body a.btn, body button.btn, body input.btn, body .navlinks a.btn, body .actions a.btn,
body .quote-section a.btn, body .quote-section button.btn, body .form-grid button.btn,
body .mobile-call.btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 46px;
  padding: 13px 20px !important;
  border: 1px solid var(--ff-primary) !important;
  border-radius: 10px !important;
  background: #176b67 !important;
  background-color: #176b67 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  font-weight: 800 !important;
  line-height: 1.25;
  text-decoration: none !important;
  text-shadow: none !important;
  box-shadow: 0 4px 0 rgba(16,76,74,.16) !important;
  opacity: 1 !important;
  cursor: pointer;
  transition: background-color .18s ease, transform .18s ease, box-shadow .18s ease;
}
body a.btn:hover, body button.btn:hover, body input.btn:hover,
body .navlinks a.btn:hover, body .actions a.btn:hover, body .quote-section a.btn:hover,
body .quote-section button.btn:hover, body .form-grid button.btn:hover, body .mobile-call.btn:hover {
  background: #104c4a !important;
  background-color: #104c4a !important;
  border-color: #104c4a !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  transform: translateY(-1px);
}
body a.btn.orange, body button.btn.orange, body .actions a.btn.orange {
  background: #c9603e !important;
  background-color: #c9603e !important;
  border-color: #c9603e !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
body a.btn.outline, body button.btn.outline {
  background: #fffdf8 !important;
  background-color: #fffdf8 !important;
  border: 1px solid #b9ccc4 !important;
  color: #183b38 !important;
  -webkit-text-fill-color: #183b38 !important;
  box-shadow: none !important;
}
body .ff-contact-pending.btn, body span.btn.ff-contact-pending {
  display: inline-flex !important;
  background: #f3e9e1 !important;
  background-color: #f3e9e1 !important;
  border: 1px dashed #b9795d !important;
  color: #713f2a !important;
  -webkit-text-fill-color: #713f2a !important;
  box-shadow: none !important;
  transform: none !important;
  cursor: default !important;
}

/* Main section rhythm, cards and page heroes. */
body .hero {
  background: radial-gradient(circle at 86% 22%, rgba(229,194,156,.38) 0, transparent 30%),
              linear-gradient(128deg, #fbf8f2 0%, #f4f0e7 100%) !important;
  padding: clamp(54px, 6vw, 82px) 0 54px;
}
body .hero-grid { grid-template-columns: minmax(0,1.08fr) minmax(0,.92fr); gap: clamp(28px, 4vw, 52px); }
body .hero h1 { max-width: 720px; font-size: clamp(2.8rem, 5.1vw, 4.65rem); line-height: 1.035; letter-spacing: -.052em; color: #142b2a !important; }
body .hero h1 em { color: #176b67 !important; }
body .hero p { max-width: 650px; color: #4d5c59 !important; font-size: 1.06rem; }
body .hero .fine, body .fine { color: #5a6865 !important; }
body .hero-art { box-shadow: var(--ff-shadow); }
body .art-label { color: #344846 !important; background: #fffdf8 !important; }
body .art-label strong { color: #176b67 !important; }
body section { padding-block: clamp(58px, 6vw, 84px); }
body section[id] { scroll-margin-top: 150px; }
body .section-head { align-items: end; gap: clamp(22px, 4vw, 44px); margin-bottom: 34px; }
body .section-head > * { min-width: 0; }
body .section-head p { max-width: 470px; color: #536361 !important; }
body .eyebrow { color: #176b67 !important; font-size: .74rem; font-weight: 800; letter-spacing: .16em; line-height: 1.45; }
body .cards { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; align-items: stretch; }
body .cards .card { height: 100%; display: flex; flex-direction: column; align-items: flex-start; padding: clamp(22px,2.2vw,30px); background: #ffffff !important; color: #182b2b !important; border: 1px solid #e4e9e4 !important; border-radius: 18px !important; box-shadow: 0 8px 26px rgba(24,43,43,.045) !important; transition: transform .2s ease, box-shadow .2s ease; }
body .cards .card:hover { transform: translateY(-3px); box-shadow: 0 15px 36px rgba(24,43,43,.09) !important; }
body .cards .card h3 { color: #182b2b !important; margin-bottom: 12px; }
body .cards .card p { color: #536361 !important; }
body .cards .card > a:last-child { color: #176b67 !important; font-weight: 800; text-decoration: none; margin-top: auto; padding-top: 12px; }
body .cards .card > a:last-child:hover { color: #104c4a !important; text-decoration: underline; }
body .cards .card .icon { background: #e8f2ee !important; color: #176b67 !important; }
body .card { background: #ffffff !important; color: #182b2b !important; border-color: #dce5e0 !important; }
body .card h3, body .card h2 { color: #182b2b !important; }
body .card p { color: #536361 !important; }
body .soft { background: #eaf2ee !important; }
body .list li { color: #394f4c !important; border-color: #d2dfd8 !important; }
body .list li:before { background: #d2e8de !important; color: #145d57 !important; }
body .process-item { background: #ffffff !important; border-color: #dce5e0 !important; box-shadow: 0 4px 16px rgba(24,43,43,.035); }
body .process-item h3 { color: #182b2b !important; }
body .process-item p { color: #536361 !important; }
body .areas span { background: #ffffff !important; border-color: #cfddd6 !important; color: #2c4642 !important; }
body .faq details { background: #ffffff !important; border-color: #dce5e0 !important; }
body .faq summary { color: #182b2b !important; }
body .faq details p { color: #536361 !important; }
body .trust-strip { background: #176b67 !important; color: #ffffff !important; }
body .trust-strip .trust-item { color: #ffffff !important; }

/* Service page banner and breadcrumbs. */
body .subhero { background: linear-gradient(118deg, #e5f0eb 0%, #f5e9da 100%) !important; padding-block: clamp(46px,5vw,68px); }
body .subhero h1 { color: #162e2c !important; max-width: 980px; font-size: clamp(2.5rem,4.5vw,4.1rem); line-height: 1.08; }
body .subhero p { max-width: 780px; color: #4b5f5a !important; font-size: 1.06rem; }
body .breadcrumbs { color: #536361 !important; }
body .breadcrumbs a { color: #176b67 !important; font-weight: 700; }
body .notice { background: #fff3df !important; color: #5c4431 !important; border-left-color: #cf6845 !important; }

/* Quote form: the background and copy must remain readable even if a plugin adds global rules. */
body section.quote-section, body main .quote-section, body .quote-section {
  background: #172b2b !important;
  background-color: #172b2b !important;
  color: #ffffff !important;
  border: 0 !important;
}
body .quote-section h1, body .quote-section h2, body .quote-section h3, body .quote-section h4 { color: #ffffff !important; opacity: 1 !important; }
body .quote-section .eyebrow { color: #f2c77b !important; }
body .quote-section p, body .quote-section li, body .quote-section .fine { color: #dce8e4 !important; opacity: 1 !important; }
body .quote-section strong { color: #ffffff !important; }
body .quote-grid { grid-template-columns: minmax(0,.82fr) minmax(0,1.18fr); gap: clamp(26px,4.5vw,54px); align-items: start; }
body .quote-grid > * { min-width: 0; }
body .quote-card { background: #ffffff !important; color: #182b2b !important; border: 1px solid #e2e9e4 !important; border-radius: 18px !important; padding: clamp(22px,3vw,34px) !important; box-shadow: 0 18px 48px rgba(0,0,0,.14) !important; }
body .quote-card h2, body .quote-card h3, body .quote-card label, body .quote-card strong { color: #182b2b !important; opacity: 1 !important; }
body .quote-card p { color: #536361 !important; opacity: 1 !important; }
body .form-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 17px; }
body .form-grid label { display: grid; gap: 7px; color: #263e3b !important; font-size: .88rem; font-weight: 800 !important; line-height: 1.4; opacity: 1 !important; }
body .form-grid input, body .form-grid select, body .form-grid textarea,
body .ff-lead-form input, body .ff-lead-form select, body .ff-lead-form textarea {
  display: block;
  width: 100%; min-width: 0; max-width: 100%;
  padding: 12px 13px !important;
  border: 1px solid #cbd8d2 !important;
  border-radius: 9px !important;
  background: #ffffff !important;
  background-color: #ffffff !important;
  color: #233a37 !important;
  -webkit-text-fill-color: #233a37 !important;
  font: 500 1rem/1.45 'DM Sans',system-ui,sans-serif !important;
  box-shadow: inset 0 1px 2px rgba(24,43,43,.025) !important;
  opacity: 1 !important;
}
body .form-grid input::placeholder, body .form-grid textarea::placeholder,
body .ff-lead-form input::placeholder, body .ff-lead-form textarea::placeholder { color: #65736f !important; -webkit-text-fill-color: #65736f !important; opacity: 1 !important; }
body .form-grid select, body .ff-lead-form select { color: #233a37 !important; }
body .form-grid option, body .ff-lead-form option { background: #ffffff !important; color: #233a37 !important; }
body .form-grid textarea, body .ff-lead-form textarea { min-height: 130px; resize: vertical; }
body .form-grid input:focus, body .form-grid select:focus, body .form-grid textarea:focus,
body .ff-lead-form input:focus, body .ff-lead-form select:focus, body .ff-lead-form textarea:focus {
  outline: 3px solid rgba(23,107,103,.22) !important;
  border-color: #176b67 !important;
  box-shadow: 0 0 0 1px #176b67 !important;
}
body .form-grid .full { grid-column: 1 / -1; }
body .ff-form-privacy { color: #536361 !important; font-size: .82rem !important; line-height: 1.55 !important; opacity: 1 !important; }
body .ff-form-privacy a { color: #12665f !important; text-decoration: underline; font-weight: 800; }
body .ff-form-error { background: #fff1f0 !important; color: #7a271a !important; border-color: #d92d20 !important; }
body .form-grid button[disabled] { opacity: .65 !important; }

/* WordPress content pages, cost guides, privacy and thank-you screen. */
body .ff-page-content { min-height: 45vh; padding: 0 !important; color: #182b2b !important; }
body .ff-page-content > article, body .ff-page-content > .wrap > article { padding-block: 42px 70px; }
body .ff-page-content article > h1 { font-size: clamp(2.2rem,4vw,3.6rem); line-height: 1.1; margin-bottom: 26px; }
body .ff-page-content .content-narrow { max-width: 850px; }
body .ff-page-content section:not(.hero):not(.subhero):not(.quote-section) { color: #182b2b; }
body .ff-page-content h1, body .ff-page-content h2, body .ff-page-content h3, body .ff-page-content h4 { color: #182b2b !important; }
body .ff-page-content p, body .ff-page-content li { color: #4f605d; }
body .ff-page-content a:not(.btn) { color: #176b67; }
body .ff-page-content ul, body .ff-page-content ol { padding-left: 1.35rem; }
body .ff-page-content li { margin-block: .25rem; }
body .ff-page-content table { width: 100%; border-collapse: collapse; margin: 24px 0; background: #ffffff; }
body .ff-page-content th, body .ff-page-content td { padding: 12px 14px; border: 1px solid #dce5e0; text-align: left; color: #314541; }
body .ff-page-content th { background: #eaf2ee; color: #182b2b; }
body .ff-page-content blockquote { margin: 26px 0; padding: 20px 24px; background: #edf4f0; border-left: 4px solid #176b67; border-radius: 0 12px 12px 0; color: #344b47; }
body .thankyou { min-height: 62vh; padding: 64px 0; }
body .thankyou .card { width: min(680px,calc(100% - 32px)); background: #ffffff !important; color: #182b2b !important; box-shadow: var(--ff-shadow) !important; }
body .ff-archive-item { background: #ffffff !important; color: #182b2b !important; border-color: #dce5e0 !important; }
body .ff-archive-item h2, body .ff-archive-item h2 a { color: #182b2b !important; }
body .ff-archive-item p, body .ff-post-meta { color: #536361 !important; }
body .ff-pagination .page-numbers { color: #176b67 !important; border-color: #cbdad3 !important; }
body .ff-pagination .current { background: #176b67 !important; color: #ffffff !important; }
body .search-form input[type=search] { background: #ffffff !important; color: #182b2b !important; border-color: #cbdad3 !important; }
body .search-form input[type=submit] { background: #176b67 !important; color: #ffffff !important; }
body .footer { background: #142727 !important; color: #e3eeea !important; }
body .footer p { color: #c5d5d0 !important; }
body .footer a { color: #ffffff !important; }
body .footer-links a:hover { color: #f2c77b !important; }

/* Anchors, focus states and sticky header interaction. */
body .ff-related-page-link { background: #ffffff !important; border-color: #dce5e0 !important; color: #243d39 !important; border-radius: 12px; }
body .ff-related-page-link a { color: #176b67 !important; }
body .ff-skip-link:focus { background: #ffffff !important; color: #182b2b !important; }
body a:focus-visible, body button:focus-visible, body input:focus-visible, body select:focus-visible, body textarea:focus-visible {
  outline: 3px solid #b95532 !important; outline-offset: 3px;
}
body .topbar, body .header, body .hero, body .subhero, body .quote-section { opacity: 1 !important; }
body .mobile-call { z-index: 120; }

@media (max-width: 1000px) {
  body .hero-grid { grid-template-columns: minmax(0,1fr) minmax(0,.9fr); gap: 28px; }
  body .hero h1 { font-size: clamp(2.6rem,5.3vw,4rem); }
  body .navlinks { gap: 15px; }
  body .navlinks .ff-primary-menu { gap: 14px; }
}
@media (max-width: 900px) {
  body.admin-bar .header { top: 46px; }
  body .header .nav { min-height: 72px; }
  body .navlinks { display: none; position: absolute; top: calc(100% + 1px); left: 0; right: 0; width: 100%; padding: 18px 22px !important; border: 1px solid #dce5e0; border-top: 0; border-radius: 0 0 14px 14px; background: #fffdf8 !important; box-shadow: 0 18px 36px rgba(24,43,43,.15) !important; align-items: stretch; }
  body .navlinks.ff-open { display: flex !important; }
  body .navlinks > a:not(.btn), body .navlinks .ff-primary-menu a { display: block !important; padding: 9px 0; color: #243a38 !important; }
  body .navlinks .ff-primary-menu { display: flex; flex-direction: column; align-items: stretch; width: 100%; gap: 4px; }
  body .hero-grid, body .split, body .quote-grid { grid-template-columns: minmax(0,1fr); }
  body .hero-grid { gap: 28px; }
  body .hero-art { width: 100%; max-width: 680px; min-height: 340px; }
  body .quote-grid { gap: 28px; }
  body .cards { grid-template-columns: repeat(2,minmax(0,1fr)); }
  body .section-head { display: grid; grid-template-columns: 1fr; gap: 14px; }
  body .section-head p { max-width: 700px; }
  body section[id] { scroll-margin-top: 132px; }
}
@media (max-width: 620px) {
  body.admin-bar .header { top: 46px; }
  body .wrap, body .ff-page-content > .wrap { width: calc(100% - 32px); }
  body .topbar .wrap { display: flex; flex-wrap: wrap; gap: 4px 12px; font-size: .72rem; }
  body .header .nav { min-height: 66px; gap: 12px; }
  body .brand { font-size: .9rem; gap: 8px; }
  body .brand-mark { width: 36px; height: 36px; border-radius: 11px; }
  body .brand small { font-size: .57rem; }
  body .hero { padding: 42px 0 34px; }
  body .hero h1 { max-width: 100%; font-size: clamp(2.45rem,10.2vw,3.55rem); line-height: 1.045; }
  body .hero p { font-size: 1rem; }
  body .hero-art { min-height: 285px; border-radius: 22px; }
  body .house { transform: scale(.82); transform-origin: center; }
  body .art-label { left: 12px; right: 12px; bottom: 12px; max-width: calc(100% - 24px); padding: 10px 12px; font-size: .78rem; }
  body section { padding-block: 54px; }
  body .cards { grid-template-columns: minmax(0,1fr); gap: 14px; }
  body .cards .card { padding: 22px; }
  body .trust-strip .wrap { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
  body .trust-item { align-items: flex-start; font-size: .78rem; }
  body .form-grid { grid-template-columns: minmax(0,1fr); gap: 14px; }
  body .form-grid .full { grid-column: 1 / -1; }
  body .quote-card { padding: 20px !important; }
  body .subhero { padding-block: 42px; }
  body .subhero h1 { font-size: clamp(2.3rem,9vw,3.3rem); }
  body .footer-grid { display: grid; grid-template-columns: minmax(0,1fr); gap: 20px; }
  body .footer-links { gap: 12px 16px; }
  body .mobile-call.btn { left: 12px; right: 12px; bottom: calc(12px + env(safe-area-inset-bottom)); width: auto; }
  body .footer { padding-bottom: 92px; }
  body section[id] { scroll-margin-top: 112px; }
}
@media (prefers-reduced-motion: reduce) {
  body *, body *::before, body *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}


/* v1.3.8 screenshot-driven fixes: dark CTA heading contrast and mobile-only sticky CTA. */
body .ff-page-content .quote-section h1,
body .ff-page-content .quote-section h2,
body .ff-page-content .quote-section h3,
body .ff-page-content .quote-section h4,
body .quote-section h1,
body .quote-section h2,
body .quote-section h3,
body .quote-section h4 {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
body .quote-section .eyebrow { color: #f2c77b !important; }
/* The fixed request bar is intended for mobile viewports only. */
body .mobile-call.btn { display: none !important; }
@media (max-width: 620px) {
  body .mobile-call.btn { display: inline-flex !important; }
}


/* v1.3.9: robust screenshot-specific fixes. Use the footer CTA class itself, not a button variant. */
html body a.mobile-call.btn {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
@media screen and (max-width: 620px) {
  html body a.mobile-call.btn {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }
}
html body .quote-section .quote-grid > div:first-child h2,
html body .quote-section .quote-grid > div:first-child h3 {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
  overflow: visible !important;
  clip: auto !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  position: relative !important;
  font-size: clamp(1.8rem, 3vw, 2.7rem) !important;
  line-height: 1.15 !important;
  margin: 0 0 18px !important;
}


/* v1.4.5 — enforce the responsive navigation state with cache-busted, high-specificity rules. */
html body .header .nav > .ff-menu-toggle {
  display: none !important;
}
html body .header .nav > .navlinks {
  display: flex;
}
@media screen and (max-width: 900px) {
  html body .header .nav {
    position: relative !important;
    flex-wrap: nowrap !important;
    gap: 12px !important;
  }
  html body .header .brand {
    flex: 0 1 auto !important;
    min-width: 0 !important;
    max-width: calc(100% - 60px) !important;
  }
  html body .header .nav > .ff-menu-toggle {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 46px !important;
    width: 46px !important;
    min-width: 46px !important;
    min-height: 44px !important;
    margin-left: auto !important;
    padding: 0 !important;
    position: relative !important;
    z-index: 1002 !important;
    font-size: 1.2rem !important;
    line-height: 1 !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
  html body .header .nav > .navlinks {
    display: none !important;
    visibility: hidden !important;
    position: absolute !important;
    top: calc(100% + 1px) !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-height: calc(100vh - 130px) !important;
    overflow-y: auto !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 6px !important;
    padding: 16px 20px 20px !important;
    margin: 0 !important;
    border: 1px solid #dce5e0 !important;
    border-top: 0 !important;
    border-radius: 0 0 14px 14px !important;
    background: #fffdf8 !important;
    box-shadow: 0 18px 36px rgba(24,43,43,.15) !important;
    z-index: 1001 !important;
  }
  html body .header .nav > .navlinks.ff-open {
    display: flex !important;
    visibility: visible !important;
  }
  html body .header .nav > .navlinks > a:not(.btn),
  html body .header .nav > .navlinks .ff-primary-menu a {
    display: block !important;
    width: 100% !important;
    min-height: 40px !important;
    padding: 10px 0 !important;
    white-space: normal !important;
    color: #243a38 !important;
    font-size: .96rem !important;
    line-height: 1.35 !important;
  }
  html body .header .nav > .navlinks .ff-primary-menu {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 2px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  html body .header .nav > .navlinks > a.btn {
    display: inline-flex !important;
    width: 100% !important;
    min-height: 46px !important;
    justify-content: center !important;
    margin-top: 8px !important;
    white-space: normal !important;
  }
}
@media screen and (min-width: 901px) {
  html body .header .nav > .ff-menu-toggle { display: none !important; }
  html body .header .nav > .navlinks {
    display: flex !important;
    position: static !important;
    max-height: none !important;
    overflow: visible !important;
    visibility: visible !important;
    box-shadow: none !important;
    border: 0 !important;
    background: transparent !important;
  }
}
