/* Site-local bold presentation. Original words, photos, links and provider widgets stay intact. */
.cfh-design {
  --cfh-red: #bc3028;
  --cfh-ink: #191d1b;
  --cfh-cream: #f4f0e7;
  --cfh-line: #d8d3c8;
  background: var(--cfh-cream);
  padding-bottom: 0 !important;
}
.cfh-design .cfh-header { border-bottom: 4px solid var(--cfh-red); }
.cfh-design .cfh-nav-row { max-width: 1440px; }
.cfh-design .cfh-desktop-nav > .cfh-design-link,
.cfh-design .cfh-mega > summary { font-size: 14px !important; font-weight: 900 !important; }
.cfh-design .cfh-header-contact,
.cfh-design .cfh-button { border-radius: 0 !important; font-weight: 900 !important; }
.cfh-design .cfh-mega-title { font-weight: 900; font-size: 32px !important; }
.cfh-design .cfh-icon-tile { border-radius: 0; border-left: 3px solid var(--cfh-red); }
.cfh-design .cfh-mobile-menu { background: var(--cfh-cream); }
.cfh-design .cfh-mobile-welcome > p { font-weight: 900 !important; }
.cfh-design .cfh-mobile-group > summary { font-weight: 900; }
.cfh-design .cfh-hero { min-height: 760px; height: min(940px, calc(100svh - 134px)); }
.cfh-design .cfh-hero-inner { max-width: 1360px; width: calc(100% - 96px); padding-top: 46px; padding-bottom: 90px; }
.cfh-design .cfh-hero-copy { max-width: 1000px; }
.cfh-design .cfh-hero h1,
.cfh-design .cfh-hero h1 em { font-weight: 900 !important; letter-spacing: -.045em !important; }
.cfh-design .cfh-hero h1 { font-size: clamp(66px, 6.5vw, 100px) !important; line-height: .99 !important; margin-bottom: 30px !important; }
.cfh-design .cfh-hero h1 em { color: #ffccb0; }
.cfh-design .cfh-hero .cfh-eyebrow { font-weight: 900 !important; font-size: 12px !important; letter-spacing: .13em !important; }
.cfh-design .cfh-hero-description { max-width: 560px; font-size: 18px !important; }
.cfh-design .cfh-hero-shade { background: linear-gradient(90deg, #101a18ed 0%, #101a18c2 40%, #101a1840 78%), linear-gradient(0deg, #101a1899, transparent 50%); }
.cfh-design .cfh-hero .cfh-button { background: #c6372b !important; border-color: #e75b4c !important; padding: 21px 27px !important; font-size: 16px !important; }
.cfh-design .cfh-hero-call strong { font-size: 20px; }
.cfh-design .cfh-hero-footer { background: #161e1cf0; border-top: 3px solid var(--cfh-red); }
.cfh-design .cfh-hero-footer > div { max-width: 1360px; min-height: 70px; }
.cfh-design .cfh-hero-footer span { font-weight: 700; font-size: 13px; }

/* Neutralize captured builder offsets so each original section shares one intentional grid. */
.cfh-design #main .optimizer-section { box-sizing: border-box; position: relative; width: 100vw !important; max-width: none !important; margin: 0 0 0 calc(50% - 50vw) !important; padding: 100px max(32px, calc((100vw - 1360px) / 2)) !important; }
.cfh-design #main .optimizer-section *, .cfh-design #main .optimizer-section *::before, .cfh-design #main .optimizer-section *::after { box-sizing: border-box; }
.cfh-design #main .optimizer-section > .wpb-content-wrapper > .vc_row { left: auto !important; width: 100% !important; max-width: 100% !important; min-width: 0 !important; margin: 0 !important; padding: 0 !important; background: none !important; }
.cfh-design #main .optimizer-section .vc_column-inner { padding: 0 !important; margin: 0 !important; background: none !important; }
.cfh-design #main .optimizer-section .upb_row_bg,
.cfh-design #main .optimizer-section .ult-vc-seperator { display: none !important; }
.cfh-design #main .optimizer-section .wpb_content_element { margin-bottom: 0 !important; }
.cfh-design #main :is(.services-section-title-text,.industries-section-title-text,.locations-section-title-text,.team-section-title-text) { display: block !important; }
.cfh-design #main .optimizer-section h2 { font-family: Lato, Arial, sans-serif !important; color: var(--cfh-ink) !important; font-size: clamp(38px, 4.1vw, 62px) !important; font-weight: 900 !important; letter-spacing: -.04em !important; line-height: 1.05 !important; margin: 0 0 30px !important; padding: 0 !important; text-align: left !important; }
.cfh-design #main .optimizer-section p { font-size: 17px !important; line-height: 1.85 !important; color: #50564f !important; text-align: left !important; margin: 0 0 28px !important; }
.cfh-design #main .optimizer-section a.button-template { display: inline-flex !important; width: auto !important; margin: 0 !important; background: none !important; text-decoration: none !important; }
.cfh-design #main .optimizer-section .button--cta { background: var(--cfh-red) !important; color: #fff !important; padding: 20px 29px !important; border: 2px solid var(--cfh-red) !important; border-radius: 0 !important; font: 900 15px/1.4 Lato, Arial, sans-serif !important; margin: 0 !important; box-shadow: none !important; transition: background .2s, transform .2s; }
.cfh-design #main .optimizer-section .button--cta:hover { background: #95251f !important; transform: translateY(-2px); }
.cfh-design #main .optimizer-section :focus-visible { outline: 3px solid #e07135; outline-offset: 5px; }

/* About: generous photo, strong headline, and the original union credential. */
.cfh-design #main .optimizer-section--box-1-image-right { background: var(--cfh-cream); }
.cfh-design #main #homepageheadingarea2 { display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: 70px; }
.cfh-design #main #homepageheadingarea2::before,
.cfh-design #main #homepageheadingarea2::after,
.cfh-design #main .optimizer-section--box-2-image-left > .wpb-content-wrapper > .vc_row::before,
.cfh-design #main .optimizer-section--box-2-image-left > .wpb-content-wrapper > .vc_row::after { display: none; }
.cfh-design #main #homepageheadingarea2 > .wpb_column { width: 100% !important; float: none !important; }
.cfh-design #main #homepageheadingarea2 h2:nth-of-type(2) { font-size: 18px !important; letter-spacing: -.015em !important; line-height: 1.4 !important; margin-top: 30px !important; margin-bottom: 16px !important; padding-left: 16px !important; border-left: 4px solid var(--cfh-red); }
.cfh-design #main #homepageheadingarea2 .wpb_single_image { text-align: left !important; margin-bottom: 25px !important; }
.cfh-design #main #homepageheadingarea2 .wpb_single_image img { width: 90px !important; height: 90px !important; object-fit: contain; }
.cfh-design #main #homepageheadingarea2 .optimizer-section-featured-image { width: 100% !important; height: 650px !important; object-fit: cover; border-radius: 0 !important; box-shadow: 18px 18px 0 var(--cfh-red); display: block; margin: 0 !important; }
.cfh-design #main #homepageheadingarea2 a.button-template { margin-top: 4px !important; }

/* All 11 services remain in a static grid; descriptions are always visible. */
.cfh-design #main .optimizer-section--services { background: var(--cfh-ink); border-top: 8px solid var(--cfh-red); }
.cfh-design #main .optimizer-section--services h2 { color: #fff !important; margin-bottom: 42px !important; }
.cfh-design #main .optimizer-section--services .vc_col-sm-12 { width: 100% !important; float: none !important; }
.cfh-design #main .optimizer-section--services section { padding: 0 !important; margin: 0 !important; }
.cfh-design #main .optimizer-section--services .post-grid { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 24px !important; max-width: none !important; margin: 0 !important; text-align: left !important; }
.cfh-design #main .optimizer-section--services .item-link-container { display: block; min-width: 0; text-decoration: none !important; border: 1px solid #51544d; transition: border-color .2s, transform .2s; }
.cfh-design #main .optimizer-section--services .item-link-container:hover { transform: translateY(-5px); border-color: #ef7760; }
.cfh-design #main .optimizer-section--services .item-bg-container { display: flex !important; flex-direction: column !important; justify-content: flex-end !important; height: 440px !important; border-radius: 0 !important; box-shadow: none !important; background-size: auto 100% !important; background-position: center top !important; overflow: hidden; }
.cfh-design #main .optimizer-section--services .item-bg-container::before { background: linear-gradient(0deg, #111a18 0%, #111a18e8 35%, #111a182b 80%) !important; }
.cfh-design #main .optimizer-section--services .item-bg-container > div { transform: none !important; padding: 28px !important; text-align: left !important; }
.cfh-design #main .optimizer-section--services h3.title { font: 900 25px/1.14 Lato, Arial, sans-serif !important; letter-spacing: -.025em !important; color: #fff !important; margin: 0 0 15px !important; text-align: left !important; }
.cfh-design #main .optimizer-section--services p.excerpt { opacity: 1 !important; visibility: visible !important; color: #e2e4dd !important; font-size: 14px !important; line-height: 1.7 !important; margin: 0 !important; }

/* Second original photo story: reversed layout, same copy and contact destination. */
.cfh-design #main .optimizer-section--box-2-image-left { background: #fffdf8; }
.cfh-design #main .optimizer-section--box-2-image-left > .wpb-content-wrapper > .vc_row { display: grid !important; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 80px; align-items: center; }
.cfh-design #main .optimizer-section--box-2-image-left .wpb_column { width: 100% !important; float: none !important; }
.cfh-design #main .optimizer-section--box-2-image-left .optimizer-section-featured-image { width: 100% !important; height: 570px !important; object-fit: cover; display: block; border-radius: 0 !important; margin: 0 !important; box-shadow: -18px 18px 0 #d8d3c7; }
.cfh-design #main .optimizer-section--box-2-image-left .homepage-content-area { padding: 0 !important; }

/* Map follows the same stronger visual language without changing geographic coverage. */
.cfh-design .cfh-service-area { padding: 100px max(32px, calc((100vw - 1360px) / 2)); background: #eae5d9; border-top: 1px solid #d7d0c1; }
.cfh-design .cfh-map-heading, .cfh-design .cfh-map-layout { max-width: 1360px; }
.cfh-design .cfh-map-heading h2 { font-size: clamp(38px, 3.8vw, 57px) !important; font-weight: 900 !important; line-height: 1.03 !important; }
.cfh-design .cfh-map-heading > p { font-size: 15px !important; color: #51564d !important; }
.cfh-design .cfh-map-canvas, .cfh-design .cfh-map-selection { border-radius: 0; border-color: #b8c1b4; }
.cfh-design .cfh-map-selection { border-top: 4px solid var(--cfh-red); }
.cfh-design .cfh-map-selection h3 { font-weight: 900 !important; }
.cfh-design .cfh-location-list > button { font-size: 14px !important; min-height: 45px; }
.cfh-design .cfh-map-filters button { border-radius: 2px; font-weight: 700 !important; border-color: #bcb6aa; }
.cfh-design .cfh-map-label { background: #fffdf8; }

/* Original reviews and lead form remain live, framed rather than recreated. */
.cfh-design #main .optimizer-section--reviews { background: #fffdf8; }
.cfh-design #main .optimizer-section--reviews h2 { margin-bottom: 40px !important; }
.cfh-design #main .optimizer-section--reviews [class^="elfsight-app-"] { border-top: 4px solid var(--cfh-red); padding: 32px !important; background: #f4f0e7; }
.cfh-design #main .optimizer-section--contact-form-full-width { background: var(--cfh-red); }
.cfh-design #main .optimizer-section--contact-form-full-width .vc_col-sm-2 { display: none; }
.cfh-design #main .optimizer-section--contact-form-full-width .vc_col-sm-8 { width: 100% !important; float: none !important; }
.cfh-design #main .optimizer-section--contact-form-full-width .vc_col-sm-8 > .vc_column-inner > .wpb_wrapper { display: grid; grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr); align-items: start; gap: 70px; }
.cfh-design #main .optimizer-section--contact-form-full-width h2 { font-size: clamp(48px, 5.2vw, 78px) !important; color: #fff !important; max-width: 380px; position: sticky; top: 180px; }
.cfh-design #main .optimizer-section--contact-form-full-width .vc_col-sm-8 > .vc_column-inner > .wpb_wrapper > .wpb_text_column:last-child { background: #fffdf8; padding: 36px !important; border-top: 7px solid #191d1b; box-shadow: 12px 12px 0 #7f201b; min-width: 0; }

/* Home footer: clearer columns and contrast, with original hours/details/legal links. */
.cfh-design #footer-wrapper { box-sizing: border-box; position: relative; width: 100vw; max-width: none; margin-left: calc(50% - 50vw); background: #191d1b !important; padding: 65px max(32px, calc((100vw - 1360px) / 2)) 0 !important; border-top: 0 !important; }
.cfh-design #footer { box-sizing: border-box; position: relative !important; left: auto !important; width: 100% !important; max-width: 1360px !important; padding: 0 0 55px !important; background: transparent !important; margin: 0 auto !important; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 40px; }
.cfh-design #footer::before, .cfh-design #footer::after { display: none; }
.cfh-design #footer > .wpb_column { width: 100% !important; min-width: 0; float: none; }
.cfh-design #footer .vc_column-inner { padding: 0 !important; }
.cfh-design #footer-sub { box-sizing: border-box; left: auto !important; width: 100% !important; max-width: none !important; padding: 30px 0 35px !important; margin: 0 !important; border-top: 1px solid #42463e; background: #191d1b !important; }
.cfh-design #footer-sub p { color: #d2d5cb !important; font-size: 12px !important; line-height: 1.9 !important; margin: 0 !important; }
.cfh-design #footer-sub a { color: #d2d5cb !important; }
.cfh-design #footer h3 { color: #fff !important; font: 900 21px/1.3 Lato, Arial, sans-serif !important; border-bottom: 3px solid var(--cfh-red); padding-bottom: 16px; margin-bottom: 22px !important; }
.cfh-design #footer :is(p, li, td, a) { color: #deded4 !important; font-size: 14px !important; line-height: 1.8 !important; }
.cfh-design #footer a:hover { color: #ffbca9 !important; }
.cfh-design #footer td { padding: 9px 0 !important; border-color: #42463e !important; }
.cfh-design #footer td:first-child { padding-right: 12px !important; }
.cfh-design #footer table { width: 100% !important; margin: 0 !important; background: transparent !important; }
.cfh-design #footer tr { background: transparent !important; border-bottom: 1px solid #42463e; }
.cfh-design #footer { border-top: 0 !important; }
.cfh-design #footer-wrapper .copyright { background: #101412 !important; }

@media (max-width: 1119px) {
  .cfh-design .cfh-hero { height: 840px; min-height: 800px; }
  .cfh-design .cfh-hero h1 { font-size: 80px !important; }
  .cfh-design .cfh-hero-inner { width: calc(100% - 64px); }
  .cfh-design #main .optimizer-section { padding: 76px 32px !important; }
  .cfh-design #main #homepageheadingarea2,
  .cfh-design #main .optimizer-section--box-2-image-left > .wpb-content-wrapper > .vc_row { gap: 40px; }
  .cfh-design #main #homepageheadingarea2 .optimizer-section-featured-image { height: 610px !important; box-shadow: 10px 10px 0 var(--cfh-red); }
  .cfh-design #main .optimizer-section--services .post-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .cfh-design #main .optimizer-section--contact-form-full-width .vc_col-sm-8 > .vc_column-inner > .wpb_wrapper { grid-template-columns: 1fr; gap: 20px; }
  .cfh-design #main .optimizer-section--contact-form-full-width h2 { max-width: none; font-size: 62px !important; }
  .cfh-design .cfh-service-area { padding: 76px 32px; }
  .cfh-design #footer { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 35px; }
}
@media (max-width: 740px) {
  .cfh-design .cfh-hero { min-height: 760px; height: calc(100svh - 115px); max-height: 900px; }
  .cfh-design .cfh-hero-inner { width: calc(100% - 44px); padding: 42px 0 86px; }
  .cfh-design .cfh-hero h1 { font-size: clamp(42px, 11.6vw, 76px) !important; line-height: 1.02 !important; margin-bottom: 24px !important; }
  .cfh-design .cfh-hero .cfh-eyebrow { font-size: 9px !important; }
  .cfh-design .cfh-hero-description { font-size: 15px !important; }
  .cfh-design .cfh-hero .cfh-button { padding: 19px 20px !important; font-size: 14px !important; }
  .cfh-design .cfh-hero-call strong { font-size: 19px; }
  .cfh-design .cfh-hero-footer span { font-size: 10px; }
  .cfh-design .cfh-hero-footer > div { min-height: 57px; }
  .cfh-design #main .optimizer-section { padding: 58px 24px !important; }
  .cfh-design #main .optimizer-section h2 { font-size: 38px !important; line-height: 1.07 !important; margin-bottom: 24px !important; }
  .cfh-design #main .optimizer-section p { font-size: 16px !important; line-height: 1.8 !important; }
  .cfh-design #main #homepageheadingarea2,
  .cfh-design #main .optimizer-section--box-2-image-left > .wpb-content-wrapper > .vc_row { grid-template-columns: 1fr; gap: 36px; }
  .cfh-design #main #homepageheadingarea2 .optimizer-section-featured-image { height: 390px !important; }
  .cfh-design #main #homepageheadingarea2 h2:nth-of-type(2) { font-size: 17px !important; }
  .cfh-design #main .optimizer-section--services .post-grid { grid-template-columns: 1fr !important; gap: 20px !important; }
  .cfh-design #main .optimizer-section--services .item-bg-container { height: 410px !important; background-size: cover !important; }
  .cfh-design #main .optimizer-section--services .item-bg-container > div { padding: 25px !important; }
  .cfh-design #main .optimizer-section--services h3.title { font-size: 26px !important; }
  .cfh-design #main .optimizer-section--services p.excerpt { font-size: 14px !important; }
  .cfh-design #main .optimizer-section--box-2-image-left .optimizer-section-featured-image { height: 360px !important; box-shadow: -9px 9px 0 #d8d3c7; }
  .cfh-design .cfh-service-area { padding: 58px 24px; }
  .cfh-design .cfh-map-heading h2 { font-size: 36px !important; }
  .cfh-design .cfh-map-heading > p { font-size: 14px !important; }
  .cfh-design #main .optimizer-section--reviews [class^="elfsight-app-"] { padding: 22px 14px !important; }
  .cfh-design #main .optimizer-section--contact-form-full-width h2 { font-size: 56px !important; }
  .cfh-design #main .optimizer-section--contact-form-full-width .vc_col-sm-8 > .vc_column-inner > .wpb_wrapper > .wpb_text_column:last-child { padding: 24px 18px !important; box-shadow: 7px 7px 0 #7f201b; }
  .cfh-design #footer-wrapper { padding: 45px 24px 0 !important; }
  .cfh-design #footer { grid-template-columns: 1fr; gap: 25px; padding-bottom: 30px !important; }
  .cfh-design #footer-sub { padding-bottom: 95px !important; }
}
@media (max-width: 359px) {
  .cfh-design .cfh-hero-inner { width: calc(100% - 36px); }
  .cfh-design .cfh-hero h1 { font-size: 38px !important; }
  .cfh-design .cfh-hero .cfh-button { font-size: 13px !important; gap: 15px; }
  .cfh-design .cfh-hero-footer span { font-size: 9px; }
  .cfh-design #main .optimizer-section { padding-left: 18px !important; padding-right: 18px !important; }
  .cfh-design #main .optimizer-section h2 { font-size: 33px !important; }
  .cfh-design .cfh-service-area { padding-left: 18px; padding-right: 18px; }
  .cfh-design .cfh-map-heading h2 { font-size: 31px !important; }
  .cfh-design #main .optimizer-section--contact-form-full-width h2 { font-size: 48px !important; }
}
@media (prefers-reduced-motion: reduce) {
  .cfh-design #main .optimizer-section *, .cfh-design #main .optimizer-section *::before { transition: none !important; animation: none !important; }
  .cfh-design #main .optimizer-section--services .item-link-container:hover,
  .cfh-design #main .optimizer-section .button--cta:hover { transform: none; }
}

/* Interior mastheads retain the existing headline and original pair of actions. */
.cfh-interior .main-container.container { box-sizing: border-box; max-width: 1360px !important; width: calc(100% - 64px) !important; padding: 0 !important; margin: 0 auto !important; }
.cfh-interior #headingarea { box-sizing: border-box; isolation: isolate; position: relative !important; left: auto !important; width: 100vw !important; max-width: none !important; margin: 0 0 0 calc(50% - 50vw) !important; padding: 78px max(32px, calc((100vw - 1360px) / 2)) !important; display: grid !important; grid-template-columns: minmax(0, 1.8fr) minmax(0, 1fr); gap: 55px; align-items: center; min-height: 350px; background: #191d1b !important; border-bottom: 7px solid var(--cfh-red); color: #fff; overflow: hidden; }
.cfh-interior #headingarea::before { content: ''; display: block; position: absolute; z-index: -1; width: 50%; height: 150%; right: -12%; top: -20%; transform: rotate(-24deg); border: 2px solid #ffffff0b; border-radius: 90px; background: repeating-linear-gradient(90deg, transparent 0 50px, #ffffff08 51px 53px, transparent 54px 88px); }
.cfh-interior #headingarea::after { display: none; }
.cfh-interior #headingarea > .wpb_column { width: 100% !important; min-width: 0; float: none; }
.cfh-interior #headingarea .vc_column-inner { padding: 0 !important; }
.cfh-interior #headingarea .upb_row_bg { position: absolute !important; inset: 0 !important; width: 100% !important; min-width: 0 !important; opacity: .25; z-index: -1; }
.cfh-interior #headingarea h1 { font: 900 clamp(42px, 4.4vw, 68px)/1.04 Lato, Arial, sans-serif !important; letter-spacing: -.04em !important; color: #fffdf8 !important; text-align: left !important; margin: 0 !important; overflow-wrap: break-word; }
.cfh-interior #headingarea .optimizer-h1-prepend { font-size: 23px !important; font-weight: 700; letter-spacing: -.015em; line-height: 1.4; color: #ffccb0; margin-bottom: 12px; }
.cfh-interior #headingarea h1 + .wpb_text_column p { color: #e2e4dd !important; font-size: 17px !important; line-height: 1.7 !important; text-align: left !important; margin: 20px 0 0 !important; }
.cfh-interior #headingarea .cta-column p { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 12px; margin: 0 !important; }
.cfh-interior #headingarea .button-template { display: inline-flex; background: transparent !important; margin: 0 !important; }
.cfh-interior #headingarea .button--cta { font: 900 14px/1.4 Lato, Arial, sans-serif !important; border: 2px solid #b8beb2 !important; border-radius: 0 !important; background: transparent !important; color: #fff !important; padding: 19px 23px !important; margin: 0 !important; }
.cfh-interior #headingarea .button--cta_button_2 { background: var(--cfh-red) !important; border-color: var(--cfh-red) !important; }
.cfh-interior #headingarea .button--cta:hover { background: #7d211c !important; border-color: #e57155 !important; }

/* Long-form service, industry and location content with the original enquiry sidebar. */
.cfh-interior #main .vc_custom_1708465524631 { box-sizing: border-box; display: grid !important; grid-template-columns: minmax(0, 1.8fr) minmax(310px, 1fr); gap: 65px; align-items: start; margin: 0 !important; padding: 78px 0 !important; }
.cfh-interior #main .optimizer-section .vc_custom_1708465524631 { padding: 0 !important; }
.cfh-interior #main .vc_custom_1708465524631::before,
.cfh-interior #main .vc_custom_1708465524631::after { display: none; }
.cfh-interior #main .vc_custom_1708465524631 > .wpb_column { width: 100% !important; min-width: 0; float: none; }
.cfh-interior #main .vc_custom_1708465524631 .vc_column-inner { padding: 0 !important; }
.cfh-interior #main .vc_custom_1708465524631 .vc_col-sm-8 { background: #fffdf8; border-top: 5px solid var(--cfh-red); padding: 38px !important; }
.cfh-interior #main .vc_custom_1708465524631 h2 { font: 900 31px/1.18 Lato, Arial, sans-serif !important; letter-spacing: -.025em !important; text-align: left !important; color: var(--cfh-ink) !important; margin: 42px 0 20px !important; }
.cfh-interior #main .vc_custom_1708465524631 .wpb_text_column .wpb_wrapper > h2:first-child { margin-top: 0 !important; }
.cfh-interior #main .vc_custom_1708465524631 :is(p,li) { font-size: 17px !important; line-height: 1.85 !important; color: #50564f !important; text-align: left !important; }
.cfh-interior #main .vc_custom_1708465524631 p { margin: 0 0 23px !important; }
.cfh-interior #main .vc_custom_1708465524631 h3 { font: 900 23px/1.3 Lato, Arial, sans-serif !important; color: var(--cfh-ink) !important; margin: 30px 0 16px !important; }
.cfh-interior #main .vc_custom_1708465524631 ul { padding-left: 23px; margin-bottom: 25px; }
.cfh-interior #main .vc_custom_1708465524631 li { padding-left: 4px; margin: 9px 0; }
.cfh-interior #main .vc_custom_1708465524631 a { color: #a6251f !important; text-decoration: underline; text-underline-offset: 3px; }
.cfh-interior #main .contact-form-container { box-sizing: border-box; width: 100% !important; margin: 0 !important; background: #fffdf8 !important; border: 1px solid #d8d3c8; border-top: 7px solid var(--cfh-red); padding: 28px !important; border-radius: 0 !important; box-shadow: 9px 9px 0 #dfd9cd !important; }
.cfh-interior #main .contact-form-container h2 { font-size: 31px !important; margin: 0 0 15px !important; }
.cfh-interior #main .contact-form-container p { font-size: 14px !important; line-height: 1.7 !important; }
.cfh-interior #main .contact-form-container h3 { color: var(--cfh-red) !important; }

/* Original location and industry directories become bold, easy-to-scan cards. */
.cfh-interior #main :is(.optimizer-section--locations-served,.optimizer-section--industries,.optimizer-section--team,.optimizer-section--careers) { background: #eae5d9; }
.cfh-interior #main :is(.optimizer-section--locations-served,.optimizer-section--industries,.optimizer-section--team) section { padding: 0 !important; }
.cfh-interior #main :is(.optimizer-section--locations-served,.optimizer-section--industries,.optimizer-section--team) .post-grid { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 20px !important; max-width: none !important; }
.cfh-interior #main :is(.optimizer-section--locations-served,.optimizer-section--industries,.optimizer-section--team) .item-link-container { min-width: 0; border: 1px solid #c6c0b3; border-top: 4px solid var(--cfh-red); display: block; background: #fffdf8; text-decoration: none !important; transition: transform .2s; }
.cfh-interior #main :is(.optimizer-section--locations-served,.optimizer-section--industries,.optimizer-section--team) .item-link-container:hover { transform: translateY(-4px); }
.cfh-interior #main :is(.optimizer-section--locations-served,.optimizer-section--industries,.optimizer-section--team) .item-bg-container { height: auto !important; min-height: 135px; border-radius: 0 !important; background-color: #fffdf8 !important; box-shadow: none !important; }
.cfh-interior #main :is(.optimizer-section--locations-served,.optimizer-section--industries,.optimizer-section--team) .item-bg-container::before { background: none !important; }
.cfh-interior #main :is(.optimizer-section--locations-served,.optimizer-section--industries,.optimizer-section--team) .item-bg-container > div { padding: 26px !important; transform: none !important; }
.cfh-interior #main :is(.optimizer-section--locations-served,.optimizer-section--industries,.optimizer-section--team) h3.title { font: 900 25px/1.2 Lato, Arial, sans-serif !important; color: #191d1b !important; text-align: left !important; margin: 0 !important; }
.cfh-interior #main .optimizer-section--industries .post-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
.cfh-interior #main .optimizer-section--industries .item-bg-container { min-height: 260px; background: repeating-linear-gradient(110deg, #ffffff00 0 44px, #b6312810 45px 47px, #ffffff00 48px 75px), #fffdf8 !important; }
.cfh-interior #main .optimizer-section--industries h3.title { font-size: 38px !important; }
.cfh-interior #main .optimizer-section--reviews-tall { background: #fffdf8; }
.cfh-interior #main .optimizer-section--reviews-tall [class^="elfsight-app-"] { border-top: 4px solid var(--cfh-red); padding: 28px; background: #f4f0e7; }

/* Direct pages with original non-reusable content rows. */
.cfh-interior #main :is(.vc_custom_1789162259214,.vc_custom_1789162269024,.vc_custom_1789164693381,.vc_custom_1475381910641,.vc_custom_1722887613711) { padding: 65px 0 !important; margin: 0 !important; }
.cfh-interior #main :is(.vc_custom_1789162259214,.vc_custom_1789162269024) .vc_col-sm-2 { display: none; }
.cfh-interior #main :is(.vc_custom_1789162259214,.vc_custom_1789162269024) .vc_col-sm-8 { width: 100%; }
.cfh-interior #main :is(.vc_custom_1789162259214,.vc_custom_1475381910641) p { font-size: 17px !important; line-height: 1.85 !important; color: #50564f; }
.cfh-interior #main .vc_custom_1475381910641 strong { color: #191d1b; }
.cfh-interior #main iframe { max-width: 100%; }
.cfh-contact #main .vc_custom_1708465826479 { box-sizing: border-box; display: grid !important; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 50px; padding: 80px 0 !important; margin: 0 !important; align-items: start; }
.cfh-contact #main .vc_custom_1708465826479::before,
.cfh-contact #main .vc_custom_1708465826479::after { display: none; }
.cfh-contact #main .vc_custom_1708465826479 > .wpb_column { width: 100% !important; min-width: 0; float: none; }
.cfh-contact #main .vc_custom_1708465826479 > .vc_col-sm-8 { background: #fffdf8; padding: 35px; border-top: 7px solid var(--cfh-red); box-shadow: 10px 10px 0 #ddd5c6; }
.cfh-contact #main .vc_custom_1708465826479 > .vc_col-sm-4 { background: #191d1b; padding: 35px; color: #fffdf8; }
.cfh-contact #main .vc_custom_1708465826479 .vc_column-inner { padding: 0 !important; }
.cfh-contact #main .vc_custom_1708465826479 p { font-size: 17px !important; line-height: 1.8 !important; color: #fffdf8 !important; overflow-wrap: anywhere; }
.cfh-contact #main .vc_custom_1708465826479 table { width: 100%; margin: 25px 0 0; }
.cfh-contact #main .vc_custom_1708465826479 tr { background: transparent !important; border-bottom: 1px solid #565b50; }
.cfh-contact #main .vc_custom_1708465826479 td { color: #fffdf8 !important; font-size: 14px; padding: 12px 0; }
.cfh-thanks #main .vc_custom_1654013892787 { box-sizing: border-box; margin: 75px auto !important; padding: 55px !important; max-width: 1000px; background: #fffdf8; border-left: 8px solid var(--cfh-red); box-shadow: 12px 12px 0 #dfd9cd; }
.cfh-thanks #main .vc_custom_1654013892787 .vc_column-inner { padding: 0 !important; }
.cfh-thanks #main .vc_custom_1654013892787 p { font: 700 clamp(23px, 2.8vw, 36px)/1.55 Lato, Arial, sans-serif !important; letter-spacing: -.02em; text-align: left !important; color: #191d1b; margin: 0 !important; }
.cfh-thanks #main .vc_custom_1654013892787 strong { color: var(--cfh-red); white-space: nowrap; }
@media (max-width: 1119px) {
  .cfh-interior #headingarea { grid-template-columns: 1fr; gap: 30px; padding-top: 60px !important; padding-bottom: 55px !important; }
  .cfh-interior #headingarea .cta-column p { justify-content: flex-start; }
  .cfh-interior #main .vc_custom_1708465524631 { grid-template-columns: minmax(0, 1.4fr) minmax(300px, 1fr); gap: 30px; }
  .cfh-interior #main .vc_custom_1708465524631 .vc_col-sm-8 { padding: 25px !important; }
  .cfh-interior #main .contact-form-container { padding: 22px !important; }
  .cfh-contact #main .vc_custom_1708465826479 { gap: 28px; }
}
@media (max-width: 900px) {
  .cfh-interior #main .vc_custom_1708465524631 { grid-template-columns: 1fr; }
  .cfh-interior #main .vc_custom_1708465524631 .vc_col-sm-4 { max-width: 650px; width: 100%; }
  .cfh-contact #main .vc_custom_1708465826479 { grid-template-columns: 1fr; }
}
@media (max-width: 740px) {
  .cfh-interior .main-container.container { width: calc(100% - 40px) !important; }
  .cfh-interior #headingarea { padding: 45px 24px !important; min-height: 310px; gap: 27px; }
  .cfh-interior #headingarea h1 { font-size: clamp(35px, 9vw, 52px) !important; }
  .cfh-interior #headingarea .optimizer-h1-prepend { font-size: 19px !important; }
  .cfh-interior #headingarea .button--cta { font-size: 12px !important; padding: 15px 17px !important; }
  .cfh-interior #headingarea .cta-column p { gap: 9px; }
  .cfh-interior #main .vc_custom_1708465524631 { padding: 45px 0 !important; gap: 40px; }
  .cfh-interior #main .vc_custom_1708465524631 .vc_col-sm-8 { padding: 24px 20px !important; }
  .cfh-interior #main .vc_custom_1708465524631 h2 { font-size: 27px !important; }
  .cfh-interior #main .vc_custom_1708465524631 :is(p,li) { font-size: 16px !important; }
  .cfh-interior #main :is(.optimizer-section--locations-served,.optimizer-section--industries,.optimizer-section--team) .post-grid { grid-template-columns: 1fr !important; gap: 14px !important; }
  .cfh-interior #main .optimizer-section--industries .item-bg-container { min-height: 190px; }
  .cfh-contact #main .vc_custom_1708465826479 { padding: 45px 0 !important; }
  .cfh-contact #main .vc_custom_1708465826479 > .vc_col-sm-8 { padding: 24px 18px; }
  .cfh-contact #main .vc_custom_1708465826479 > .vc_col-sm-4 { padding: 25px 20px; }
  .cfh-thanks #main .vc_custom_1654013892787 { padding: 30px 20px !important; margin: 45px 0 !important; }
  .cfh-thanks #main .vc_custom_1654013892787 p { font-size: 23px !important; }
}

.cfh-interior #main :is(.optimizer-section--locations-served,.optimizer-section--industries,.optimizer-section--team) .item-bg-container::after { background: none !important; }
.cfh-interior #main .optimizer-section--excerpt { padding-top: 0 !important; padding-bottom: 0 !important; }
.cfh-interior #main .vc_custom_1709155109175 { padding: 0 !important; margin: 0 !important; }
