.elementor-kit-8{--e-global-color-primary:#F15D24;--e-global-color-secondary:#B93729;--e-global-color-text:#545353;--e-global-color-accent:#8C1B2F;--e-global-typography-primary-font-family:"graphie";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Alexandria";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"graphie";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"graphie";--e-global-typography-accent-font-weight:600;color:#545353;font-family:"graphie", Sans-serif;font-weight:400;}.elementor-kit-8 e-page-transition{background-color:#FFBC7D;}.elementor-kit-8 a{color:#B93729;}.elementor-kit-8 a:hover{color:#F15D24;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){margin-block-end:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}:root { --color-orange:#F15D24; --color-red:#B93729; --color-dark-red:#8C1B2F; --color-grey:#F5F7F7; --color-grey-warm:#F5F5F3; --color-dark-grey:#545353; --color-bar-grey:#515151; --color-white:#FFFFFF; --color-black:#000000; --color-border:rgba(0,0,0,0.15); --color-muted:rgba(0,0,0,0.5); --font-fallback:Alexandria; --fs-display:clamp(2.25rem, 1.5rem + 3vw, 3.5rem); --fs-h2:clamp(1.75rem, 1.3rem + 1.5vw, 2.5rem); --fs-h3:clamp(1.25rem, 1.1rem + 0.5vw, 1.5rem); --fs-h4:1.25rem; --fs-form-title:clamp(1.5rem, 1.2rem + 1vw, 1.875rem); --fs-button:1.125rem; --fs-nav:1.125rem; --fs-body:1rem; --fs-eyebrow:0.8125rem; --fs-small:0.75rem; --space-section:clamp(3.5rem, 2.5rem + 3vw, 5rem); --space-gutter:clamp(1.25rem, 0.5rem + 3.5vw, 3.75rem); --container-max:1320px; --gap-xs:8px; --gap-sm:12px; --gap-md:20px; --gap-lg:clamp(1.5rem, 1rem + 1.5vw, 2.5rem); --gap-xl:clamp(2rem, 1rem + 3vw, 3.75rem); --color-grey-light:#FAFAFA; --fs-hero:clamp(2rem, 1.3rem + 2.2vw, 3rem); --content-edge:max(var(--space-gutter), calc((100vw - var(--container-max)) / 2)); }
/* Start custom CSS *//* First Choice – global helpers (managed by build) */
body { font-family: graphie, Alexandria, sans-serif; }
/* Orange accent words inside headings: wrap them in <span>…</span> */
:is(.fc-display, .fc-h1, .fc-h2, .fc-h3, .fc-h4, .fc-form-title) span { color: var(--color-orange); font-weight: 700; }
/* Weights run one step above Figma labels (Graphie renders light): SemiBold=600, Bold=700. Form-title accent matches its heading. */
.fc-form-title span { font-weight: inherit; }
.elementor .fc-review-card .fc-h4 { font-weight: 700; }
.fc-icon svg { width: 100%; height: 100%; }

/* Header nav (V3 Nav Menu widget) – widget settings carry base typography; these guard against kit fallbacks */
.elementor .fc-nav .elementor-nav-menu--main .elementor-item { font-family: graphie, Alexandria, sans-serif !important; font-weight: 400 !important; font-size: var(--fs-nav) !important; letter-spacing: 0.04em; color: var(--color-black) !important; white-space: nowrap; }
.elementor .fc-nav .elementor-nav-menu--main .elementor-item:hover, .elementor .fc-nav .elementor-nav-menu--main .elementor-item.elementor-item-active { color: var(--color-orange) !important; }
.elementor .fc-nav .elementor-nav-menu--main .elementor-item:after { background-color: var(--color-orange) !important; }
@media (min-width: 1025px) and (max-width: 1280px) { .elementor .fc-nav .elementor-nav-menu--main .elementor-item { font-size: 16px !important; padding-left: 8px; padding-right: 8px; } }
.fc-header__bar { position: relative; }
.fc-header__bar > .elementor-widget-nav-menu { flex: 1 1 auto; min-width: 0; }
@media (max-width: 1024px) {
  .fc-header__bar > .elementor-widget-nav-menu { flex: 0 0 auto; width: auto; order: 3; position: static; }
  .fc-nav .elementor-nav-menu--dropdown.elementor-nav-menu__container { position: absolute; left: 0 !important; right: 0; top: 100%; width: 100% !important; z-index: 99; }
}
.fc-nav .elementor-nav-menu--main { justify-content: center; }
.fc-nav .elementor-nav-menu--main .elementor-item { font-family: graphie, Alexandria, sans-serif; font-size: var(--fs-nav); font-weight: 400; letter-spacing: 0.04em; text-transform: capitalize; color: var(--color-black); padding: 8px 12px; }
.fc-nav .elementor-nav-menu--main .elementor-item:hover, .fc-nav .elementor-nav-menu--main .elementor-item.elementor-item-active { color: var(--color-orange); }
.fc-nav .elementor-nav-menu--main .elementor-item:after { background-color: var(--color-orange); height: 2px; }
.fc-nav .elementor-nav-menu--main .sub-menu { background-color: var(--color-white); box-shadow: 0 8px 24px rgba(0,0,0,.08); min-width: 260px; }
.fc-nav .elementor-nav-menu--main .sub-menu .elementor-sub-item { font-family: graphie, Alexandria, sans-serif; font-size: var(--fs-body); color: var(--color-black); padding: 12px 20px; }
.fc-nav .elementor-nav-menu--main .sub-menu .elementor-sub-item:hover { background-color: var(--color-grey); color: var(--color-orange); }
.fc-nav .elementor-menu-toggle { background-color: transparent; color: var(--color-black); font-size: 26px; padding: 4px; margin-left: 4px; }
.fc-nav .elementor-nav-menu--dropdown { background-color: var(--color-white); border-top: 1px solid var(--color-border); box-shadow: 0 12px 24px rgba(0,0,0,.08); }
.fc-nav .elementor-nav-menu--dropdown a.elementor-item, .fc-nav .elementor-nav-menu--dropdown a.elementor-sub-item { font-family: graphie, Alexandria, sans-serif; font-size: var(--fs-body); color: var(--color-black); padding: 14px 20px; border-bottom: 1px solid var(--color-grey); }
.fc-nav .elementor-nav-menu--dropdown a.elementor-sub-item { padding-left: 36px; }
.fc-nav .elementor-nav-menu--dropdown a:hover, .fc-nav .elementor-nav-menu--dropdown a.elementor-item-active { background-color: var(--color-grey); color: var(--color-orange); }

/* Carousels (scroll-snap track + WPCode snippet "FC – Carousel controls") */
.fc-carousel::-webkit-scrollbar { display: none; }
.fc-progress { background: linear-gradient(var(--color-orange), var(--color-orange)) 0 0 / var(--fc-progress, 33%) 100% no-repeat, rgba(0,0,0,.12) !important; transition: background-size .3s ease; }
.fc-section--dark .fc-progress { background: linear-gradient(var(--color-orange), var(--color-orange)) 0 0 / var(--fc-progress, 33%) 100% no-repeat, rgba(255,255,255,.25) !important; }
.fc-arrow-btn[disabled] { opacity: .4; cursor: default; }
.fc-carousel-nav--static { display: none !important; }
.fc-arrow-btn svg { width: 100%; height: 100%; display: block; }

/* FAQ accordion (V4 e-accordion inside loop) */
.fc-faq__item > summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; cursor: pointer; list-style: none; }
.fc-faq__item > summary::-webkit-details-marker { display: none; }
.fc-faq__item > summary > :first-child { flex: 1 1 auto; min-width: 0; }
.fc-faq__item > summary > :last-child { flex: 0 0 24px; }
.fc-faq__item[open] > summary > :last-child { transform: rotate(45deg); }

/* Footer nav lists (V3 Nav Menu widget, vertical) */
.fc-footer-nav .elementor-nav-menu--main .elementor-item { font-family: graphie, Alexandria, sans-serif; font-size: var(--fs-body); line-height: 1.75; font-weight: 400; color: var(--color-grey); opacity: .65; padding: 0 0 16px 0; white-space: nowrap; }
.fc-footer-nav .elementor-nav-menu--main .elementor-item:hover { color: var(--color-orange); opacity: 1; }

/* Brands marquee: .fc-brands holds two identical logo sets; --fc-marquee-set = one set's width incl. gaps (set on the class per breakpoint) */
.fc-brands > * { animation: fc-marquee 45s linear infinite; will-change: transform; }
.fc-brands:hover > * { animation-play-state: paused; }
@keyframes fc-marquee { from { transform: translateX(0); } to { transform: translateX(calc(-1 * var(--fc-marquee-set, 2301px))); } }
@media (prefers-reduced-motion: reduce) { .fc-brands > * { animation: none; } }

/* Team bios keep paragraph breaks */
.elementor .fc-team-card .fc-body { white-space: pre-line; }/* End custom CSS */