/* Code Falcons Performance V1 - exact ordered legacy CSS bundle. */


/* source: cfm.css */
:root {
    --cfm-gold: #cbb262;
    --cfm-gold-deep: #b89a45;
    --cfm-ink: #202321;
    --cfm-black: #171a18;
    --cfm-muted: #747871;
    --cfm-line: #dedfd9;
    --cfm-soft: #f6f6f4;
    --cfm-cream: #f2ecd1;
    --cfm-white: #ffffff;
    --cfm-radius: 10px;
    --cfm-shadow: 0 18px 48px rgba(20, 24, 21, .08);
}

.cfm-header *, .cfm-footer *, .cfm-hero *, .cfm-section *, .cfm-impact * { box-sizing: border-box; }
.cfm-container { width: min(1280px, calc(100% - 48px)); margin-inline: auto; }
.cfm-hero, .cfm-section, .cfm-impact { color: var(--cfm-ink); font-family: Poppins, Outfit, Inter, sans-serif; }
.cfm-hero h1, .cfm-hero h2, .cfm-hero h3, .cfm-hero p, .cfm-section h1, .cfm-section h2, .cfm-section h3, .cfm-section p, .cfm-impact h1, .cfm-impact h2, .cfm-impact h3, .cfm-impact p { margin-top: 0; }
.cfm-hero a, .cfm-section a, .cfm-impact a { text-decoration: none; }

