/* Scoped defaults. Individual Elementor controls can override these styles. */
.elementor .tv-root{--tv-green:#334f40;--tv-deep:#233b30;--tv-orange:#ff9949;--tv-paper:#f7f8f5;color:#243d30;background:var(--tv-paper);font:16px/1.65 Arial,Helvetica,sans-serif;display:block;width:100%;max-width:none;padding:0;gap:0;overflow:clip}
.elementor .tv-root :where(.e-con){display:flex;flex-direction:column;gap:0;padding:0;max-width:100%;min-width:0;width:100%;--container-default-padding-top:0;--container-default-padding-bottom:0;--container-default-padding-left:0;--container-default-padding-right:0}
.elementor .tv-root :where(.elementor-widget){margin:0;min-width:0;max-width:100%}
.elementor .tv-root :where(.elementor-heading-title){color:inherit;font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.08;letter-spacing:-.035em}
.elementor .tv-root :where(h1.elementor-heading-title){font-size:clamp(48px,5.9vw,90px)}
.elementor .tv-root :where(h2.elementor-heading-title){font-size:clamp(36px,4.3vw,64px)}
.elementor .tv-root :where(h3.elementor-heading-title){font-family:Arial,Helvetica,sans-serif;font-size:27px;line-height:1.25}
.elementor .tv-root :where(p){margin:0 0 18px;line-height:1.65}
.elementor .tv-root :where(em){font-weight:400}
.elementor .tv-root :where(img){max-width:100%;height:auto;display:block}
.elementor .tv-root :where(a){color:inherit}
.elementor .tv-root :where(a:focus-visible){outline:3px solid #a45213;outline-offset:5px}
.elementor .tv-root :where([id]){scroll-margin-top:30px}
.elementor .tv-root :where(.elementor-button){font:600 16px/1.5 Arial,Helvetica,sans-serif;border-radius:0;padding:12px 0;background:transparent;color:inherit;text-align:left;white-space:normal;overflow-wrap:anywhere}
.elementor .tv-root :where(.elementor-button:hover){text-decoration:underline;text-underline-offset:5px}
.elementor .tv-root :where(.brand){width:172px;flex-shrink:0}
.elementor .tv-root :where(.brand img){width:172px;height:auto}
.elementor .tv-root :where(.header){flex-direction:row;align-items:center;justify-content:space-between;padding:18px 6%;border-bottom:1px solid #ccd3cd;gap:30px;background:var(--tv-paper)}
.elementor .tv-root :where(.header .tv-nav){flex-direction:row;align-items:center;justify-content:flex-end;gap:28px;width:auto;flex-wrap:wrap}
.elementor .tv-root :where(.header .elementor-widget-button){width:auto}
.elementor .tv-root :where(.nav-contact .elementor-button){border:1px solid #334f40;padding:12px 18px}
.elementor .tv-root :where(.section){padding:72px 7% 80px}
.elementor .tv-root :where(.section-index){flex-direction:row;justify-content:space-between;gap:25px;font-size:13px;letter-spacing:.1em;margin-bottom:40px;font-weight:600}
.elementor .tv-root :where(.section-index .elementor-widget){width:auto}
.elementor .tv-root :where(.eyebrow){font-size:13px;letter-spacing:.12em;font-weight:600}
.elementor .tv-root :where(.lead){font-size:21px}
.elementor .tv-root :where(.hero){position:relative;background:var(--tv-green);color:white;padding:60px 6% 0;min-height:750px}
.elementor .tv-root :where(.hero-copy){position:relative;z-index:2;width:50%;padding-bottom:65px}
.elementor .tv-root :where(.hero .eyebrow){margin-bottom:22px}
.elementor .tv-root :where(.hero h1 em,.subhero h1 em,.research h2 em){color:var(--tv-orange)}
.elementor .tv-root :where(.hero-intro){font-size:20px;max-width:410px;margin-top:25px}
.elementor .tv-root :where(.hero-description){max-width:365px;color:#d8e2da}
.elementor .tv-root :where(.orange .elementor-button){background:var(--tv-orange);color:var(--tv-deep);padding:18px 24px}
.elementor .tv-root :where(.hero-art){position:absolute;right:0;top:90px;width:61%;pointer-events:none}
.elementor .tv-root :where(.hero-art img){width:100%}
.elementor .tv-root :where(.image-note){align-self:flex-end;width:auto;font-size:13px;margin-right:7%;padding:8px 16px;background:var(--tv-green)}
.elementor .tv-root :where(.hero-bottom){margin-top:auto;flex-direction:row;justify-content:space-between;align-items:center;border-top:1px solid #ffffff40;padding:18px 0;font-size:14px;gap:24px}
.elementor .tv-root :where(.hero-bottom .elementor-widget){width:auto}
.elementor .tv-root :where(.intro-grid,.home-product-grid,.product,.research-grid,.contact-grid){display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}
.elementor .tv-root :where(.intro-grid .elementor-widget-heading){align-self:start}
.elementor .tv-root :where(.text-link .elementor-button){border-bottom:1px solid currentColor;font-size:15px;margin-top:10px}
.elementor .tv-root :where(.home-solutions){background:#edf0ea}
.elementor .tv-root :where(.home-product-image img){width:100%}
.elementor .tv-root :where(.solution-line){border-top:1px solid #bec8be;margin-top:28px;padding-top:25px}
.elementor .tv-root :where(.solution-line h3){margin-bottom:14px}
.elementor .tv-root :where(.home-science,.research){background:var(--tv-deep);color:white}
.elementor .tv-root :where(.home-science h2){margin:16px 0 28px}
.elementor .tv-root :where(.home-partners){flex-direction:row;justify-content:space-between;gap:24px;flex-wrap:wrap;border-top:1px solid #ffffff40;margin-top:40px;padding-top:24px;font-size:20px}
.elementor .tv-root :where(.home-partners .elementor-widget){width:auto}
.elementor .tv-root :where(.contact){background:var(--tv-orange)}
.elementor .tv-root :where(.email .elementor-button){font-size:clamp(16px,1.8vw,24px);border-bottom:1px solid currentColor;margin:10px 0 25px;overflow-wrap:anywhere;max-width:100%}
.elementor .tv-root :where(.tv-address){font-size:15px}
.elementor .tv-root :where(.subhero){background:var(--tv-green);color:white}
.elementor .tv-root :where(.subhero .lead){max-width:740px;margin-top:28px}
.elementor .tv-root :where(.subhero .eyebrow,.mission .eyebrow){margin-bottom:24px}
.elementor .tv-root :where(.section-heading){flex-direction:row;justify-content:space-between;align-items:center;gap:30px;margin-bottom:40px}
.elementor .tv-root :where(.service){flex-direction:row;gap:35px;border-top:1px solid #ccd3cd;border-bottom:1px solid #ccd3cd;padding:36px 0;margin-bottom:60px;align-items:center}
.elementor .tv-root :where(.service>.e-con){flex:1}
.elementor .tv-root :where(.service>.elementor-widget){width:220px}
.elementor .tv-root :where(.service h3){margin:8px 0 18px}
.elementor .tv-root :where(.product-copy h3){font:54px/1.1 Georgia,serif;margin:10px 0 25px}
.elementor .tv-root :where(.product-visual>.tv-span){background:var(--tv-orange);padding:12px 18px;font-size:13px}
.elementor .tv-root :where(.product-visual>.tv-span p){margin:0}
.elementor .tv-root :where(.tv-dl){margin:20px 0}
.elementor .tv-root :where(.tv-dl>.e-con){flex-direction:row;justify-content:space-between;gap:20px;border-bottom:1px solid #ccd3cd;padding:10px 0;font-size:15px}
.elementor .tv-root :where(.tv-dl p){margin:0}
.elementor .tv-root :where(.product-note){font-size:14px}
.elementor .tv-root :where(.team){background:#e9ede7}
.elementor .tv-root :where(.team-grid){display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:28px;margin-top:45px}
.elementor .tv-root :where(.team-person img){aspect-ratio:1;object-fit:cover;border-radius:50%;filter:grayscale(1);margin-bottom:22px}
.elementor .tv-root :where(.team-person h3){font-size:19px;line-height:1.4;margin-bottom:10px}
.elementor .tv-root :where(.team-person p){font-size:15px}
.elementor .tv-root :where(.research h2){margin-bottom:28px}
.elementor .tv-root :where(.research .tv-figure img){max-height:430px;object-fit:cover;width:100%}
.elementor .tv-root :where(.tv-figcaption){font-size:13px;padding-top:12px}
.elementor .tv-root :where(.ecosystem){border-top:1px solid #ffffff40;margin-top:50px;padding:28px 0}
.elementor .tv-root :where(.ecosystem .tv-ul,.support){flex-direction:row;gap:35px;flex-wrap:wrap}
.elementor .tv-root :where(.ecosystem .tv-li){width:auto;font-size:24px}
.elementor .tv-root :where(.support>.e-con){width:auto;font-size:16px}
.elementor .tv-root :where(.support>.elementor-widget){width:auto;font-size:13px}
.elementor .tv-root :where(.site-footer){padding:50px 7% 24px}
.elementor .tv-root :where(.footer-grid){display:grid;grid-template-columns:1.25fr 1fr 1fr 1.3fr;gap:35px}
.elementor .tv-root :where(.footer-identity>.tv-p){margin-top:16px}
.elementor .tv-root :where(.footer-grid .elementor-button){font-weight:400;font-size:15px;padding:8px 0}
.elementor .tv-root :where(.footer-grid .eyebrow){margin-bottom:14px}
.elementor .tv-root :where(.footer-contact){overflow-wrap:anywhere}
.elementor .tv-root :where(.footer-bottom){border-top:1px solid #ccd3cd;flex-direction:row;justify-content:space-between;gap:30px;padding-top:24px;margin-top:35px;font-size:13px}
.elementor .tv-root :where(.footer-bottom>.elementor-widget){width:auto}
.elementor .tv-root :where(.legal-strip){background:var(--tv-deep);color:white;flex-direction:row;justify-content:space-between;gap:20px;padding:18px 7%;font-size:13px}
.elementor .tv-root :where(.legal-strip>.elementor-widget){width:auto}
.elementor .tv-root :where(.legal-strip p){margin:0}
.elementor .tv-root :where(.privacy-copy){max-width:1080px;margin:auto}
.elementor .tv-root :where(.privacy-copy h2){font:600 25px/1.3 Arial,sans-serif;margin:25px 0 16px}
.elementor .tv-root :where(.privacy-copy a){text-decoration:underline}
@media(max-width:1024px){.elementor .tv-root :where(.header){flex-direction:column;align-items:flex-start;gap:12px}.elementor .tv-root :where(.header .tv-nav){justify-content:flex-start;gap:18px}.elementor .tv-root :where(.hero-copy){width:60%}.elementor .tv-root :where(.hero-art){top:160px;width:57%}.elementor .tv-root :where(.team-grid){grid-template-columns:repeat(3,minmax(0,1fr))}.elementor .tv-root :where(.footer-grid){grid-template-columns:1fr 1fr}}
@media(max-width:767px){.elementor .tv-root :where(.section){padding:42px 6% 50px}.elementor .tv-root :where(.hero){padding:36px 6% 0;min-height:0}.elementor .tv-root :where(.hero-copy){width:100%;padding-bottom:20px}.elementor .tv-root :where(.hero-art){position:relative;top:auto;right:auto;width:100%}.elementor .tv-root :where(h1.elementor-heading-title){font-size:48px}.elementor .tv-root :where(h2.elementor-heading-title){font-size:38px}.elementor .tv-root :where(.intro-grid,.home-product-grid,.product,.research-grid,.contact-grid){grid-template-columns:1fr;gap:28px}.elementor .tv-root :where(.hero-bottom){margin-top:20px;font-size:13px}.elementor .tv-root :where(.section-index){font-size:12px;margin-bottom:28px}.elementor .tv-root :where(.team-grid){grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px}.elementor .tv-root :where(.team-person h3){font-size:17px}.elementor .tv-root :where(.service,.section-heading){flex-direction:column;align-items:flex-start;gap:20px}.elementor .tv-root :where(.service>.elementor-widget){width:auto}.elementor .tv-root :where(.footer-identity,.footer-contact){grid-column:1/-1}.elementor .tv-root :where(.legal-strip){flex-direction:column;gap:8px}.elementor .tv-root :where(.header .tv-nav){gap:8px 18px}.elementor .tv-root :where(.header .elementor-button){font-size:14px}.elementor .tv-root :where(.nav-contact .elementor-button){padding:8px 12px}.elementor .tv-root :where(.hero h1){max-width:500px}}
.elementor .tv-root :where(.partner-logos){display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px;align-items:stretch}
.elementor .tv-root :where(.partner-logo){background:#fff;justify-content:center;align-items:center;padding:16px;min-height:132px;border-radius:4px}
.elementor .tv-root :where(.partner-logo img){width:100%;height:100px;object-fit:contain}
.elementor .tv-root :where(.ecosystem .partner-logos){grid-template-columns:repeat(4,minmax(0,1fr));margin-top:22px}
.elementor .tv-root :where(.support img){background:#fff;padding:12px;border-radius:4px;width:210px;height:110px;object-fit:contain}
@media(max-width:767px){.elementor .tv-root :where(.partner-logos,.ecosystem .partner-logos){grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.elementor .tv-root :where(.partner-logo){padding:12px;min-height:112px}.elementor .tv-root :where(.partner-logo img){height:84px}}

body.elementor-editor-active .elementor .tv-root .hero-art{pointer-events:auto}
