/* Homepage sections (EN 13911 + ES 43952): testimonial slider, video testimonials, compact FAQ.
   Markup is built in Elementor; these classes are set on the containers/widgets. */
:root{
	--fl-green:#007B3F;
	--fl-green-hi:#0A9A52;
	--fl-line-dark:rgba(255,255,255,.18);
	--fl-line-light:#DADDD9;
	--fl-muted:#5E625F;
	--fl-muted-dark:#A9ADAA;
	--fl-display:"Bebas Neue",sans-serif;
	--fl-body:"Archivo",sans-serif;
}

/* ---------- shared section header ---------- */
body .fl-sec-title .elementor-heading-title{font-family:var(--fl-display);font-size:55px;font-weight:400;line-height:1;letter-spacing:.3px;text-align:center;text-transform:uppercase;margin:0}
body .fl-sec-title .elementor-heading-title span{color:var(--fl-green)}
body .fl-sec-sub{text-align:center;font-family:var(--fl-body);font-size:16px;max-width:60ch;margin:0 auto}
body .fl-sec-sub p{margin:0}
@media (max-width:767px){
	body .fl-sec-title .elementor-heading-title{font-size:36px}
	body .fl-sec-sub{font-size:15px}
}

/* ---------- 1. Testimonial slider (section 15867 / 44077, loop item 15869) ---------- */
body .fl-tsec{background:#000;color:#fff}
body .fl-tsec .fl-sec-title .elementor-heading-title{color:#fff}
body .fl-tsec .fl-sec-sub{color:var(--fl-muted-dark)}
body .fl-tsec .fl-sec-sub span{color:var(--fl-green-hi)}

body .fl-tcard{
	--display:flex;--flex-direction:column;--gap:18px;
	height:100%;border:1px solid var(--fl-line-dark);border-radius:6px;padding:28px 26px 22px!important;
	background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,0));transition:border-color .25s;text-align:left
}
body .fl-tcard:hover{border-color:rgba(10,154,82,.7)}
body .fl-ttop{--display:flex;--flex-direction:row;--justify-content:space-between;--align-items:center;--padding-top:0;--padding-bottom:0;--padding-left:0;--padding-right:0}
body .fl-tquote .elementor-heading-title{font-family:var(--fl-display);font-size:64px;line-height:.6;height:30px;color:var(--fl-green-hi)}
body .fl-tstars{color:#E6B54A;font-size:15px;letter-spacing:3px;line-height:1}
body .fl-tstars p{margin:0}
body .fl-tbody{
	height:168px;overflow-y:auto;padding-right:10px;
	font-family:var(--fl-body);font-size:16px;line-height:1.6;color:#EDEFEE;
	scrollbar-width:thin;scrollbar-color:var(--fl-green) transparent;
	-webkit-mask-image:linear-gradient(180deg,#000 82%,transparent);mask-image:linear-gradient(180deg,#000 82%,transparent)
}
body .fl-tbody.at-end{-webkit-mask-image:none;mask-image:none}
body .fl-tbody::-webkit-scrollbar{width:4px}
body .fl-tbody::-webkit-scrollbar-thumb{background:var(--fl-green);border-radius:4px}
body .fl-tbody p{margin:0}
body .fl-twho{--display:flex;--flex-direction:row;--justify-content:space-between;--align-items:center;--gap:10px;align-items:center!important;padding:22px 0 0!important;border-top:1px solid var(--fl-line-dark);margin-top:auto}
body .fl-tname .elementor-heading-title{font-family:var(--fl-display);font-size:26px;font-weight:400;line-height:1;display:block;padding-top:3px;letter-spacing:.4px;color:var(--fl-green-hi);text-transform:uppercase}
body .fl-tname{flex:1 1 auto;min-width:0}
body .fl-tplace{flex:0 0 auto;white-space:nowrap;font-family:var(--fl-body);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--fl-muted-dark)}
body .fl-tplace p{margin:0}

/* rows keep their widgets side by side on every device */
body .fl-ttop > .elementor-widget,body .fl-twho > .elementor-widget,body .fl-vwho > .elementor-widget{width:auto!important;max-width:none!important}
body .fl-ttop,body .fl-twho,body .fl-vwho{flex-direction:row!important;flex-wrap:nowrap!important}
body .fl-vwho{flex-wrap:wrap!important}

/* equal-height cards */
body .fl-tsec .swiper-slide{height:auto}
body .fl-tsec .swiper-slide > .elementor{height:100%}

/* nav row under the cards: dots left, arrows right, CTA centred between */
body .fl-tsec .elementor-element.elementor-widget-loop-carousel > .elementor-widget-container{position:relative;padding-bottom:76px!important}
body .fl-tsec .elementor-swiper-button{
	top:auto!important;bottom:0!important;transform:none!important;
	width:44px!important;height:44px!important;display:grid!important;place-items:center;border:1px solid #fff!important;border-radius:50%!important;color:#fff!important;
	transition:background .2s,border-color .2s,opacity .2s
}
body .fl-tsec .elementor-swiper-button svg{width:16px!important;height:16px!important;fill:currentColor!important}
body .fl-tsec .elementor-swiper-button i{font-size:16px;color:currentColor}
body .fl-tsec .elementor-swiper-button-prev{left:auto!important;right:54px!important}
body .fl-tsec .elementor-swiper-button-next{right:0!important}
body .fl-tsec .elementor-swiper-button:hover{background:var(--fl-green)!important;border-color:var(--fl-green)!important}
body .fl-tsec .elementor-swiper-button.swiper-button-disabled{opacity:.3;pointer-events:none}
body .fl-tsec .swiper-pagination{position:absolute;left:0!important;bottom:18px!important;top:auto!important;width:auto!important;transform:none!important;text-align:left;display:flex;gap:8px}
body .fl-tsec .swiper-pagination-bullet{width:8px;height:8px;border-radius:8px;background:#fff;opacity:.3;margin:0!important;transition:width .25s,opacity .25s}
body .fl-tsec .swiper-pagination-bullet-active{width:26px;opacity:1;background:var(--fl-green-hi)}
body .fl-tsec .swiper-button-lock,body .fl-tsec .swiper-pagination-lock{display:none!important}
body .fl-tcta{align-self:center;margin-top:36px}

@media (max-width:767px){
	body .fl-tcard{padding:24px 20px 20px!important}
	body .fl-twho{padding-top:20px!important}
	body .fl-tbody{height:190px}
	body .fl-tsec .elementor-element.elementor-widget-loop-carousel > .elementor-widget-container{padding-bottom:96px!important}
	body .fl-tsec .swiper-pagination{left:50%!important;transform:translateX(-50%)!important;bottom:68px!important}
	body .fl-tsec .elementor-swiper-button-prev{right:auto!important;left:calc(50% - 49px)!important}
	body .fl-tsec .elementor-swiper-button-next{right:calc(50% - 49px)!important}
	body .fl-tcta{margin-top:28px}
}

/* ---------- 2. Video testimonials (16079 / 43986) ---------- */
body .fl-vsec{background:#FFFFFF}
body .fl-vsec .fl-sec-title .elementor-heading-title{color:#0B0B0B}
body .fl-vsec .fl-sec-sub{color:var(--fl-muted)}
body .fl-vgrid{--display:grid;display:grid!important;grid-template-columns:1fr 1fr;gap:28px;--padding-top:0;--padding-bottom:0;--padding-left:0;--padding-right:0}
body .fl-vcard{--display:flex;--flex-direction:column;--gap:0;--padding-top:0;--padding-bottom:0;--padding-left:0;--padding-right:0;background:#fff;border:1px solid #ECEEEC;border-radius:6px;overflow:hidden;min-width:0;box-shadow:0 1px 2px rgba(0,0,0,.05),0 14px 34px -14px rgba(0,0,0,.24);transition:box-shadow .3s,transform .3s}
body .fl-vcard:hover{box-shadow:0 2px 4px rgba(0,0,0,.06),0 22px 44px -16px rgba(0,0,0,.3);transform:translateY(-2px)}
body .fl-vmedia{width:100%}
body .fl-vmedia a{display:block;position:relative;aspect-ratio:16/9;overflow:hidden;background:#000}
body .fl-vmedia img{display:block;width:100%!important;height:100%!important;object-fit:cover;transition:transform .5s}
body .fl-vmedia a:hover img{transform:scale(1.04)}
body .fl-vmedia a::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(0,0,0,0) 45%,rgba(0,0,0,.45))}
body .fl-vmedia a::after{
	content:"";position:absolute;z-index:2;left:50%;top:50%;width:78px;height:78px;margin:-39px 0 0 -39px;border-radius:50%;
	background:var(--fl-green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M7 4l14 8-14 8z'/%3E%3C/svg%3E") no-repeat 56% 50%/26px;
	box-shadow:0 0 0 10px rgba(0,123,63,.25);transition:transform .25s
}
body .fl-vmedia a:hover::after{transform:scale(1.07)}
body .fl-vcopy{--display:flex;--flex-direction:column;--gap:14px;--padding-top:24px;--padding-bottom:26px;--padding-left:26px;--padding-right:26px}
body .fl-vq .elementor-heading-title{font-family:var(--fl-display);font-size:30px;font-weight:400;line-height:1.05;letter-spacing:.2px;color:#0B0B0B;text-transform:uppercase}
body .fl-vwho{--display:flex;--flex-direction:row;--flex-wrap:wrap;--align-items:baseline;--gap:10px;--padding-top:0;--padding-bottom:0;--padding-left:0;--padding-right:0}
body .fl-vname .elementor-heading-title{font-family:var(--fl-display);font-size:22px;font-weight:400;line-height:1;color:var(--fl-green);text-transform:uppercase}
body .fl-vcase .elementor-heading-title{font-family:var(--fl-body);font-size:11px;font-weight:400;letter-spacing:.14em;text-transform:uppercase;color:var(--fl-muted)}
body .fl-vnav{display:none}

@media (max-width:767px){
	body .fl-vgrid{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;overflow-x:auto;scroll-snap-type:x mandatory;gap:16px;scrollbar-width:none;padding:8px 8px 30px!important;margin:-8px -8px -30px!important;width:calc(100% + 16px)!important;max-width:none!important;scroll-padding:0 8px}
	body .fl-vgrid::-webkit-scrollbar{display:none}
	body .fl-vgrid > .fl-vcard{flex:0 0 100%!important;width:100%!important;scroll-snap-align:start}
	body .fl-vq .elementor-heading-title{font-size:26px}
	body .fl-vcard:hover{transform:none}
	/* small play button bottom-right: the thumbnails carry the face top-right and a name caption bottom-left */
	body .fl-vmedia a::after{left:auto;right:14px;top:auto;bottom:14px;margin:0;width:52px;height:52px;background-size:18px;box-shadow:0 0 0 6px rgba(0,123,63,.25)}
	body .fl-vnav{display:flex;flex-direction:column;align-items:center;gap:18px;margin-top:24px}
	body .fl-vnav .fl-dots{display:flex;gap:8px}
	body .fl-vnav .fl-dot{all:unset;cursor:pointer;width:8px;height:8px;border-radius:8px;background:#0B0B0B;opacity:.3;transition:width .25s,opacity .25s}
	body .fl-vnav .fl-dot[aria-current="true"]{width:26px;opacity:1;background:var(--fl-green-hi)}
	body .fl-vnav .fl-arrows{display:flex;gap:10px}
	body .fl-vnav .fl-arrow{all:unset;cursor:pointer;width:44px;height:44px;display:grid;place-items:center;border:1px solid #0B0B0B;border-radius:50%;color:#0B0B0B}
	body .fl-vnav .fl-arrow:disabled{opacity:.3;cursor:default}
	body .fl-vnav .fl-arrow svg{width:16px;height:16px}
}

/* ---------- 3. Compact FAQ (ebde643 on 13911 / 43952) ---------- */
body .fl-faq .fl-sec-title .elementor-heading-title{color:#fff}
body .fl-faq .fl-sec-sub{color:var(--fl-muted-dark)}
body .fl-faq-cols{--display:grid;display:grid!important;grid-template-columns:1fr 1fr;column-gap:40px;align-items:start;--padding-top:0;--padding-bottom:0;--padding-left:0;--padding-right:0}
body .fl-faq-col{--padding-top:0;--padding-bottom:0;--padding-left:0;--padding-right:0;min-width:0}
body .fl-acc .e-n-accordion-item{border-bottom:1px solid var(--fl-line-dark)}
body .fl-acc .e-n-accordion-item:first-child{border-top:1px solid var(--fl-line-dark)}
body .fl-acc .e-n-accordion-item-title{padding:17px 2px!important;gap:18px;align-items:center;justify-content:space-between}
body .fl-acc .e-n-accordion-item-title-text{font-family:var(--fl-body)!important;font-size:16px!important;font-weight:500!important;line-height:1.4!important;text-transform:none!important;letter-spacing:0!important;color:#fff;margin:0}
body .fl-acc .e-n-accordion-item-title:hover .e-n-accordion-item-title-text{color:#CFE9DA}
body .fl-acc .e-n-accordion-item-title-icon{flex:0 0 26px;width:26px;height:26px;border:1px solid var(--fl-line-dark);border-radius:50%;display:grid!important;place-items:center;transition:background .2s,border-color .2s}
body .fl-acc .e-n-accordion-item-title-icon svg{width:10px!important;height:10px!important;fill:#fff}
body .fl-acc .e-n-accordion-item[open] .e-n-accordion-item-title-icon{background:var(--fl-green);border-color:var(--fl-green)}
body .fl-acc .e-n-accordion-item > .e-con{--padding-top:0!important;--padding-right:40px!important;--padding-bottom:20px!important;--padding-left:2px!important;padding:0 40px 20px 2px!important}
body .fl-acc .e-n-accordion-item > .e-con .elementor-heading-title{font-family:var(--fl-body)!important;font-size:15px!important;line-height:1.65!important;color:#C9CDCA!important;font-weight:400!important}
body .fl-faq-more{--display:flex;--flex-direction:row;--justify-content:center;--align-items:center;--gap:22px;--flex-wrap:wrap;--padding-top:40px;--padding-bottom:0;--padding-left:0;--padding-right:0;background:none!important;border:0!important;min-height:0!important;width:100%!important;max-width:100%!important}
body .fl-faq-more .elementor-heading-title{font-family:var(--fl-display);font-size:26px!important;font-weight:400;letter-spacing:.4px;color:#fff!important}
body .fl-faq-more .elementor-button{background:var(--fl-green)!important;color:#fff!important;font-family:var(--fl-display);font-size:20px!important;font-weight:400;letter-spacing:.6px;padding:13px 24px!important;border-radius:2px}
body .fl-faq-more .elementor-widget-button{width:auto!important;max-width:none!important;--container-widget-width:auto!important}

@media (max-width:767px){
	body .fl-faq-cols{grid-template-columns:1fr}
	body .fl-faq-col + .fl-faq-col .fl-acc .e-n-accordion-item:first-child{border-top:0}
	body .fl-acc .e-n-accordion-item-title{padding:15px 0!important}
	body .fl-acc .e-n-accordion-item-title-text{font-size:15px!important}
	body .fl-acc .e-n-accordion-item > .e-con{padding-right:8px!important}
	body .fl-faq-more{--flex-direction:column;--gap:14px}
}

@media (prefers-reduced-motion:reduce){
	body .fl-tcard,body .fl-vmedia img,body .fl-vmedia a::after,body .fl-tsec .swiper-pagination-bullet{transition:none}
}

/* ---------- 4. Credential wall (15900 EN / 49842 ES) ---------- */
body .fl-csec{background:#fff;color:#0B0B0B}
body .fl-ctop{--display:grid;display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,3fr);gap:44px;align-items:center;padding:0!important}
body .fl-cintro{--display:flex;--flex-direction:column;--gap:14px;padding:0!important;min-width:0}
body .fl-eyebrow{font-family:var(--fl-body);font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;line-height:1;color:var(--fl-green)}
body .fl-eyebrow p{margin:0}
body .fl-csec .fl-ctitle .elementor-heading-title{font-family:var(--fl-display);font-size:48px;font-weight:400;line-height:1;letter-spacing:.3px;text-transform:uppercase;color:#0B0B0B;margin:0}
body .fl-csec .fl-ctitle .elementor-heading-title span{color:var(--fl-green)}
body .fl-cintro-text{font-family:var(--fl-body);font-size:15px;color:var(--fl-muted);max-width:34ch}
body .fl-cintro-text p{margin:0}
body .fl-cgrid{--display:grid;display:grid!important;grid-template-columns:repeat(8,minmax(0,1fr));gap:0!important;padding:0!important;border:1px solid #E3E6E3;border-radius:6px;overflow:hidden;min-width:0}
body .fl-ctile{--display:grid;display:grid!important;grid-template-rows:96px auto;align-items:center;justify-items:center;gap:12px!important;padding:20px 10px 18px!important;border-right:1px solid #E3E6E3;text-align:center;transition:background .25s;min-width:0}
body .fl-ctile:last-child{border-right:0}
body .fl-ctrack > .fl-ctile:nth-last-child(1 of :not(.fl-clone)){border-right:0}
/* desktop/tablet: the JS track is transparent to the grid and the copies stay hidden */
body .fl-ctrack{display:contents}
body .fl-ctile.fl-clone{display:none!important}
body .fl-ctile:hover{background:#F6F8F6}
body .fl-ctile > .elementor-widget{width:100%!important;max-width:100%!important}
body .fl-ctile img{display:block;margin:0 auto;max-height:80px!important;max-width:100%!important;width:auto!important;height:auto;filter:grayscale(1);transition:filter .3s,transform .3s}
body .fl-ctile:hover img{filter:none;transform:translateY(-2px)}
body .fl-ccap{font-family:var(--fl-body);font-size:11.5px;line-height:1.35;color:var(--fl-muted)}
body .fl-ccap p{margin:0}
body .fl-cfeat{--display:grid;display:grid!important;grid-template-columns:auto minmax(0,1fr);gap:32px;align-items:center;margin-top:48px;padding:36px 0 0!important;border-top:1px solid #E3E6E3}
body .fl-cfeat .fl-eyebrow{color:#0B0B0B;white-space:nowrap}
body .fl-cfeat > .elementor-widget{min-width:0;width:auto!important;max-width:100%!important}
body .fl-marquee{overflow:hidden;position:relative;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
body .fl-marquee-track{display:flex;align-items:center;gap:56px;width:max-content;animation:fl-marquee 38s linear infinite}
body .fl-marquee:hover .fl-marquee-track{animation-play-state:paused}
body .fl-marquee img{height:24px!important;width:auto!important;max-width:none!important;flex:0 0 auto;filter:invert(1) grayscale(1);opacity:.78}
@keyframes fl-marquee{to{transform:translateX(-50%)}}

@media (max-width:1024px){
	body .fl-ctop{grid-template-columns:1fr;gap:28px}
}
@media (max-width:767px){
	body .fl-ctop{text-align:center}
	body .fl-cintro{align-items:center}
	body .fl-csec .fl-ctitle .elementor-heading-title{font-size:36px}
	/* phones: award tiles loop on their own, like the media strip (pauses on touch) */
	body .fl-cgrid{display:block!important;overflow:hidden}
	body .fl-ctrack{display:flex;width:max-content;animation:fl-marquee 32s linear infinite}
	body .fl-cgrid:active .fl-ctrack,body .fl-cgrid:hover .fl-ctrack{animation-play-state:paused}
	body .fl-ctile,body .fl-ctile.fl-clone{display:grid!important;flex:0 0 150px!important;width:150px!important;border-right:1px solid #E3E6E3!important}
	body .fl-cfeat{grid-template-columns:1fr;gap:18px;text-align:center;margin-top:36px}
	body .fl-marquee-track{gap:36px}
	body .fl-marquee img{height:20px!important}
}
@media (prefers-reduced-motion:reduce){
	body .fl-marquee-track{animation:none}
	body .fl-ctile img{transition:none}
	body .fl-ctrack{animation:none}
}

/* ---------- 2026-11-02 firm edits ---------- */
/* testimonials: subtitle removed (widget deleted), tighter section */
@media (min-width:768px){
	body .elementor-element.fl-tsec > .e-con-inner{padding-top:56px!important;padding-bottom:56px!important}
}
/* videos: title + subtitle removed (widgets deleted); black & white thumbnails; section continues the gray Results block above (#F3F3F3 → white) */
body .e-con.elementor-element:has(.fl-vsec),body .elementor-element.fl-vsec{background:none!important}
body .e-con.e-parent.elementor-element:has(.fl-vsec):not(:has(.e-parent .fl-vsec)){background:linear-gradient(180deg,#F3F3F3 0%,#FFFFFF 100%)!important}
body .elementor-element.fl-vsec > .e-con-inner{padding-top:24px!important}
body .fl-vmedia img{filter:grayscale(1)}