/* Header */
.cfm-header { position: relative; z-index: 1000; height: 104px; background: #fff; box-shadow: 0 1px 0 rgba(0,0,0,.06); font-family: Poppins, Outfit, sans-serif; }
.cfm-header.is-sticky { position: fixed; inset: 0 0 auto; box-shadow: 0 10px 35px rgba(0,0,0,.09); animation: cfmHeaderDown .25s ease; }
@keyframes cfmHeaderDown { from { transform: translateY(-100%); } to { transform: translateY(0); } }
.cfm-header__inner { height: 104px; display: flex; align-items: center; gap: 36px; }
.cfm-header__logo { display: inline-flex; align-items: center; flex: 0 0 auto; }
.cfm-header__logo img { width: auto !important; height: 58px !important; max-width: 210px; object-fit: contain; }
.cfm-header__nav { display: flex; align-items: stretch; justify-content: center; flex: 1 1 auto; height: 100%; }
.cfm-navigation { list-style: none; margin: 0; padding: 0; display: flex; align-items: stretch; justify-content: center; gap: 4px; }
.cfm-menu-item { position: relative; display: flex; align-items: stretch; }
.cfm-menu-item > a { display: flex; align-items: center; gap: 6px; padding: 0 14px; color: #242723; font-size: 14px; line-height: 1; font-weight: 500; transition: color .2s ease; white-space: nowrap; }
.cfm-menu-item > a:hover, .cfm-menu-item:hover > a { color: var(--cfm-gold-deep); }
.cfm-menu-chevron { width: 14px; height: 14px; margin-top: 1px; }
.cfm-sub-menu { position: absolute; z-index: 30; top: calc(100% - 14px); left: 0; min-width: 240px; padding: 12px; margin: 0; list-style: none; background: #fff; border: 1px solid #ecece7; border-radius: 8px; box-shadow: var(--cfm-shadow); opacity: 0; visibility: hidden; transform: translateY(12px); transition: .2s ease; }
.cfm-menu-item:hover > .cfm-sub-menu { opacity: 1; visibility: visible; transform: translateY(0); }
.cfm-sub-menu .cfm-menu-item { display: block; }
.cfm-sub-menu .cfm-menu-item > a { min-height: 42px; padding: 8px 12px; font-size: 13px; border-radius: 6px; }
.cfm-sub-menu .cfm-sub-menu { top: 0; left: 100%; }

.cfm-mega-menu { position: fixed; z-index: 40; top: 104px; left: 50%; width: min(1080px, calc(100vw - 72px)); max-height: calc(100vh - 118px); overflow-y: auto; overscroll-behavior: contain; transform: translate(-50%, 14px); background: #fff; border: 1px solid #e9e9e4; border-radius: 0 0 10px 10px; box-shadow: 0 24px 60px rgba(20, 23, 21, .16); opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .18s ease, transform .18s ease, visibility .18s; }
.cfm-menu-item--mega:hover > .cfm-mega-menu, .cfm-menu-item--mega.is-open > .cfm-mega-menu { opacity: 1; visibility: visible; pointer-events: auto; transform: translate(-50%, 0); }
.cfm-mega-menu__inner { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); column-gap: 30px; row-gap: 28px; align-items: start; padding: 30px 34px 34px; }
.cfm-mega-menu__column h3 { margin: 0 0 13px; color: #171a18; font-size: 14px; font-weight: 700; }
.cfm-mega-menu__column ul { list-style: none; margin: 0; padding: 0; }
.cfm-mega-menu__column li + li { margin-top: 2px; }
.cfm-mega-menu__column a { display: block; padding: 6px 0; color: #777b75; font-size: 12px; line-height: 1.35; transition: color .2s ease, transform .2s ease; }
.cfm-mega-menu__column a:hover { color: var(--cfm-gold-deep); transform: translateX(3px); }
.cfm-mega-menu__column a span { display: block; }
.cfm-mega-menu__column a small { display: block; margin-top: 2px; color: #a0a39e; font-size: 10px; }
.cfm-header__actions { display: flex; align-items: center; gap: 10px; flex: 0 0 auto; }
.cfm-header__whatsapp { width: 36px; height: 36px; border-radius: 6px; display: grid; place-items: center; background: #2ec866; color: #fff; font-size: 21px; }
.cfm-header__cta { min-height: 40px; padding: 0 18px; border-radius: 5px; display: inline-flex; align-items: center; justify-content: center; gap: 9px; background: var(--cfm-gold); color: #fff; font-size: 12px; font-weight: 600; white-space: nowrap; }
.cfm-header__cta:hover { background: var(--cfm-gold-deep); color: #fff; }
.cfm-header__language { list-style: none; margin: 0; padding: 0; }
.cfm-header__language .header-language-switcher > .dropdown > a { width: 55px; min-height: 36px; padding: 0 8px; border: 1px solid #d9d9d4; border-radius: 5px; display: flex; align-items: center; justify-content: center; color: #202321; }
.cfm-header__language .header-language-switcher svg { width: 17px; }
.cfm-header__language .dropdown-menu { min-width: 160px; padding: 8px; border-color: #e6e6e0; box-shadow: var(--cfm-shadow); }
.cfm-mobile-toggle { display: none; width: 42px; height: 42px; padding: 9px; border: 0; background: var(--cfm-black); border-radius: 6px; }
.cfm-mobile-toggle span { display: block; width: 100%; height: 2px; margin: 4px 0; background: #fff; }
.cfm-mobile-panel, .cfm-mobile-backdrop { display: none; }

/* Shared */
.cfm-section { padding: 82px 0; }
.cfm-heading { max-width: 920px; margin: 0 auto 48px; text-align: center; }
.cfm-heading--compact { margin-bottom: 36px; }
.cfm-heading h2, .cfm-impact__copy h2, .cfm-faq__intro h2 { margin-bottom: 15px; color: var(--cfm-ink); font-size: clamp(30px, 3vw, 43px); line-height: 1.08; letter-spacing: -.7px; font-weight: 750; }
.cfm-heading h2 span, .cfm-impact__copy h2 span, .cfm-faq__intro h2 span { color: var(--cfm-gold); }
.cfm-heading p { max-width: 980px; margin: 0 auto; color: #8a8e87; font-size: 13px; line-height: 1.75; }
.cfm-button { min-height: 46px; padding: 0 21px; display: inline-flex; align-items: center; justify-content: center; gap: 10px; border-radius: 4px; font-size: 12px; font-weight: 650; transition: .2s ease; }
.cfm-button--gold { background: var(--cfm-gold); color: #fff; }
.cfm-button--gold:hover { background: var(--cfm-gold-deep); color: #fff; transform: translateY(-2px); }
.cfm-button--outline { border: 1px solid rgba(255,255,255,.55); color: #fff; background: transparent; }
.cfm-button--outline:hover { border-color: var(--cfm-gold); color: var(--cfm-gold); }
.cfm-center-action { margin-top: 40px; text-align: center; }

/* Hero */
.cfm-hero { position: relative; min-height: 480px; display: flex; align-items: center; background: #171a18; color: #fff; overflow: hidden; }
.cfm-hero::before, .cfm-hero::after { content: ""; position: absolute; width: 280px; height: 280px; border: 1px solid rgba(203,178,98,.22); transform: rotate(30deg); }
.cfm-hero::before { left: -170px; top: 35px; }
.cfm-hero::after { right: -125px; bottom: -170px; }
.cfm-hero__pattern { position: absolute; inset: 0; opacity: .19; background-image: linear-gradient(30deg, transparent 47%, rgba(203,178,98,.25) 48%, rgba(203,178,98,.25) 49%, transparent 50%), linear-gradient(150deg, transparent 47%, rgba(203,178,98,.18) 48%, rgba(203,178,98,.18) 49%, transparent 50%); background-size: 78px 136px; mask-image: linear-gradient(90deg,#000 0,transparent 36%,transparent 66%,#000 100%); }
.cfm-hero__grid { position: relative; z-index: 2; min-height: 480px; display: grid; grid-template-columns: 1.08fr .92fr; align-items: center; gap: 60px; }
.cfm-hero__content { padding: 56px 0 52px; }
.cfm-hero__eyebrow { margin-bottom: 12px; color: #fff; font-size: 16px; font-weight: 500; }
.cfm-hero h1 { max-width: 690px; margin-bottom: 16px; color: var(--cfm-gold); font-size: clamp(38px, 4vw, 58px); line-height: 1.08; letter-spacing: -1.4px; font-weight: 800; }
.cfm-hero__description { max-width: 670px; margin-bottom: 30px; color: rgba(255,255,255,.82); font-size: 14px; line-height: 1.75; }
.cfm-hero__buttons { display: flex; flex-wrap: wrap; gap: 13px; }
.cfm-hero__visual { position: relative; align-self: end; display: flex; align-items: flex-end; justify-content: center; height: 100%; }
.cfm-hero__visual::before { content: ""; position: absolute; width: 350px; height: 350px; left: 50%; bottom: 15px; transform: translateX(-50%); border-radius: 50%; background: radial-gradient(circle, rgba(203,178,98,.18), transparent 68%); }
.cfm-hero__visual img { position: relative; z-index: 1; width: min(100%, 510px); max-height: 425px; object-fit: contain; object-position: center bottom; }

/* Partners */
.cfm-partners { padding-top: 62px; padding-bottom: 70px; background: #fff; }
.cfm-partners .cfm-heading h2 { font-size: clamp(28px, 2.5vw, 39px); }
.cfm-partners__grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 22px; align-items: center; }
.cfm-partner { height: 94px; padding: 15px; border: 1px solid #ecece8; border-radius: 3px; display: flex; align-items: center; justify-content: center; background: #fff; transition: .2s ease; }
.cfm-partner:hover { border-color: var(--cfm-gold); transform: translateY(-3px); box-shadow: 0 12px 30px rgba(0,0,0,.06); }
.cfm-partner img { max-width: 100%; max-height: 54px; object-fit: contain; }
.cfm-partner span { color: #757a73; font-size: 14px; font-weight: 700; text-align: center; }

/* Impact */
.cfm-impact { padding: 58px 0; background: linear-gradient(90deg, #f8f4e4 0%, #fff 48%, #f0e7bc 100%); }
.cfm-impact__grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: 80px; align-items: center; }
.cfm-impact__copy h2 { max-width: 640px; font-size: clamp(28px, 2.7vw, 41px); }
.cfm-impact__copy p { max-width: 670px; margin: 0; color: #898c86; font-size: 13px; line-height: 1.75; }
.cfm-impact__stats { position: relative; display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; max-width: 420px; justify-self: end; }
.cfm-stat-card { min-height: 116px; padding: 18px; border-radius: 7px; background: var(--cfm-gold); display: flex; flex-direction: column; align-items: center; justify-content: center; color: #171a18; text-align: center; }
.cfm-stat-card:nth-child(2), .cfm-stat-card:nth-child(3) { background: #222522; color: #fff; }
.cfm-stat-card strong { font-size: 34px; line-height: 1; font-weight: 800; }
.cfm-stat-card span { margin-top: 8px; font-size: 11px; line-height: 1.2; font-weight: 600; }
.cfm-impact__seal { position: absolute; left: 50%; top: 50%; width: 78px; height: 78px; transform: translate(-50%,-50%); border: 8px solid #fff; border-radius: 50%; display: grid; place-items: center; background: var(--cfm-black); color: var(--cfm-gold); box-shadow: 0 6px 20px rgba(0,0,0,.25); font-size: 24px; }

/* Why */
.cfm-why { background: #f6f6f5; }
.cfm-why__grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); border-top: 1px solid var(--cfm-line); border-left: 1px solid var(--cfm-line); }
.cfm-why-card { position: relative; min-height: 218px; padding: 30px 30px 24px; border-right: 1px solid var(--cfm-line); border-bottom: 1px solid var(--cfm-line); background: #fff; overflow: hidden; transition: .2s ease; }
.cfm-why-card:hover { z-index: 2; transform: translateY(-3px); box-shadow: var(--cfm-shadow); }
.cfm-why-card__number { position: absolute; right: 20px; top: 10px; color: #f0f0ed; font-size: 72px; line-height: 1; font-weight: 800; }
.cfm-why-card__icon { position: relative; z-index: 1; width: 47px; height: 47px; margin-bottom: 17px; border: 2px solid var(--cfm-gold); border-radius: 50%; display: grid; place-items: center; color: #1f231f; }
.cfm-why-card__icon svg { width: 25px; height: 25px; }
.cfm-why-card h3 { position: relative; z-index: 1; margin-bottom: 10px; font-size: 17px; line-height: 1.25; font-weight: 700; }
.cfm-why-card p { position: relative; z-index: 1; margin: 0; color: #858983; font-size: 11.5px; line-height: 1.65; }

/* Services */
.cfm-services { background: #fff; }
.cfm-services__panel { min-height: 485px; padding: 18px; border: 1px solid #dfe0dc; border-radius: 8px; display: grid; grid-template-columns: 280px minmax(0,1fr); gap: 16px; background: #fff; box-shadow: 0 12px 35px rgba(20,24,21,.04); }
.cfm-services__tabs { padding: 20px 18px; border-radius: 6px; display: flex; flex-direction: column; gap: 11px; background: #1d201e; }
.cfm-service-tab { width: 100%; min-height: 55px; padding: 0 16px; border: 1px solid rgba(255,255,255,.12); border-radius: 4px; display: flex; align-items: center; justify-content: space-between; background: #fff; color: #373b36; font-size: 13px; font-weight: 600; text-align: left; transition: .2s ease; }
.cfm-service-tab > span { display: flex; align-items: center; gap: 11px; }
.cfm-service-tab svg { width: 20px; height: 20px; color: var(--cfm-gold-deep); }
.cfm-service-tab.is-active { background: var(--cfm-gold); color: #fff; border-color: var(--cfm-gold); }
.cfm-service-tab.is-active svg { color: #fff; }
.cfm-services__all { min-height: 52px; margin-top: auto; padding: 0 15px; border-top: 1px solid rgba(255,255,255,.18); display: flex; align-items: center; justify-content: space-between; color: #fff; font-size: 12px; font-weight: 650; }
.cfm-services__all:hover { color: var(--cfm-gold); }
.cfm-services__content { min-width: 0; }
.cfm-service-content { display: none; height: 100%; grid-template-columns: 1.05fr .95fr; gap: 36px; align-items: center; padding: 22px 28px 22px 10px; }
.cfm-service-content.is-active { display: grid; animation: cfmFade .25s ease; }
@keyframes cfmFade { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.cfm-service-content__image { height: 390px; border-radius: 7px; overflow: hidden; background: #f4eee1; }
.cfm-service-content__image img { width: 100%; height: 100%; object-fit: cover; }
.cfm-service-content__copy h3 { margin-bottom: 12px; font-size: 31px; font-weight: 750; }
.cfm-service-content__copy > p { margin-bottom: 18px; color: #858983; font-size: 12.5px; line-height: 1.7; }
.cfm-service-content__copy ul { list-style: none; margin: 0 0 20px; padding: 0; }
.cfm-service-content__copy li { display: flex; align-items: center; gap: 9px; min-height: 29px; color: #636760; font-size: 12px; }
.cfm-service-content__copy li span { width: 7px; height: 7px; background: var(--cfm-gold); }
.cfm-service-content__copy > a { color: var(--cfm-gold-deep); font-size: 12px; font-weight: 700; }

/* Technology */
.cfm-technology { background: var(--cfm-cream); }
.cfm-technology__panel { border: 1px solid #e3dfcb; border-radius: 8px; overflow: hidden; background: #fff; box-shadow: 0 10px 30px rgba(40,35,20,.04); }
.cfm-technology__tabs { min-height: 54px; padding: 0 18px; display: flex; align-items: center; justify-content: space-between; gap: 12px; background: #1d201e; color: #fff; }
.cfm-technology__tabs span { display: inline-flex; align-items: center; gap: 7px; font-size: 11px; white-space: nowrap; }
.cfm-technology__tabs i { color: var(--cfm-gold); font-size: 6px; }
.cfm-technology__grid { display: grid; grid-template-columns: repeat(8, minmax(0,1fr)); padding: 30px 22px 28px; }
.cfm-tech-card { min-height: 122px; padding: 14px 8px; border-right: 1px solid #ecece7; border-bottom: 1px solid #ecece7; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 11px; text-align: center; }
.cfm-tech-card:nth-child(8n) { border-right: 0; }
.cfm-tech-card:nth-last-child(-n+8) { border-bottom: 0; }
.cfm-tech-card img, .cfm-tech-card__fallback { width: 49px; height: 49px; object-fit: contain; }
.cfm-tech-card__fallback { border-radius: 50%; display: grid; place-items: center; background: #f0f6fb; color: #2878b8; font-size: 31px; }
.cfm-tech-card strong { color: #555a54; font-size: 10px; font-weight: 600; }

/* Projects */
.cfm-projects { background: #fff; }
.cfm-projects__grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 44px; }
.cfm-project-card__image { position: relative; height: 330px; border-radius: 9px; overflow: hidden; display: block; background: #eee; }
.cfm-project-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.cfm-project-card:hover .cfm-project-card__image img { transform: scale(1.035); }
.cfm-project-card h3 { margin: 17px 0 4px; font-size: 16px; font-weight: 700; }
.cfm-project-card h3 a { color: #1f231f; }
.cfm-project-card > span { display: inline-flex; padding: 3px 9px; border-radius: 12px; background: #161916; color: #fff; font-size: 9px; }

/* Engagement */
.cfm-engagement { background: var(--cfm-cream); }
.cfm-engagement__grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 25px; }
.cfm-engagement-card { min-height: 390px; padding: 0 24px 26px; border: 1px solid var(--cfm-gold); border-radius: 9px; background: rgba(255,255,255,.54); overflow: hidden; }
.cfm-engagement-card__head { min-height: 62px; margin: 0 -24px 21px; padding: 0 22px; display: flex; align-items: center; gap: 11px; background: #1d201e; color: #fff; }
.cfm-engagement-card__head { background: #1d201e; }
.cfm-engagement-card__head svg { width: 27px; height: 27px; }
.cfm-engagement-card__head h3 { margin: 0; font-size: 18px; font-weight: 700; }
.cfm-engagement-card > p { min-height: 155px; margin-bottom: 20px; color: #747971; font-size: 12px; line-height: 1.65; }
.cfm-engagement-card ul { list-style: none; margin: 0; padding: 0; }
.cfm-engagement-card li { display: flex; align-items: center; gap: 8px; color: #697068; font-size: 11px; line-height: 1.6; }
.cfm-engagement-card li + li { margin-top: 5px; }
.cfm-engagement-card li i { color: #2fc564; }
.cfm-engagement__cta { min-height: 120px; margin-top: 54px; padding: 26px 30px; border-radius: 9px; display: flex; align-items: center; justify-content: space-between; gap: 30px; background: #1c1f1d; color: #fff; }
.cfm-engagement__cta h3 { margin-bottom: 6px; color: #fff; font-size: 24px; font-weight: 700; }
.cfm-engagement__cta p { margin: 0; color: rgba(255,255,255,.68); font-size: 11px; }

/* Testimonials */
.cfm-testimonials { background: #f5f5f4; }
.cfm-testimonials__grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 24px; }
.cfm-testimonial-card { min-height: 300px; padding: 26px; border: 1px solid #dfdfdb; border-radius: 7px; background: #fff; }
.cfm-testimonial-card__title { color: var(--cfm-gold-deep); font-size: 15px; font-weight: 700; }
.cfm-testimonial-card__stars { margin: 6px 0 15px; color: #f5a623; letter-spacing: 2px; font-size: 13px; }
.cfm-testimonial-card > p { min-height: 125px; margin-bottom: 18px; color: #777c75; font-size: 11px; line-height: 1.7; }
.cfm-testimonial-card__author { padding-top: 16px; border-top: 1px solid #ecece8; display: grid; grid-template-columns: 44px 1fr auto; gap: 11px; align-items: center; }
.cfm-testimonial-card__author > img { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; }
.cfm-testimonial-card__author strong, .cfm-testimonial-card__author span { display: block; }
.cfm-testimonial-card__author strong { color: #30342f; font-size: 11px; }
.cfm-testimonial-card__author span { color: #9a9d98; font-size: 9px; }
.cfm-google-mark { display: flex; flex-direction: column; align-items: center; color: #777; font-size: 10px; }
.cfm-google-mark i { color: #4285f4; font-size: 23px; }

/* FAQ */
.cfm-faq { background: #fff; }
.cfm-faq__grid { display: grid; grid-template-columns: .72fr 1.28fr; gap: 80px; align-items: start; }
.cfm-faq__intro h2 { font-size: clamp(30px, 3vw, 43px); }
.cfm-faq__intro > p { max-width: 420px; margin-bottom: 28px; color: #858983; font-size: 13px; line-height: 1.7; }
.cfm-faq__accordion { border-top: 1px solid #dddeda; }
.cfm-faq-item { border-bottom: 1px solid #dddeda; }
.cfm-faq-item > button { width: 100%; min-height: 58px; padding: 12px 4px; border: 0; display: flex; align-items: center; justify-content: space-between; gap: 20px; background: transparent; color: #242823; font-size: 13px; font-weight: 600; text-align: left; }
.cfm-faq-item > button i { transition: transform .2s ease; }
.cfm-faq-item.is-open > button { color: var(--cfm-gold-deep); }
.cfm-faq-item.is-open > button i { transform: rotate(45deg); }
.cfm-faq-item__answer { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .25s ease; }
.cfm-faq-item__answer > p { min-height: 0; overflow: hidden; margin: 0; color: #858983; font-size: 12px; line-height: 1.7; }
.cfm-faq-item.is-open .cfm-faq-item__answer { grid-template-rows: 1fr; }
.cfm-faq-item.is-open .cfm-faq-item__answer > p { padding: 0 32px 18px 4px; }

/* Footer */
.cfm-footer { font-family: Poppins, Outfit, sans-serif; }
.cfm-footer__intro { padding: 38px 0; background: #f0f0ef; }
.cfm-footer__intro-grid { display: grid; grid-template-columns: 240px 1fr 330px; gap: 44px; align-items: center; }
.cfm-footer__logo img { width: auto !important; height: 64px !important; max-width: 220px; object-fit: contain; }
.cfm-footer__intro p { margin: 0; color: #888c86; font-size: 11px; line-height: 1.7; }
.cfm-footer__address strong, .cfm-footer__address span { display: block; }
.cfm-footer__address strong { margin-bottom: 5px; color: var(--cfm-gold-deep); font-size: 12px; }
.cfm-footer__address span { color: #8b8f88; font-size: 10px; line-height: 1.55; }
.cfm-footer__main { position: relative; padding: 58px 0 25px; background: #171a18; color: #fff; overflow: hidden; }
.cfm-footer__main::before { content: ""; position: absolute; inset: 0; opacity: .08; background-image: radial-gradient(circle at 20% 110%, var(--cfm-gold) 0, transparent 32%), linear-gradient(20deg, transparent 48%, rgba(255,255,255,.18) 49%, transparent 50%); background-size: auto, 70px 120px; }
.cfm-footer__main > .cfm-container { position: relative; z-index: 1; }
.cfm-footer__grid { display: grid; grid-template-columns: .9fr 1fr 1.4fr 1.05fr; gap: 45px; }
.cfm-footer__column h3 { margin: 0 0 18px; color: #fff; font-size: 14px; font-weight: 700; }
.cfm-footer__links { list-style: none; margin: 0; padding: 0; }
.cfm-footer__links li + li { margin-top: 9px; }
.cfm-footer__links a { color: rgba(255,255,255,.66); font-size: 10.5px; transition: color .2s; }
.cfm-footer__links a:hover { color: var(--cfm-gold); }
.cfm-footer__sales > a { display: flex; align-items: center; gap: 9px; color: rgba(255,255,255,.78); font-size: 10.5px; }
.cfm-footer__sales > a + a { margin-top: 12px; }
.cfm-footer__sales i { width: 19px; color: var(--cfm-gold); text-align: center; }
.cfm-footer__trust-row { margin-top: 40px; padding: 25px 0; border-top: 1px solid rgba(255,255,255,.13); border-bottom: 1px solid rgba(255,255,255,.13); display: flex; justify-content: space-between; gap: 30px; }
.cfm-footer__trust-row strong { display: block; margin-bottom: 11px; color: var(--cfm-gold); font-size: 11px; }
.cfm-footer__trust-row strong span { color: #ff4b55; }
.cfm-footer__badges { display: flex; gap: 7px; }
.cfm-footer__badges span { padding: 5px 8px; border: 1px solid rgba(255,255,255,.18); border-radius: 3px; color: rgba(255,255,255,.7); font-size: 8px; }
.cfm-footer__badges i { margin-right: 4px; color: var(--cfm-gold); }
.cfm-footer__reviews { display: flex; align-items: center; gap: 7px; color: rgba(255,255,255,.7); font-size: 9px; }
.cfm-footer__reviews i { color: #4285f4; font-size: 20px; }
.cfm-footer__reviews b { color: #f7b23b; letter-spacing: 1px; }
.cfm-footer__bottom { min-height: 75px; display: flex; align-items: center; justify-content: space-between; gap: 25px; }
.cfm-footer__bottom p { margin: 0; color: rgba(255,255,255,.47); font-size: 9px; }
.cfm-footer__socials { display: flex; gap: 8px; }
.cfm-footer__socials a { width: 27px; height: 27px; border: 1px solid rgba(255,255,255,.2); border-radius: 4px; display: grid; place-items: center; color: #fff; font-size: 11px; }
.cfm-footer__socials a:hover { border-color: var(--cfm-gold); color: var(--cfm-gold); }

/* Hide Apexa elements that should not remain in the new shell */
body:has(.cfm-hero) .scroll__top { background: var(--cfm-gold); }

@media (max-width: 1199px) {
    .cfm-container { width: min(1120px, calc(100% - 40px)); }
    .cfm-header__inner { gap: 20px; }
    .cfm-menu-item > a { padding-inline: 9px; font-size: 12px; }
    .cfm-header__cta { padding-inline: 13px; }
    .cfm-project-card__image { height: 280px; }
    .cfm-technology__grid { grid-template-columns: repeat(4, minmax(0,1fr)); }
    .cfm-tech-card:nth-child(8n) { border-right: 1px solid #ecece7; }
    .cfm-tech-card:nth-child(4n) { border-right: 0; }
    .cfm-tech-card:nth-last-child(-n+8) { border-bottom: 1px solid #ecece7; }
    .cfm-tech-card:nth-last-child(-n+4) { border-bottom: 0; }
}

@media (max-width: 991px) {
    .cfm-header, .cfm-header__inner { height: 82px; }
    .cfm-header__logo img { height: 48px !important; max-width: 170px; }
    .cfm-header__nav, .cfm-header__actions > .cfm-header__cta, .cfm-header__language { display: none; }
    .cfm-header__actions { margin-left: auto; }
    .cfm-mobile-toggle { display: block; }
    .cfm-mobile-panel { position: fixed; z-index: 1002; inset: 0 0 0 auto; width: min(420px, 88vw); padding: 24px; display: block; background: #fff; transform: translateX(100%); transition: transform .28s ease; overflow-y: auto; }
    .cfm-mobile-panel.is-open { transform: translateX(0); }
    .cfm-mobile-backdrop { position: fixed; z-index: 1001; inset: 0; display: block; background: rgba(0,0,0,.54); opacity: 0; visibility: hidden; transition: .25s; }
    .cfm-mobile-backdrop.is-open { opacity: 1; visibility: visible; }
    .cfm-mobile-panel__top { display: flex; align-items: center; justify-content: space-between; padding-bottom: 18px; border-bottom: 1px solid #ecece8; }
    .cfm-mobile-close { width: 40px; height: 40px; border: 0; border-radius: 5px; background: #171a18; color: #fff; }
    .cfm-mobile-panel__nav { margin-top: 16px; }
    .cfm-navigation--mobile { display: block; }
    .cfm-navigation--mobile .cfm-menu-item { display: block; border-bottom: 1px solid #ecece8; }
    .cfm-navigation--mobile .cfm-menu-item > a { min-height: 52px; padding: 0; justify-content: space-between; color: #242724; font-size: 14px; }
    .cfm-navigation--mobile .cfm-sub-menu, .cfm-navigation--mobile .cfm-mega-menu { position: static; width: auto; min-width: 0; max-height: none; overflow: visible; padding: 0 0 14px 14px; border: 0; box-shadow: none; opacity: 1; visibility: visible; transform: none; display: none; }
    .cfm-navigation--mobile .cfm-menu-item.is-open > .cfm-sub-menu, .cfm-navigation--mobile .cfm-menu-item.is-open > .cfm-mega-menu { display: block; }
    .cfm-navigation--mobile .cfm-mega-menu__inner { grid-template-columns: 1fr; gap: 0; padding: 0; }
    .cfm-navigation--mobile .cfm-mega-menu__column { border-bottom: 1px dashed #e4e4de; padding: 12px 0; }
    .cfm-navigation--mobile .cfm-mega-menu__column h3 { margin-bottom: 5px; }
    .cfm-navigation--mobile .cfm-mega-menu__column a { padding: 5px 0; }
    .cfm-mobile-panel__actions { display: grid; gap: 10px; margin-top: 24px; }
    .cfm-mobile-panel__whatsapp { min-height: 44px; border: 1px solid #2ec866; border-radius: 5px; display: flex; align-items: center; justify-content: center; gap: 8px; color: #24aa56; font-size: 13px; font-weight: 650; }
    .cfm-hero, .cfm-hero__grid { min-height: 590px; }
    .cfm-hero__grid { grid-template-columns: 1fr .8fr; gap: 20px; }
    .cfm-hero h1 { font-size: 43px; }
    .cfm-partners__grid { grid-template-columns: repeat(3,1fr); }
    .cfm-impact__grid { gap: 35px; }
    .cfm-why__grid { grid-template-columns: repeat(2,1fr); }
    .cfm-services__panel { grid-template-columns: 220px 1fr; }
    .cfm-service-content { grid-template-columns: 1fr; overflow: auto; }
    .cfm-service-content__image { height: 230px; }
    .cfm-projects__grid { gap: 22px; }
    .cfm-project-card__image { height: 220px; }
    .cfm-engagement-card { padding-inline: 17px; }
    .cfm-engagement-card__head { margin-inline: -17px; }
    .cfm-footer__intro-grid { grid-template-columns: 190px 1fr; }
    .cfm-footer__address { grid-column: 2; }
    .cfm-footer__grid { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 767px) {
    .cfm-container { width: min(100% - 30px, 620px); }
    .cfm-section { padding: 62px 0; }
    .cfm-heading { margin-bottom: 34px; }
    .cfm-heading h2, .cfm-impact__copy h2, .cfm-faq__intro h2 { font-size: 31px; }
    .cfm-header__whatsapp { width: 38px; height: 38px; }
    .cfm-hero, .cfm-hero__grid { min-height: 0; }
    .cfm-hero__grid { display: flex; flex-direction: column; gap: 0; }
    .cfm-hero__content { order: 1; padding: 56px 0 30px; text-align: center; }
    .cfm-hero__eyebrow { font-size: 14px; }
    .cfm-hero h1 { margin-inline: auto; font-size: 38px; }
    .cfm-hero__description { margin-inline: auto; font-size: 13px; }
    .cfm-hero__buttons { justify-content: center; }
    .cfm-hero__visual { order: 2; width: 100%; height: 310px; }
    .cfm-hero__visual img { max-height: 300px; }
    .cfm-partners__grid { grid-template-columns: repeat(2,1fr); gap: 12px; }
    .cfm-partner { height: 78px; }
    .cfm-impact__grid { grid-template-columns: 1fr; text-align: center; }
    .cfm-impact__copy h2, .cfm-impact__copy p { margin-inline: auto; }
    .cfm-impact__stats { justify-self: center; width: 100%; max-width: 420px; }
    .cfm-stat-card { min-height: 105px; }
    .cfm-why__grid { grid-template-columns: 1fr; }
    .cfm-services__panel { min-height: 0; grid-template-columns: 1fr; }
    .cfm-services__tabs { display: grid; grid-template-columns: repeat(2,1fr); }
    .cfm-services__all { grid-column: 1/-1; }
    .cfm-service-content { padding: 8px; gap: 24px; }
    .cfm-service-content__image { height: 300px; }
    .cfm-technology__tabs { padding: 12px; flex-wrap: wrap; justify-content: center; }
    .cfm-technology__grid { grid-template-columns: repeat(2,1fr); }
    .cfm-tech-card:nth-child(4n) { border-right: 1px solid #ecece7; }
    .cfm-tech-card:nth-child(2n) { border-right: 0; }
    .cfm-tech-card:nth-last-child(-n+4) { border-bottom: 1px solid #ecece7; }
    .cfm-tech-card:nth-last-child(-n+2) { border-bottom: 0; }
    .cfm-projects__grid, .cfm-engagement__grid, .cfm-testimonials__grid { grid-template-columns: 1fr; }
    .cfm-project-card__image { height: 330px; }
    .cfm-engagement-card > p { min-height: 0; }
    .cfm-engagement__cta { align-items: flex-start; flex-direction: column; }
    .cfm-faq__grid { grid-template-columns: 1fr; gap: 45px; }
    .cfm-footer__intro-grid { grid-template-columns: 1fr; gap: 20px; text-align: center; }
    .cfm-footer__logo { justify-self: center; }
    .cfm-footer__address { grid-column: auto; }
    .cfm-footer__grid { grid-template-columns: repeat(2,1fr); gap: 35px 25px; }
    .cfm-footer__trust-row, .cfm-footer__bottom { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 480px) {
    .cfm-header__logo img { height: 43px !important; max-width: 150px; }
    .cfm-header__whatsapp { display: none; }
    .cfm-hero h1 { font-size: 32px; }
    .cfm-button { width: 100%; }
    .cfm-hero__buttons { width: 100%; }
    .cfm-partners__grid { grid-template-columns: 1fr 1fr; }
    .cfm-impact__stats { gap: 7px; }
    .cfm-stat-card { padding: 12px; }
    .cfm-stat-card strong { font-size: 27px; }
    .cfm-services__tabs { grid-template-columns: 1fr; }
    .cfm-service-content__image { height: 230px; }
    .cfm-project-card__image { height: 260px; }
    .cfm-footer__grid { grid-template-columns: 1fr; }
}

/* Desktop proportions matched to the approved Code Falcons homepage artwork. */
@media (min-width: 1200px) {
    .cfm-container { width: min(1320px, calc(100% - 40px)); }

    .cfm-heading { margin-bottom: 58px; }
    .cfm-heading--compact { margin-bottom: 50px; }
    .cfm-heading h2, .cfm-impact__copy h2, .cfm-faq__intro h2 { font-size: clamp(34px, 3.1vw, 46px); }
    .cfm-heading p, .cfm-impact__copy p, .cfm-faq__intro > p { font-size: 14px; }

    .cfm-partners { padding-top: 92px; padding-bottom: 100px; }
    .cfm-partner { height: 114px; }
    .cfm-partner img { max-height: 68px; }

    .cfm-impact { padding: 78px 0; }
    .cfm-impact__copy h2 { font-size: 41px; }
    .cfm-stat-card { min-height: 140px; }
    .cfm-impact__seal { width: 88px; height: 88px; }

    .cfm-why { padding-top: 108px; padding-bottom: 108px; }
    .cfm-why-card { min-height: 280px; padding: 38px 34px 30px; }
    .cfm-why-card__icon { width: 52px; height: 52px; margin-bottom: 21px; }
    .cfm-why-card h3 { font-size: 18px; }
    .cfm-why-card p { font-size: 12.5px; line-height: 1.72; }

    .cfm-services { padding-top: 94px; padding-bottom: 92px; }
    .cfm-services__panel { min-height: 510px; }
    .cfm-service-content__image { height: 412px; }

    .cfm-technology { padding-top: 98px; padding-bottom: 102px; }
    .cfm-technology__grid { padding-top: 36px; padding-bottom: 36px; }
    .cfm-tech-card { min-height: 145px; }
    .cfm-tech-card img, .cfm-tech-card__fallback { width: 56px; height: 56px; }

    .cfm-projects { padding-top: 150px; padding-bottom: 148px; }
    .cfm-project-card__image { height: 390px; }
    .cfm-project-card h3 { margin-top: 21px; font-size: 17px; }
    .cfm-projects .cfm-center-action { margin-top: 62px; }

    .cfm-engagement { padding-top: 112px; padding-bottom: 116px; }
    .cfm-engagement-card { min-height: 650px; padding: 0 28px 34px; }
    .cfm-engagement-card__head { min-height: 72px; margin: 0 -28px 28px; padding: 0 26px; }
    .cfm-engagement-card__head h3 { font-size: 20px; }
    .cfm-engagement-card > p { min-height: 350px; margin-bottom: 26px; font-size: 13px; line-height: 1.75; }
    .cfm-engagement-card li { font-size: 12px; line-height: 1.75; }
    .cfm-engagement__cta { min-height: 165px; margin-top: 68px; padding: 34px 38px; }
    .cfm-engagement__cta h3 { font-size: 27px; }

    .cfm-testimonials { padding-top: 118px; padding-bottom: 122px; }
    .cfm-testimonial-card { min-height: 380px; padding: 31px; }
    .cfm-testimonial-card > p { min-height: 178px; font-size: 12px; line-height: 1.78; }
    .cfm-testimonials .cfm-center-action { margin-top: 56px; }

    .cfm-faq { padding-top: 126px; padding-bottom: 128px; }
    .cfm-faq-item > button { min-height: 72px; font-size: 14px; }
    .cfm-faq-item.is-open .cfm-faq-item__answer > p { padding-bottom: 28px; }

    .cfm-footer__intro { padding: 64px 0; }
    .cfm-footer__intro-grid { min-height: 100px; }
    .cfm-footer__main { padding-top: 82px; padding-bottom: 34px; }
    .cfm-footer__column h3 { margin-bottom: 22px; font-size: 15px; }
    .cfm-footer__links li + li { margin-top: 13px; }
    .cfm-footer__links a, .cfm-footer__sales > a { font-size: 11.5px; }
    .cfm-footer__sales > a + a { margin-top: 16px; }
    .cfm-footer__trust-row { margin-top: 55px; padding: 34px 0; }
    .cfm-footer__bottom { min-height: 105px; }
}

/* V3: page-builder sections, accessible technology tabs and mobile mega menu */
html.cfm-menu-open { overflow: hidden; }
.cfm-mega-column-toggle { display: none; }
.cfm-impact__eyebrow { display: block; margin-bottom: 8px; color: var(--cfm-gold-deep); font-size: 11px; font-weight: 750; letter-spacing: .12em; }
.cfm-technology__tabs { justify-content: flex-start; overflow-x: auto; scrollbar-width: thin; }
.cfm-technology__tab { min-height: 54px; padding: 0 13px; border: 0; border-bottom: 3px solid transparent; display: inline-flex; flex: 0 0 auto; align-items: center; gap: 7px; background: transparent; color: rgba(255,255,255,.72); font: inherit; font-size: 11px; font-weight: 600; white-space: nowrap; cursor: pointer; transition: color .2s, border-color .2s, background-color .2s; }
.cfm-technology__tab svg { width: 17px; height: 17px; color: var(--cfm-gold); }
.cfm-technology__tab:hover, .cfm-technology__tab.is-active { border-bottom-color: var(--cfm-gold); background: rgba(255,255,255,.06); color: #fff; }
.cfm-tech-card[href] { transition: transform .2s ease, background-color .2s ease; }
.cfm-tech-card[href]:hover { background: #fbfaf4; transform: translateY(-2px); }
.cfm-tech-card__fallback span { font-size: 18px; font-weight: 800; }
.cfm-faq-item__answer p > :last-child { margin-bottom: 0; }

@media (max-width: 991px) {
    .cfm-navigation--mobile .cfm-mega-menu { padding-left: 0; }
    .cfm-navigation--mobile .cfm-mega-menu__column { padding: 0; }
    .cfm-navigation--mobile .cfm-mega-menu__column > h3 { display: none; }
    .cfm-navigation--mobile .cfm-mega-column-toggle { width: 100%; min-height: 48px; padding: 0 2px 0 14px; border: 0; display: flex; align-items: center; justify-content: space-between; background: transparent; color: #2b2f2a; font-size: 13px; font-weight: 700; text-align: left; }
    .cfm-navigation--mobile .cfm-mega-column-toggle svg { width: 17px; transition: transform .2s ease; }
    .cfm-navigation--mobile .cfm-mega-menu__column > ul { display: none; padding: 0 12px 12px 28px; }
    .cfm-navigation--mobile .cfm-mega-menu__column.is-open > ul { display: block; }
    .cfm-navigation--mobile .cfm-mega-menu__column.is-open .cfm-mega-column-toggle svg { transform: rotate(180deg); }
    .cfm-navigation--mobile .cfm-menu-item.is-open > a .cfm-menu-chevron { transform: rotate(180deg); }
    .cfm-navigation--mobile .cfm-menu-chevron { transition: transform .2s ease; }
    .cfm-mobile-panel__languages { margin-top: 20px; padding: 16px; border-radius: 7px; background: #f6f5ef; }
    .cfm-mobile-panel__languages .title { color: #202420; font-size: 13px; font-weight: 700; }
    .cfm-mobile-panel__languages ul { margin: 8px 0 0; padding: 0; list-style: none; }
    .cfm-mobile-panel__languages a { min-height: 38px; display: flex; align-items: center; color: #555a54; font-size: 12px; }
}

@media (max-width: 767px) {
    .cfm-technology__tabs { padding: 0 8px; flex-wrap: nowrap; justify-content: flex-start; }
    .cfm-technology__tab { min-height: 50px; padding-inline: 11px; }
    .cfm-impact__stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .cfm-service-content__copy h3 { font-size: 25px; }
    .cfm-testimonial-card > p { min-height: 0; }
}

@media (max-width: 480px) {
    .cfm-mobile-panel { width: 92vw; padding: 18px; }
    .cfm-impact__seal { width: 66px; height: 66px; }
    .cfm-tech-card { min-height: 108px; }
    .cfm-technology__grid { padding: 12px; }
}

/* CFM Counter UI V4 — approved homepage proportions */
.cfm-impact {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: clamp(64px, 6.4vw, 94px) 0;
    background:
        radial-gradient(circle at 86% 18%, rgba(203, 178, 98, .20), transparent 28%),
        linear-gradient(105deg, #f3edcf 0%, #faf8ee 51%, #efe5bd 100%);
}
.cfm-impact::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -2;
    background: linear-gradient(90deg, rgba(255,255,255,.12), rgba(255,255,255,.62) 52%, rgba(255,255,255,.04));
    pointer-events: none;
}
.cfm-impact__glow {
    position: absolute;
    z-index: -1;
    right: -110px;
    top: 50%;
    width: 430px;
    height: 430px;
    border-radius: 50%;
    transform: translateY(-50%);
    background: rgba(203, 178, 98, .13);
    filter: blur(1px);
    pointer-events: none;
}
.cfm-impact__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr);
    align-items: center;
    gap: clamp(54px, 8vw, 126px);
}
.cfm-impact__copy {
    max-width: 690px;
}
.cfm-impact__eyebrow {
    margin-bottom: 13px;
    color: #ad9140;
    font-size: 12px;
    line-height: 1;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}
.cfm-impact__copy h2 {
    max-width: 670px;
    margin: 0 0 20px;
    color: #202321;
    font-size: clamp(34px, 3.15vw, 48px);
    line-height: 1.13;
    letter-spacing: -1.25px;
    font-weight: 800;
}
.cfm-impact__copy h2 span {
    color: #c7a94c;
}
.cfm-impact__copy p {
    max-width: 650px;
    margin: 0;
    color: #8b8e88;
    font-size: 15px;
    line-height: 1.82;
    font-weight: 400;
}
.cfm-impact__visual {
    display: flex;
    justify-content: flex-end;
}
.cfm-impact__stats {
    position: relative;
    width: min(100%, 344px);
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    justify-self: end;
}
.cfm-stat-card {
    min-height: 140px;
    padding: 20px 14px 18px;
    border: 1px solid rgba(24, 27, 25, .05);
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: #cdb35e;
    color: #202321;
    text-align: center;
    box-shadow: 0 14px 30px rgba(43, 39, 24, .06);
}
.cfm-stat-card:nth-child(2),
.cfm-stat-card:nth-child(3) {
    background: #202321;
    color: #fff;
}
.cfm-stat-card strong {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    color: inherit;
    font-size: clamp(34px, 3vw, 46px);
    line-height: .9;
    letter-spacing: -1.7px;
    font-weight: 850;
}
.cfm-stat-card strong small {
    margin-top: 2px;
    font-size: .57em;
    line-height: 1;
    letter-spacing: -.4px;
    font-weight: 800;
}
.cfm-stat-card > span {
    max-width: 125px;
    margin-top: 12px;
    color: inherit;
    font-size: 12px;
    line-height: 1.25;
    font-weight: 650;
    opacity: .94;
}
.cfm-stat-card:nth-child(2) strong,
.cfm-stat-card:nth-child(2) > span,
.cfm-stat-card:nth-child(3) strong,
.cfm-stat-card:nth-child(3) > span {
    color: #d2b961;
}
.cfm-impact__seal {
    position: absolute;
    z-index: 3;
    left: 50%;
    top: 50%;
    width: 102px;
    height: 102px;
    padding: 7px;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 14px 30px rgba(24, 27, 25, .22);
}
.cfm-impact__seal-inner {
    width: 100%;
    height: 100%;
    border-radius: inherit;
    display: grid;
    place-items: center;
    overflow: hidden;
    background: #202321;
}
.cfm-impact__seal img {
    width: 100%;
    height: 100%;
    display: block;
    border-radius: inherit;
    object-fit: cover;
}

@media (max-width: 1199px) {
    .cfm-impact__grid { grid-template-columns: minmax(0, 1.1fr) minmax(300px, .9fr); gap: 52px; }
    .cfm-impact__stats { width: min(100%, 320px); }
    .cfm-stat-card { min-height: 130px; }
    .cfm-impact__seal { width: 94px; height: 94px; }
}

@media (max-width: 900px) {
    .cfm-impact { padding: 68px 0 74px; }
    .cfm-impact__grid { grid-template-columns: 1fr; gap: 46px; }
    .cfm-impact__copy { max-width: 720px; margin-inline: auto; text-align: center; }
    .cfm-impact__copy h2, .cfm-impact__copy p { margin-inline: auto; }
    .cfm-impact__visual { justify-content: center; }
    .cfm-impact__stats { justify-self: center; width: min(100%, 360px); }
    .cfm-stat-card { min-height: 144px; }
}

@media (max-width: 575px) {
    .cfm-impact { padding: 54px 0 60px; }
    .cfm-impact__grid { gap: 36px; }
    .cfm-impact__copy h2 { margin-bottom: 16px; font-size: clamp(29px, 9vw, 36px); letter-spacing: -.8px; }
    .cfm-impact__copy p { font-size: 14px; line-height: 1.72; }
    .cfm-impact__stats { width: 100%; max-width: 336px; gap: 9px; }
    .cfm-stat-card { min-height: 122px; padding: 16px 10px 14px; border-radius: 8px; }
    .cfm-stat-card strong { font-size: 35px; }
    .cfm-stat-card > span { margin-top: 9px; font-size: 10.5px; }
    .cfm-impact__seal { width: 82px; height: 82px; padding: 6px; }
}

@media (max-width: 380px) {
    .cfm-stat-card { min-height: 112px; }
    .cfm-stat-card strong { font-size: 31px; }
    .cfm-impact__seal { width: 74px; height: 74px; }
}

/* CFM V6: admin-controlled logo dimensions and Why Choose typography/icons */
.cfm-header .cfm-header__logo {
    min-width: 0;
}

.cfm-header .cfm-header__logo img {
    display: block;
    width: var(--cfm-logo-width, 170px) !important;
    height: auto !important;
    max-width: min(32vw, 420px) !important;
    max-height: var(--cfm-logo-height, 58px) !important;
    object-fit: contain;
    object-position: left center;
}

.cfm-why .cfm-heading h2 {
    font-size: var(--cfm-why-heading-size, 43px);
    font-weight: var(--cfm-why-heading-weight, 700);
}

.cfm-why .cfm-heading p {
    font-size: var(--cfm-why-description-size, 13px);
}

.cfm-why-card__icon {
    width: var(--cfm-why-icon-container, 47px);
    height: var(--cfm-why-icon-container, 47px);
    flex: 0 0 var(--cfm-why-icon-container, 47px);
}

.cfm-why-card__icon svg,
.cfm-why-card__icon img {
    display: block;
    width: var(--cfm-why-icon-width, 25px);
    height: var(--cfm-why-icon-height, 25px);
    max-width: calc(100% - 10px);
    max-height: calc(100% - 10px);
    object-fit: contain;
}

.cfm-why-card h3 {
    font-size: var(--cfm-why-card-heading-size, 17px);
    font-weight: var(--cfm-why-card-heading-weight, 700);
}

.cfm-why-card p {
    font-size: var(--cfm-why-card-description-size, 12px);
}

@media (max-width: 991.98px) {
    .cfm-header .cfm-header__logo img {
        max-width: min(34vw, 210px) !important;
    }
}

@media (max-width: 767.98px) {
    .cfm-header .cfm-header__logo img {
        width: min(var(--cfm-logo-width, 170px), 180px) !important;
        max-width: 46vw !important;
        max-height: min(var(--cfm-logo-height, 58px), 56px) !important;
    }

    .cfm-why .cfm-heading h2 {
        font-size: min(var(--cfm-why-heading-size, 43px), 38px);
    }

    .cfm-why .cfm-heading p {
        font-size: min(var(--cfm-why-description-size, 13px), 18px);
    }

    .cfm-why-card h3 {
        font-size: min(var(--cfm-why-card-heading-size, 17px), 28px);
    }

    .cfm-why-card p {
        font-size: min(var(--cfm-why-card-description-size, 12px), 20px);
    }
}

/* CFM V7 — responsive builder controls, mobile navigation and performance fixes */
html,
body {
    max-width: 100%;
    overflow-x: clip;
}

.cfm-defer-render {
    content-visibility: auto;
    contain-intrinsic-size: 1px 900px;
}

/* Shared responsive typography controlled by every CFM Visual Builder block. */
.cfm-responsive-type .cfm-heading h2,
.cfm-impact.cfm-responsive-type .cfm-impact__copy h2,
.cfm-faq.cfm-responsive-type .cfm-faq__intro h2,
.cfm-hero.cfm-responsive-type h1 {
    color: var(--cfm-heading-color, #202321) !important;
    font-size: var(--cfm-heading-desktop, 43px) !important;
}

.cfm-responsive-type .cfm-heading h2 span,
.cfm-impact.cfm-responsive-type .cfm-impact__copy h2 span,
.cfm-faq.cfm-responsive-type .cfm-faq__intro h2 span {
    color: var(--cfm-heading-accent-color, #cbb262) !important;
}

.cfm-responsive-type .cfm-heading p,
.cfm-impact.cfm-responsive-type .cfm-impact__copy > p,
.cfm-faq.cfm-responsive-type .cfm-faq__intro > p,
.cfm-hero.cfm-responsive-type .cfm-hero__description {
    color: var(--cfm-description-color, #8a8e87) !important;
    font-size: var(--cfm-description-desktop, 13px) !important;
}

.cfm-hero.cfm-responsive-type .cfm-hero__description {
    opacity: .86;
}

/* Why Choose: borderless cards and clean custom icon rendering. */
.cfm-why__grid {
    border: 0 !important;
    gap: 1px;
    background: transparent;
}

.cfm-why-card {
    border: 0 !important;
    box-shadow: none;
}

.cfm-why-card__icon--custom {
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
}

.cfm-why-card h3 {
    color: var(--cfm-why-card-heading-color, #111f69) !important;
    font-size: var(--cfm-why-card-heading-size, 17px) !important;
    font-weight: var(--cfm-why-card-heading-weight, 700) !important;
}

.cfm-why-card p {
    color: var(--cfm-why-card-description-color, #7b8079) !important;
    font-size: var(--cfm-why-card-description-size, 12px) !important;
}

.cfm-why .cfm-heading h2 {
    font-weight: var(--cfm-why-heading-weight, 700) !important;
}

/* Technology category icon and title sizing from Appearance → Technology Stack. */
.cfm-technology__tab svg {
    width: var(--cfm-tech-category-icon-size, 17px) !important;
    height: var(--cfm-tech-category-icon-size, 17px) !important;
    flex: 0 0 var(--cfm-tech-category-icon-size, 17px);
}

.cfm-technology__tab > span {
    font-size: var(--cfm-tech-category-title-size, 11px) !important;
}

/* Language selector: flag + two-letter code + arrow + active/default state. */
.cfm-language-trigger {
    min-width: 68px;
    min-height: 38px;
    padding: 0 9px;
    border: 1px solid #d9d9d4;
    border-radius: 5px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    background: #fff;
    color: #202321;
    cursor: pointer;
}

.cfm-language-trigger::after {
    display: none !important;
}

.cfm-language-trigger__flag,
.cfm-language-option__flag {
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
}

.cfm-language-trigger__flag img,
.cfm-language-option__flag img {
    width: 20px !important;
    height: 14px !important;
    border-radius: 2px;
    object-fit: cover;
}

.cfm-language-trigger__code,
.cfm-language-option__code {
    font-size: 11px;
    line-height: 1;
    font-weight: 700;
    letter-spacing: .04em;
}

.cfm-language-arrow {
    width: 13px !important;
    height: 13px !important;
    transition: transform .2s ease;
}

.cfm-language-switcher .show .cfm-language-arrow {
    transform: rotate(180deg);
}

.cfm-language-menu {
    min-width: 176px !important;
    padding: 7px !important;
}

.cfm-language-menu .dropdown-item,
.cfm-language-mobile a {
    min-height: 40px;
    padding: 7px 9px;
    border-radius: 5px;
    display: flex;
    align-items: center;
    gap: 8px;
    color: #454a44;
}

.cfm-language-menu .dropdown-item.is-active,
.cfm-language-mobile a.is-active {
    background: #f2f7f1;
    color: #202321;
}

.cfm-language-option__status {
    margin-left: auto;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: #6f756e;
}

.cfm-language-option__status small {
    font-size: 9px;
    font-weight: 600;
}

.cfm-language-check {
    width: 15px !important;
    height: 15px !important;
    color: #20a855;
    stroke-width: 3;
}

.cfm-language-mobile .list {
    margin: 8px 0 0;
    padding: 0;
    list-style: none;
}

.cfm-language-mobile .menu-item + .menu-item {
    margin-top: 4px;
}

/* Counter: same bold number scale on desktop, tablet and mobile; thin center ring. */
.cfm-stat-card strong {
    font-size: 64px !important;
    line-height: .9 !important;
    font-weight: 900 !important;
}

.cfm-stat-card > span {
    width: 100%;
    max-width: 135px;
    text-align: center;
}

.cfm-impact__seal {
    padding: 3px !important;
    box-shadow: 0 8px 20px rgba(24, 27, 25, .15) !important;
}

/* Business engagement title uses the same builder-controlled colors as all sections. */
.cfm-engagement.cfm-responsive-type .cfm-heading h2 {
    color: var(--cfm-heading-color, #202321) !important;
}

.cfm-engagement.cfm-responsive-type .cfm-heading h2 span {
    color: var(--cfm-heading-accent-color, #cbb262) !important;
}

@media (max-width: 991.98px) {
    .cfm-responsive-type .cfm-heading h2,
    .cfm-impact.cfm-responsive-type .cfm-impact__copy h2,
    .cfm-faq.cfm-responsive-type .cfm-faq__intro h2,
    .cfm-hero.cfm-responsive-type h1 {
        font-size: var(--cfm-heading-tablet, 38px) !important;
    }

    .cfm-responsive-type .cfm-heading p,
    .cfm-impact.cfm-responsive-type .cfm-impact__copy > p,
    .cfm-faq.cfm-responsive-type .cfm-faq__intro > p,
    .cfm-hero.cfm-responsive-type .cfm-hero__description {
        font-size: var(--cfm-description-tablet, 13px) !important;
    }

    .cfm-header,
    .cfm-header__inner {
        height: 86px;
    }

    .cfm-header__inner {
        gap: 10px;
    }

    .cfm-header__actions {
        gap: 7px;
    }

    .cfm-header__nav,
    .cfm-header__actions > .cfm-header__cta {
        display: none;
    }

    .cfm-header__language {
        display: block !important;
    }

    .cfm-language-trigger {
        min-width: 62px;
        min-height: 40px;
        padding-inline: 7px;
        gap: 5px;
    }

    /* Fully reset fixed desktop mega-menu rules inside the mobile drawer. */
    .cfm-navigation--mobile,
    .cfm-navigation--mobile .cfm-menu-item {
        width: 100%;
    }

    .cfm-navigation--mobile .cfm-menu-item {
        display: block !important;
    }

    .cfm-navigation--mobile .cfm-menu-item > a {
        width: 100%;
        min-height: 52px;
        padding: 0 2px;
        display: flex;
        align-items: center;
        justify-content: space-between;
    }

    .cfm-navigation--mobile .cfm-sub-menu,
    .cfm-navigation--mobile .cfm-mega-menu {
        position: static !important;
        inset: auto !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 0 0 12px !important;
        overflow: visible !important;
        border: 0 !important;
        border-radius: 0 !important;
        display: none !important;
        background: transparent !important;
        box-shadow: none !important;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        transform: none !important;
    }

    .cfm-navigation--mobile .cfm-menu-item.is-open > .cfm-sub-menu,
    .cfm-navigation--mobile .cfm-menu-item.is-open > .cfm-mega-menu {
        display: block !important;
    }

    .cfm-navigation--mobile .cfm-mega-menu__inner {
        width: 100%;
        padding: 0 !important;
        display: block !important;
    }

    .cfm-navigation--mobile .cfm-mega-menu__column {
        width: 100%;
        padding: 0 !important;
        border: 0 !important;
        border-bottom: 1px dashed #e2e3dd !important;
    }

    .cfm-navigation--mobile .cfm-mega-column-toggle {
        width: 100%;
        min-height: 46px;
        padding: 0 4px 0 16px;
        border: 0;
        display: flex !important;
        align-items: center;
        justify-content: space-between;
        background: #fafaf7;
        color: #242824;
        font-size: 13px;
        font-weight: 700;
        text-align: left;
    }

    .cfm-navigation--mobile .cfm-mega-menu__column > h3 {
        display: none !important;
    }

    .cfm-navigation--mobile .cfm-mega-menu__column > ul {
        margin: 0;
        padding: 6px 14px 12px 24px !important;
        display: none !important;
        list-style: none;
    }

    .cfm-navigation--mobile .cfm-mega-menu__column.is-open > ul {
        display: block !important;
    }

    .cfm-navigation--mobile .cfm-mega-menu__column a {
        min-height: 38px;
        padding: 7px 0 !important;
        display: block;
    }

    /* Tablet hero is now stacked and flush, preventing the button/image gap. */
    .cfm-hero,
    .cfm-hero__grid {
        min-height: 0 !important;
    }

    .cfm-hero__grid {
        display: flex !important;
        flex-direction: column;
        gap: 0 !important;
    }

    .cfm-hero__content {
        order: 1;
        width: 100%;
        padding: 50px 0 12px !important;
        text-align: center;
    }

    .cfm-hero__description {
        margin-inline: auto;
    }

    .cfm-hero__buttons {
        justify-content: center;
    }

    .cfm-hero__visual {
        order: 2;
        width: 100%;
        height: auto !important;
        min-height: 0 !important;
        margin-top: 8px;
    }

    .cfm-hero__visual img {
        width: min(100%, 560px);
        height: auto;
        max-height: 390px;
    }

    /* Mobile/tablet services use a compact horizontal tab rail and natural-height content. */
    .cfm-services__panel {
        min-height: 0 !important;
        padding: 12px !important;
        display: block !important;
    }

    .cfm-services__tabs {
        width: 100%;
        padding: 12px !important;
        border-radius: 7px;
        display: flex !important;
        flex-direction: row !important;
        gap: 9px;
        overflow-x: auto;
        overflow-y: hidden;
        scroll-snap-type: x proximity;
        scrollbar-width: thin;
    }

    .cfm-service-tab {
        min-width: 220px;
        min-height: 58px;
        flex: 0 0 220px;
        scroll-snap-align: start;
    }

    .cfm-services__all {
        min-width: 190px;
        min-height: 58px;
        margin-top: 0 !important;
        padding: 0 15px;
        border-top: 0 !important;
        flex: 0 0 190px;
        scroll-snap-align: start;
    }

    .cfm-services__content {
        width: 100%;
        min-height: 0 !important;
        margin-top: 12px;
    }

    .cfm-service-content,
    .cfm-service-content.is-active {
        width: 100%;
        height: auto !important;
        min-height: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 18px !important;
    }

    .cfm-service-content__image {
        width: 100%;
        height: auto !important;
        min-height: 0 !important;
        aspect-ratio: 16 / 10;
    }

    .cfm-service-content__copy {
        padding: 4px 5px 8px;
    }

    .cfm-stat-card strong {
        font-size: 64px !important;
    }
}

@media (max-width: 767.98px) {
    .cfm-responsive-type .cfm-heading h2,
    .cfm-impact.cfm-responsive-type .cfm-impact__copy h2,
    .cfm-faq.cfm-responsive-type .cfm-faq__intro h2,
    .cfm-hero.cfm-responsive-type h1 {
        font-size: var(--cfm-heading-mobile, 31px) !important;
    }

    .cfm-responsive-type .cfm-heading p,
    .cfm-impact.cfm-responsive-type .cfm-impact__copy > p,
    .cfm-faq.cfm-responsive-type .cfm-faq__intro > p,
    .cfm-hero.cfm-responsive-type .cfm-hero__description {
        font-size: var(--cfm-description-mobile, 13px) !important;
    }

    .cfm-container {
        width: min(100% - 28px, 620px);
    }

    .cfm-header__inner {
        width: calc(100% - 24px);
    }

    .cfm-header .cfm-header__logo img {
        width: min(var(--cfm-logo-width, 170px), 190px) !important;
        max-width: 42vw !important;
    }

    .cfm-language-trigger {
        min-width: 58px;
        padding-inline: 6px;
    }

    .cfm-language-trigger__flag img,
    .cfm-language-option__flag img {
        width: 18px !important;
        height: 13px !important;
    }

    .cfm-hero__content {
        padding: 42px 0 6px !important;
    }

    .cfm-hero__visual {
        margin-top: 6px;
    }

    .cfm-hero__visual img {
        width: min(100%, 470px);
        max-height: 320px;
    }

    .cfm-service-tab {
        min-width: 205px;
        flex-basis: 205px;
    }

    .cfm-service-content__image {
        aspect-ratio: 4 / 3;
    }

    .cfm-impact__stats {
        max-width: 360px !important;
    }

    .cfm-stat-card {
        min-height: 132px !important;
        padding: 14px 8px !important;
    }

    .cfm-stat-card strong {
        font-size: 64px !important;
    }

    .cfm-stat-card > span {
        margin-top: 9px !important;
        font-size: 11px !important;
        line-height: 1.2;
    }

    .cfm-impact__seal {
        width: 80px !important;
        height: 80px !important;
        padding: 3px !important;
    }
}

@media (max-width: 420px) {
    .cfm-header .cfm-header__logo img {
        max-width: 40vw !important;
    }

    .cfm-language-trigger {
        min-width: 54px;
        gap: 4px;
    }

    .cfm-language-arrow {
        width: 11px !important;
        height: 11px !important;
    }

    .cfm-mobile-toggle {
        width: 40px;
        height: 40px;
    }

    .cfm-stat-card strong {
        font-size: 56px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .cfm-header *,
    .cfm-section *,
    .cfm-impact *,
    .cfm-hero * {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        transition-duration: .01ms !important;
    }
}

/* ========================================================================
   CFM Falcon Hero Animation V8.2
   The video uses native autoplay with sources rendered directly in HTML.
   JavaScript only enhances pause/repeat behavior; it is not required to make
   the Falcon visible or start playback.
   ======================================================================== */
.cfm-hero__visual--falcon {
    align-self: stretch;
    min-width: 0;
    overflow: visible;
}

.cfm-hero__visual--falcon::before {
    display: none;
}

.cfm-hero__falcon-media {
    position: relative;
    width: min(100%, 640px);
    aspect-ratio: 760 / 438;
    margin: auto;
    overflow: hidden;
    isolation: isolate;
    background: #171a18;
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 7%, #000 100%);
    mask-image: linear-gradient(90deg, transparent 0, #000 7%, #000 100%);
}

.cfm-hero__falcon-poster,
.cfm-hero__falcon-video {
    position: absolute;
    inset: 0;
    display: block;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    border: 0;
    object-fit: cover;
    object-position: center;
}

.cfm-hero__falcon-poster {
    z-index: 1;
}

.cfm-hero__falcon-video {
    z-index: 2;
    opacity: 1;
    background: #171a18;
}

.cfm-hero__falcon-media.is-static .cfm-hero__falcon-video,
.cfm-hero__falcon-media.has-error .cfm-hero__falcon-video {
    display: none;
}

@media (min-width: 1200px) {
    .cfm-hero__visual--falcon { padding-inline-start: 4px; }
    .cfm-hero__falcon-media { transform: translateX(18px); }
}

@media (min-width: 768px) and (max-width: 1199px) {
    .cfm-hero__falcon-media {
        width: min(100%, 560px);
        transform: translateX(10px);
    }
}

@media (max-width: 767px) {
    .cfm-hero__visual--falcon {
        width: 100%;
        height: auto !important;
        min-height: 0;
        margin-top: 0 !important;
        padding-bottom: 12px;
    }

    .cfm-hero__falcon-media {
        width: min(100%, 520px);
        aspect-ratio: 420 / 242;
        -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 4%, #000 96%, transparent 100%);
        mask-image: linear-gradient(90deg, transparent 0, #000 4%, #000 96%, transparent 100%);
    }
}

@media (max-width: 480px) {
    .cfm-hero__falcon-media {
        width: calc(100% + 12px);
        margin-inline: -6px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .cfm-hero__falcon-video { display: none !important; }
    .cfm-hero__falcon-poster { display: block !important; }
}

/* ========================================================================
   CFM Falcon Hero Playback V8.3
   Direct device-specific src assignment and autoplay watchdog.
   ======================================================================== */
.cfm-hero__falcon-media .cfm-hero__falcon-video {
    display: block !important;
    z-index: 2 !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.cfm-hero__falcon-media .cfm-hero__falcon-poster {
    z-index: 1;
    opacity: 1;
    visibility: visible;
    transition: opacity .22s ease, visibility .22s ease;
}

.cfm-hero__falcon-media.has-started .cfm-hero__falcon-poster {
    opacity: 0;
    visibility: hidden;
}

.cfm-hero__falcon-media.is-static .cfm-hero__falcon-video,
.cfm-hero__falcon-media.has-error .cfm-hero__falcon-video {
    display: none !important;
}

@media (prefers-reduced-motion: reduce) {
    /* The Visual Builder option controls whether reduced motion is respected.
       Existing sites default to playing unless the administrator enables it. */
    .cfm-hero__falcon-media[data-respect-reduced-motion="0"] .cfm-hero__falcon-video {
        display: block !important;
    }

    .cfm-hero__falcon-media[data-respect-reduced-motion="0"].has-started .cfm-hero__falcon-poster {
        opacity: 0 !important;
        visibility: hidden !important;
    }

    .cfm-hero__falcon-media[data-respect-reduced-motion="1"] .cfm-hero__falcon-video {
        display: none !important;
    }

    .cfm-hero__falcon-media[data-respect-reduced-motion="1"] .cfm-hero__falcon-poster {
        display: block !important;
        opacity: 1 !important;
        visibility: visible !important;
    }
}


/* ========================================================================
   CFM Falcon-only Media V8.4
   The animation asset contains no hero text, buttons, laptop, robot, logo,
   or separate canvas background. Its dark pixels are pre-composited onto the
   exact hero color so the right-side visual blends with the section.
   ======================================================================== */
.cfm-hero__falcon-media {
    background: #171b17 !important;
}

.cfm-hero__falcon-video,
.cfm-hero__falcon-poster {
    background: #171b17 !important;
    object-position: center center !important;
}

.cfm-hero__falcon-media::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 3;
    pointer-events: none;
    background: linear-gradient(
        90deg,
        #171b17 0,
        rgba(23, 27, 23, .70) 2.5%,
        rgba(23, 27, 23, 0) 8%,
        rgba(23, 27, 23, 0) 100%
    );
}


/* ========================================================================
   CFM Transparent Falcon-only Media V8.5
   True alpha WebM: no duplicated text and no rectangular video background.
   ======================================================================== */
.cfm-hero__visual--falcon {
    min-width: 0 !important;
    overflow: hidden !important;
}

.cfm-hero__falcon-media {
    position: relative !important;
    width: min(100%, 760px) !important;
    aspect-ratio: 16 / 9 !important;
    margin: auto !important;
    overflow: hidden !important;
    isolation: isolate !important;
    background: transparent !important;
    -webkit-mask-image: none !important;
    mask-image: none !important;
    transform: none !important;
}

.cfm-hero__falcon-video,
.cfm-hero__falcon-poster {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: center center !important;
    border: 0 !important;
    background: transparent !important;
}

.cfm-hero__falcon-video {
    z-index: 2 !important;
    mix-blend-mode: screen;
}

.cfm-hero__falcon-poster {
    z-index: 1 !important;
}

.cfm-hero__falcon-media::before,
.cfm-hero__falcon-media::after {
    display: none !important;
    content: none !important;
}

@media (min-width: 768px) and (max-width: 1199px) {
    .cfm-hero__falcon-media { width: min(100%, 640px) !important; }
}

@media (max-width: 767px) {
    .cfm-hero__falcon-media {
        width: 100% !important;
        aspect-ratio: 16 / 9 !important;
        margin-inline: 0 !important;
    }
}


/* ==========================================================================
   CFM Three.js Falcon V9
   Transparent WebGL canvas. No video, no duplicated hero text/background.
   ========================================================================== */
.cfm-hero__falcon-media--webgl {
    position: relative;
    width: 100%;
    height: 100%;
    min-height: 320px;
    overflow: visible;
    background: transparent !important;
    isolation: isolate;
}

.cfm-hero__falcon-media--webgl .cfm-hero__falcon-poster,
.cfm-hero__falcon-media--webgl .cfm-hero__falcon-canvas {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
    object-position: center;
    background: transparent !important;
}

.cfm-hero__falcon-media--webgl .cfm-hero__falcon-poster {
    z-index: 1;
    opacity: 1;
    transition: opacity .35s ease;
}

.cfm-hero__falcon-media--webgl .cfm-hero__falcon-canvas {
    z-index: 2;
    opacity: 0;
    pointer-events: none;
    transition: opacity .35s ease;
}

.cfm-hero__falcon-media--webgl.is-ready .cfm-hero__falcon-canvas {
    opacity: 1;
}

.cfm-hero__falcon-media--webgl.is-ready .cfm-hero__falcon-poster {
    opacity: 0;
}

.cfm-hero__falcon-media--webgl.is-static .cfm-hero__falcon-canvas,
.cfm-hero__falcon-media--webgl.has-error .cfm-hero__falcon-canvas {
    display: none !important;
}

.cfm-hero__falcon-media--webgl.is-static .cfm-hero__falcon-poster,
.cfm-hero__falcon-media--webgl.has-error .cfm-hero__falcon-poster {
    opacity: 1 !important;
}

@media (max-width: 767px) {
    .cfm-hero__falcon-media--webgl {
        min-height: 260px;
    }
}

/* ==========================================================================
   CFM MEGA MENU STYLE CONTROLS V2
   Locked header safe override. Existing header CSS remains untouched.
   ========================================================================== */

.cfm-mega-menu[data-cfm-mm-style-v2] .cfm-mega-menu__column a {
    color: var(--cfm-mm-link-color, #777b75) !important;
    font-size: var(--cfm-mm-link-size, 12px) !important;
}

.cfm-mega-menu[data-cfm-mm-style-v2] .cfm-mega-menu__column a:hover,
.cfm-mega-menu[data-cfm-mm-style-v2] .cfm-mega-menu__column a:focus-visible {
    color: var(--cfm-mm-hover-color, #c6a959) !important;
}

.cfm-mega-menu[data-cfm-mm-style-v2][data-cfm-hover-effect="color"] .cfm-mega-menu__column a:hover,
.cfm-mega-menu[data-cfm-mm-style-v2][data-cfm-hover-effect="color"] .cfm-mega-menu__column a:focus-visible {
    transform: none !important;
    text-decoration: none !important;
}

.cfm-mega-menu[data-cfm-mm-style-v2][data-cfm-hover-effect="move"] .cfm-mega-menu__column a:hover,
.cfm-mega-menu[data-cfm-mm-style-v2][data-cfm-hover-effect="move"] .cfm-mega-menu__column a:focus-visible {
    transform: translateX(3px) !important;
    text-decoration: none !important;
}

.cfm-mega-menu[data-cfm-mm-style-v2][data-cfm-hover-effect="underline"] .cfm-mega-menu__column a:hover,
.cfm-mega-menu[data-cfm-mm-style-v2][data-cfm-hover-effect="underline"] .cfm-mega-menu__column a:focus-visible {
    transform: none !important;
    text-decoration-line: underline !important;
    text-decoration-color: var(--cfm-mm-hover-color, #c6a959) !important;
    text-decoration-thickness: 1px !important;
    text-underline-offset: 4px !important;
}

/* CFM MEGA MENU STYLE CONTROLS V2 END */

/* ==========================================================================
   CFM MEGA MENU STYLE CONTROLS V2.1
   Additional missing controls only.
   Existing V2 and locked header CSS remain untouched.
   ========================================================================== */

.cfm-mega-menu[data-cfm-mm-style-v2] {
    background: var(--cfm-mm-panel-bg, #ffffff) !important;
}

.cfm-mega-menu[data-cfm-mm-style-v2] .cfm-mega-menu__column h3 {
    color: var(--cfm-mm-column-title-color, #171a18) !important;
    font-size: var(--cfm-mm-column-title-size, 14px) !important;
}

/* CFM MEGA MENU STYLE CONTROLS V2.1 END */




/* source: cfm-falcon.css */
/* CFM Three.js Falcon V9.1 — isolated final overrides */
.cfm-hero__visual--falcon {
    position: relative !important;
    overflow: visible !important;
}

.cfm-hero__falcon-media.cfm-hero__falcon-media--webgl {
    position: relative !important;
    width: min(100%, 760px) !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 760 / 438 !important;
    margin: auto !important;
    overflow: visible !important;
    isolation: isolate !important;
    transform: none !important;
    background: transparent !important;
    -webkit-mask-image: none !important;
    mask-image: none !important;
}

.cfm-hero__falcon-media--webgl::before,
.cfm-hero__falcon-media--webgl::after {
    display: none !important;
    content: none !important;
}

.cfm-hero__falcon-media--webgl .cfm-hero__falcon-poster,
.cfm-hero__falcon-media--webgl .cfm-hero__falcon-canvas {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    border: 0 !important;
    background: transparent !important;
    object-fit: contain !important;
    object-position: center center !important;
    mix-blend-mode: normal !important;
    -webkit-mask-image: none !important;
    mask-image: none !important;
}

.cfm-hero__falcon-media--webgl .cfm-hero__falcon-poster {
    z-index: 1 !important;
    opacity: 1 !important;
    visibility: visible !important;
    transition: opacity .25s ease !important;
}

.cfm-hero__falcon-media--webgl .cfm-hero__falcon-canvas {
    z-index: 2 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: opacity .25s ease !important;
}

.cfm-hero__falcon-media--webgl.is-ready .cfm-hero__falcon-canvas {
    opacity: 1 !important;
    visibility: visible !important;
}

.cfm-hero__falcon-media--webgl.is-ready .cfm-hero__falcon-poster {
    opacity: 0 !important;
    visibility: hidden !important;
}

.cfm-hero__falcon-media--webgl.is-static .cfm-hero__falcon-canvas,
.cfm-hero__falcon-media--webgl.has-error .cfm-hero__falcon-canvas {
    display: none !important;
}

.cfm-hero__falcon-media--webgl.is-static .cfm-hero__falcon-poster,
.cfm-hero__falcon-media--webgl.has-error .cfm-hero__falcon-poster {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
}

@media (max-width: 767px) {
    .cfm-hero__falcon-media.cfm-hero__falcon-media--webgl {
        width: min(100%, 520px) !important;
        margin-inline: auto !important;
    }
}


/* CFM Hero Visual Modes V9.2 — responsive size controls + Lottie */
.cfm-hero__falcon-media.cfm-hero__falcon-media--webgl {
    width: min(100%, var(--cfm-visual-width-desktop, 760px)) !important;
    height: var(--cfm-visual-height-desktop, 438px) !important;
    max-width: 100% !important;
    aspect-ratio: auto !important;
}

.cfm-hero__falcon-media--webgl .cfm-hero__falcon-lottie {
    position: absolute !important;
    inset: 0 !important;
    z-index: 2 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    opacity: 0 !important;
    visibility: hidden !important;
    overflow: hidden !important;
    pointer-events: none !important;
    background: transparent !important;
    transition: opacity .25s ease !important;
}

.cfm-hero__falcon-media--webgl .cfm-hero__falcon-lottie svg,
.cfm-hero__falcon-media--webgl .cfm-hero__falcon-lottie canvas {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    background: transparent !important;
}

.cfm-hero__falcon-media--webgl.is-ready .cfm-hero__falcon-lottie {
    opacity: 1 !important;
    visibility: visible !important;
}

.cfm-hero__falcon-media--webgl.is-static .cfm-hero__falcon-lottie,
.cfm-hero__falcon-media--webgl.has-error .cfm-hero__falcon-lottie {
    display: none !important;
}

@media (min-width: 768px) and (max-width: 1199px) {
    .cfm-hero__falcon-media.cfm-hero__falcon-media--webgl {
        width: min(100%, var(--cfm-visual-width-tablet, 620px)) !important;
        height: var(--cfm-visual-height-tablet, 360px) !important;
    }
}

@media (max-width: 767px) {
    .cfm-hero__falcon-media.cfm-hero__falcon-media--webgl {
        width: min(100%, var(--cfm-visual-width-mobile, 360px)) !important;
        height: var(--cfm-visual-height-mobile, 240px) !important;
    }
}




/* source: cfm-v10.css */
/* ========================================================================
   Code Falcons V10 — technology, counter, FAQ/footer and advanced footer UI
   Loaded after all legacy CFM styles so these rules are authoritative.
   ======================================================================== */

/* 1) Technology Stack — restore warm gradient, center categories, improve readability. */
.cfm-technology {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 82% 12%, rgba(203, 178, 98, .18), transparent 34%),
        radial-gradient(circle at 14% 86%, rgba(255, 255, 255, .92), transparent 35%),
        linear-gradient(135deg, #f5efd3 0%, #fbf8ec 48%, #efe2ad 100%) !important;
}

.cfm-technology::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: .33;
    background: linear-gradient(115deg, transparent 0 36%, rgba(255,255,255,.48) 50%, transparent 64%);
}

.cfm-technology > .cfm-container {
    position: relative;
    z-index: 1;
}

.cfm-technology__panel {
    box-shadow: 0 18px 48px rgba(77, 62, 18, .08) !important;
}

.cfm-technology__tabs {
    justify-content: center !important;
    gap: clamp(12px, 2vw, 30px) !important;
    padding-inline: 22px !important;
    overflow-x: auto;
    scrollbar-width: thin;
}

.cfm-technology__tab {
    min-height: 62px !important;
    padding-inline: 14px !important;
    gap: 9px !important;
    font-weight: 650 !important;
}

.cfm-technology__tab svg {
    width: max(var(--cfm-tech-category-icon-size, 22px), 22px) !important;
    height: max(var(--cfm-tech-category-icon-size, 22px), 22px) !important;
    flex-basis: max(var(--cfm-tech-category-icon-size, 22px), 22px) !important;
}

.cfm-technology__tab > span {
    font-size: max(var(--cfm-tech-category-title-size, 13px), 13px) !important;
    line-height: 1.2;
}

@media (max-width: 991.98px) {
    .cfm-technology__tabs {
        justify-content: flex-start !important;
        gap: 10px !important;
    }

    .cfm-technology__tab {
        min-height: 56px !important;
    }
}

/* 4) Counter — Visual Builder driven number and label sizes. */
.cfm-impact .cfm-stat-card strong {
    font-size: var(--cfm-counter-number-desktop, 64px) !important;
    line-height: .9 !important;
    font-weight: 900 !important;
    letter-spacing: -1.5px;
}

.cfm-impact .cfm-stat-card strong small {
    font-size: .43em !important;
    line-height: 1;
    font-weight: 900 !important;
    vertical-align: top;
}

.cfm-impact .cfm-stat-card > span {
    font-size: var(--cfm-counter-label-desktop, 12px) !important;
    line-height: 1.25 !important;
    font-weight: 700 !important;
    text-align: center !important;
}

@media (max-width: 1199.98px) {
    .cfm-impact .cfm-stat-card strong {
        font-size: var(--cfm-counter-number-tablet, 60px) !important;
    }

    .cfm-impact .cfm-stat-card > span {
        font-size: var(--cfm-counter-label-tablet, 12px) !important;
    }
}

@media (max-width: 767.98px) {
    .cfm-impact .cfm-stat-card strong {
        font-size: var(--cfm-counter-number-mobile, 56px) !important;
    }

    .cfm-impact .cfm-stat-card > span {
        font-size: var(--cfm-counter-label-mobile, 11px) !important;
    }
}

/* 3) Advanced pre-footer CTA. */
.cfm-footer-cta {
    position: relative;
    padding: 36px 0;
    overflow: hidden;
    background-color: var(--cfm-footer-cta-bg, #f2f0e9);
    background-size: cover;
    background-position: center;
}

.cfm-footer-cta::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(110deg, rgba(255,255,255,.20), transparent 45%, rgba(203,178,98,.08));
}

.cfm-footer-cta__grid {
    position: relative;
    z-index: 1;
    min-height: 105px;
    display: grid;
    grid-template-columns: minmax(170px, .7fr) minmax(0, 1.8fr) auto;
    align-items: center;
    gap: clamp(28px, 4vw, 68px);
}

.cfm-footer-cta__logo {
    display: inline-flex;
    align-items: center;
}

.cfm-footer-cta__logo > img {
    display: block;
    max-width: 100%;
    object-fit: contain;
    object-position: left center;
}

.cfm-footer-cta__logo > span,
.cfm-footer-cta__logo > span > img {
    display: block;
}

.cfm-footer-cta__logo > span > img {
    width: var(--cfm-footer-cta-logo-width, 190px) !important;
    height: var(--cfm-footer-cta-logo-height, 64px) !important;
    object-fit: contain;
    object-position: left center;
}

.cfm-footer-cta__copy h2 {
    margin: 0 0 8px;
    color: var(--cfm-footer-cta-heading, #202321);
    font-size: var(--cfm-footer-cta-heading-size, 28px);
    line-height: 1.12;
    letter-spacing: -.5px;
    font-weight: 750;
}

.cfm-footer-cta__copy p {
    max-width: 680px;
    margin: 0;
    color: var(--cfm-footer-cta-text, #6f746e);
    font-size: var(--cfm-footer-cta-text-size, 13px);
    line-height: 1.65;
}

.cfm-footer-cta__button {
    white-space: nowrap;
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

/* Advanced 4-column footer. */
.cfm-footer--advanced .cfm-footer__main {
    padding: 62px 0 0 !important;
    background: var(--cfm-footer-bg, #171a18) !important;
}

.cfm-footer--advanced .cfm-footer__grid--widgets {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: clamp(28px, 3.4vw, 56px) !important;
    align-items: start;
}

.cfm-footer--advanced .cfm-footer__column,
.cfm-footer--advanced .cfm-footer__column .widget {
    min-width: 0;
}

.cfm-footer--advanced .cfm-footer__column h2,
.cfm-footer--advanced .cfm-footer__column h3,
.cfm-footer--advanced .cfm-footer__column h4,
.cfm-footer--advanced .cfm-footer__column .fw-title {
    margin: 0 0 20px !important;
    padding: 0 !important;
    color: #fff !important;
    font-size: var(--cfm-footer-heading-size, 15px) !important;
    line-height: 1.25 !important;
    font-weight: 750 !important;
}

.cfm-footer--advanced .cfm-footer__column .fw-title::before,
.cfm-footer--advanced .cfm-footer__column .fw-title::after {
    display: none !important;
}

.cfm-footer--advanced .cfm-footer__column ul,
.cfm-footer--advanced .cfm-footer__column .list-wrap,
.cfm-footer--advanced .cfm-footer__links {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.cfm-footer--advanced .cfm-footer__column li + li,
.cfm-footer--advanced .cfm-footer__links li + li {
    margin-top: 11px !important;
}

.cfm-footer--advanced .cfm-footer__column a,
.cfm-footer--advanced .cfm-footer__column p,
.cfm-footer--advanced .cfm-footer__column span,
.cfm-footer--advanced .cfm-footer__links a,
.cfm-footer--advanced .cfm-footer__sales > a {
    color: rgba(255,255,255,.70);
    font-size: var(--cfm-footer-text-size, 12px) !important;
    line-height: 1.55;
}

.cfm-footer--advanced .cfm-footer__column a:hover {
    color: var(--cfm-gold) !important;
}

.cfm-footer--advanced .cfm-footer__column .col,
.cfm-footer--advanced .cfm-footer__column [class*="col-"] {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
}

.cfm-footer__address-copy {
    margin: 14px 0 0;
    display: flex;
    align-items: flex-start;
    gap: 9px;
}

.cfm-footer__address-copy i,
.cfm-footer__sales > a i {
    flex: 0 0 19px;
    margin-top: 2px;
    color: var(--cfm-gold);
    text-align: center;
}

.cfm-footer--advanced .cfm-footer__bottom--advanced {
    min-height: 92px;
    margin-top: 48px;
    border-top: 1px solid rgba(255,255,255,.12);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
}

.cfm-footer__legal {
    min-width: 0;
}

.cfm-footer__legal > p {
    margin: 0 0 7px !important;
    color: rgba(255,255,255,.58) !important;
    font-size: max(10px, calc(var(--cfm-footer-text-size, 12px) - 1px)) !important;
}

.cfm-footer__policy-links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 18px;
}

.cfm-footer__policy-links a {
    position: relative;
    color: rgba(255,255,255,.45);
    font-size: max(10px, calc(var(--cfm-footer-text-size, 12px) - 1px));
}

.cfm-footer__policy-links a + a::before {
    content: "";
    position: absolute;
    left: -10px;
    top: 50%;
    width: 2px;
    height: 2px;
    border-radius: 50%;
    background: rgba(255,255,255,.32);
}

.cfm-footer__social-area {
    margin-left: auto;
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

.cfm-footer__social-area .widget,
.cfm-footer__social-area [class*="footer__social"] {
    margin: 0 !important;
}

.cfm-footer__social-area ul,
.cfm-footer__socials {
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center;
    justify-content: flex-end;
    gap: 9px !important;
    list-style: none !important;
}

.cfm-footer__social-area a,
.cfm-footer__socials a {
    width: var(--cfm-footer-social-size, 34px) !important;
    height: var(--cfm-footer-social-size, 34px) !important;
    border: 1px solid rgba(255,255,255,.19) !important;
    border-radius: 6px !important;
    display: inline-grid !important;
    place-items: center !important;
    color: #fff !important;
    background: rgba(255,255,255,.03);
    transition: .2s ease;
}

.cfm-footer__social-area a:hover,
.cfm-footer__socials a:hover {
    border-color: var(--cfm-gold) !important;
    color: var(--cfm-gold) !important;
    transform: translateY(-2px);
}

@media (max-width: 991.98px) {
    .cfm-footer-cta__grid {
        grid-template-columns: 180px minmax(0, 1fr);
        gap: 24px 34px;
    }

    .cfm-footer-cta__button {
        grid-column: 2;
        justify-self: start;
    }

    .cfm-footer--advanced .cfm-footer__grid--widgets {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 42px 36px !important;
    }
}

@media (max-width: 767.98px) {
    .cfm-footer-cta {
        padding: 34px 0;
    }

    .cfm-footer-cta__grid {
        grid-template-columns: 1fr;
        gap: 18px;
        text-align: center;
    }

    .cfm-footer-cta__logo,
    .cfm-footer-cta__button {
        grid-column: auto;
        justify-self: center;
    }

    .cfm-footer-cta__logo > img,
    .cfm-footer-cta__logo > span > img {
        object-position: center !important;
    }

    .cfm-footer-cta__copy p {
        margin-inline: auto;
    }

    .cfm-footer--advanced .cfm-footer__grid--widgets {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 34px 24px !important;
    }

    .cfm-footer--advanced .cfm-footer__bottom--advanced {
        align-items: flex-start;
        flex-direction: column;
        padding: 24px 0 30px;
        gap: 18px;
    }

    .cfm-footer__social-area {
        margin-left: 0;
        width: 100%;
        justify-content: flex-start;
    }

    .cfm-footer__social-area ul,
    .cfm-footer__socials {
        justify-content: flex-start !important;
    }
}

@media (max-width: 520px) {
    .cfm-footer--advanced .cfm-footer__grid--widgets {
        grid-template-columns: 1fr !important;
    }
}




/* source: cfm-v10-1.css */
/*
 * Code Falcons Counter per-tab typography V10.1
 * Per-card Number + Suffix font-size overrides from Visual Builder.
 */

.cfm-impact .cfm-stat-card strong > [data-cfm-counter] {
    font-size: var(--cfm-stat-number-size, 1em) !important;
    line-height: .9 !important;
    font-weight: 900 !important;
}

.cfm-impact .cfm-stat-card strong > small {
    font-size: var(--cfm-stat-suffix-size, .43em) !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    vertical-align: top;
}

/*
 * When an individual card has no custom size, the existing responsive
 * Desktop / Tablet / Mobile controls continue to drive the strong element,
 * so backward compatibility is preserved.
 */




/* source: cfm-v10-2.css */
/*
 * Code Falcons Counter V10.2
 * Live per-tab typography + card alignment / emblem overlap correction.
 */

/* The number inherits the responsive strong size unless a Visual Builder
   inline override is present. */
.cfm-impact .cfm-stat-card strong > [data-cfm-counter] {
    font-size: 1em;
    line-height: .9;
    font-weight: 900;
}

/* The suffix inherits from the number unless a Visual Builder inline
   override is present. */
.cfm-impact .cfm-stat-card strong > small {
    font-size: .43em;
    line-height: 1;
    font-weight: 900;
    vertical-align: top;
}

/* Desktop: give the four cards enough width so the center seal no longer
   cuts the ending of labels such as "Years Experience". */
@media (min-width: 1200px) {
    .cfm-impact__grid {
        grid-template-columns: minmax(0, 1fr) minmax(420px, 460px) !important;
        gap: clamp(56px, 6vw, 96px) !important;
    }

    .cfm-impact__visual {
        width: 100%;
        min-width: 0;
        justify-content: center !important;
    }

    .cfm-impact__stats {
        width: min(100%, 420px) !important;
        max-width: 420px !important;
        gap: 16px !important;
        margin-inline: auto;
        justify-self: center !important;
    }

    .cfm-impact .cfm-stat-card {
        min-width: 0;
        min-height: 150px !important;
        padding: 21px 18px 18px !important;
        overflow: visible !important;
    }

    .cfm-impact .cfm-stat-card strong {
        width: 100%;
        justify-content: center !important;
        text-align: center !important;
    }

    .cfm-impact .cfm-stat-card__label {
        width: 100%;
        max-width: 150px !important;
        margin-inline: auto !important;
        padding-inline: 4px;
        text-align: center !important;
        white-space: normal;
        overflow-wrap: normal;
        word-break: normal;
    }

    .cfm-impact__seal {
        width: 92px !important;
        height: 92px !important;
        padding: 5px !important;
        border: 2px solid rgba(255, 255, 255, .92);
    }
}

/* Tablet keeps the cards centered and prevents the emblem from covering text. */
@media (min-width: 768px) and (max-width: 1199.98px) {
    .cfm-impact__visual {
        justify-content: center !important;
    }

    .cfm-impact__stats {
        width: min(100%, 382px) !important;
        max-width: 382px !important;
        gap: 14px !important;
        justify-self: center !important;
        margin-inline: auto;
    }

    .cfm-impact .cfm-stat-card {
        min-height: 142px !important;
        padding-inline: 15px !important;
    }

    .cfm-impact .cfm-stat-card__label {
        width: 100%;
        max-width: 138px !important;
        margin-inline: auto !important;
        text-align: center !important;
    }

    .cfm-impact__seal {
        width: 86px !important;
        height: 86px !important;
        padding: 5px !important;
    }
}

/* Mobile: preserve the 2x2 design while keeping every label centered. */
@media (max-width: 767.98px) {
    .cfm-impact__stats {
        width: min(100%, 350px) !important;
        max-width: 350px !important;
        margin-inline: auto;
        gap: 10px !important;
    }

    .cfm-impact .cfm-stat-card {
        min-width: 0;
        padding-inline: 10px !important;
    }

    .cfm-impact .cfm-stat-card__label {
        width: 100%;
        max-width: 118px !important;
        margin-inline: auto !important;
        text-align: center !important;
        white-space: normal;
    }
}

/* Prevent older generic 480px rules from shrinking the live Visual Builder
   number after the responsive V10 controls have been applied. */
@media (max-width: 480px) {
    .cfm-impact .cfm-stat-card strong {
        font-size: var(--cfm-counter-number-mobile, 56px) !important;
    }

    .cfm-impact .cfm-stat-card > span,
    .cfm-impact .cfm-stat-card__label {
        font-size: var(--cfm-counter-label-mobile, 11px) !important;
    }
}




/* source: cfm-footer-v10-3.css */
/*
 * Code Falcons Advanced Footer V10.3
 * Scoped to .cfm-footer only. Counter and all other approved section CSS
 * are intentionally untouched.
 */

.cfm-footer--advanced .cfm-footer__column li + li,
.cfm-footer--advanced .cfm-footer__links li + li {
    margin-top: var(--cfm-footer-menu-gap, 7px) !important;
}

.cfm-footer--advanced .cfm-footer__column a,
.cfm-footer--advanced .cfm-footer__links a,
.cfm-footer--advanced .cfm-footer__sales > a {
    color: var(--cfm-footer-menu-color, #c6c9c6) !important;
}

.cfm-footer--advanced .cfm-footer__column a:hover,
.cfm-footer--advanced .cfm-footer__links a:hover,
.cfm-footer--advanced .cfm-footer__sales > a:hover {
    color: var(--cfm-gold) !important;
}

.cfm-footer--advanced .cfm-footer__legal > p {
    color: var(--cfm-footer-copyright-color, #949994) !important;
    font-size: var(--cfm-footer-copyright-size, 11px) !important;
    line-height: 1.55 !important;
}

.cfm-footer--advanced .cfm-footer__policy-links {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 7px 18px;
}

.cfm-footer--advanced .cfm-footer__policy-links a {
    color: var(--cfm-footer-legal-color, #a6aaa6) !important;
    font-size: var(--cfm-footer-legal-size, 11px) !important;
    line-height: 1.45;
}

.cfm-footer--advanced .cfm-footer__policy-links a:hover {
    color: var(--cfm-gold) !important;
}

@media (max-width: 767.98px) {
    .cfm-footer--advanced .cfm-footer__policy-links {
        gap: 6px 14px;
    }
}




/* source: cfm-engagement-v11.css */
/*
 * Code Falcons Business Engagement V11
 * Scope is intentionally limited to .cfm-engagement-v11.
 * Previously approved counter/footer/technology/etc CSS is not modified.
 */

.cfm-engagement-v11 {
    position: relative;
    padding: var(--cfm-be-section-padding, 96px) 0;
    background:
        var(--cfm-be-background-image, none) center / cover no-repeat,
        linear-gradient(var(--cfm-be-bg-direction, to bottom), var(--cfm-be-bg-start, #fffefa), var(--cfm-be-bg-end, #f7edd8));
    overflow: hidden;
}

.cfm-engagement-v11::before {
    content: "";
    position: absolute;
    width: 520px;
    height: 520px;
    top: -290px;
    right: -170px;
    border: 1px solid rgba(196, 155, 50, .16);
    border-radius: 50%;
    box-shadow:
        0 0 0 52px rgba(196, 155, 50, .035),
        0 0 0 110px rgba(196, 155, 50, .025);
    pointer-events: none;
}

.cfm-engagement-v11 > .cfm-container {
    position: relative;
    z-index: 1;
}

.cfm-engagement-v11__heading {
    max-width: 1040px;
    margin: 0 auto 62px;
    text-align: center;
}

.cfm-engagement-v11__eyebrow {
    margin-bottom: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    color: var(--cfm-be-eyebrow-color, #a47b18);
}

.cfm-engagement-v11__eyebrow span {
    width: 32px;
    height: 1px;
    background: currentColor;
}

.cfm-engagement-v11__eyebrow strong {
    font-size: var(--cfm-be-eyebrow-size, 12px);
    font-weight: 800;
    letter-spacing: .34em;
    text-transform: uppercase;
}

.cfm-engagement-v11__heading h2 {
    margin: 0;
    color: var(--cfm-be-heading-color, #171a18);
    font-size: clamp(34px, 4vw, var(--cfm-be-heading-size, 52px));
    line-height: 1.09;
    font-weight: 800;
    letter-spacing: -.035em;
}

.cfm-engagement-v11__heading h2 strong,
.cfm-engagement-v11__heading h2 span {
    color: var(--cfm-be-heading-highlight, #bd8610);
}

.cfm-engagement-v11__heading > p {
    max-width: 800px;
    margin: 22px auto 0;
    color: var(--cfm-be-description-color, #737872);
    font-size: var(--cfm-be-description-size, 16px);
    line-height: 1.75;
}

.cfm-engagement-v11__cards {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--cfm-be-card-gap, 26px);
}

.cfm-engagement-v11-card {
    --cfm-card-background-auto: #ffffff;
    width: calc((100% - (var(--cfm-be-card-gap, 26px) * 2)) / 3);
    min-width: 0;
    min-height: 510px;
    padding: 76px 30px 26px;
    border: 1px solid var(--cfm-card-border, #e7d29a);
    border-radius: 22px;
    position: relative;
    display: flex;
    flex-direction: column;
    background: var(--cfm-card-background, var(--cfm-card-background-auto));
    box-shadow: 0 18px 46px rgba(59, 47, 20, .08);
    transition: transform .25s ease, box-shadow .25s ease;
}

.cfm-engagement-v11-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 24px 60px rgba(59, 47, 20, .13);
}

.cfm-engagement-v11-card.is-featured {
    --cfm-card-background-auto: #232421;
    border-color: #252823;
    box-shadow: 0 24px 62px rgba(25, 27, 24, .18);
}

.cfm-engagement-v11-card__icon {
    position: absolute;
    top: -43px;
    left: 50%;
    width: 88px;
    height: 88px;
    transform: translateX(-50%);
    border: 2px solid var(--cfm-card-icon-color, #c49b32);
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: #fffdf8;
    color: var(--cfm-card-icon-color, #c49b32);
    box-shadow: 0 10px 28px rgba(196, 155, 50, .13);
}

.cfm-engagement-v11-card.is-featured .cfm-engagement-v11-card__icon {
    border-color: var(--cfm-card-icon-color, #d1aa45);
    background: #f8f4e8;
}

.cfm-engagement-v11-card__icon svg {
    width: var(--cfm-card-icon-size, 46px);
    height: var(--cfm-card-icon-size, 46px);
    stroke-width: 1.8;
}

.cfm-engagement-v11-card__icon img {
    width: var(--cfm-card-icon-size, 46px);
    height: var(--cfm-card-icon-size, 46px);
    object-fit: contain;
}

.cfm-engagement-v11-card h3 {
    margin: 0;
    color: var(--cfm-card-title-color, #171a18);
    font-size: var(--cfm-card-title-size, 28px);
    line-height: 1.18;
    font-weight: 800;
    text-align: center;
}

.cfm-engagement-v11-card__description {
    min-height: 78px;
    margin: 13px auto 0;
    color: var(--cfm-card-description-color, #666b65);
    font-size: var(--cfm-card-description-size, 15px);
    line-height: 1.7;
    text-align: center;
}

.cfm-engagement-v11-card__separator {
    margin: 22px 0;
    display: flex;
    align-items: center;
    gap: 8px;
}

.cfm-engagement-v11-card__separator::before,
.cfm-engagement-v11-card__separator::after {
    content: "";
    height: 1px;
    flex: 1;
    background: color-mix(in srgb, var(--cfm-card-border, #e7d29a) 80%, transparent);
}

.cfm-engagement-v11-card__separator span {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--cfm-card-icon-color, #c49b32);
}

.cfm-engagement-v11-card ul {
    margin: 0 0 24px;
    padding: 0;
    list-style: none;
}

.cfm-engagement-v11-card li {
    display: flex;
    align-items: flex-start;
    gap: 11px;
    color: var(--cfm-card-feature-color, #454a45);
    font-size: var(--cfm-card-feature-size, 15px);
    line-height: 1.55;
}

.cfm-engagement-v11-card li + li {
    margin-top: 12px;
}

.cfm-engagement-v11-card li i {
    width: 20px;
    height: 20px;
    margin-top: 1px;
    border: 1px solid var(--cfm-card-check-color, #c49b32);
    border-radius: 50%;
    display: grid;
    place-items: center;
    flex: 0 0 20px;
    color: var(--cfm-card-check-color, #c49b32);
    font-size: 9px;
}

.cfm-engagement-v11-card__best {
    min-height: 58px;
    margin-top: auto;
    padding: 12px 15px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 11px;
    background: rgba(196, 155, 50, .105);
    color: var(--cfm-card-best-color, #3d423d);
    font-size: var(--cfm-card-best-size, 15px);
    font-weight: 600;
    text-align: center;
}

.cfm-engagement-v11-card.is-featured .cfm-engagement-v11-card__best {
    background: linear-gradient(100deg, #cfaa45, #e4bd56);
}

.cfm-engagement-v11-card__best svg {
    width: 25px;
    height: 25px;
    flex: 0 0 25px;
    color: var(--cfm-card-icon-color, #c49b32);
}

.cfm-engagement-v11-card.is-featured .cfm-engagement-v11-card__best svg {
    color: #171a18;
}

.cfm-engagement-v11__cta {
    margin-top: 58px;
    border-radius: 20px;
    display: grid;
    grid-template-columns: .92fr 1.08fr;
    overflow: hidden;
    box-shadow: 0 17px 42px rgba(55, 44, 20, .10);
}

.cfm-engagement-v11__cta-copy {
    min-height: 154px;
    padding: 28px 34px;
    display: flex;
    align-items: center;
    gap: 22px;
    background: var(--cfm-be-cta-left-bg, #ffffff);
}

.cfm-engagement-v11__cta-icon {
    width: 74px;
    height: 74px;
    border-radius: 17px;
    display: grid;
    place-items: center;
    flex: 0 0 74px;
    background: #222522;
    color: var(--cfm-be-cta-icon-color, #c49b32);
    box-shadow: 0 10px 25px rgba(0, 0, 0, .11);
}

.cfm-engagement-v11__cta-icon svg {
    width: var(--cfm-be-cta-icon-size, 44px);
    height: var(--cfm-be-cta-icon-size, 44px);
}

.cfm-engagement-v11__cta-copy h3 {
    margin: 0 0 7px;
    color: var(--cfm-be-cta-heading-color, #171a18);
    font-size: var(--cfm-be-cta-heading-size, 28px);
    line-height: 1.18;
    font-weight: 800;
}

.cfm-engagement-v11__cta-copy p {
    max-width: 520px;
    margin: 0;
    color: var(--cfm-be-cta-text-color, #6f746e);
    font-size: var(--cfm-be-cta-text-size, 15px);
    line-height: 1.65;
}

.cfm-engagement-v11__cta-action {
    min-height: 154px;
    padding: 26px 30px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background:
        var(--cfm-be-cta-background-image, none) center / cover no-repeat,
        var(--cfm-be-cta-right-bg, #232421);
    color: #fff;
}

.cfm-engagement-v11__cta-button {
    min-height: 50px;
    padding: 0 24px;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    background: var(--cfm-be-button-bg, #d0aa45);
    color: var(--cfm-be-button-color, #ffffff) !important;
    font-size: 14px;
    font-weight: 700;
    box-shadow: 0 8px 22px rgba(0, 0, 0, .14);
}

.cfm-engagement-v11__trust {
    width: 100%;
    margin-top: 20px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px 24px;
}

.cfm-engagement-v11__trust span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: var(--cfm-be-trust-text-color, #ffffff);
    font-size: var(--cfm-be-trust-text-size, 11px);
    white-space: nowrap;
}

.cfm-engagement-v11__trust svg {
    width: var(--cfm-be-trust-icon-size, 19px);
    height: var(--cfm-be-trust-icon-size, 19px);
    color: var(--cfm-be-trust-icon-color, #d0aa45);
}

@media (max-width: 1199.98px) {
    .cfm-engagement-v11-card {
        width: calc((100% - var(--cfm-be-card-gap, 26px)) / 2);
    }

    .cfm-engagement-v11__cta {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767.98px) {
    /*
     * V11.2 mobile spacing:
     * circular package icons extend 43px above each card. A dedicated
     * mobile row-gap prevents the next icon from touching the previous card.
     */
    .cfm-engagement-v11__cards {
        column-gap: var(--cfm-be-card-gap, 26px);
        row-gap: var(--cfm-be-card-gap-mobile, 96px);
    }

    .cfm-engagement-v11 {
        padding: clamp(62px, 12vw, 84px) 0;
    }

    .cfm-engagement-v11__heading {
        margin-bottom: 52px;
    }

    .cfm-engagement-v11__eyebrow {
        gap: 10px;
    }

    .cfm-engagement-v11__eyebrow strong {
        letter-spacing: .18em;
    }

    .cfm-engagement-v11__heading h2 {
        font-size: clamp(31px, 9vw, 42px);
    }

    .cfm-engagement-v11-card {
        width: 100%;
        min-height: 0;
        padding: 72px 22px 22px;
    }

    .cfm-engagement-v11-card__description {
        min-height: 0;
    }

    .cfm-engagement-v11__cta-copy {
        padding: 25px 22px;
        align-items: flex-start;
    }

    .cfm-engagement-v11__cta-action {
        padding: 25px 20px;
    }

    .cfm-engagement-v11__trust {
        justify-content: flex-start;
    }
}

@media (max-width: 480px) {
    .cfm-engagement-v11__cta-copy {
        flex-direction: column;
    }

    .cfm-engagement-v11__cta-button {
        width: 100%;
    }

    .cfm-engagement-v11__trust {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 13px;
    }

    .cfm-engagement-v11__trust span {
        white-space: normal;
    }
}




/* source: cfm-cta-v10-4.css */
/*
 * Code Falcons Pre-Footer CTA V10.4
 * Scope is intentionally limited to .cfm-footer-cta--premium.
 * Counter and main footer CSS remain locked.
 */

.cfm-footer-cta--premium {
    position: relative;
    padding: 44px 0 48px;
    background: var(--cfm-footer-cta-outer-bg, #f7f4e9) !important;
    overflow: hidden;
}

.cfm-footer-cta--premium::after {
    display: none !important;
}

.cfm-footer-cta--premium .cfm-footer-cta__panel {
    position: relative;
    min-height: 470px;
    padding: var(--cfm-footer-cta-padding-y, 54px) var(--cfm-footer-cta-padding-x, 68px);
    border: 1px solid rgba(255, 255, 255, .82);
    border-radius: var(--cfm-footer-cta-radius, 26px);
    overflow: hidden;
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr);
    align-items: center;
    gap: clamp(28px, 4vw, 72px);
    background:
        radial-gradient(circle at 74% 35%, rgba(255,255,255,.62), transparent 29%),
        linear-gradient(135deg, color-mix(in srgb, var(--cfm-footer-cta-bg, #eee8ce) 76%, #ffffff 24%), var(--cfm-footer-cta-bg, #eee8ce));
    background-position: center;
    background-size: cover;
    box-shadow: 0 24px 54px rgba(60, 51, 27, .12);
}

.cfm-footer-cta--premium .cfm-footer-cta__panel::before {
    content: "";
    position: absolute;
    width: 540px;
    height: 270px;
    left: -90px;
    bottom: -198px;
    border: 1px solid rgba(185, 144, 50, .14);
    border-radius: 50%;
    box-shadow:
        0 0 0 22px rgba(185, 144, 50, .035),
        0 0 0 48px rgba(185, 144, 50, .025),
        0 0 0 76px rgba(185, 144, 50, .018);
    pointer-events: none;
}

.cfm-footer-cta--premium .cfm-footer-cta__panel::after {
    content: "";
    position: absolute;
    width: 360px;
    height: 360px;
    right: -155px;
    top: -150px;
    background-image: radial-gradient(circle, rgba(185,144,50,.28) 1px, transparent 1.25px);
    background-size: 12px 12px;
    opacity: .32;
    pointer-events: none;
    mask-image: radial-gradient(circle, #000 0 42%, transparent 72%);
}

.cfm-footer-cta--premium .cfm-footer-cta__content,
.cfm-footer-cta--premium .cfm-footer-cta__visual {
    position: relative;
    z-index: 2;
    min-width: 0;
}

.cfm-footer-cta--premium .cfm-footer-cta__eyebrow {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 22px;
    color: var(--cfm-footer-cta-eyebrow-color, #b99032);
}

.cfm-footer-cta--premium .cfm-footer-cta__eyebrow > span {
    width: 36px;
    height: 2px;
    border-radius: 99px;
    background: currentColor;
}

.cfm-footer-cta--premium .cfm-footer-cta__eyebrow strong {
    color: currentColor;
    font-size: var(--cfm-footer-cta-eyebrow-size, 13px);
    line-height: 1.2;
    letter-spacing: .075em;
    font-weight: 650;
    text-transform: uppercase;
}

.cfm-footer-cta--premium .cfm-footer-cta__content h2 {
    max-width: 760px;
    margin: 0;
    color: var(--cfm-footer-cta-heading, #1f2325) !important;
    font-size: clamp(36px, 4.2vw, var(--cfm-footer-cta-heading-size, 52px)) !important;
    line-height: 1.06 !important;
    letter-spacing: -.036em !important;
    font-weight: 800 !important;
}

.cfm-footer-cta--premium .cfm-footer-cta__content h2 strong,
.cfm-footer-cta--premium .cfm-footer-cta__content h2 span {
    color: var(--cfm-footer-cta-heading-highlight, #b99032) !important;
}

.cfm-footer-cta--premium .cfm-footer-cta__accent {
    width: 158px;
    height: 13px;
    margin-top: 18px;
    position: relative;
}

.cfm-footer-cta--premium .cfm-footer-cta__accent::before {
    content: "";
    position: absolute;
    left: 0;
    top: 5px;
    width: 145px;
    height: 2px;
    background: var(--cfm-footer-cta-heading-highlight, #b99032);
}

.cfm-footer-cta--premium .cfm-footer-cta__accent span {
    position: absolute;
    width: 6px;
    height: 6px;
    right: 0;
    top: 3px;
    border-radius: 50%;
    background: var(--cfm-footer-cta-heading-highlight, #b99032);
}

.cfm-footer-cta--premium .cfm-footer-cta__description {
    max-width: 690px;
    margin: 21px 0 0;
    color: var(--cfm-footer-cta-text, #626760) !important;
    font-size: var(--cfm-footer-cta-text-size, 16px) !important;
    line-height: 1.72 !important;
}

.cfm-footer-cta--premium .cfm-footer-cta__trust {
    margin-top: 30px;
    display: flex;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 16px 0;
}

.cfm-footer-cta--premium .cfm-footer-cta__trust-item {
    min-width: 0;
    padding: 0 20px;
    display: flex;
    align-items: center;
    gap: 11px;
    position: relative;
}

.cfm-footer-cta--premium .cfm-footer-cta__trust-item:first-child {
    padding-left: 0;
}

.cfm-footer-cta--premium .cfm-footer-cta__trust-item:not(:last-child)::after {
    content: "";
    position: absolute;
    right: 0;
    top: 12%;
    width: 1px;
    height: 76%;
    background: var(--cfm-footer-cta-trust-separator, #d5bd73);
    opacity: .7;
}

.cfm-footer-cta--premium .cfm-footer-cta__trust-icon {
    width: var(--cfm-footer-cta-trust-circle, 52px);
    height: var(--cfm-footer-cta-trust-circle, 52px);
    flex: 0 0 var(--cfm-footer-cta-trust-circle, 52px);
    border: 1px solid var(--cfm-footer-cta-trust-circle-border, #d8bd69);
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: var(--cfm-footer-cta-trust-circle-bg, #fffdf7);
    color: var(--cfm-footer-cta-trust-icon-color, #b99032);
    box-shadow: 0 8px 19px rgba(64, 53, 24, .07);
}

.cfm-footer-cta--premium .cfm-footer-cta__trust-icon svg {
    width: var(--cfm-footer-cta-trust-icon, 27px);
    height: var(--cfm-footer-cta-trust-icon, 27px);
    color: inherit;
}

.cfm-footer-cta--premium .cfm-footer-cta__trust-text {
    max-width: 112px;
    color: var(--cfm-footer-cta-trust-text-color, #2d312e);
    font-size: var(--cfm-footer-cta-trust-text-size, 13px);
    line-height: 1.38;
    font-weight: 600;
}

.cfm-footer-cta--premium .cfm-footer-cta__visual {
    min-height: 360px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.cfm-footer-cta--premium .cfm-footer-cta__visual-image {
    width: min(100%, var(--cfm-footer-cta-image-desktop, 560px));
    max-height: var(--cfm-footer-cta-image-max-height, 390px);
    object-fit: contain;
    object-position: center;
    display: block;
    transform: translateY(var(--cfm-footer-cta-image-offset-y, -4px));
    filter: drop-shadow(0 14px 26px rgba(87, 68, 22, .08));
    mask-image: linear-gradient(90deg, transparent 0%, #000 8%, #000 92%, transparent 100%);
}

.cfm-footer-cta--premium .cfm-footer-cta__button {
    min-height: 54px;
    min-width: min(100%, 340px);
    margin-top: -2px;
    padding: 0 25px;
    border-radius: var(--cfm-footer-cta-button-radius, 8px);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    background: linear-gradient(135deg, color-mix(in srgb, var(--cfm-footer-cta-button-bg, #caa13a) 82%, #ffffff 18%), var(--cfm-footer-cta-button-bg, #caa13a));
    color: var(--cfm-footer-cta-button-color, #ffffff) !important;
    font-size: var(--cfm-footer-cta-button-size, 14px);
    line-height: 1.2;
    font-weight: 750;
    text-decoration: none !important;
    box-shadow: 0 13px 25px rgba(172, 128, 30, .22);
    transition: transform .2s ease, box-shadow .2s ease;
}

.cfm-footer-cta--premium .cfm-footer-cta__button:hover {
    transform: translateY(-2px);
    box-shadow: 0 17px 31px rgba(172, 128, 30, .29);
}

@media (max-width: 1199.98px) {
    .cfm-footer-cta--premium .cfm-footer-cta__panel {
        grid-template-columns: minmax(0, 1.1fr) minmax(300px, .9fr);
        padding-inline: clamp(30px, 5vw, var(--cfm-footer-cta-padding-x, 68px));
    }

    .cfm-footer-cta--premium .cfm-footer-cta__visual-image {
        width: min(100%, var(--cfm-footer-cta-image-tablet, 430px));
    }

    .cfm-footer-cta--premium .cfm-footer-cta__trust-item {
        padding-inline: 13px;
    }
}

@media (max-width: 991.98px) {
    .cfm-footer-cta--premium .cfm-footer-cta__panel {
        grid-template-columns: 1fr;
        gap: 34px;
    }

    .cfm-footer-cta--premium .cfm-footer-cta__content {
        text-align: center;
    }

    .cfm-footer-cta--premium .cfm-footer-cta__eyebrow,
    .cfm-footer-cta--premium .cfm-footer-cta__trust {
        justify-content: center;
    }

    .cfm-footer-cta--premium .cfm-footer-cta__accent {
        margin-inline: auto;
    }

    .cfm-footer-cta--premium .cfm-footer-cta__description {
        margin-inline: auto;
    }

    .cfm-footer-cta--premium .cfm-footer-cta__visual {
        min-height: 0;
    }
}

@media (max-width: 767.98px) {
    .cfm-footer-cta--premium {
        padding: 28px 0 32px;
    }

    .cfm-footer-cta--premium .cfm-footer-cta__panel {
        padding: 42px 22px 34px;
        border-radius: min(var(--cfm-footer-cta-radius, 26px), 22px);
    }

    .cfm-footer-cta--premium .cfm-footer-cta__content h2 {
        font-size: clamp(34px, 9vw, 44px) !important;
    }

    .cfm-footer-cta--premium .cfm-footer-cta__trust {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 14px 10px;
    }

    .cfm-footer-cta--premium .cfm-footer-cta__trust-item,
    .cfm-footer-cta--premium .cfm-footer-cta__trust-item:first-child {
        padding: 0;
    }

    .cfm-footer-cta--premium .cfm-footer-cta__trust-item::after {
        display: none !important;
    }

    .cfm-footer-cta--premium .cfm-footer-cta__trust-item {
        justify-content: flex-start;
    }

    .cfm-footer-cta--premium .cfm-footer-cta__visual-image {
        width: min(100%, var(--cfm-footer-cta-image-mobile, 320px));
    }

    .cfm-footer-cta--premium .cfm-footer-cta__button {
        width: 100%;
        min-width: 0;
    }
}

@media (max-width: 420px) {
    .cfm-footer-cta--premium .cfm-footer-cta__trust {
        grid-template-columns: 1fr;
    }

    .cfm-footer-cta--premium .cfm-footer-cta__trust-item {
        justify-content: center;
    }
}




/* source: cfm-cta-v10-5.css */
/*
 * Code Falcons Pre-Footer CTA Layout Fix V10.5
 * CTA ONLY. Counter, Business Engagement, Footer main area and all other
 * approved section CSS remain untouched.
 */

/* 1. Remove the separate background/gutter completely. */
.cfm-footer-cta--premium {
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    overflow: hidden;
}

/* 1. Full-width rectangular CTA panel. */
.cfm-footer-cta--premium .cfm-footer-cta__panel {
    width: 100% !important;
    max-width: none !important;
    min-height: 470px;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;

    /* These values now come directly from the Back Office and may be 0. */
    padding-top: var(--cfm-footer-cta-padding-y, 54px) !important;
    padding-bottom: var(--cfm-footer-cta-padding-y, 54px) !important;
    padding-left: var(--cfm-footer-cta-padding-x, 68px) !important;
    padding-right: var(--cfm-footer-cta-padding-x, 68px) !important;
}

/* Keep decorative elements clipped inside the full-width cream section. */
.cfm-footer-cta--premium .cfm-footer-cta__panel::before,
.cfm-footer-cta--premium .cfm-footer-cta__panel::after {
    pointer-events: none;
}

/* 2. All four trust items stay on ONE line on desktop/tablet. */
.cfm-footer-cta--premium .cfm-footer-cta__trust {
    width: 100%;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    align-items: center !important;
    gap: 0 !important;
    flex-wrap: nowrap !important;
}

.cfm-footer-cta--premium .cfm-footer-cta__trust-item,
.cfm-footer-cta--premium .cfm-footer-cta__trust-item:first-child {
    min-width: 0;
    width: 100%;
    padding: 0 16px !important;
    justify-content: center;
}

.cfm-footer-cta--premium .cfm-footer-cta__trust-item:first-child {
    padding-left: 0 !important;
}

.cfm-footer-cta--premium .cfm-footer-cta__trust-item:last-child {
    padding-right: 0 !important;
}

.cfm-footer-cta--premium .cfm-footer-cta__trust-text {
    min-width: 0;
    max-width: none !important;
}

/* 3. Remove old responsive padding hard-codes so Builder values control
      desktop, tablet and mobile consistently. */
@media (max-width: 1199.98px) {
    .cfm-footer-cta--premium .cfm-footer-cta__panel {
        padding-top: var(--cfm-footer-cta-padding-y, 54px) !important;
        padding-bottom: var(--cfm-footer-cta-padding-y, 54px) !important;
        padding-left: var(--cfm-footer-cta-padding-x, 68px) !important;
        padding-right: var(--cfm-footer-cta-padding-x, 68px) !important;
        border-radius: 0 !important;
    }

    .cfm-footer-cta--premium .cfm-footer-cta__trust {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }

    .cfm-footer-cta--premium .cfm-footer-cta__trust-item {
        padding-inline: 10px !important;
    }
}

@media (max-width: 767.98px) {
    .cfm-footer-cta--premium {
        padding: 0 !important;
    }

    .cfm-footer-cta--premium .cfm-footer-cta__panel {
        padding-top: var(--cfm-footer-cta-padding-y, 54px) !important;
        padding-bottom: var(--cfm-footer-cta-padding-y, 54px) !important;
        padding-left: var(--cfm-footer-cta-padding-x, 68px) !important;
        padding-right: var(--cfm-footer-cta-padding-x, 68px) !important;
        border-radius: 0 !important;
    }

    /* On phones use two columns for readability; desktop/tablet remain one line. */
    .cfm-footer-cta--premium .cfm-footer-cta__trust {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 14px 10px !important;
    }

    .cfm-footer-cta--premium .cfm-footer-cta__trust-item,
    .cfm-footer-cta--premium .cfm-footer-cta__trust-item:first-child,
    .cfm-footer-cta--premium .cfm-footer-cta__trust-item:last-child {
        padding: 0 !important;
    }

    .cfm-footer-cta--premium .cfm-footer-cta__trust-item::after {
        display: none !important;
    }
}

@media (max-width: 420px) {
    .cfm-footer-cta--premium .cfm-footer-cta__trust {
        grid-template-columns: 1fr !important;
    }
}




/* source: cfm-footer-v10-6.css */
/*
 * Code Falcons Footer Full Width + Trust Strip V10.6
 * Scope: Footer main layout, Trust Strip, admin-requested CTA height only.
 * Counter / Business Engagement / Technology / FAQ / Hero styles untouched.
 */

/* Footer main matches the full-width CTA. */
.cfm-footer--advanced .cfm-footer__main {
    width: 100% !important;
    padding: 0 !important;
    background: var(--cfm-footer-bg, #171a18) !important;
}

.cfm-footer--advanced .cfm-footer__inner {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding:
        var(--cfm-footer-content-padding-y, 44px)
        var(--cfm-footer-content-padding-x, 68px)
        24px !important;
}

.cfm-footer--advanced .cfm-footer__grid {
    width: 100%;
    max-width: none !important;
    gap: var(--cfm-footer-column-gap, 54px) !important;
}

/* Missing trust/reputation strip from the reference design. */
.cfm-footer--advanced .cfm-footer__trust-strip {
    width: 100%;
    margin-top: 32px;
    padding: var(--cfm-footer-trust-padding-y, 18px) 0;
    border-top: 1px solid var(--cfm-footer-trust-divider, #363a36);
    border-bottom: 1px solid var(--cfm-footer-trust-divider, #363a36);
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 36px;
    align-items: center;
    background: var(--cfm-footer-trust-bg, #171a18);
}

.cfm-footer--advanced .cfm-footer__trust-left,
.cfm-footer--advanced .cfm-footer__trust-right {
    min-width: 0;
}

.cfm-footer--advanced .cfm-footer__trust-left h4,
.cfm-footer--advanced .cfm-footer__trust-right h4 {
    margin: 0 0 10px;
    font-weight: 700;
    line-height: 1.25;
}

.cfm-footer--advanced .cfm-footer__trust-left h4 {
    color: var(--cfm-footer-trust-left-heading-color, #cbb262);
    font-size: var(--cfm-footer-trust-left-heading-size, 11px);
}

.cfm-footer--advanced .cfm-footer__trust-right h4 {
    color: var(--cfm-footer-trust-right-heading-color, #cbb262);
    font-size: var(--cfm-footer-trust-right-heading-size, 11px);
    text-align: right;
}

.cfm-footer--advanced .cfm-footer__trust-badges {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--cfm-footer-trust-badge-gap, 10px);
}

.cfm-footer--advanced .cfm-footer__trust-badges a,
.cfm-footer--advanced .cfm-footer__trust-badges span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.cfm-footer--advanced .cfm-footer__trust-badges img {
    width: auto;
    height: var(--cfm-footer-trust-badge-height, 30px);
    max-width: 160px;
    object-fit: contain;
    display: block;
}

.cfm-footer--advanced .cfm-footer__trust-right {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}

.cfm-footer--advanced .cfm-footer__trust-right a,
.cfm-footer--advanced .cfm-footer__trust-right span {
    display: inline-flex;
}

.cfm-footer--advanced .cfm-footer__trust-right img {
    width: min(100%, var(--cfm-footer-trust-right-image-width, 150px));
    max-height: var(--cfm-footer-trust-right-image-height, 40px);
    object-fit: contain;
    display: block;
}

/* Copyright/legal row now follows the full width inner frame. */
.cfm-footer--advanced .cfm-footer__bottom--advanced {
    width: 100%;
    max-width: none !important;
}

/* Compact the pre-footer CTA without changing its approved design. */
.cfm-footer-cta--premium .cfm-footer-cta__panel {
    min-height: var(--cfm-footer-cta-min-height, 390px) !important;
}

.cfm-footer-cta--premium .cfm-footer-cta__visual {
    min-height: calc(var(--cfm-footer-cta-min-height, 390px) - 70px) !important;
}

@media (max-width: 991.98px) {
    .cfm-footer--advanced .cfm-footer__inner {
        padding-inline: clamp(22px, 5vw, var(--cfm-footer-content-padding-x, 68px)) !important;
    }

    .cfm-footer--advanced .cfm-footer__trust-strip {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .cfm-footer--advanced .cfm-footer__trust-right {
        align-items: flex-start;
    }

    .cfm-footer--advanced .cfm-footer__trust-right h4 {
        text-align: left;
    }
}

@media (max-width: 767.98px) {
    .cfm-footer--advanced .cfm-footer__inner {
        padding:
            max(28px, calc(var(--cfm-footer-content-padding-y, 44px) * .72))
            20px
            20px !important;
    }

    .cfm-footer--advanced .cfm-footer__trust-strip {
        margin-top: 26px;
    }

    .cfm-footer--advanced .cfm-footer__trust-badges img {
        max-width: 120px;
    }

    .cfm-footer-cta--premium .cfm-footer-cta__panel {
        min-height: auto !important;
    }

    .cfm-footer-cta--premium .cfm-footer-cta__visual {
        min-height: 0 !important;
    }
}




/* source: cfm-footer-v10-7.css */
/*
 * Code Falcons Footer Trust Compact Fix V10.7
 * Footer trust/review strip only.
 * Counter, CTA design, Business Engagement and other approved CSS unchanged.
 */

/* Remove the divider BELOW "Most trusted & reliable company". */
.cfm-footer--advanced .cfm-footer__trust-strip {
    border-bottom: 0 !important;

    /* Bring the strip closer to the footer columns. */
    margin-top: 18px !important;

    /* Vertical padding remains fully controlled from Back Office. */
    padding-top: var(--cfm-footer-trust-padding-y, 10px) !important;
    padding-bottom: var(--cfm-footer-trust-padding-y, 10px) !important;
}

/* Reduce the internal heading-to-badge gap. */
.cfm-footer--advanced .cfm-footer__trust-left h4,
.cfm-footer--advanced .cfm-footer__trust-right h4 {
    margin-bottom: 6px !important;
}

/* Keep the copyright row visually close to the trust/review strip. */
.cfm-footer--advanced .cfm-footer__bottom--advanced {
    margin-top: 12px !important;
    padding-top: 10px !important;
}

@media (max-width: 767.98px) {
    .cfm-footer--advanced .cfm-footer__trust-strip {
        margin-top: 16px !important;
    }

    .cfm-footer--advanced .cfm-footer__bottom--advanced {
        margin-top: 10px !important;
        padding-top: 8px !important;
    }
}




/* source: cfm-footer-v10-8.css */
/*
 * Code Falcons Footer Divider Opacity V10.8
 * Scope: trust/review top divider only.
 */

.cfm-footer--advanced .cfm-footer__trust-strip {
    position: relative;
    border-top: 0 !important;
}

.cfm-footer--advanced .cfm-footer__trust-strip::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 1px;
    background: var(--cfm-footer-trust-divider, #363a36);
    opacity: var(--cfm-footer-trust-divider-opacity, .35);
    pointer-events: none;
}




/* source: cfm-footer-v10-9.css */
/*
 * Code Falcons Footer Trust / Social Position V10.9
 * Scope: Trust & Reviews strip background + social icon placement only.
 * Counter, CTA, Business Engagement and other approved CSS remain locked.
 */

/* Trust strip has NO independent background. It inherits the footer naturally. */
.cfm-footer--advanced .cfm-footer__trust-strip {
    background: transparent !important;
}

/* Social icons now sit directly under the "We are so loved" review image. */
.cfm-footer--advanced .cfm-footer__trust-right .cfm-footer__social-area--trust {
    width: auto !important;
    margin: 10px 0 0 !important;
    align-self: flex-end;
    display: flex;
    justify-content: flex-end;
}

.cfm-footer--advanced .cfm-footer__trust-right .cfm-footer__social-area--trust ul,
.cfm-footer--advanced .cfm-footer__trust-right .cfm-footer__social-area--trust .cfm-footer__socials {
    justify-content: flex-end !important;
}

/* Copyright row now contains legal content only when Trust & Reviews is enabled,
   leaving clear space for the fixed back-to-top button. */
.cfm-footer--advanced .cfm-footer__bottom--advanced {
    min-height: 0 !important;
}

@media (max-width: 991.98px) {
    .cfm-footer--advanced .cfm-footer__trust-right .cfm-footer__social-area--trust {
        align-self: flex-start;
        justify-content: flex-start;
    }

    .cfm-footer--advanced .cfm-footer__trust-right .cfm-footer__social-area--trust ul,
    .cfm-footer--advanced .cfm-footer__trust-right .cfm-footer__social-area--trust .cfm-footer__socials {
        justify-content: flex-start !important;
    }
}




/* source: cfm-home-v12.css */
/*
 * Code Falcons Homepage Polish V12
 *
 * Scope:
 *  - FAQ: pixel-perfect alignment to approved homepage reference.
 *  - Testimonials: per-record Name / Position-Company / Rating typography controls.
 *  - Counter: BACKGROUND ONLY (approved counter layout/typography remains locked).
 */

/* =========================================================
   FAQ — approved reference layout
   ========================================================= */
.cfm-faq {
    padding-top: 126px !important;
    padding-bottom: 128px !important;
    background: #ffffff !important;
}

.cfm-faq .cfm-faq__grid {
    grid-template-columns: minmax(300px, .65fr) minmax(0, 1.35fr) !important;
    gap: clamp(96px, 8.5vw, 140px) !important;
    align-items: start !important;
}

.cfm-faq .cfm-faq__intro {
    padding-top: 3px;
}

.cfm-faq .cfm-faq__intro h2 {
    max-width: 390px;
    margin: 0 0 22px !important;
    color: #101b22 !important;
    font-size: 46px !important;
    line-height: .98 !important;
    letter-spacing: -1.55px !important;
    font-weight: 800 !important;
}

.cfm-faq .cfm-faq__intro h2 span {
    color: #cbb262 !important;
}

.cfm-faq .cfm-faq__intro > p {
    max-width: 410px !important;
    margin: 0 0 31px !important;
    color: #858983 !important;
    font-size: 13px !important;
    line-height: 1.72 !important;
}

.cfm-faq .cfm-faq__intro .cfm-button {
    min-height: 46px !important;
    padding: 0 22px !important;
    border-radius: 3px !important;
    font-size: 12px !important;
    line-height: 46px !important;
    font-weight: 700 !important;
}

.cfm-faq .cfm-faq__accordion {
    width: 100%;
    border-top: 1px solid #d9dbd7 !important;
}

.cfm-faq .cfm-faq-item {
    border-bottom: 1px solid #d9dbd7 !important;
}

.cfm-faq .cfm-faq-item > button {
    width: 100%;
    min-height: 73px !important;
    padding: 13px 4px !important;
    border: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 22px !important;
    background: transparent !important;
    color: #101b22 !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
    font-weight: 650 !important;
    text-align: left !important;
}

.cfm-faq .cfm-faq-item > button i {
    flex: 0 0 auto;
    color: #101b22 !important;
    font-size: 14px !important;
}

.cfm-faq .cfm-faq-item.is-open > button,
.cfm-faq .cfm-faq-item.is-open > button i {
    color: #b98f2d !important;
}

.cfm-faq .cfm-faq-item__answer > p {
    color: #858983 !important;
    font-size: 12px !important;
    line-height: 1.72 !important;
}

.cfm-faq .cfm-faq-item.is-open .cfm-faq-item__answer > p {
    padding: 0 38px 28px 4px !important;
}

@media (max-width: 991.98px) {
    .cfm-faq {
        padding-top: 82px !important;
        padding-bottom: 86px !important;
    }

    .cfm-faq .cfm-faq__grid {
        grid-template-columns: 1fr !important;
        gap: 46px !important;
    }

    .cfm-faq .cfm-faq__intro {
        max-width: 650px;
        margin-inline: auto;
        text-align: center;
    }

    .cfm-faq .cfm-faq__intro h2,
    .cfm-faq .cfm-faq__intro > p {
        margin-inline: auto !important;
    }
}

@media (max-width: 575.98px) {
    .cfm-faq {
        padding-top: 64px !important;
        padding-bottom: 68px !important;
    }

    .cfm-faq .cfm-faq__intro h2 {
        font-size: 36px !important;
        letter-spacing: -1px !important;
    }

    .cfm-faq .cfm-faq-item > button {
        min-height: 64px !important;
        font-size: 13px !important;
    }
}

/* =========================================================
   Testimonials — dynamic per-entry typography only
   ========================================================= */
.cfm-testimonials .cfm-testimonial-card__title {
    color: var(--cfm-testimonial-name-color, #b99032) !important;
    font-size: var(--cfm-testimonial-name-size, 15px) !important;
}

.cfm-testimonials .cfm-testimonial-card__stars {
    color: var(--cfm-testimonial-rating-color, #f5a623) !important;
    font-size: var(--cfm-testimonial-rating-size, 13px) !important;
}

.cfm-testimonials .cfm-testimonial-card__author strong {
    color: var(--cfm-testimonial-company-color, #30342f) !important;
    font-size: var(--cfm-testimonial-company-size, 11px) !important;
}

/* =========================================================
   Counter — BACKGROUND ONLY.
   Do not alter cards, numbers, labels, seal, layout or spacing.
   Approved reference sampled from the supplied design.
   ========================================================= */
.cfm-impact {
    background:
        linear-gradient(
            104deg,
            #f5efd6 0%,
            #f8f5e2 23%,
            #fcfbf5 50%,
            #faf7e8 72%,
            #efe4b8 100%
        ) !important;
}

.cfm-impact::before {
    display: none !important;
}

.cfm-impact__glow {
    display: none !important;
}




/* source: cfm-home-v13.css */
/*
 * Code Falcons FAQ + Testimonial Carousel V13
 *
 * Scope ONLY:
 * - FAQ accordion styling from the user-supplied reference.
 * - Testimonial carousel behavior / controls.
 * - Per-testimonial Name, Position/Company and Rating Star typography.
 *
 * Header, Footer, Pre-Footer CTA, Business Engagement and Counter are locked
 * and intentionally not targeted in this stylesheet.
 */

/* =========================================================
   FAQ — match supplied accordion reference
   ========================================================= */
.cfm-faq--reference-v13 .cfm-faq__accordion {
    width: 100% !important;
    border: 1px solid #dededb !important;
    background: #fff !important;
}

.cfm-faq--reference-v13 .cfm-faq-item {
    margin: 0 !important;
    border: 0 !important;
    border-bottom: 1px solid #dededb !important;
    border-radius: 0 !important;
    background: #fff !important;
    overflow: hidden;
}

.cfm-faq--reference-v13 .cfm-faq-item:last-child {
    border-bottom: 0 !important;
}

.cfm-faq--reference-v13 .cfm-faq-item > button {
    width: 100% !important;
    min-height: 49px !important;
    margin: 0 !important;
    padding: 11px 19px !important;
    border: 0 !important;
    border-radius: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 24px !important;
    background: #fff !important;
    color: #2f312f !important;
    font-size: 16px !important;
    line-height: 1.4 !important;
    font-weight: 650 !important;
    letter-spacing: -.15px !important;
    text-align: left !important;
    box-shadow: none !important;
    transition: background-color .2s ease, color .2s ease !important;
}

.cfm-faq--reference-v13 .cfm-faq-item.is-open > button {
    min-height: 49px !important;
    background: #cbb262 !important;
    color: #fff !important;
}

.cfm-faq--reference-v13 .cfm-faq-item__symbol {
    position: relative;
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    color: currentColor;
}

.cfm-faq--reference-v13 .cfm-faq-item__symbol::before,
.cfm-faq--reference-v13 .cfm-faq-item__symbol::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    background: currentColor;
    transform: translate(-50%, -50%);
    transition: opacity .18s ease, transform .18s ease;
}

.cfm-faq--reference-v13 .cfm-faq-item__symbol::before {
    width: 14px;
    height: 2px;
}

.cfm-faq--reference-v13 .cfm-faq-item__symbol::after {
    width: 2px;
    height: 14px;
}

.cfm-faq--reference-v13 .cfm-faq-item.is-open .cfm-faq-item__symbol::after {
    opacity: 0;
    transform: translate(-50%, -50%) scaleY(0);
}

.cfm-faq--reference-v13 .cfm-faq-item__answer {
    display: grid !important;
    grid-template-rows: 0fr !important;
    min-height: 0 !important;
    background: #fff !important;
    transition: grid-template-rows .26s ease !important;
}

.cfm-faq--reference-v13 .cfm-faq-item.is-open .cfm-faq-item__answer {
    grid-template-rows: 1fr !important;
}

.cfm-faq--reference-v13 .cfm-faq-item__answer-inner {
    min-height: 0;
    overflow: hidden;
    margin: 0;
    padding: 0 21px;
    color: #9b9d99;
    font-size: 14px;
    line-height: 1.7;
    font-weight: 400;
    transition: padding .26s ease;
}

.cfm-faq--reference-v13 .cfm-faq-item.is-open .cfm-faq-item__answer-inner {
    padding-top: 13px;
    padding-bottom: 10px;
}

.cfm-faq--reference-v13 .cfm-faq-item__answer-inner p {
    margin: 0 0 5px !important;
    color: inherit !important;
    font-size: inherit !important;
    line-height: inherit !important;
}

.cfm-faq--reference-v13 .cfm-faq-item__answer-inner ul,
.cfm-faq--reference-v13 .cfm-faq-item__answer-inner ol {
    margin: 5px 0 0 !important;
    padding-left: 0 !important;
    list-style: none !important;
}

.cfm-faq--reference-v13 .cfm-faq-item__answer-inner li {
    margin: 0 0 2px !important;
    padding: 0 !important;
    color: inherit !important;
    font-size: inherit !important;
    line-height: inherit !important;
}

.cfm-faq--reference-v13 .cfm-faq-item__answer-inner li::before {
    content: "• ";
}

@media (max-width: 767.98px) {
    .cfm-faq--reference-v13 .cfm-faq-item > button {
        min-height: 48px !important;
        padding: 10px 15px !important;
        font-size: 15px !important;
    }

    .cfm-faq--reference-v13 .cfm-faq-item__answer-inner {
        padding-left: 16px;
        padding-right: 16px;
        font-size: 13px;
    }
}

/* =========================================================
   Testimonials — REAL dynamic per-record controls
   ========================================================= */
.cfm-testimonials--v13 .cfm-testimonial-card__title {
    color: var(--cfm-testimonial-name-color, #b99032) !important;
    font-size: var(--cfm-testimonial-name-size, 15px) !important;
}

.cfm-testimonials--v13 .cfm-testimonial-card__stars {
    display: flex;
    align-items: center;
    gap: 4px;
    color: var(--cfm-testimonial-rating-color, #f5a623) !important;
    font-size: var(--cfm-testimonial-rating-size, 13px) !important;
    letter-spacing: 0 !important;
}

.cfm-testimonials--v13 .cfm-testimonial-card__stars i {
    color: inherit !important;
    font-size: 1em !important;
}

.cfm-testimonials--v13 .cfm-testimonial-card__stars i.is-empty {
    opacity: .22;
}

.cfm-testimonials--v13 .cfm-testimonial-card__author strong {
    color: var(--cfm-testimonial-company-color, #30342f) !important;
    font-size: var(--cfm-testimonial-company-size, 11px) !important;
}

/* =========================================================
   Testimonial moving carousel
   ========================================================= */
.cfm-testimonials--v13 .cfm-testimonials__carousel {
    position: relative;
    width: 100%;
    overflow: hidden;
    padding: 4px 3px 42px;
}

.cfm-testimonials--v13 .cfm-testimonials__carousel .swiper-wrapper {
    align-items: stretch;
}

.cfm-testimonials--v13 .cfm-testimonials__carousel.is-continuous .swiper-wrapper {
    transition-timing-function: linear !important;
}

.cfm-testimonials--v13 .cfm-testimonials__carousel .swiper-slide {
    height: auto;
    display: flex;
}

.cfm-testimonials--v13 .cfm-testimonials__carousel .cfm-testimonial-card {
    width: 100%;
    height: 100%;
}

.cfm-testimonials--v13 .cfm-testimonials__pagination {
    bottom: 5px !important;
}

.cfm-testimonials--v13 .cfm-testimonials__pagination .swiper-pagination-bullet {
    width: 7px;
    height: 7px;
    margin: 0 4px !important;
    background: #a9aca7;
    opacity: .45;
}

.cfm-testimonials--v13 .cfm-testimonials__pagination .swiper-pagination-bullet-active {
    width: 22px;
    border-radius: 99px;
    background: #cbb262;
    opacity: 1;
}

.cfm-testimonials--v13 .cfm-testimonials__nav {
    width: 38px !important;
    height: 38px !important;
    border: 1px solid rgba(203,178,98,.55) !important;
    border-radius: 50% !important;
    background: rgba(255,255,255,.94) !important;
    color: #9a7826 !important;
    box-shadow: 0 7px 18px rgba(30,31,28,.08);
}

.cfm-testimonials--v13 .cfm-testimonials__nav::after {
    font-size: 14px !important;
    font-weight: 800 !important;
}

.cfm-testimonials--v13 .cfm-testimonials__nav--prev {
    left: 6px !important;
}

.cfm-testimonials--v13 .cfm-testimonials__nav--next {
    right: 6px !important;
}

@media (max-width: 767.98px) {
    .cfm-testimonials--v13 .cfm-testimonials__carousel {
        padding-bottom: 38px;
    }

    .cfm-testimonials--v13 .cfm-testimonials__nav {
        width: 34px !important;
        height: 34px !important;
    }
}




/* source: cfm-home-v14.css */
/*
 * Code Falcons V14 — Partners / Technology / Testimonials
 *
 * Explicit scope:
 * - Partner logos carousel.
 * - Technology Stack background + technology name font size.
 * - Business Engagement BACKGROUND GRADIENT ONLY (ring remains intact).
 * - Testimonial content rendering/layout, arrows, card background.
 *
 * Header, Footer, Pre-Footer CTA and Counter remain locked.
 */

/* =========================================================
   Shared approved "Our Success Is Measured" gradient
   ========================================================= */
.cfm-technology,
.cfm-engagement-v11 {
    background:
        linear-gradient(
            104deg,
            #f5efd6 0%,
            #f8f5e2 23%,
            #fcfbf5 50%,
            #faf7e8 72%,
            #efe4b8 100%
        ) !important;
}

/* Business Engagement ring intentionally remains.
   Do NOT hide .cfm-engagement-v11::before. */

/* =========================================================
   Technology Stack — per-technology name size
   ========================================================= */
.cfm-technology .cfm-tech-card strong {
    font-size: var(--cfm-tech-name-size, 11px) !important;
}

/* =========================================================
   Partners — advanced moving carousel
   ========================================================= */
.cfm-partners--v14 .cfm-partners__carousel-shell {
    position: relative;
    width: 100%;
    min-width: 0;
}

.cfm-partners--v14 .cfm-partners__carousel {
    width: 100%;
    overflow: hidden;
    padding: 4px 2px 8px;
}

.cfm-partners--v14 .cfm-partners__carousel.is-continuous .swiper-wrapper {
    transition-timing-function: linear !important;
}

.cfm-partners--v14 .cfm-partners__carousel .swiper-wrapper {
    align-items: stretch;
}

.cfm-partners--v14 .cfm-partners__carousel .swiper-slide {
    height: auto;
    display: flex;
}

.cfm-partners--v14 .cfm-partner {
    width: 100%;
    min-height: 82px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.cfm-partners--v14 .cfm-partner img {
    width: auto !important;
    max-width: 88% !important;
    height: auto !important;
    max-height: var(--cfm-partner-logo-height-desktop, 58px) !important;
    object-fit: contain !important;
}

.cfm-partners--v14 .cfm-partners__pagination {
    position: relative !important;
    inset: auto !important;
    margin-top: 16px;
}

.cfm-partners--v14 .cfm-partners__pagination .swiper-pagination-bullet {
    width: 7px;
    height: 7px;
    margin: 0 4px !important;
    background: #a9aca7;
    opacity: .4;
}

.cfm-partners--v14 .cfm-partners__pagination .swiper-pagination-bullet-active {
    width: 22px;
    border-radius: 99px;
    background: #cbb262;
    opacity: 1;
}

.cfm-partners--v14 .cfm-partners__nav {
    width: 38px !important;
    height: 38px !important;
    top: 50% !important;
    margin-top: -19px !important;
    border: 1px solid rgba(203,178,98,.55) !important;
    border-radius: 50% !important;
    background: #fff !important;
    color: #9a7826 !important;
    box-shadow: 0 8px 20px rgba(30,31,28,.08);
}

.cfm-partners--v14 .cfm-partners__nav::after {
    font-size: 13px !important;
    font-weight: 800 !important;
}

.cfm-partners--v14 .cfm-partners__nav--prev {
    left: -48px !important;
}

.cfm-partners--v14 .cfm-partners__nav--next {
    right: -48px !important;
}

@media (max-width: 991.98px) {
    .cfm-partners--v14 .cfm-partner img {
        max-height: var(--cfm-partner-logo-height-tablet, 52px) !important;
    }

    .cfm-partners--v14 .cfm-partners__nav--prev {
        left: -34px !important;
    }

    .cfm-partners--v14 .cfm-partners__nav--next {
        right: -34px !important;
    }
}

@media (max-width: 767.98px) {
    .cfm-partners--v14 .cfm-partner {
        min-height: 72px;
    }

    .cfm-partners--v14 .cfm-partner img {
        max-height: var(--cfm-partner-logo-height-mobile, 44px) !important;
    }

    .cfm-partners--v14 .cfm-partners__nav {
        display: none !important;
    }
}

/* =========================================================
   Testimonials — card background + content without fake gap
   ========================================================= */
.cfm-testimonials--v13 .cfm-testimonial-card {
    background: var(--cfm-testimonial-card-background, #ffffff) !important;
}

.cfm-testimonials--v13 .cfm-testimonial-card__content {
    min-height: 0 !important;
    margin: 10px 0 18px !important;
    color: #777c75;
    font-size: 11px;
    line-height: 1.7;
}

.cfm-testimonials--v13 .cfm-testimonial-card__content > * {
    min-height: 0 !important;
}

.cfm-testimonials--v13 .cfm-testimonial-card__content p {
    min-height: 0 !important;
    margin: 0 0 7px !important;
    color: inherit;
    line-height: inherit;
}

.cfm-testimonials--v13 .cfm-testimonial-card__content p:last-child {
    margin-bottom: 0 !important;
}

.cfm-testimonials--v13 .cfm-testimonial-card__content ul,
.cfm-testimonials--v13 .cfm-testimonial-card__content ol {
    margin: 5px 0 7px 18px !important;
}

.cfm-testimonials--v13 .cfm-testimonial-card__author {
    margin-top: 0 !important;
}

/* Remove the legacy forced testimonial paragraph height even if an old card
   still renders a direct paragraph. */
.cfm-testimonials--v13 .cfm-testimonial-card > p {
    min-height: 0 !important;
    margin-bottom: 18px !important;
}

/* =========================================================
   Testimonials — arrows OUTSIDE card area
   ========================================================= */
.cfm-testimonials--v13 .cfm-testimonials__carousel-shell {
    position: relative;
    width: 100%;
    min-width: 0;
    padding: 0 52px;
}

.cfm-testimonials--v13 .cfm-testimonials__carousel {
    overflow: hidden !important;
    padding-left: 2px;
    padding-right: 2px;
}

.cfm-testimonials--v13 .cfm-testimonials__nav {
    top: 50% !important;
    margin-top: -19px !important;
    z-index: 5;
}

.cfm-testimonials--v13 .cfm-testimonials__nav--prev {
    left: 0 !important;
}

.cfm-testimonials--v13 .cfm-testimonials__nav--next {
    right: 0 !important;
}

@media (max-width: 991.98px) {
    .cfm-testimonials--v13 .cfm-testimonials__carousel-shell {
        padding-inline: 44px;
    }
}

@media (max-width: 767.98px) {
    .cfm-testimonials--v13 .cfm-testimonials__carousel-shell {
        padding: 0 0 48px;
    }

    .cfm-testimonials--v13 .cfm-testimonials__nav {
        top: auto !important;
        bottom: 0 !important;
        margin-top: 0 !important;
    }

    .cfm-testimonials--v13 .cfm-testimonials__nav--prev {
        left: calc(50% - 44px) !important;
    }

    .cfm-testimonials--v13 .cfm-testimonials__nav--next {
        right: calc(50% - 44px) !important;
    }
}




/* source: cfm-home-v14-1.css */
/*
 * Code Falcons V14.1 — Partner + Testimonial polish
 * Scope ONLY: Partner logo visual interaction and Testimonial card polish.
 */

/* Remove the gold/hover hyperlink effect from partner logo cards. */
.cfm-partners--v14 .cfm-partner,
.cfm-partners--v14 .cfm-partner:hover,
.cfm-partners--v14 .cfm-partner:focus,
.cfm-partners--v14 .cfm-partner:focus-visible,
.cfm-partners--v14 .cfm-partner:active {
    text-decoration: none !important;
    transform: none !important;
    box-shadow: none !important;
    border-color: #e4e5e1 !important;
    outline: none !important;
    filter: none !important;
}

.cfm-partners--v14 .cfm-partner img,
.cfm-partners--v14 .cfm-partner:hover img,
.cfm-partners--v14 .cfm-partner:focus img {
    transform: none !important;
    filter: none !important;
    opacity: 1 !important;
}

/* Visual Builder card background must always win. */
.cfm-testimonials--v13 .cfm-testimonial-card {
    background: var(--cfm-testimonial-card-background, #ffffff) !important;
    background-image: none !important;
}

/* Remove fake vertical space from testimonial content. */
.cfm-testimonials--v13 .cfm-testimonial-card__content {
    min-height: 0 !important;
    margin: 10px 0 0 !important;
    padding: 0 !important;
}

.cfm-testimonials--v13 .cfm-testimonial-card__content > * {
    min-height: 0 !important;
}

.cfm-testimonials--v13 .cfm-testimonial-card__content p {
    min-height: 0 !important;
    margin: 0 0 7px !important;
}

.cfm-testimonials--v13 .cfm-testimonial-card__content p:last-child {
    margin-bottom: 0 !important;
}

/* Professional horizontal divider + lower author/company row. */
.cfm-testimonials--v13 .cfm-testimonial-card__author {
    min-height: 58px;
    margin-top: 19px !important;
    padding-top: 17px !important;
    border-top: 1px solid rgba(31, 35, 37, .14) !important;
    display: grid !important;
    grid-template-columns: 46px minmax(0, 1fr) auto !important;
    align-items: center !important;
    column-gap: 12px !important;
}

.cfm-testimonials--v13 .cfm-testimonial-card__author > img {
    width: 44px !important;
    height: 44px !important;
    margin: 0 !important;
    object-fit: contain !important;
    align-self: center !important;
}

.cfm-testimonials--v13 .cfm-testimonial-card__author > div:not(.cfm-google-mark) {
    min-width: 0;
    align-self: center !important;
}

.cfm-testimonials--v13 .cfm-google-mark {
    align-self: center !important;
    margin: 0 !important;
    padding: 0 !important;
}

@media (max-width: 767.98px) {
    .cfm-testimonials--v13 .cfm-testimonial-card__author {
        grid-template-columns: 42px minmax(0, 1fr) auto !important;
        column-gap: 10px !important;
        margin-top: 16px !important;
        padding-top: 15px !important;
    }

    .cfm-testimonials--v13 .cfm-testimonial-card__author > img {
        width: 40px !important;
        height: 40px !important;
    }
}




/* source: cfm-home-v14-2.css */
/*
 * Code Falcons V14.2 — LIVE Visual Builder Sync + Compact Testimonials
 *
 * Scope:
 * - Partner carousel presentation/arrows.
 * - Testimonial card background and vertical layout.
 * - Testimonial section compactness.
 *
 * Header, Footer, Pre-Footer CTA, Counter, Business Engagement,
 * Technology and FAQ are NOT targeted.
 */

/* ---------------------------------------------------------
   Partner carousel: navigation arrows must be clearly visible
   --------------------------------------------------------- */
.cfm-partners--v14 .cfm-partners__carousel-shell {
    padding-inline: 48px !important;
}

.cfm-partners--v14 .cfm-partners__nav {
    display: grid !important;
    place-items: center !important;
    width: 36px !important;
    height: 36px !important;
    top: 50% !important;
    margin-top: -18px !important;
    border: 1px solid rgba(203, 178, 98, .65) !important;
    border-radius: 50% !important;
    background: #fff !important;
    color: #9a7826 !important;
    box-shadow: 0 7px 18px rgba(31, 35, 37, .09) !important;
    z-index: 5 !important;
}

.cfm-partners--v14 .cfm-partners__nav::before {
    display: block;
    color: #9a7826;
    font-size: 24px;
    line-height: 1;
    font-family: Arial, sans-serif;
    font-weight: 400;
}

.cfm-partners--v14 .cfm-partners__nav::after {
    display: none !important;
}

.cfm-partners--v14 .cfm-partners__nav--prev {
    left: 2px !important;
}

.cfm-partners--v14 .cfm-partners__nav--prev::before {
    content: "‹";
}

.cfm-partners--v14 .cfm-partners__nav--next {
    right: 2px !important;
}

.cfm-partners--v14 .cfm-partners__nav--next::before {
    content: "›";
}

@media (max-width: 767.98px) {
    .cfm-partners--v14 .cfm-partners__carousel-shell {
        padding-inline: 38px !important;
    }

    .cfm-partners--v14 .cfm-partners__nav {
        display: grid !important;
        width: 32px !important;
        height: 32px !important;
        margin-top: -16px !important;
    }

    .cfm-partners--v14 .cfm-partners__nav::before {
        font-size: 21px;
    }
}

/* ---------------------------------------------------------
   Testimonial background from Visual Builder
   --------------------------------------------------------- */
.cfm-testimonials--v13 .cfm-testimonial-card {
    background: var(--cfm-testimonial-card-background, #ffffff) !important;
    background-color: var(--cfm-testimonial-card-background, #ffffff) !important;
    background-image: none !important;

    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    min-height: 0 !important;
    padding: 20px 20px 17px !important;
}

/* Compact section height */
.cfm-testimonials--v13 {
    padding-top: 52px !important;
    padding-bottom: 48px !important;
}

.cfm-testimonials--v13 .cfm-heading {
    margin-bottom: 25px !important;
}

.cfm-testimonials--v13 .cfm-heading p {
    margin-top: 6px !important;
    margin-bottom: 0 !important;
}

.cfm-testimonials--v13 .cfm-testimonials__carousel {
    padding-top: 2px !important;
    padding-bottom: 28px !important;
}

.cfm-testimonials--v13 .cfm-center-action {
    margin-top: 22px !important;
}

/* Content uses only the height it actually needs. */
.cfm-testimonials--v13 .cfm-testimonial-card__content {
    flex: 0 0 auto !important;
    min-height: 0 !important;
    margin: 9px 0 13px !important;
    padding: 0 !important;
}

.cfm-testimonials--v13 .cfm-testimonial-card__content > * {
    min-height: 0 !important;
}

.cfm-testimonials--v13 .cfm-testimonial-card__content p {
    min-height: 0 !important;
    margin: 0 0 6px !important;
}

.cfm-testimonials--v13 .cfm-testimonial-card__content p:last-child {
    margin-bottom: 0 !important;
}

/* Desired card structure:
   text...
   (flexible remaining room)
   ---------------- divider
   company logo/name       Google
*/
.cfm-testimonials--v13 .cfm-testimonial-card__author {
    margin-top: auto !important;
    padding-top: 15px !important;
    border-top: 1px solid rgba(31, 35, 37, .13) !important;

    display: grid !important;
    grid-template-columns: 42px minmax(0, 1fr) auto !important;
    align-items: center !important;
    column-gap: 10px !important;

    min-height: 57px !important;
}

.cfm-testimonials--v13 .cfm-testimonial-card__author > img {
    width: 38px !important;
    height: 38px !important;
    margin: 0 !important;
    object-fit: contain !important;
}

.cfm-testimonials--v13 .cfm-testimonial-card__author > div:not(.cfm-google-mark) {
    align-self: center !important;
    min-width: 0 !important;
}

.cfm-testimonials--v13 .cfm-testimonial-card__author strong {
    display: block !important;
    margin: 0 0 2px !important;
    line-height: 1.25 !important;
}

.cfm-testimonials--v13 .cfm-testimonial-card__author span {
    line-height: 1.25 !important;
}

.cfm-testimonials--v13 .cfm-google-mark {
    align-self: center !important;
    margin: 0 !important;
}

@media (max-width: 767.98px) {
    .cfm-testimonials--v13 {
        padding-top: 42px !important;
        padding-bottom: 40px !important;
    }

    .cfm-testimonials--v13 .cfm-heading {
        margin-bottom: 20px !important;
    }

    .cfm-testimonials--v13 .cfm-testimonial-card {
        padding: 18px 17px 15px !important;
    }

    .cfm-testimonials--v13 .cfm-testimonial-card__author {
        padding-top: 13px !important;
        grid-template-columns: 40px minmax(0, 1fr) auto !important;
        min-height: 54px !important;
    }

    .cfm-testimonials--v13 .cfm-testimonial-card__author > img {
        width: 36px !important;
        height: 36px !important;
    }

    .cfm-testimonials--v13 .cfm-center-action {
        margin-top: 18px !important;
    }
}




/* source: cfm-home-v14-3.css */
/*
 * Code Falcons Testimonial Appearance V14.3
 * Scope ONLY: Testimonial section/cards/Google mark.
 *
 * Header, Footer, Pre-Footer CTA, Counter, Business Engagement,
 * Technology and FAQ remain untouched.
 */

/* Visual Builder section background must win over all old gradients. */
[data-cfm-testimonial-appearance].cfm-testimonials--v13 {
    background: var(--cfm-testimonial-section-background, #f8f6ef) !important;
    background-color: var(--cfm-testimonial-section-background, #f8f6ef) !important;
    background-image: none !important;
}

/* Visual Builder card background must win on every card. */
[data-cfm-testimonial-appearance] .cfm-testimonial-card {
    background: var(--cfm-testimonial-card-background, #ffffff) !important;
    background-color: var(--cfm-testimonial-card-background, #ffffff) !important;
    background-image: none !important;
}

/* Custom Google / review mark */
[data-cfm-testimonial-appearance] .cfm-google-mark {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 6px !important;
    white-space: nowrap !important;
}

[data-cfm-testimonial-appearance] .cfm-google-mark img {
    width: var(--cfm-testimonial-google-icon-size, 18px) !important;
    height: var(--cfm-testimonial-google-icon-size, 18px) !important;
    max-width: none !important;
    object-fit: contain !important;
    display: block !important;
}

[data-cfm-testimonial-appearance] .cfm-google-mark i {
    color: var(--cfm-testimonial-google-icon-color, #4285f4) !important;
    font-size: var(--cfm-testimonial-google-icon-size, 18px) !important;
    line-height: 1 !important;
}

[data-cfm-testimonial-appearance] .cfm-google-mark span {
    color: var(--cfm-testimonial-google-text-color, #30342f) !important;
    font-size: var(--cfm-testimonial-google-text-size, 11px) !important;
    line-height: 1.15 !important;
    font-weight: 600 !important;
}




/* source: cfm-portfolio-v15.css */
/* Code Falcons Advanced Portfolio Showcase V15
 * Scope ONLY: .cfm-portfolio-v15
 * Locked Header/Footer/Pre-Footer CTA/Business Engagement/Counter untouched.
 */
.cfm-portfolio-v15{position:relative;padding:var(--cfm-portfolio-section-padding,86px) 0;background-repeat:no-repeat;background-size:cover;overflow:hidden}
.cfm-portfolio-v15.has-dot-pattern::after{content:"";position:absolute;right:-40px;top:120px;width:280px;height:280px;pointer-events:none;opacity:.28;background-image:radial-gradient(circle,var(--cfm-portfolio-accent,#caa842) 1px,transparent 1.2px);background-size:14px 14px;mask-image:radial-gradient(circle,#000 0 42%,transparent 72%)}
.cfm-portfolio-v15 .cfm-container{position:relative;z-index:2}
.cfm-portfolio-v15__heading{max-width:900px;margin:0 auto 34px;text-align:center}
.cfm-portfolio-v15__eyebrow{display:inline-flex;align-items:center;justify-content:center;min-height:28px;margin-bottom:13px;padding:5px 16px;border-radius:99px;background:color-mix(in srgb,var(--cfm-portfolio-accent,#caa842) 18%,transparent);color:var(--cfm-portfolio-eyebrow-color,#a77f1e);font-size:var(--cfm-portfolio-eyebrow-size,12px);font-weight:800;letter-spacing:.08em}
.cfm-portfolio-v15__heading h2{margin:0;color:var(--cfm-portfolio-heading-color,#171a18)!important;font-size:var(--cfm-portfolio-heading-desktop,54px)!important;line-height:1.02!important;letter-spacing:-.04em!important;font-weight:800!important}
.cfm-portfolio-v15__heading h2 strong,.cfm-portfolio-v15__heading h2 span{color:var(--cfm-portfolio-heading-highlight,#c5a441)!important}
.cfm-portfolio-v15__heading p{max-width:760px;margin:14px auto 0;color:var(--cfm-portfolio-description-color,#70756f);font-size:var(--cfm-portfolio-description-size,15px);line-height:1.65}

.cfm-portfolio-v15__filters{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 12px;margin:0 auto 28px}
.cfm-portfolio-v15__filters button{min-height:44px;padding:10px 20px;border:1px solid var(--cfm-portfolio-filter-border,#e5d5aa);border-radius:99px;display:inline-flex;align-items:center;gap:8px;background:var(--cfm-portfolio-filter-bg,#fffefa);color:var(--cfm-portfolio-filter-color,#252925);font-size:13px;font-weight:700;transition:transform .18s ease,background .18s ease,color .18s ease}
.cfm-portfolio-v15__filters button:hover{transform:translateY(-1px)}
.cfm-portfolio-v15__filters button.is-active{border-color:var(--cfm-portfolio-filter-active-bg,#181b19);background:var(--cfm-portfolio-filter-active-bg,#181b19);color:var(--cfm-portfolio-filter-active-color,#fff)}
.cfm-portfolio-v15__filters button svg{width:17px;height:17px}.cfm-portfolio-v15__filter-dot{width:7px;height:7px;border-radius:50%;background:var(--cfm-portfolio-accent,#caa842)}

.cfm-portfolio-v15__featured-host{margin-bottom:26px}
.cfm-portfolio-v15__featured{position:relative;min-height:390px;overflow:hidden;border-radius:var(--cfm-portfolio-featured-radius,16px);display:grid;grid-template-columns:minmax(0,calc(100% - var(--cfm-portfolio-featured-image-width,52%))) minmax(0,var(--cfm-portfolio-featured-image-width,52%));background:radial-gradient(circle at 12% 15%,rgba(202,168,66,.12),transparent 25%),var(--cfm-portfolio-featured-bg,#171917);color:var(--cfm-portfolio-featured-color,#fff);box-shadow:0 28px 60px rgba(31,32,29,.12)}
.cfm-portfolio-v15__featured::after{content:"";position:absolute;right:41%;bottom:-130px;width:360px;height:240px;border:1px solid rgba(202,168,66,.16);border-radius:50%;box-shadow:0 0 0 22px rgba(202,168,66,.04),0 0 0 48px rgba(202,168,66,.025);pointer-events:none}
.cfm-portfolio-v15__featured-content{position:relative;z-index:2;padding:38px 32px;display:flex;flex-direction:column;justify-content:center}
.cfm-portfolio-v15__featured-badge{align-self:flex-start;display:inline-flex;align-items:center;gap:7px;margin-bottom:19px;padding:7px 13px;border-radius:99px;background:var(--cfm-portfolio-accent,#caa842);color:#fff;font-size:11px;font-weight:800}
.cfm-portfolio-v15__project-logo{width:auto;max-width:150px;max-height:38px;margin-bottom:14px;object-fit:contain;object-position:left center}
.cfm-portfolio-v15__featured h3{margin:0;color:var(--cfm-portfolio-featured-color,#fff);font-size:var(--cfm-portfolio-featured-title,36px);line-height:1.05;letter-spacing:-.035em;font-weight:800}
.cfm-portfolio-v15__featured-content>p{max-width:540px;margin:14px 0 0;color:var(--cfm-portfolio-featured-muted,#d9dbd6);font-size:14px;line-height:1.65}
.cfm-portfolio-v15__features{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:25px}
.cfm-portfolio-v15__features>div{min-width:0;padding:12px 8px;border:1px solid rgba(255,255,255,.08);border-radius:11px;background:rgba(255,255,255,.035)}
.cfm-portfolio-v15__features>div>span{width:34px;height:34px;margin-bottom:8px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.08);color:var(--cfm-portfolio-accent,#caa842)}
.cfm-portfolio-v15__features svg{width:18px;height:18px}.cfm-portfolio-v15__features strong{display:block;color:#fff;font-size:10px;line-height:1.25;font-weight:700}
.cfm-portfolio-v15__featured-actions{display:flex;flex-wrap:wrap;gap:12px 18px;margin-top:24px}
.cfm-portfolio-v15__primary-action,.cfm-portfolio-v15__secondary-action{min-height:45px;display:inline-flex;align-items:center;justify-content:center;gap:9px;text-decoration:none!important;font-size:12px;font-weight:800}
.cfm-portfolio-v15__primary-action{padding:10px 17px;border-radius:7px;background:var(--cfm-portfolio-accent,#caa842);color:#fff!important}.cfm-portfolio-v15__secondary-action{color:#fff!important}
.cfm-portfolio-v15__featured-visual{min-width:0;padding:26px 22px 24px 0;display:flex;align-items:center;justify-content:center}.cfm-portfolio-v15__featured-visual picture,.cfm-portfolio-v15__featured-visual img{width:100%;height:100%}.cfm-portfolio-v15__featured-visual img{max-height:355px;object-fit:contain;filter:drop-shadow(0 22px 32px rgba(0,0,0,.22))}

.cfm-portfolio-v15__grid{display:grid;grid-template-columns:repeat(var(--cfm-portfolio-columns-desktop,3),minmax(0,1fr));gap:22px}
.cfm-portfolio-v15__card{min-width:0;overflow:hidden;border:1px solid var(--cfm-portfolio-card-border,#eadfbe);border-radius:var(--cfm-portfolio-card-radius,14px);background:var(--cfm-portfolio-card-bg,#fffefa);box-shadow:0 10px 24px rgba(55,48,31,.045);transition:transform .22s ease,box-shadow .22s ease;cursor:pointer}
.cfm-portfolio-v15__card:hover{transform:translateY(-3px);box-shadow:0 16px 30px rgba(55,48,31,.085)}.cfm-portfolio-v15__card.is-filtered-out{display:none!important}
.cfm-portfolio-v15__card-image{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;background:#eee}.cfm-portfolio-v15__card-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.cfm-portfolio-v15__card:hover .cfm-portfolio-v15__card-image img{transform:scale(1.025)}
.cfm-portfolio-v15__card-image>span{position:absolute;right:12px;top:12px;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--cfm-portfolio-accent,#caa842);color:#fff}
.cfm-portfolio-v15__card-body{padding:18px 18px 17px}.cfm-portfolio-v15__card h3{margin:0;color:var(--cfm-portfolio-card-title-color,#171a18);font-size:var(--cfm-portfolio-card-title-size,17px);line-height:1.25;font-weight:800}.cfm-portfolio-v15__card p{min-height:42px;margin:8px 0 11px;color:var(--cfm-portfolio-card-text-color,#676c66);font-size:var(--cfm-portfolio-card-text-size,13px);line-height:1.55}
.cfm-portfolio-v15__category{display:inline-flex;margin-bottom:12px;padding:5px 10px;border-radius:99px;background:rgba(202,168,66,.12);color:#7d611b;font-size:10px;font-weight:700}.cfm-portfolio-v15__case-link{display:inline-flex;align-items:center;gap:7px;color:#171a18!important;font-size:11px;font-weight:800;text-decoration:none!important}

.cfm-portfolio-v15__stats{margin-top:26px;padding:18px 24px;border:1px solid var(--cfm-portfolio-stat-strip-border,#eadfbe);border-radius:14px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px 22px;background:var(--cfm-portfolio-stat-strip-bg,#faf6e9)}
.cfm-portfolio-v15__stat{display:flex;align-items:center;gap:13px}.cfm-portfolio-v15__stat-icon{width:var(--cfm-portfolio-stat-icon-size,50px);height:var(--cfm-portfolio-stat-icon-size,50px);flex:0 0 var(--cfm-portfolio-stat-icon-size,50px);border-radius:50%;display:grid;place-items:center;background:var(--cfm-portfolio-stat-icon-bg,#caa842);color:var(--cfm-portfolio-stat-icon-color,#fff)}.cfm-portfolio-v15__stat-icon svg{width:23px;height:23px}.cfm-portfolio-v15__stat strong{display:block;color:var(--cfm-portfolio-stat-value-color,#171a18);font-size:var(--cfm-portfolio-stat-value-size,32px);line-height:1;letter-spacing:-.03em}.cfm-portfolio-v15__stat div>span{display:block;margin-top:5px;color:var(--cfm-portfolio-stat-label-color,#656a64);font-size:var(--cfm-portfolio-stat-label-size,13px);line-height:1.2}
.cfm-portfolio-v15__cta{margin-top:22px;text-align:center}.cfm-portfolio-v15__cta a{min-height:48px;padding:11px 20px;border-radius:var(--cfm-portfolio-cta-radius,7px);display:inline-flex;align-items:center;gap:9px;background:var(--cfm-portfolio-cta-bg,#caa842);color:var(--cfm-portfolio-cta-color,#fff)!important;font-size:var(--cfm-portfolio-cta-size,14px);font-weight:800;text-decoration:none!important;box-shadow:0 11px 22px rgba(164,125,27,.16)}.cfm-portfolio-v15__cta svg{width:18px;height:18px}

@media(max-width:1199.98px){.cfm-portfolio-v15__heading h2{font-size:var(--cfm-portfolio-heading-tablet,46px)!important}.cfm-portfolio-v15__featured{grid-template-columns:1fr 1fr}.cfm-portfolio-v15__features{grid-template-columns:repeat(2,minmax(0,1fr))}.cfm-portfolio-v15__grid{grid-template-columns:repeat(var(--cfm-portfolio-columns-tablet,2),minmax(0,1fr))}.cfm-portfolio-v15__stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767.98px){.cfm-portfolio-v15{padding:var(--cfm-portfolio-section-padding-mobile,54px) 0}.cfm-portfolio-v15__heading{margin-bottom:24px}.cfm-portfolio-v15__heading h2{font-size:var(--cfm-portfolio-heading-mobile,38px)!important}.cfm-portfolio-v15__filters{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;padding:0 2px 8px;scrollbar-width:none}.cfm-portfolio-v15__filters::-webkit-scrollbar{display:none}.cfm-portfolio-v15__filters button{flex:0 0 auto;min-height:40px;padding:8px 15px}.cfm-portfolio-v15__featured{min-height:0;grid-template-columns:1fr}.cfm-portfolio-v15__featured-content{padding:28px 22px 20px}.cfm-portfolio-v15__featured h3{font-size:min(var(--cfm-portfolio-featured-title,36px),31px)}.cfm-portfolio-v15__featured-visual{padding:0 18px 24px}.cfm-portfolio-v15__featured-visual img{max-height:260px}.cfm-portfolio-v15__grid,.cfm-portfolio-v15__stats{grid-template-columns:1fr}.cfm-portfolio-v15__card p{min-height:0}.cfm-portfolio-v15__stats{padding:18px}}



