.elementor-kit-11{--e-global-color-primary:#0060A9;--e-global-color-secondary:#F69121;--e-global-color-text:#393E41;--e-global-color-accent:#61CE70;--e-global-color-84cf0b6:#FFFFFF;--e-global-color-a7025d2:#F5F5F5;--e-global-typography-primary-font-family:"Montserrat";--e-global-typography-primary-font-size:40px;--e-global-typography-primary-font-weight:700;--e-global-typography-secondary-font-family:"Montserrat";--e-global-typography-secondary-font-size:20px;--e-global-typography-secondary-font-weight:500;--e-global-typography-text-font-family:"Montserrat";--e-global-typography-text-font-size:17px;--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Montserrat";--e-global-typography-accent-font-size:14px;--e-global-typography-accent-font-weight:400;--e-global-typography-13c0eb1-font-family:"Montserrat";--e-global-typography-13c0eb1-font-size:30px;--e-global-typography-13c0eb1-font-weight:600;--e-global-typography-d6926c7-font-family:"Montserrat";--e-global-typography-d6926c7-font-size:25px;--e-global-typography-d6926c7-font-weight:bold;}body{overflow-x:inherit !important;}.elementor a, .elementor a:link, .elementor a:focus, .elementor a:active, .elementor a:hover{text-decoration:inherit !important;}.elementor a:link, .elementor .smooth-hover a:link, {transition:inherit;}.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;}{}h1.entry-title{display:var(--page-title-display);}.elementor-kit-11 e-page-transition{background-color:#FFBC7D;}@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-kit-11{--e-global-typography-primary-font-size:18px;--e-global-typography-secondary-font-size:15px;--e-global-typography-text-font-size:12px;--e-global-typography-accent-font-size:10px;--e-global-typography-d6926c7-font-size:13px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* ==== GTS-Infotel : adaptation au balisage Elementor ====
   Les enveloppes des widgets s'effacent (display:contents) : la mise en page d'origine s'applique telle quelle.
   Les conteneurs (classe gx) repartent d'un bloc neutre ; les classes du design (plus bas) définissent leur mise en page. */
:root:root .gx-w,:root:root .gx-w>.elementor-widget-container,:root:root .gx-w .elementor-icon-wrapper,:root:root .gx-w .elementor-icon,:root:root .gx-w .elementor-button-wrapper,:root:root .gx-w .elementor-button-content-wrapper,:root:root .gx-w .elementor-button-icon,:root:root .gx-w .elementor-image{display:contents}
:root:root .gx-w{font:inherit;color:inherit;letter-spacing:inherit;line-height:inherit;text-transform:inherit;text-align:inherit}
:root:root .elementor-heading-title{font:inherit;color:inherit;letter-spacing:inherit;line-height:inherit;text-transform:inherit;margin:0;padding:0}
:root:root .gx-w .elementor-button{display:inline;background:none;border:0;border-radius:0;padding:0;margin:0;color:inherit;fill:currentColor;font:inherit;line-height:inherit;letter-spacing:inherit;text-align:inherit;box-shadow:none;transition:none;min-height:0}
:root:root .gx-w .elementor-button-text{flex-grow:0}
:root .gx-w .elementor-icon svg{width:auto;height:auto}
/* Boutons : on retire ce que le thème Hello Elementor impose en plus du navigateur (texte sur une ligne, arrondi, transition) */
:root:root button,:root:root [type=button],:root:root [type=submit]{white-space:inherit;border-radius:0;transition:none;user-select:auto;text-transform:none}
/* Icônes : couleur et taille héritées du parent d'origine, pas des couleurs globales d'Elementor */
:root:root .gx-w .elementor-icon{color:inherit;font-size:inherit;line-height:inherit;transition:none}
:root .gx-w .elementor-icon svg:not(z){fill:inherit}
:root:root .gx{display:block;flex-direction:initial;flex-wrap:initial;gap:normal;padding:0;margin:0;width:auto;max-width:none;min-width:auto;min-height:auto;height:auto;position:static;overflow:visible;border:0;border-radius:0;background:none;box-shadow:none;align-items:normal;justify-content:normal;align-content:normal;flex:initial;align-self:auto;text-align:inherit;--widgets-spacing:0px;--gap:0px}
:root:root .gx-inline{display:inline}
:root:root .gx-button{display:inline-block;text-align:center;cursor:pointer;user-select:none}
:root:root .gx-summary{cursor:pointer;display:block}
:root:root .gx-tag-ul,:root:root .gx-tag-ol{list-style:none}
:root:root .gx-details:not([open])>:not(.gx-summary){display:none}
/* Carrousel (Swiper) : ses conteneurs gardent la mise en page dont Swiper a besoin */
:root:root .gx.swiper{position:relative;overflow:hidden;z-index:1;display:block}
:root:root .gx.swiper-wrapper{display:flex;flex-direction:row;position:relative;width:100%;height:100%;z-index:1;box-sizing:content-box;transition-property:transform}
:root:root .gx.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;display:block}
/* l'effet fondu de Swiper anime l'opacité : il attend la fin de cette transition pour passer à la diapositive suivante */
:root:root .swiper-fade .gx.swiper-slide{transition-property:opacity}
:root{
  --orange-50:#FEF6ED; --orange-100:#FEEDDB; --orange-200:#FCDCB8; --orange-300:#FAC68C; --orange-400:#F8AB56;
  --orange-500:#F69121; --orange-600:#D0791A; --orange-700:#A75F13; --orange-800:#7E450C; --orange-900:#562C05;
  --blue-50:#EBF3F9; --blue-100:#D6E6F2; --blue-200:#ADCDE5; --blue-300:#7AAED5; --blue-400:#3D88C2;
  --blue-500:#0063AF; --blue-600:#015394; --blue-700:#014177; --blue-800:#02305A; --blue-900:#031F3E;
  --cyan-400:#1FAAE2;
  --white:#FFFFFF; --gray-25:#F7F8FB; --gray-100:#EEF1F6; --gray-200:#E6E9F0; --gray-400:#A3ABBA; --gray-600:#5B6475; --gray-900:#0E1726;

  --bg-page:#F5F6FA; --bg-sheet:#FFFFFF; --bg-soft:#F9F9FC; --line:#ECEDF3; --sparkle:#D9DCF5;
  --text:#0E1726; --text-muted:#5B6475; --text-soft:#6B7280;
  --wa-light:#25C766; --wa:#12A150; --wa-dark:#0B6E4F; --green-700:#146131; --blue-25:#EAF2FA;
  --success:#12805C; --danger:#C62F2F;
  --tag-1:#0063AF; --tag-2:#F69121; --tag-3:#1FAAE2; --tag-4:#12805C; --tag-5:#031F3E;

  --grad-arc:linear-gradient(135deg, #FFB25B 0%, #F69121 55%, #E0700A 100%);
  --grad-orange:var(--grad-arc);
  --grad-navy:linear-gradient(160deg, #02305A 0%, #031F3E 70%);
  --grad-blue:linear-gradient(135deg, #3D88C2 0%, #0063AF 50%, #031F3E 100%);

  --font:"Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-display:var(--font); --font-body:var(--font);
  --fs-display:clamp(2.25rem, 1.6rem + 2.6vw, 3.5rem);
  --fs-h2:clamp(1.75rem, 1.35rem + 1.7vw, 2.625rem);
  --fs-h3:clamp(1.25rem, 1.1rem + .7vw, 1.5rem);
  --fs-stat:clamp(2.25rem, 1.8rem + 1.6vw, 3rem);
  --fs-lead:clamp(1rem, .95rem + .3vw, 1.125rem);
  --fs-small:.875rem; --fs-badge:.8125rem;
  
  --fs-ui:.9375rem; --fs-body:1rem; --fs-body-lg:1.0625rem; --fs-h4:1.25rem;
  --lh-display:1.1; --lh-title:1.2; --lh-body:1.6;

  --container:1240px; --gutter:clamp(16px, 4vw, 32px);
  --sheet-pad:clamp(24px, 5vw, 72px); --sheet-gap:clamp(8px, 1.6vw, 20px);
  --section-y:clamp(64px, 8vw, 112px);
  --r-xs:10px; --r-sm:14px; --r-md:20px; --r-lg:28px; --r-xl:32px; --r-sheet:clamp(24px, 3vw, 40px); --r-pill:999px;
  --sh-1:0 1px 2px rgba(14,23,38,.05);
  --sh-2:0 1px 2px rgba(14,23,38,.04), 0 6px 20px -8px rgba(14,23,38,.08);
  --sh-card:var(--sh-2);
  --sh-3:0 2px 6px rgba(14,23,38,.05), 0 18px 40px -16px rgba(14,23,38,.14);
  --sh-float:var(--sh-3);
  --sh-btn-blue:0 10px 24px -10px rgba(0,99,175,.55);
  --sh-inset:inset 0 1px 0 rgba(255,255,255,.7);
  --blur-glass:saturate(160%) blur(14px);
  --ease-out:cubic-bezier(0.22, 1, 0.36, 1); --ease-in-out:cubic-bezier(0.65, 0, 0.35, 1); --ease-spring:cubic-bezier(0.34, 1.56, 0.64, 1);
  --dur-1:160ms; --dur-2:400ms; --dur-3:600ms; --dur-4:900ms;
  --nav-top:16px; --nav-h:64px;
  --sp-3:12px; --sp-4:16px; --sp-5:24px; --sp-6:32px; --sp-7:48px;
}
:root:root:root *,:root:root:root *::before,:root:root:root *::after{ box-sizing:border-box; }
:root:root:root{ -webkit-text-size-adjust:100%; scroll-padding-top:110px; }
:root:root:root:not(.lenis){ scroll-behavior:smooth; }
:root:root:root.lenis,:root:root:root.lenis body{ height:auto; }
:root:root:root .lenis.lenis-smooth{ scroll-behavior:auto !important; }
:root:root:root body{ margin:0; background:var(--bg-page); color:var(--text); font:400 1rem/var(--lh-body) var(--font); -webkit-font-smoothing:antialiased; overflow-x:hidden; padding-block:var(--sheet-gap); }
:root:root:root img,:root:root:root svg{ display:block; max-width:100%; }
:root:root:root img{ height:auto; }
:root:root:root a{ color:var(--blue-500); text-decoration:none; }
:root:root:root :is(button,:where(.gx-tag-button)){ font:inherit; color:inherit; background:none; border:0; padding:0; cursor:pointer; }
:root:root:root h1,:root:root:root h2,:root:root:root h3,:root:root:root h4{ margin:0; font-family:var(--font); font-weight:700; line-height:var(--lh-title); letter-spacing:-0.02em; color:var(--gray-900); text-wrap:balance; }
:root:root:root :is(p,:where(.gx-tag-p)){ margin:0; }
:root:root:root :is(ul,:where(.gx-tag-ul)),:root:root:root :is(ol,:where(.gx-tag-ol)){ margin:0; padding:0; list-style:none; }
:root:root:root ::selection{ background:var(--orange-200); color:var(--blue-900); }
:root:root:root :focus-visible{ outline:3px solid var(--blue-500); outline-offset:3px; border-radius:8px; }
:root:root:root [hidden]{ display:none !important; }
:root:root:root .skip-link{ position:fixed; left:16px; top:-60px; z-index:1000; background:var(--blue-900); color:#fff; padding:12px 18px; border-radius:var(--r-sm); transition:top var(--dur-2) var(--ease-out); }
:root:root:root .skip-link:focus{ top:16px; }
:root:root:root .container{ width:100%; max-width:calc(var(--container) + var(--gutter) * 2); margin-inline:auto; padding-inline:var(--gutter); }
:root:root:root .sheet{ position:relative; margin-inline:var(--sheet-gap); background:var(--bg-sheet); border-radius:var(--r-sheet); padding-block:var(--section-y); overflow:hidden; isolation:isolate; }
:root:root:root .sheet + .sheet,:root:root:root .sheet + .strip,:root:root:root .strip + .sheet{ margin-top:var(--sheet-gap); }
:root:root:root .sheet--soft{ background:var(--bg-soft); border:1px solid var(--line); }
:root:root:root .sheet--navy{ background:var(--grad-navy); color:#fff; }
:root:root:root .strip{ padding-block:clamp(32px, 5vw, 56px); }
:root:root:root .ico{ width:20px; height:20px; flex:none; }
:root:root:root .ico--sm{ width:16px; height:16px; }
:root:root:root .ico--flip{ transform:scaleX(-1); }
:root:root:root .todo{ background:repeating-linear-gradient(-45deg, rgba(246,145,33,.12) 0 8px, rgba(246,145,33,.04) 8px 16px); outline:1px dashed var(--orange-600); outline-offset:2px; border-radius:6px; }
:root:root:root .visually-hidden{ position:absolute !important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
:root:root:root :is(.display .elementor-heading-title,.display:not(.gx-w)){ font-size:var(--fs-display); line-height:var(--lh-display); letter-spacing:-0.03em; }
:root:root:root :is(.h2 .elementor-heading-title,.h2:not(.gx-w)){ font-size:var(--fs-h2); letter-spacing:-0.03em; }
:root:root:root :is(.h3 .elementor-heading-title,.h3:not(.gx-w)){ font-size:var(--fs-h3); font-weight:600; }
:root:root:root .lead{ font-size:var(--fs-lead); color:var(--text-muted); max-width:62ch; }
:root:root:root .section-head{ max-width:760px; margin:0 auto clamp(36px, 5vw, 56px); text-align:center; display:grid; justify-items:center; gap:16px; }
:root:root:root .section-head .lead{ margin-inline:auto; }
:root:root:root .section-head--left{ margin-inline:0; text-align:left; justify-items:start; }
:root:root:root .section-head--left .lead{ margin-inline:0; }
:root:root:root .section-head--row{ max-width:none; display:flex; flex-wrap:wrap; justify-content:space-between; align-items:flex-end; text-align:left; }
:root:root:root .hl{ position:relative; display:inline-block; color:var(--orange-600); white-space:nowrap; }
:root:root:root .hl__brush{ position:absolute; left:-2%; bottom:-.1em; width:104%; height:.3em; overflow:visible; }
:root:root:root .hl__brush path{ fill:none; stroke:var(--orange-500); stroke-width:7; stroke-linecap:round; stroke-dasharray:1; stroke-dashoffset:0; }
:root:root:root .sparkle{ position:absolute; z-index:0; width:22px; height:22px; fill:var(--sparkle); pointer-events:none; animation:sparkle 20s linear infinite; }
:root:root:root :is(.btn .elementor-button,.btn:not(.gx-w)){ --h:52px; position:relative; display:inline-flex; align-items:center; justify-content:center; gap:10px; height:var(--h); padding:0 28px; border-radius:var(--r-pill); border:1.5px solid transparent; font:600 15px/1 var(--font); white-space:nowrap; background-origin:border-box;
  transition:transform var(--dur-2) var(--ease-out), box-shadow var(--dur-2) var(--ease-out), color var(--dur-1), border-color var(--dur-1), background-color var(--dur-1); }
:root:root:root :is(.btn .elementor-button,.btn:not(.gx-w)) .ico{ width:18px; height:18px; }
:root:root:root :is(.btn--lg .elementor-button,.btn--lg:not(.gx-w)){ --h:56px; font-size:16px; padding:0 32px; }
:root:root:root :is(.btn--sm .elementor-button,.btn--sm:not(.gx-w)){ --h:44px; font-size:14px; padding:0 20px; }
:root:root:root :is(.btn--primary .elementor-button,.btn--primary:not(.gx-w)){ background-image:linear-gradient(135deg, #1E74B8 0%, var(--blue-500) 45%, var(--blue-800) 100%); color:#fff; box-shadow:0 8px 20px -10px rgba(0,99,175,.6); }
:root:root:root :is(.btn--primary:hover .elementor-button,.btn--primary:hover:not(.gx-w)){ background-image:none; background-color:#fff; color:var(--blue-500); border-color:var(--blue-500); box-shadow:var(--sh-btn-blue); transform:translateY(-2px); }
:root:root:root :is(.btn--secondary .elementor-button,.btn--secondary:not(.gx-w)){ background-image:linear-gradient(135deg, #FFB25B 0%, var(--orange-500) 50%, #E0700A 100%); color:var(--blue-900); box-shadow:0 8px 20px -10px rgba(246,145,33,.7); }
:root:root:root :is(.btn--secondary:hover .elementor-button,.btn--secondary:hover:not(.gx-w)){ background-image:none; background-color:#fff; color:var(--orange-700); border-color:var(--orange-500); transform:translateY(-2px); }
:root:root:root :is(.btn--light .elementor-button,.btn--light:not(.gx-w)){ background-image:linear-gradient(135deg, #FFFFFF 0%, var(--blue-25) 100%); color:var(--blue-900); }
:root:root:root :is(.btn--light:hover .elementor-button,.btn--light:hover:not(.gx-w)){ background-image:none; background-color:transparent; color:#fff; border-color:#fff; transform:translateY(-2px); }
:root:root:root .btn--ghost-light{ background-color:transparent; border-color:rgba(255,255,255,.6); color:#fff; }
:root:root:root .btn--ghost-light:hover{ background-image:linear-gradient(135deg, #FFFFFF 0%, var(--blue-25) 100%); color:var(--blue-900); border-color:#fff; transform:translateY(-2px); }
:root:root:root :is(.btn--link .elementor-button,.btn--link:not(.gx-w)){ --h:44px; padding:0 4px; color:var(--blue-500); border:0; text-decoration:underline; text-decoration-color:transparent; text-underline-offset:4px; transition:text-decoration-color var(--dur-1), color var(--dur-1); }
:root:root:root :is(.btn--link:hover .elementor-button,.btn--link:hover:not(.gx-w)){ color:var(--blue-700); text-decoration-color:currentColor; }
:root:root:root :is(.btn:active .elementor-button,.btn:active:not(.gx-w)){ transform:scale(.98); }
:root:root:root :is(.btn:disabled .elementor-button,.btn:disabled:not(.gx-w)){ opacity:.5; cursor:not-allowed; }
:root:root:root :is(.btn.is-loading .elementor-button,.btn.is-loading:not(.gx-w)){ pointer-events:none; color:transparent !important; }
:root:root:root .btn.is-loading .elementor-button::after{ content:""; position:absolute; left:50%; top:50%; width:20px; height:20px; margin:-10px 0 0 -10px; border-radius:50%; border:2.5px solid #fff; border-right-color:transparent; animation:spin .8s linear infinite; }
:root:root:root .badge-pill{ display:inline-flex; align-items:center; gap:8px; height:32px; padding:0 14px 0 6px; border-radius:var(--r-pill); background:var(--orange-500); color:var(--blue-900); font:600 var(--fs-badge)/1 var(--font); white-space:nowrap; }
:root:root:root .badge-pill__dot{ display:grid; place-items:center; width:22px; height:22px; border-radius:50%; background:#fff; }
:root:root:root .badge-pill__dot svg{ width:16px; height:16px; fill:var(--orange-500); }
:root:root:root .badge-pill--soft{ background:var(--orange-50); color:var(--orange-700); }
:root:root:root .badge-pill--soft .badge-pill__dot{ background:var(--orange-500); }
:root:root:root .badge-pill--soft .badge-pill__dot svg{ fill:#fff; }
:root:root:root .badge-pill--light{ background:rgba(255,255,255,.12); color:#fff; }
:root:root:root .badge{ display:inline-flex; align-items:center; gap:8px; height:28px; padding:0 12px; border-radius:var(--r-pill); font:500 13px/1 var(--font); background:var(--gray-100); color:var(--gray-600); }
:root:root:root .badge--blue{ background:var(--blue-50); color:var(--blue-600); }
:root:root:root .badge--orange{ background:var(--orange-50); color:var(--orange-700); }
:root:root:root .badge--live{ background:#E6F4EE; color:var(--success); }
:root:root:root .badge--live::before{ content:""; width:8px; height:8px; border-radius:50%; background:var(--success); animation:live 1.6s ease-out infinite; }
:root:root:root .num{ display:inline-grid; place-items:center; width:28px; height:28px; border-radius:50%; font:700 11px/1 var(--font); color:#fff; background:var(--tag-1); flex:none; }
:root:root:root .num--2{ background:var(--tag-2); color:var(--blue-900); }
:root:root:root .num--3{ background:var(--tag-3); color:var(--blue-900); }
:root:root:root .num--4{ background:var(--tag-4); }
:root:root:root .num--5{ background:var(--tag-5); }
:root:root:root .chip{ position:absolute; z-index:3; display:inline-flex; align-items:center; gap:8px; padding:10px 14px; border-radius:var(--r-pill); background:rgba(255,255,255,.9); backdrop-filter:var(--blur-glass); -webkit-backdrop-filter:var(--blur-glass); box-shadow:var(--sh-2); border:1px solid var(--line); font:600 13px/1 var(--font); color:var(--blue-900); animation:float 6s var(--ease-in-out) infinite; }
:root:root:root .chip .ico{ width:16px; height:16px; color:var(--orange-600); }
:root:root:root .chip .ico--ok{ color:var(--success); }
:root:root:root .chip--b{ animation-delay:-2s; }
:root:root:root .chip--c{ animation-delay:-4s; }
:root:root:root .chip--d{ animation-delay:-1s; }
:root:root:root .bubble{ position:absolute; z-index:3; display:flex; align-items:center; gap:8px; max-width:62%; padding:12px 16px; border-radius:20px 20px 20px 6px; background:#fff; box-shadow:var(--sh-3); font:500 13px/1.35 var(--font); color:var(--blue-900); animation:float 6s var(--ease-in-out) infinite; }
:root:root:root .bubble .ico{ width:18px; height:18px; color:var(--orange-600); }
:root:root:root .bubble--1{ left:-2%; top:10%; }
:root:root:root .bubble--2{ right:0; top:42%; border-radius:20px 20px 6px 20px; background:var(--blue-900); color:#fff; animation-delay:-2s; }
:root:root:root .bubble--2 .ico{ color:var(--orange-400); }
:root:root:root .bubble--3{ left:2%; bottom:10%; animation-delay:-4s; }
:root:root:root .bubble--3 .ico{ color:var(--success); }
:root:root:root .checklist{ display:grid; gap:12px; margin-block:var(--sp-5); }
:root:root:root .checklist :is(li,:where(.gx-tag-li)){ position:relative; padding-left:32px; color:var(--gray-900); }
:root:root:root .checklist :is(li,:where(.gx-tag-li))::before{ content:""; position:absolute; left:0; top:2px; width:22px; height:22px; border-radius:50%; background:var(--blue-50) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m6 12.5 4 4L18 8' fill='none' stroke='%230063AF' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat; }
:root:root:root .checklist--2col{ grid-template-columns:1fr; font-size:15px; }
:root:root:root .stats{ display:grid; grid-template-columns:1fr; gap:16px; }
:root:root:root .stat{ position:relative; display:flex; flex-direction:column; gap:6px; padding:22px 24px 24px; border-radius:var(--r-md); background:#fff; border:1px solid var(--line); box-shadow:var(--sh-card); transition:transform var(--dur-2) var(--ease-out), box-shadow var(--dur-2); }
:root:root:root .stat:hover{ transform:translateY(-4px); box-shadow:var(--sh-3); }
:root:root:root .stat__top{ display:flex; justify-content:space-between; align-items:center; margin-bottom:10px; }
:root:root:root .stat__label{ font:500 var(--fs-small)/1.2 var(--font); color:var(--text-soft); }
:root:root:root .stat__num{ font:600 var(--fs-stat)/1 var(--font); letter-spacing:-.03em; color:var(--gray-900); font-variant-numeric:tabular-nums; }
:root:root:root .stat__num small{ font-size:max(.55em, 12px); font-weight:600; color:var(--orange-700); margin-left:2px; }
:root:root:root .stat__desc{ font-size:14px; color:var(--text-muted); line-height:1.45; }
:root:root:root .feats{ display:grid; grid-template-columns:1fr; gap:16px; }
:root:root:root .feat{ position:relative; display:flex; flex-direction:column; gap:10px; padding:24px; border-radius:var(--r-md); background:var(--bg-soft); border:1px solid var(--line); transition:transform var(--dur-2) var(--ease-out), box-shadow var(--dur-2), background-color var(--dur-2); }
:root:root:root .feat:hover{ transform:translateY(-4px); background:#fff; box-shadow:var(--sh-3); }
:root:root:root .feat__ico{ display:grid; place-items:center; width:44px; height:44px; border-radius:12px; color:#fff; background:var(--tag-1); margin-bottom:6px; }
:root:root:root .feat__ico .ico{ width:22px; height:22px; }
:root:root:root .feat--2 .feat__ico{ background:var(--tag-2); color:var(--blue-900); }
:root:root:root .feat--3 .feat__ico{ background:var(--tag-3); color:var(--blue-900); }
:root:root:root .feat--4 .feat__ico{ background:var(--tag-4); }
:root:root:root .feat--5 .feat__ico{ background:var(--tag-5); }
:root:root:root .feat h3{ font-size:var(--fs-h4); font-weight:700; line-height:1.3; letter-spacing:-.01em; }
:root:root:root .feat :is(p,:where(.gx-tag-p)){ font-size:var(--fs-ui); color:var(--text-muted); line-height:1.55; }
:root:root:root .feat .num{ position:absolute; right:18px; top:18px; }
:root:root:root .acc{ display:grid; gap:12px; }
:root:root:root .acc__item{ border-radius:var(--r-md); background:#fff; border:1px solid var(--line); transition:box-shadow var(--dur-2), border-color var(--dur-2); }
:root:root:root .acc__item[open]{ box-shadow:var(--sh-3); border-color:transparent; }
:root:root:root .acc__q{ display:flex; align-items:center; gap:14px; padding:20px 22px; cursor:pointer; list-style:none; font:600 var(--fs-body-lg)/1.35 var(--font); color:var(--gray-900); border-radius:var(--r-md); }
:root:root:root .acc__q::-webkit-details-marker{ display:none; }
:root:root:root .acc__q .num{ width:26px; height:26px; }
:root:root:root .acc__plus{ position:relative; margin-left:auto; width:32px; height:32px; border-radius:50%; background:var(--bg-page); flex:none; transition:background-color var(--dur-2), transform var(--dur-2) var(--ease-out); }
:root:root:root .acc__plus::before,:root:root:root .acc__plus::after{ content:""; position:absolute; left:50%; top:50%; width:12px; height:2px; margin:-1px 0 0 -6px; border-radius:2px; background:var(--blue-900); transition:transform var(--dur-2) var(--ease-out); }
:root:root:root .acc__plus::after{ transform:rotate(90deg); }
:root:root:root .acc__item[open] .acc__plus{ background:var(--blue-500); transform:rotate(180deg); }
:root:root:root .acc__item[open] .acc__plus::before,:root:root:root .acc__item[open] .acc__plus::after{ background:#fff; }
:root:root:root .acc__item[open] .acc__plus::after{ transform:rotate(0deg); }
:root:root:root .acc__a{ padding:0 22px 22px 62px; color:var(--text-muted); font-size:var(--fs-body); overflow:hidden; }
:root:root:root .acc__a > * + *,:root:root:root .acc__a > * + :where(.gx-w) > :where(.elementor-widget-container) > *,:root:root:root .acc__a > :where(.gx-w):has(> :where(.elementor-widget-container) > *) + *,:root:root:root .acc__a > :where(.gx-w):has(> :where(.elementor-widget-container) > *) + :where(.gx-w) > :where(.elementor-widget-container) > *{ margin-top:12px; }
:root:root:root .acc__a :is(ul,:where(.gx-tag-ul)){ display:grid; gap:8px; }
:root:root:root .acc__a :is(li,:where(.gx-tag-li)){ position:relative; padding-left:18px; }
:root:root:root .acc__a :is(li,:where(.gx-tag-li))::before{ content:""; position:absolute; left:0; top:.62em; width:7px; height:7px; border-radius:50%; background:var(--orange-500); }
:root:root:root .acc__a strong{ color:var(--gray-900); font-weight:600; }
:root:root:root .cursor{ display:none; }
@media (pointer:fine) and (prefers-reduced-motion:no-preference){:root:root:root .cursor{ display:block; position:fixed; inset:0; pointer-events:none; z-index:998; }
:root:root:root .cursor__dot,:root:root:root .cursor__ring{ position:fixed; left:0; top:0; border-radius:50%; will-change:transform; }
:root:root:root .cursor__dot{ width:8px; height:8px; margin:-4px 0 0 -4px; background:var(--blue-900); }
:root:root:root .cursor__ring{ width:36px; height:36px; margin:-18px 0 0 -18px; border:1.5px solid rgba(3,31,62,.3); transition:width 250ms var(--ease-out), height 250ms var(--ease-out), margin 250ms var(--ease-out), border-color 250ms, background-color 250ms; }
:root:root:root .cursor.is-hover .cursor__ring{ width:56px; height:56px; margin:-28px 0 0 -28px; border-color:var(--blue-500); background:rgba(0,99,175,.06); }
:root:root:root .cursor.is-hidden{ opacity:0; }

}
:root:root:root .nav{ position:fixed; z-index:100; top:calc(var(--nav-top) + var(--sheet-gap)); left:50%; width:calc(100% - var(--sheet-gap) * 2 - 24px); max-width:1100px; height:var(--nav-h); transform:translateX(-50%); transition:transform 400ms var(--ease-out), top 300ms var(--ease-out); }
:root:root:root .nav.is-hidden{ transform:translate(-50%, calc(-100% - 40px)); }
:root:root:root .nav__inner{ height:100%; display:flex; align-items:center; gap:12px; padding:0 8px 0 16px; border-radius:var(--r-pill); background:rgba(255,255,255,.92); border:1px solid var(--line); box-shadow:var(--sh-float); backdrop-filter:var(--blur-glass); -webkit-backdrop-filter:var(--blur-glass); }
:root:root:root .nav.is-scrolled{ --nav-top:10px; }
:root:root:root .nav__logo{ display:flex; align-items:center; gap:10px; color:var(--gray-900); margin-right:auto; }
:root:root:root .nav__logo img{ width:52px; height:52px; mix-blend-mode:multiply; }
:root:root:root .nav__brand{ display:flex; flex-direction:column; line-height:1.1; font-family:Candara, Calibri, "Segoe UI", var(--font); }
:root:root:root .nav__brand strong{ font:700 18px/1.05 Candara, Calibri, "Segoe UI", var(--font); letter-spacing:.005em; }
:root:root:root .nav__brand small{ font:400 13px/1.2 Candara, Calibri, "Segoe UI", var(--font); color:var(--text-soft); letter-spacing:.03em; }
@media (max-width:599px){:root:root:root .nav__logo img{ width:44px; height:44px; }
:root:root:root .nav__brand strong{ font-size:17px; }
 }
:root:root:root .nav__menu{ display:none; }
:root:root:root .nav__list{ display:flex; align-items:center; gap:2px; }
:root:root:root .nav__list > :is(li,:where(.gx-tag-li)),:root:root:root .nav__list > :where(.gx-w) > :where(.elementor-widget-container) > li{ position:relative; }
:root:root:root .nav__link{ position:relative; display:inline-flex; align-items:center; gap:4px; height:40px; padding:0 14px; border-radius:var(--r-pill); font:500 15px/1 var(--font); color:var(--gray-900); transition:background-color var(--dur-1), color var(--dur-1); }
:root:root:root .nav__link:hover,:root:root:root .nav__link[aria-expanded="true"]{ background:var(--bg-page); }
:root:root:root .nav__link.is-active{ color:var(--blue-500); font-weight:600; }
:root:root:root .nav__dd-toggle .ico{ transition:transform var(--dur-2) var(--ease-out); }
:root:root:root .nav__dd-toggle[aria-expanded="true"] .ico{ transform:rotate(180deg); }
:root:root:root .nav__dd{ position:absolute; top:calc(100% + 16px); left:50%; width:min(600px, 90vw); display:grid; grid-template-columns:1fr 1fr; gap:4px; padding:10px; background:#fff; border:1px solid var(--line); border-radius:var(--r-md); box-shadow:var(--sh-3);
  opacity:0; visibility:hidden; transform:translate(-50%, 8px); transition:opacity 250ms var(--ease-out), transform 350ms var(--ease-out), visibility 0s 350ms; }
:root:root:root .nav__dd.is-open{ opacity:1; visibility:visible; transform:translate(-50%, 0); transition:opacity 250ms var(--ease-out), transform 350ms var(--ease-out); }
:root:root:root .nav__dd a{ display:flex; gap:12px; align-items:flex-start; padding:12px; border-radius:var(--r-sm); color:var(--gray-900); transition:background-color var(--dur-1); }
:root:root:root .nav__dd a:hover{ background:var(--bg-page); }
:root:root:root .nav__dd strong{ display:block; font:600 14px/1.3 var(--font); }
:root:root:root .nav__dd small{ display:block; font-size:13px; color:var(--text-soft); margin-top:2px; }
:root:root:root .nav__dd--simple{ grid-template-columns:1fr; width:340px; }
:root:root:root .dd-ico{ display:grid; place-items:center; width:40px; height:40px; border-radius:12px; background:var(--tag-1); color:#fff; flex:none; }
:root:root:root .dd-ico--2{ background:var(--tag-2); color:var(--blue-900); }
:root:root:root .dd-ico--3{ background:var(--tag-3); color:var(--blue-900); }
:root:root:root .dd-ico--4{ background:var(--tag-4); }
:root:root:root .dd-ico--5{ background:var(--tag-5); }
:root:root:root .nav__actions{ display:flex; align-items:center; gap:8px; }
:root:root:root .nav__actions :is(.btn .elementor-button,.btn:not(.gx-w)){ display:none; }
:root:root:root .nav__burger{ position:relative; width:46px; height:46px; border-radius:50%; background:var(--bg-page); z-index:120; }
:root:root:root .nav__burger :is(span,:where(.gx-tag-span)){ position:absolute; left:14px; right:14px; height:2px; border-radius:2px; background:var(--blue-900); transition:transform 400ms var(--ease-out), opacity 200ms; }
:root:root:root .nav__burger :is(span,:where(.gx-tag-span)):nth-child(1):not(:where(.elementor-widget-container) > *),:root:root:root .nav__burger :where(.gx-w):nth-child(1) > :where(.elementor-widget-container) > span{ top:16px; }
:root:root:root .nav__burger :is(span,:where(.gx-tag-span)):nth-child(2):not(:where(.elementor-widget-container) > *),:root:root:root .nav__burger :where(.gx-w):nth-child(2) > :where(.elementor-widget-container) > span{ top:22px; }
:root:root:root .nav__burger :is(span,:where(.gx-tag-span)):nth-child(3):not(:where(.elementor-widget-container) > *),:root:root:root .nav__burger :where(.gx-w):nth-child(3) > :where(.elementor-widget-container) > span{ top:28px; }
:root:root:root .nav__burger[aria-expanded="true"] :is(span,:where(.gx-tag-span)):nth-child(1):not(:where(.elementor-widget-container) > *),:root:root:root .nav__burger[aria-expanded="true"] :where(.gx-w):nth-child(1) > :where(.elementor-widget-container) > span{ transform:translateY(6px) rotate(45deg); }
:root:root:root .nav__burger[aria-expanded="true"] :is(span,:where(.gx-tag-span)):nth-child(2):not(:where(.elementor-widget-container) > *),:root:root:root .nav__burger[aria-expanded="true"] :where(.gx-w):nth-child(2) > :where(.elementor-widget-container) > span{ opacity:0; }
:root:root:root .nav__burger[aria-expanded="true"] :is(span,:where(.gx-tag-span)):nth-child(3):not(:where(.elementor-widget-container) > *),:root:root:root .nav__burger[aria-expanded="true"] :where(.gx-w):nth-child(3) > :where(.elementor-widget-container) > span{ transform:translateY(-6px) rotate(-45deg); }
:root:root:root body.menu-open .nav{ z-index:120; }
:root:root:root .mmenu{ position:fixed; inset:0; z-index:110; background:#fff; padding:calc(var(--nav-h) + 56px) var(--gutter) 32px; display:flex; flex-direction:column; justify-content:space-between; overflow-y:auto; }
:root:root:root .mmenu__arcs{ position:absolute; right:-35%; bottom:-10%; width:100vw; fill:var(--orange-500); opacity:.08; pointer-events:none; }
:root:root:root .mmenu__nav{ display:flex; flex-direction:column; }
:root:root:root .mmenu__link{ display:flex; align-items:center; justify-content:space-between; padding:12px 0; font:700 clamp(24px, 6.5vw, 30px)/1.2 var(--font); letter-spacing:-.02em; color:var(--gray-900); border-bottom:1px solid var(--line); list-style:none; cursor:pointer; }
:root:root:root .mmenu__link::-webkit-details-marker{ display:none; }
:root:root:root .mmenu__link.is-active{ color:var(--blue-500); }
:root:root:root .mmenu__group[open] .mmenu__link .ico{ transform:rotate(180deg); }
:root:root:root .mmenu__link .ico{ width:24px; height:24px; transition:transform var(--dur-2) var(--ease-out); }
:root:root:root .mmenu__group a{ display:block; padding:10px 0 10px 16px; color:var(--text-muted); font-size:17px; }
:root:root:root .mmenu__foot{ position:relative; display:grid; gap:14px; margin-top:32px; }
:root:root:root .mmenu__foot :is(.btn .elementor-button,.btn:not(.gx-w)){ justify-content:space-between; }
:root:root:root .mmenu__tel{ color:var(--blue-500); font-weight:600; }
:root:root:root .hero{ padding-top:calc(var(--nav-h) + var(--nav-top) + 40px); padding-bottom:clamp(32px, 5vw, 56px); }
:root:root:root .hero .sparkle--a{ left:6%; top:24%; }
:root:root:root .hero .sparkle--b{ right:44%; top:18%; width:16px; height:16px; animation-delay:-6s; }
:root:root:root .hero .sparkle--c{ left:46%; bottom:30%; width:18px; height:18px; animation-delay:-12s; }
:root:root:root .hero__halo{ position:absolute; z-index:-1; right:-10%; top:-10%; width:60%; aspect-ratio:1; border-radius:50%; background:radial-gradient(closest-side, rgba(246,145,33,.16), rgba(246,145,33,0)); filter:blur(30px); will-change:transform; }
:root:root:root .hero__inner{ position:relative; }
:root:root:root .hero__swiper{ overflow:visible; z-index:2; }
:root:root:root .hero-slide{ display:grid; grid-template-columns:1fr; gap:var(--sp-6); align-items:center; }
:root:root:root .hero-slide__text{ position:relative; z-index:4; max-width:620px; display:grid; justify-items:start; gap:20px; }
:root:root:root .hero-slide__ctas{ display:flex; flex-wrap:wrap; gap:12px; margin-top:8px; }
:root:root:root .hero-slide__visual{ position:relative; z-index:2; aspect-ratio:1/1; width:min(100%, 520px); margin-inline:auto; }
:root:root:root:not(.has-swiper) .hero-slide:not(:first-child){ display:none; }
:root:root:root .hv-arcs{ position:absolute; inset:0; margin:auto; width:100%; height:100%; overflow:visible; fill:url(#gtsArcGrad); z-index:0;
  filter:drop-shadow(0 16px 12px rgba(3,31,62,.18)) drop-shadow(0 6px 6px rgba(224,112,10,.25)); }
:root:root:root .hv-arcs use{ transform-box:view-box; transform-origin:50% 50%; animation:rotate 60s linear infinite; }
:root:root:root :is(.hv-img img,.hv-img:not(.gx-w)){ position:absolute; z-index:1; inset:0; margin:auto; object-fit:contain; filter:drop-shadow(0 30px 40px rgba(3,31,62,.16)); animation:float 7s var(--ease-in-out) infinite; }
:root:root:root .hv--man :is(.hv-img img,.hv-img:not(.gx-w)){ width:74%; height:74%; }
:root:root:root .hv--pro :is(.hv-img img,.hv-img:not(.gx-w)){ width:60%; height:60%; }
:root:root:root .hv-photo{ position:absolute; z-index:1; inset:18%; margin:0; border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--sh-3); border:6px solid #fff; animation:float 8s var(--ease-in-out) infinite; }
:root:root:root .hv-photo img{ width:100%; height:100%; object-fit:cover; object-position:30% 20%; }
:root:root:root .hv--man .chip--a{ left:0; top:26%; }
:root:root:root .hv--man .chip--b{ right:-2%; top:44%; }
:root:root:root .hv--man .chip--c{ left:4%; bottom:20%; }
:root:root:root .hv--pro .chip--a{ left:2%; top:20%; }
:root:root:root .hv--pro .chip--b{ right:4%; top:14%; }
:root:root:root .hv--pro .chip--c{ right:0; bottom:26%; }
:root:root:root .hv--pro .chip--d{ left:6%; bottom:16%; }
:root:root:root .hero__controls{ position:relative; z-index:5; display:flex; align-items:center; justify-content:space-between; gap:var(--sp-5); margin-top:var(--sp-5); }
:root:root:root .hero__bars{ display:flex; gap:10px; }
:root:root:root .hero__bar{ width:44px; height:24px; display:grid; align-items:center; }
:root:root:root .hero__bar :is(span,:where(.gx-tag-span)){ position:relative; display:block; height:4px; border-radius:4px; background:var(--gray-200); overflow:hidden; }
:root:root:root .hero__bar :is(span,:where(.gx-tag-span))::after{ content:""; position:absolute; inset:0; background:var(--blue-500); transform-origin:left; transform:scaleX(var(--p, 0)); }
:root:root:root .hero__bar.is-active :is(span,:where(.gx-tag-span))::after{ transform:scaleX(var(--p, 1)); }
:root:root:root .hero__arrows{ display:flex; gap:10px; }
:root:root:root .round-btn{ display:grid; place-items:center; width:46px; height:46px; border-radius:50%; background:#fff; border:1px solid var(--line); color:var(--blue-900); box-shadow:var(--sh-1); transition:transform var(--dur-2) var(--ease-out), background-color var(--dur-1), color var(--dur-1); }
:root:root:root .round-btn:hover{ background:var(--blue-500); color:#fff; transform:translateY(-2px); }
:root:root:root .hero__stats{ margin-top:clamp(32px, 5vw, 56px); }
:root:root:root .trust__title{ text-align:center; font:600 14px/1 var(--font); color:var(--text-muted); margin-bottom:24px; }
:root:root:root .marquee{ mask-image:linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); -webkit-mask-image:linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); }
:root:root:root .marquee__row{ display:flex; overflow:hidden; }
:root:root:root .marquee__inner{ display:flex; flex:none; animation:marquee 45s linear infinite; }
:root:root:root .marquee__track{ display:flex; flex:none; align-items:center; gap:56px; padding-right:56px; }
:root:root:root .marquee:hover .marquee__inner,:root:root:root .marquee:focus-within .marquee__inner{ animation-play-state:paused; }
:root:root:root .marquee__track :is(li,:where(.gx-tag-li)){ display:flex; align-items:center; gap:56px; height:64px; }
:root:root:root .marquee__track :is(li,:where(.gx-tag-li))::after{ content:""; width:14px; height:14px; background:var(--sparkle); clip-path:polygon(50% 0, 62% 38%, 100% 50%, 62% 62%, 50% 100%, 38% 62%, 0 50%, 38% 38%); }
:root:root:root .marquee__track img{ max-height:56px; max-width:140px; width:auto; object-fit:contain; filter:grayscale(1); opacity:.6; mix-blend-mode:multiply; transition:filter var(--dur-2), opacity var(--dur-2), transform var(--dur-2) var(--ease-out); }
:root:root:root .marquee__track img:hover{ filter:none; opacity:1; transform:scale(1.06); }
:root:root:root .founder__grid{ display:grid; gap:clamp(40px, 6vw, 80px); align-items:center; }
:root:root:root .founder__media{ position:relative; display:grid; place-items:center; }
:root:root:root .founder__frame{ position:relative; width:min(100%, 460px); aspect-ratio:1; transform-style:preserve-3d; }
:root:root:root .founder__card{ position:absolute; inset:9%; border-radius:var(--r-lg); background:var(--bg-soft); border:1px solid var(--line); overflow:hidden; }
:root:root:root .founder__card img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% 18%; }
:root:root:root .founder__arcs{ position:absolute; inset:-2%; width:104%; height:104%; overflow:visible; z-index:2; pointer-events:none; transform:rotate(-12deg); }
:root:root:root .draw-arcs use{ fill:url(#gtsArcGrad); }
:root:root:root .draw-arcs .draw{ fill:none; stroke:#fff; stroke-width:24; stroke-linecap:round; stroke-dasharray:1; stroke-dashoffset:0; }
:root:root:root .founder__badge{ position:absolute; z-index:3; right:0; bottom:8%; padding:14px 18px; border-radius:var(--r-md); background:#fff; border:1px solid var(--line); box-shadow:var(--sh-3); font:500 13px/1.3 var(--font); color:var(--text-muted); }
:root:root:root .founder__badge strong{ display:block; font:700 28px/1 var(--font); color:var(--gray-900); letter-spacing:-.02em; }
:root:root:root .founder__content{ display:grid; gap:20px; justify-items:start; }
:root:root:root .founder__role{ margin:-12px 0 8px; font-size:.95rem; font-weight:500; letter-spacing:.005em; color:var(--text-muted); text-wrap:balance; }
:root:root:root .founder__quote{ position:relative; margin:0; padding:22px 24px 22px 56px; border-radius:var(--r-md); background:var(--bg-soft); border:1px solid var(--line); font:500 17px/1.6 var(--font); color:var(--gray-900); }
:root:root:root .founder__quote::before{ content:"“"; position:absolute; left:18px; top:6px; font:700 54px/1 var(--font); color:var(--orange-500); }
:root:root:root .founder__sign{ width:170px; height:52px; }
:root:root:root .founder__sign path{ fill:none; stroke:var(--blue-900); stroke-width:2.4; stroke-linecap:round; stroke-linejoin:round; stroke-dasharray:1; stroke-dashoffset:0; }
:root:root:root .founder__lines .line{ display:block; overflow:hidden; }
:root:root:root .founder__lines .line > :is(span,:where(.gx-tag-span)),:root:root:root .founder__lines .line > :where(.gx-w) > :where(.elementor-widget-container) > span{ display:inline-block; }
:root:root:root .tabs__rail{ position:relative; margin:0 calc(var(--gutter) * -1) clamp(28px, 4vw, 40px); padding-inline:var(--gutter); overflow-x:auto; scrollbar-width:none; text-align:center; }
:root:root:root .tabs__rail::-webkit-scrollbar{ display:none; }
:root:root:root .tabs__list{ position:relative; display:inline-flex; gap:4px; padding:6px; border-radius:var(--r-pill); background:#fff; border:1px solid var(--line); box-shadow:var(--sh-1); white-space:nowrap; }
:root:root:root .tabs__indicator{ position:absolute; left:0; top:6px; height:calc(100% - 12px); width:0; border-radius:var(--r-pill); background:var(--blue-500); box-shadow:var(--sh-btn-blue); transition:transform 450ms var(--ease-in-out), width 450ms var(--ease-in-out); }
:root:root:root .tabs__tab{ position:relative; z-index:1; display:inline-flex; align-items:center; gap:10px; height:46px; padding:0 18px 0 8px; border-radius:var(--r-pill); font:500 15px/1 var(--font); color:var(--gray-900); transition:color var(--dur-2); overflow:hidden; }
:root:root:root .tabs__tab .num{ width:30px; height:30px; transition:background-color var(--dur-2), color var(--dur-2); }
:root:root:root .tabs__tab[aria-selected="true"]{ color:#fff; font-weight:600; }
:root:root:root .tabs__tab[aria-selected="true"] .num{ background:#fff; color:var(--blue-500); }
:root:root:root .tabs__progress{ position:absolute; left:46px; right:18px; bottom:6px; height:2px; border-radius:2px; background:rgba(255,255,255,.8); transform-origin:left; transform:scaleX(0); }
:root:root:root .tabs__panels{ position:relative; }
:root:root:root .tabs__panel{ display:grid; gap:clamp(32px, 5vw, 56px); align-items:center; padding:clamp(20px, 3vw, 40px); border-radius:var(--r-lg); background:var(--bg-soft); border:1px solid var(--line); }
:root:root:root .tabs__panel:focus-visible{ outline-offset:6px; }
:root:root:root .panel__text{ display:grid; justify-items:start; gap:14px; }
:root:root:root .panel__text > :is(p,:where(.gx-tag-p)),:root:root:root .panel__text > :where(.gx-w) > :where(.elementor-widget-container) > p{ color:var(--text-muted); }
:root:root:root .panel__sub{ color:var(--gray-900) !important; font-weight:600; }
:root:root:root :is(.panel__brand img,.panel__brand:not(.gx-w)){ height:34px; width:auto; }
:root:root:root .panel__chips{ display:flex; flex-wrap:wrap; gap:8px; }
:root:root:root .panel__chips :is(span,:where(.gx-tag-span)){ padding:8px 12px; border-radius:var(--r-pill); background:#fff; border:1px solid var(--line); font-size:13px; font-weight:500; color:var(--blue-900); }
:root:root:root .panel__ctas{ display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-top:6px; }
:root:root:root .panel__text .checklist{ margin-block:4px; }
:root:root:root .pillars{ display:grid; grid-template-columns:1fr 1fr; gap:12px; width:100%; }
:root:root:root .pillars div{ padding:16px; border-radius:var(--r-md); background:#fff; border:1px solid var(--line); }
:root:root:root .pillars strong{ display:block; font:600 16px/1.3 var(--font); color:var(--gray-900); margin-bottom:4px; }
:root:root:root .pillars :is(span,:where(.gx-tag-span)){ font-size:14px; color:var(--text-muted); line-height:1.5; }
:root:root:root .why__grid{ display:grid; gap:clamp(32px, 5vw, 64px); align-items:center; }
:root:root:root .why__media{ position:relative; border-radius:var(--r-lg); overflow:hidden; aspect-ratio:4/4.4; box-shadow:var(--sh-3); }
:root:root:root .why__media img{ width:100%; height:100%; object-fit:cover; object-position:30% 25%; }
:root:root:root .why__media-tag{ position:absolute; left:16px; bottom:16px; right:16px; display:flex; align-items:center; gap:12px; padding:14px 16px; border-radius:var(--r-md); background:rgba(255,255,255,.9); backdrop-filter:var(--blur-glass); -webkit-backdrop-filter:var(--blur-glass); font:500 14px/1.35 var(--font); color:var(--gray-900); }
:root:root:root .why__list{ display:grid; gap:22px; }
:root:root:root .why__item{ display:grid; grid-template-columns:auto 1fr; gap:16px; align-items:start; }
:root:root:root .why__ico{ display:grid; place-items:center; width:40px; height:40px; border-radius:12px; color:#fff; background:var(--tag-1); }
:root:root:root .why__ico .ico{ width:20px; height:20px; }
:root:root:root .why__item:nth-child(2) .why__ico{ background:var(--tag-2); color:var(--blue-900); }
:root:root:root .why__item:nth-child(3) .why__ico{ background:var(--tag-3); color:var(--blue-900); }
:root:root:root .why__item:nth-child(4) .why__ico{ background:var(--tag-4); }
:root:root:root .why__item:nth-child(5) .why__ico{ background:var(--tag-5); }
:root:root:root .why__item h3{ font-size:17px; font-weight:600; margin-bottom:4px; }
:root:root:root .why__item :is(p,:where(.gx-tag-p)){ font-size:15px; color:var(--text-muted); }
:root:root:root .reviews__grid{ display:grid; gap:20px; }
:root:root:root .review{ display:flex; flex-direction:column; gap:16px; padding:24px; border-radius:var(--r-md); background:#fff; border:1px solid var(--line); box-shadow:var(--sh-card); transition:transform var(--dur-2) var(--ease-out), box-shadow var(--dur-2); }
:root:root:root .review:hover{ box-shadow:var(--sh-3); }
:root:root:root .review__top{ display:flex; justify-content:space-between; align-items:center; gap:12px; }
:root:root:root .review__logo{ height:26px; width:auto; max-width:110px; object-fit:contain; filter:grayscale(1); opacity:.7; mix-blend-mode:multiply; }
:root:root:root .review__logo--todo{ display:inline-flex; align-items:center; height:26px; padding:0 10px; font-size:12px; font-weight:600; color:var(--text-soft); border-radius:8px; }
:root:root:root .review__rating{ display:inline-flex; align-items:center; gap:5px; font:700 14px/1 var(--font); color:var(--gray-900); }
:root:root:root .review__rating svg{ width:16px; height:16px; fill:var(--tag-4); }
:root:root:root .review__quote{ font:400 var(--fs-body)/1.6 var(--font); color:var(--gray-900); flex:1; }
:root:root:root .review__who{ display:flex; align-items:center; gap:12px; padding-top:14px; border-top:1px solid var(--line); }
:root:root:root .review__av{ display:grid; place-items:center; width:42px; height:42px; border-radius:50%; background:var(--blue-50); color:var(--blue-500); font:700 16px/1 var(--font); flex:none; }
:root:root:root .review__who b{ display:inline-block; font:600 15px/1.3 var(--font); color:var(--gray-900); padding:1px 6px; }
:root:root:root .review__who small{ display:block; font-size:13px; color:var(--text-soft); margin-top:2px; }
:root:root:root .reviews__note{ display:flex; align-items:center; gap:10px; padding:10px 16px; border-radius:var(--r-pill); background:var(--bg-soft); border:1px solid var(--line); font-size:var(--fs-small); color:var(--text-muted); }
:root:root:root .faqt__grid{ display:grid; gap:clamp(28px, 4vw, 56px); align-items:start; }
:root:root:root .faqt__intro{ display:grid; gap:18px; justify-items:start; }
:root:root:root .cta{ text-align:center; }
:root:root:root .cta__arcs{ position:absolute; z-index:-1; left:50%; top:50%; width:min(820px, 140%); transform:translate(-50%, -50%) rotate(-10deg); opacity:.5; }
:root:root:root .cta::before{ content:""; position:absolute; inset:0; z-index:-1; background:radial-gradient(50% 70% at 50% 115%, rgba(246,145,33,.35), transparent 70%); }
:root:root:root .cta .container{ display:grid; justify-items:center; gap:18px; }
:root:root:root :is(.cta__title .elementor-heading-title,.cta__title:not(.gx-w)){ color:#fff; font-size:var(--fs-h2); max-width:20ch; letter-spacing:-.03em; }
:root:root:root .cta__lead{ color:var(--blue-100); max-width:52ch; font-size:var(--fs-lead); }
:root:root:root .cta__btns{ display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin-top:8px; }
:root:root:root .footer{ padding-block:clamp(56px, 7vw, 88px) 0; }
:root:root:root .footer__arcs{ position:absolute; z-index:-1; right:-12%; bottom:-40%; width:60vw; max-width:900px; fill:var(--orange-500); opacity:.06; pointer-events:none; }
:root:root:root .footer__top{ display:grid; gap:40px; padding-bottom:48px; border-bottom:1px solid var(--line); }
:root:root:root .footer__logo{ display:flex; align-items:center; gap:12px; color:var(--gray-900); margin-bottom:16px; }
:root:root:root .footer__logo img{ width:52px; height:52px; mix-blend-mode:multiply; }
:root:root:root .footer__logo strong{ display:block; font:700 16px/1.2 var(--font); }
:root:root:root .footer__logo small{ color:var(--text-soft); font-size:13px; }
:root:root:root .footer__brand :is(p,:where(.gx-tag-p)){ max-width:38ch; font-size:15px; color:var(--text-muted); }
:root:root:root .footer__social{ display:flex; gap:10px; margin-top:20px; }
:root:root:root .footer__social a{ display:grid; place-items:center; width:44px; height:44px; border-radius:50%; background:var(--bg-page); color:var(--blue-900); transition:background-color var(--dur-1), color var(--dur-1), transform var(--dur-2) var(--ease-out); }
:root:root:root .footer__social a:hover{ background:var(--blue-500); color:#fff; transform:translateY(-3px); }
:root:root:root .footer__col{ display:grid; align-content:start; gap:10px; font-size:15px; color:var(--text-muted); }
:root:root:root .footer__col h3{ font:600 16px/1.3 var(--font); margin-bottom:6px; }
:root:root:root .footer__col a{ color:var(--text-muted); width:fit-content; transition:color var(--dur-1); }
:root:root:root .footer__col a:hover{ color:var(--blue-500); }
:root:root:root .footer__bottom{ display:flex; flex-wrap:wrap; justify-content:space-between; gap:10px; padding-block:24px; font-size:13px; color:var(--text-soft); }
:root:root:root .footer__bottom a{ display:inline-block; padding:14px 0; margin:-14px 0; color:var(--text-muted); }
:root:root:root .page-hero{ padding-top:calc(var(--nav-h) + var(--nav-top) + 48px); }
:root:root:root .page-hero__grid{ display:grid; gap:clamp(32px, 5vw, 64px); align-items:center; }
:root:root:root .page-hero__text{ display:grid; justify-items:start; gap:18px; }
:root:root:root .page-hero--center .page-hero__text{ justify-items:center; text-align:center; max-width:820px; margin-inline:auto; }
:root:root:root .page-hero--center .lead{ margin-inline:auto; }
:root:root:root .page-hero .sparkle--a{ left:4%; top:30%; }
:root:root:root .page-hero .sparkle--b{ right:6%; top:22%; width:16px; height:16px; animation-delay:-7s; }
:root:root:root .crumbs{ display:flex; flex-wrap:wrap; align-items:center; gap:8px; font-size:var(--fs-small); color:var(--text-soft); }
:root:root:root .crumbs a{ color:var(--text-muted); }
:root:root:root .crumbs a:hover{ color:var(--blue-500); }
:root:root:root .crumbs :is(li,:where(.gx-tag-li)) + :is(li,:where(.gx-tag-li))::before,:root:root:root .crumbs :is(li,:where(.gx-tag-li)) + :where(.gx-w) > :where(.elementor-widget-container) > li::before,:root:root:root .crumbs :where(.gx-w):has(> :where(.elementor-widget-container) > li) + :is(li,:where(.gx-tag-li))::before,:root:root:root .crumbs :where(.gx-w):has(> :where(.elementor-widget-container) > li) + :where(.gx-w) > :where(.elementor-widget-container) > li::before{ content:"/"; margin-right:8px; color:var(--gray-400); }
:root:root:root .page-hero__visual{ position:relative; }
:root:root:root .page-hero__visual .panel__visual{ width:100%; }
:root:root:root .page-hero__logo{ position:absolute; z-index:4; left:-12px; top:-16px; padding:12px 16px; border-radius:var(--r-md); background:#fff; border:1px solid var(--line); box-shadow:var(--sh-3); }
:root:root:root .page-hero__logo img{ height:30px; width:auto; }
:root:root:root .prose{ max-width:72ch; color:var(--text-muted); font-size:var(--fs-body-lg); }
:root:root:root .prose > * + *,:root:root:root .prose > * + :where(.gx-w) > :where(.elementor-widget-container) > *,:root:root:root .prose > :where(.gx-w):has(> :where(.elementor-widget-container) > *) + *,:root:root:root .prose > :where(.gx-w):has(> :where(.elementor-widget-container) > *) + :where(.gx-w) > :where(.elementor-widget-container) > *{ margin-top:16px; }
:root:root:root .prose h2{ font-size:var(--fs-h3); margin-top:40px; color:var(--gray-900); }
:root:root:root .prose strong{ color:var(--gray-900); }
:root:root:root .split{ display:grid; gap:clamp(28px, 4vw, 64px); align-items:start; }
:root:root:root .split__aside{ display:grid; gap:16px; justify-items:start; }
:root:root:root .audience{ display:grid; gap:16px; }
:root:root:root .steps{ display:grid; gap:16px; counter-reset:step; }
:root:root:root .step{ position:relative; padding:24px 24px 24px 76px; border-radius:var(--r-md); background:#fff; border:1px solid var(--line); }
:root:root:root .step::before{ counter-increment:step; content:counter(step, decimal-leading-zero); position:absolute; left:22px; top:22px; display:grid; place-items:center; width:38px; height:38px; border-radius:50%; background:var(--blue-500); color:#fff; font:700 13px/1 var(--font); }
:root:root:root .step h3{ font-size:17px; font-weight:600; margin-bottom:4px; }
:root:root:root .step :is(p,:where(.gx-tag-p)){ font-size:15px; color:var(--text-muted); }
:root:root:root .others{ display:grid; gap:16px; }
:root:root:root .other{ display:flex; align-items:center; gap:14px; padding:18px; border-radius:var(--r-md); background:#fff; border:1px solid var(--line); color:var(--gray-900); transition:transform var(--dur-2) var(--ease-out), box-shadow var(--dur-2); }
:root:root:root .other:hover{ transform:translateY(-3px); box-shadow:var(--sh-3); }
:root:root:root .other strong{ display:block; font-weight:600; font-size:15px; }
:root:root:root .other small{ color:var(--text-soft); font-size:13px; }
:root:root:root .other .ico--go{ margin-left:auto; color:var(--blue-500); }
:root:root:root .tl{ position:relative; display:grid; gap:18px; padding-left:28px; }
:root:root:root .tl::before{ content:""; position:absolute; left:8px; top:8px; bottom:8px; width:2px; background:linear-gradient(var(--orange-500), var(--blue-500)); border-radius:2px; }
:root:root:root .tl__item{ position:relative; padding:20px 22px; border-radius:var(--r-md); background:#fff; border:1px solid var(--line); }
:root:root:root .tl__item::before{ content:""; position:absolute; left:-27px; top:24px; width:16px; height:16px; border-radius:50%; background:#fff; border:4px solid var(--orange-500); }
:root:root:root .tl__item b{ display:block; font:700 20px/1.2 var(--font); color:var(--gray-900); margin-bottom:6px; }
:root:root:root .tl__item :is(p,:where(.gx-tag-p)){ color:var(--text-muted); font-size:15px; }
:root:root:root .partners{ display:grid; grid-template-columns:repeat(2, 1fr); gap:16px; }
:root:root:root .partner{ display:grid; gap:12px; place-items:center; text-align:center; padding:24px; border-radius:var(--r-md); background:var(--bg-soft); border:1px solid var(--line); }
:root:root:root .partner img{ height:48px; width:auto; object-fit:contain; mix-blend-mode:multiply; }
:root:root:root .partner :is(span,:where(.gx-tag-span)){ font-size:var(--fs-small); color:var(--text-muted); }
:root:root:root .mission{ display:grid; gap:16px; }
:root:root:root .mission__card{ padding:28px; border-radius:var(--r-lg); background:var(--bg-soft); border:1px solid var(--line); display:grid; gap:12px; }
:root:root:root .mission__card--navy{ background:var(--grad-navy); color:var(--blue-100); border:0; }
:root:root:root .mission__card--navy h2{ color:#fff; }
:root:root:root .faq__layout{ display:grid; gap:28px; align-items:start; }
:root:root:root .faq__side{ display:grid; gap:12px; }
:root:root:root .faq__search{ position:relative; }
:root:root:root .faq__search input{ width:100%; height:52px; padding:0 16px 0 46px; border-radius:var(--r-pill); border:1px solid var(--line); background:#fff; font:400 var(--fs-body) var(--font); color:var(--gray-900); }
:root:root:root .faq__search input:focus{ outline:none; border-color:var(--blue-500); box-shadow:0 0 0 4px rgba(0,99,175,.12); }
:root:root:root .faq__search .ico{ position:absolute; left:16px; top:16px; color:var(--text-soft); }
:root:root:root .faq__cats{ display:flex; flex-wrap:wrap; gap:8px; }
:root:root:root .faq__cat{ display:inline-flex; align-items:center; gap:8px; height:40px; padding:0 14px 0 6px; border-radius:var(--r-pill); background:#fff; border:1px solid var(--line); font:500 14px/1 var(--font); color:var(--gray-900); transition:background-color var(--dur-1), color var(--dur-1), border-color var(--dur-1); }
:root:root:root .faq__cat .num{ width:28px; height:28px; }
:root:root:root .faq__cat[aria-pressed="true"]{ background:var(--blue-500); border-color:var(--blue-500); color:#fff; }
:root:root:root .faq__cat[aria-pressed="true"] .num{ background:#fff; color:var(--blue-500); }
:root:root:root .faq__group + .faq__group{ margin-top:36px; }
:root:root:root .faq__group h2{ font-size:var(--fs-h3); margin-bottom:16px; display:flex; align-items:center; gap:12px; scroll-margin-top:110px; }
:root:root:root .faq__empty{ padding:28px; border-radius:var(--r-md); background:var(--bg-soft); text-align:center; color:var(--text-muted); }
:root:root:root mark{ background:var(--orange-100); color:inherit; border-radius:3px; padding:0 2px; }
:root:root:root .contact__grid{ display:grid; gap:clamp(28px, 5vw, 64px); align-items:start; }
:root:root:root .contact__grid{ grid-template-areas:"intro" "form" "info"; }
:root:root:root .contact__grid > .page-hero__text{ grid-area:intro; }
:root:root:root .contact__grid > .form,:root:root:root .contact__grid > :where(.gx-w) > :where(.elementor-widget-container) > .form{ grid-area:form; }
:root:root:root .contact__info{ grid-area:info; display:grid; gap:18px; justify-items:start; }
:root:root:root .contact__info .contact__cards{ width:100%; }
:root:root:root .contact__cards{ display:grid; gap:12px; }
:root:root:root .ccard{ display:flex; gap:14px; align-items:flex-start; padding:18px; border-radius:var(--r-md); background:var(--bg-soft); border:1px solid var(--line); }
:root:root:root .ccard b{ display:block; font:600 14px/1.4 var(--font); color:var(--gray-900); }
:root:root:root .ccard :is(span,:where(.gx-tag-span)),:root:root:root .ccard a{ font-size:15px; color:var(--text-muted); }
:root:root:root .ccard a{ color:var(--blue-500); }
:root:root:root .map-card{ position:relative; display:grid; place-items:center; min-height:220px; border-radius:var(--r-lg); overflow:hidden; background:linear-gradient(135deg, var(--blue-50), #fff); border:1px solid var(--line); text-align:center; padding:24px; }
:root:root:root .map-card::before{ content:""; position:absolute; inset:0; background-image:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px); background-size:32px 32px; opacity:.8; }
:root:root:root .map-card > *,:root:root:root .map-card > :where(.gx-w) > :where(.elementor-widget-container) > *{ position:relative; }
:root:root:root .map-card__pin{ display:grid; place-items:center; width:56px; height:56px; margin:0 auto 12px; border-radius:50%; background:var(--blue-500); color:#fff; box-shadow:0 0 0 10px rgba(0,99,175,.12); }
:root:root:root .form{ padding:clamp(22px, 4vw, 40px); border-radius:var(--r-lg); background:#fff; border:1px solid var(--line); box-shadow:var(--sh-3); }
:root:root:root .stepper{ display:flex; justify-content:space-between; gap:8px; margin-bottom:28px; }
:root:root:root .stepper :is(li,:where(.gx-tag-li)){ position:relative; flex:1; display:flex; flex-direction:column; align-items:center; gap:8px; font:500 13px/1 var(--font); color:var(--text-soft); }
:root:root:root .stepper :is(li,:where(.gx-tag-li)) :is(span,:where(.gx-tag-span)){ position:relative; z-index:1; display:grid; place-items:center; width:34px; height:34px; border-radius:50%; background:var(--bg-page); color:var(--text-muted); font-weight:700; transition:background-color 400ms, color 400ms; }
:root:root:root .stepper :is(li,:where(.gx-tag-li)):not(:last-child):not(:where(.elementor-widget-container) > *)::after,:root:root:root .stepper :where(.gx-w):last-child > :where(.elementor-widget-container) > li:not()::after{ content:""; position:absolute; top:17px; left:calc(50% + 22px); right:calc(-50% + 22px); height:2px; background:var(--line); }
:root:root:root .stepper :is(li,:where(.gx-tag-li)).is-done::after{ background:var(--blue-500); }
:root:root:root .stepper :is(li,:where(.gx-tag-li)).is-active :is(span,:where(.gx-tag-span)),:root:root:root .stepper :is(li,:where(.gx-tag-li)).is-done :is(span,:where(.gx-tag-span)){ background:var(--blue-500); color:#fff; }
:root:root:root .stepper :is(li,:where(.gx-tag-li)).is-active{ color:var(--gray-900); }
:root:root:root .form__step{ border:0; margin:0; padding:0; display:grid; gap:16px; }
:root:root:root .form__step legend{ font:600 18px/1.3 var(--font); color:var(--gray-900); margin-bottom:8px; padding:0; }
:root:root:root .field{ display:grid; gap:6px; }
:root:root:root .field label{ font:500 14px/1.3 var(--font); color:var(--gray-900); }
:root:root:root .field input,:root:root:root .field select,:root:root:root .field textarea{ width:100%; min-height:52px; padding:12px 16px; border-radius:var(--r-sm); border:1px solid var(--line); background:var(--bg-soft); font:400 16px/1.4 var(--font); color:var(--gray-900); transition:border-color var(--dur-1), box-shadow var(--dur-1), background-color var(--dur-1); }
:root:root:root .field textarea{ resize:vertical; min-height:130px; }
:root:root:root .field input:hover,:root:root:root .field select:hover,:root:root:root .field textarea:hover{ border-color:var(--gray-400); }
:root:root:root .field input:focus,:root:root:root .field select:focus,:root:root:root .field textarea:focus{ outline:none; background:#fff; border-color:var(--blue-500); box-shadow:0 0 0 4px rgba(0,99,175,.12); }
:root:root:root .field:has(:required) > label::after,:root:root:root .field:has(:required) > :where(.gx-w) > :where(.elementor-widget-container) > label::after{ content:" *"; color:var(--orange-700); }
:root:root:root .field.is-invalid input,:root:root:root .field.is-invalid select,:root:root:root .field.is-invalid textarea{ border-color:var(--danger); }
:root:root:root .field__err{ font-size:13px; color:var(--danger); }
:root:root:root .field-row{ display:grid; gap:16px; }
:root:root:root .form__nav{ display:flex; justify-content:flex-end; gap:12px; margin-top:24px; }
:root:root:root .form__status{ margin-top:14px; font-size:14px; color:var(--success); }
:root:root:root .panel__visual{ position:relative; container-type:size; aspect-ratio:520/420; border-radius:var(--r-xl); background:linear-gradient(160deg, #fff 0%, var(--blue-50) 100%); border:1px solid var(--gray-200); box-shadow:var(--sh-3); overflow:hidden; }
:root:root:root .panel__visual::before{ content:""; position:absolute; right:-18%; top:-18%; width:60%; aspect-ratio:1; background:url("https://www.cm.gts-africa.com/wp-content/uploads/gts/media/gts-arcs.svg") center/contain no-repeat; opacity:.08; animation:rotate 50s linear infinite; }
:root:root:root .anim__svg{ position:absolute; inset:0; width:100%; height:100%; }
:root:root:root .svg-label{ font:600 13px var(--font-body); fill:var(--blue-900); }
:root:root:root .tabs__panel:not(.is-active) *,:root:root:root .tabs__panel:not(.is-active) *::before,:root:root:root .tabs__panel:not(.is-active) *::after{ animation-play-state:paused !important; }
:root:root:root .track{ stroke:var(--gray-200); }
:root:root:root .pulse{ stroke:url(#flow); stroke-width:3.5; stroke-dasharray:28 400; stroke-dashoffset:28; animation:dash 2.4s var(--ease-in-out) infinite; }
:root:root:root .pulse.p0{ stroke:var(--orange-500); animation-duration:2.4s; }
:root:root:root .pulse.p1{ animation-delay:.6s; }
:root:root:root .pulse.p2{ animation-delay:.8s; }
:root:root:root .pulse.p3{ animation-delay:1s; }
:root:root:root .pulse.p4{ animation-delay:1.2s; }
:root:root:root .ring{ transform-box:fill-box; transform-origin:center; animation:ring-svg 1.6s ease-out infinite; }
:root:root:root .halo-c{ transform-box:fill-box; transform-origin:center; animation:breathe 3s var(--ease-in-out) infinite; }
:root:root:root .dest > g > g{ animation:pop 2.4s var(--ease-out) infinite; transform-box:fill-box; transform-origin:center; }
:root:root:root .dest > g:nth-child(1) > g{ animation-delay:1.1s; }
:root:root:root .dest > g:nth-child(2) > g{ animation-delay:1.3s; }
:root:root:root .dest > g:nth-child(3) > g{ animation-delay:1.5s; }
:root:root:root .dest > g:nth-child(4) > g{ animation-delay:1.7s; }
:root:root:root .anim--ivr .pulse{ stroke:var(--orange-500); stroke-dasharray:30 600; stroke-dashoffset:30; animation:dash-long 4.5s var(--ease-in-out) infinite; }
:root:root:root .pulse.q2{ animation-delay:1.5s !important; }
:root:root:root .pulse.q3{ animation-delay:3s !important; }
:root:root:root .pres{ fill:var(--success); stroke:#fff; stroke-width:2; animation:presence 9s steps(1) infinite; }
:root:root:root .pres.s2{ animation-delay:-3s; }
:root:root:root .pres.s3{ animation-delay:-6s; }
:root:root:root .bar{ transform-box:fill-box; transform-origin:left; animation:bar 4.5s var(--ease-in-out) infinite; }
:root:root:root .bar.b2{ animation-delay:1.5s; }
:root:root:root .bar.b3{ animation-delay:3s; }
:root:root:root .mobi-web{ position:absolute; left:6%; top:12%; width:50%; border-radius:var(--r-md); background:#fff; box-shadow:var(--sh-2); border:1px solid var(--gray-200); overflow:hidden; animation:float 7s var(--ease-in-out) infinite; }
:root:root:root .mobi-web__bar{ display:flex; align-items:center; gap:5px; padding:10px 12px; background:var(--gray-100); font:500 11px/1 var(--font-body); color:var(--gray-600); }
:root:root:root .mobi-web__bar i{ width:8px; height:8px; border-radius:50%; background:var(--gray-400); }
:root:root:root .mobi-web__bar :is(span,:where(.gx-tag-span)){ margin-left:8px; }
:root:root:root .mobi-web__body{ display:grid; gap:8px; padding:14px; }
:root:root:root .mobi-web__row{ display:flex; justify-content:space-between; padding:9px 12px; border-radius:10px; background:var(--gray-25); font-size:12px; }
:root:root:root .mobi-web__row b{ color:var(--blue-900); font-weight:600; }
:root:root:root .mobi-web__row em{ font-style:normal; color:var(--green-700); font-weight:600; }
:root:root:root .mobi-phone{ position:absolute; right:7%; bottom:-4%; width:32%; aspect-ratio:9/17; background:var(--blue-900); border-radius:30px; padding:8px; box-shadow:var(--sh-3); transform:rotate(6deg); animation:float 6s var(--ease-in-out) infinite; animation-delay:-2s; }
:root:root:root .mobi-phone__screen{ height:100%; border-radius:23px; background:#fff; display:flex; flex-direction:column; align-items:center; padding:18px 10px; gap:8px; }
:root:root:root .mobi-phone__screen img{ width:36px; }
:root:root:root .mobi-phone__num{ font:700 12px/1.2 var(--font-display); color:var(--blue-900); text-align:center; }
:root:root:root .mobi-phone__keys{ display:grid; grid-template-columns:repeat(3, 1fr); gap:6px; margin-top:auto; }
:root:root:root .mobi-phone__keys i{ width:18px; height:18px; border-radius:50%; background:var(--gray-100); }
:root:root:root .mobi-phone__call{ display:grid; place-items:center; width:40px; height:40px; border-radius:50%; background:var(--green-700); color:#fff; animation:ring 1.6s ease-out infinite; }
:root:root:root .anim--mobi .chip--a{ left:8%; bottom:24%; }
:root:root:root .anim--mobi .chip--b{ left:30%; bottom:8%; }
:root:root:root .anim--mobi .chip--c{ right:4%; top:6%; }
:root:root:root .anim--cc{ display:grid; grid-template-rows:auto auto 1fr; gap:14px; padding:22px; }
:root:root:root .cc-channels{ display:flex; flex-wrap:wrap; gap:8px; }
:root:root:root .cc-channels :is(span,:where(.gx-tag-span)){ display:inline-flex; align-items:center; gap:6px; padding:8px 12px; border-radius:var(--r-pill); background:#fff; border:1px solid var(--gray-200); font:600 12px/1 var(--font-body); color:var(--blue-900); animation:pop 3s var(--ease-out) infinite; }
:root:root:root .cc-channels :is(span,:where(.gx-tag-span)):nth-child(2):not(:where(.elementor-widget-container) > *),:root:root:root .cc-channels :where(.gx-w):nth-child(2) > :where(.elementor-widget-container) > span{ animation-delay:.4s; }
:root:root:root .cc-channels :is(span,:where(.gx-tag-span)):nth-child(3):not(:where(.elementor-widget-container) > *),:root:root:root .cc-channels :where(.gx-w):nth-child(3) > :where(.elementor-widget-container) > span{ animation-delay:.8s; }
:root:root:root .cc-channels :is(span,:where(.gx-tag-span)):nth-child(4):not(:where(.elementor-widget-container) > *),:root:root:root .cc-channels :where(.gx-w):nth-child(4) > :where(.elementor-widget-container) > span{ animation-delay:1.2s; }
:root:root:root .cc-channels .ico{ width:15px; height:15px; color:var(--orange-600); }
:root:root:root .cc-queue{ display:flex; align-items:center; gap:12px; padding:12px 14px; border-radius:var(--r-md); background:#fff; border:1px solid var(--gray-200); }
:root:root:root .cc-queue__label{ font:600 12px/1 var(--font-body); color:var(--gray-600); white-space:nowrap; }
:root:root:root .cc-queue__track{ position:relative; flex:1; height:24px; overflow:hidden; }
:root:root:root .cc-queue__track i{ position:absolute; top:4px; left:0; width:16px; height:16px; border-radius:50%; background:var(--grad-orange); animation:queue 5s linear infinite; }
:root:root:root .cc-queue__track i:nth-child(2){ animation-delay:-1s; }
:root:root:root .cc-queue__track i:nth-child(3){ animation-delay:-2s; }
:root:root:root .cc-queue__track i:nth-child(4){ animation-delay:-3s; }
:root:root:root .cc-queue__track i:nth-child(5){ animation-delay:-4s; }
:root:root:root .cc-agents{ display:grid; grid-template-columns:repeat(3, 1fr); gap:10px; align-self:start; }
:root:root:root .cc-agent{ display:grid; justify-items:center; gap:4px; padding:12px 6px; border-radius:var(--r-md); background:#fff; border:1px solid var(--gray-200); text-align:center; }
:root:root:root .cc-agent__av{ display:grid; place-items:center; width:40px; height:40px; border-radius:50%; background:var(--blue-50); color:var(--blue-500); }
:root:root:root .cc-agent b{ font-size:12px; color:var(--blue-900); }
:root:root:root .cc-agent em{ font-style:normal; font-size:11px; color:var(--success); }
:root:root:root .cc-agent em.busy{ color:var(--orange-700); }
:root:root:root .cc-wall{ position:absolute; right:22px; bottom:22px; left:22px; padding:14px 16px; border-radius:var(--r-md); background:var(--grad-navy); color:#fff; box-shadow:var(--sh-3); }
:root:root:root .cc-wall__head{ display:flex; justify-content:space-between; align-items:center; margin-bottom:10px; }
:root:root:root .cc-wall__head small{ color:var(--blue-200); font-size:11px; }
:root:root:root .cc-wall__kpis{ display:grid; grid-template-columns:repeat(3, 1fr); gap:8px; }
:root:root:root .cc-wall__kpis b{ display:block; font:700 22px/1 var(--font-display); font-variant-numeric:tabular-nums; }
:root:root:root .cc-wall__kpis :is(span,:where(.gx-tag-span)){ font-size:11px; color:var(--blue-200); }
:root:root:root .sms-dash{ position:absolute; left:6%; top:8%; width:56%; padding:16px; border-radius:var(--r-md); background:#fff; border:1px solid var(--gray-200); box-shadow:var(--sh-3); z-index:2; }
:root:root:root .sms-dash__head{ display:flex; justify-content:space-between; align-items:center; margin-bottom:10px; font-size:13px; color:var(--blue-900); }
:root:root:root .sms-dash__send{ padding:6px 12px; border-radius:var(--r-pill); background:var(--grad-orange); color:var(--blue-900); font-weight:600; font-size:12px; animation:press 3s var(--ease-out) infinite; }
:root:root:root .sms-dash__msg{ padding:10px 12px; border-radius:12px 12px 12px 4px; background:var(--blue-50); font-size:12px; color:var(--blue-900); margin-bottom:12px; line-height:1.4; }
:root:root:root .sms-dash__kpis{ display:grid; grid-template-columns:repeat(3, 1fr); gap:6px; }
:root:root:root .sms-dash__kpis b{ display:block; font:700 17px/1.1 var(--font-display); color:var(--blue-900); font-variant-numeric:tabular-nums; }
:root:root:root .sms-dash__kpis :is(span,:where(.gx-tag-span)){ font-size:11px; color:var(--gray-600); }
:root:root:root .sms-dash__note{ display:block; margin-top:10px; font-size:12px; color:var(--gray-600); }
:root:root:root .sms-fan{ position:absolute; left:60%; top:34%; width:1px; height:1px; z-index:1; }
:root:root:root .sms-b{ position:absolute; left:-13px; top:-10px; width:26px; height:20px; border-radius:8px 8px 8px 3px; background:var(--grad-orange); opacity:0; animation:fly 3s var(--ease-out) infinite; }
:root:root:root .sms-b.b1{ --tx:24cqw; --ty:-22cqh; }
:root:root:root .sms-b.b2{ --tx:26cqw; --ty:-4cqh; animation-delay:.25s; }
:root:root:root .sms-b.b3{ --tx:26cqw; --ty:14cqh; animation-delay:.5s; }
:root:root:root .sms-b.b4{ --tx:24cqw; --ty:32cqh; animation-delay:.75s; }
:root:root:root .sms-b.b5{ --tx:14cqw; --ty:50cqh; animation-delay:1s; }
:root:root:root .sms-phones :is(span,:where(.gx-tag-span)){ position:absolute; width:clamp(22px, 6cqw, 34px); aspect-ratio:9/16; border-radius:9px; background:var(--blue-900); box-shadow:var(--sh-2); transform:translate(-50%, -50%); }
:root:root:root .sms-phones :is(span,:where(.gx-tag-span))::after{ content:""; position:absolute; inset:3px; border-radius:6px; background:linear-gradient(180deg, #0B2C52, var(--blue-700)); }
:root:root:root .sms-phones :is(span,:where(.gx-tag-span)):nth-child(1):not(:where(.elementor-widget-container) > *),:root:root:root .sms-phones :where(.gx-w):nth-child(1) > :where(.elementor-widget-container) > span{ left:84%; top:12%; }
:root:root:root .sms-phones :is(span,:where(.gx-tag-span)):nth-child(2):not(:where(.elementor-widget-container) > *),:root:root:root .sms-phones :where(.gx-w):nth-child(2) > :where(.elementor-widget-container) > span{ left:86%; top:30%; }
:root:root:root .sms-phones :is(span,:where(.gx-tag-span)):nth-child(3):not(:where(.elementor-widget-container) > *),:root:root:root .sms-phones :where(.gx-w):nth-child(3) > :where(.elementor-widget-container) > span{ left:86%; top:48%; }
:root:root:root .sms-phones :is(span,:where(.gx-tag-span)):nth-child(4):not(:where(.elementor-widget-container) > *),:root:root:root .sms-phones :where(.gx-w):nth-child(4) > :where(.elementor-widget-container) > span{ left:84%; top:66%; }
:root:root:root .sms-phones :is(span,:where(.gx-tag-span)):nth-child(5):not(:where(.elementor-widget-container) > *),:root:root:root .sms-phones :where(.gx-w):nth-child(5) > :where(.elementor-widget-container) > span{ left:74%; top:84%; }
@media (hover:none){:root:root:root .chip,:root:root:root .nav__inner,:root:root:root .why__media-tag{ -webkit-backdrop-filter:none; backdrop-filter:none; }
 }
:root:root:root .is-offscreen,:root:root:root .is-offscreen *,:root:root:root .is-offscreen *::before,:root:root:root .is-offscreen *::after{ animation-play-state:paused !important; }
@keyframes float{ 0%,100% { transform:translateY(0); } 50% { transform:translateY(-12px); } }
@keyframes rotate{ to { transform:rotate(360deg); } }
@keyframes spin{ to { transform:rotate(360deg); } }
@keyframes marquee{ to { transform:translateX(-50%); } }
@keyframes live{ 0% { box-shadow:0 0 0 0 rgba(18,128,92,.5); } 100% { box-shadow:0 0 0 8px rgba(18,128,92,0); } }
@keyframes ring{ 0% { box-shadow:0 0 0 0 rgba(246,145,33,.6); } 100% { box-shadow:0 0 0 18px rgba(246,145,33,0); } }
@keyframes ring-svg{ 0%,100% { transform:scale(1); } 50% { transform:scale(1.12); } }
@keyframes breathe{ 0%,100% { transform:scale(.9); opacity:.1; } 50% { transform:scale(1.08); opacity:.22; } }
@keyframes dash{ 0% { stroke-dashoffset:28; } 60%,100% { stroke-dashoffset:-200; } }
@keyframes dash-long{ 0% { stroke-dashoffset:30; } 40%,100% { stroke-dashoffset:-300; } }
@keyframes pop{ 0%,40%,100% { transform:scale(1); } 50% { transform:scale(1.06); } }
@keyframes presence{ 0% { fill:var(--success); } 33% { fill:var(--orange-500); } 66% { fill:var(--danger); } }
@keyframes bar{ 0%,100% { transform:scaleX(.4); } 50% { transform:scaleX(1); } }
@keyframes queue{ 0% { transform:translateX(-20px); opacity:0; } 10% { opacity:1; } 90% { opacity:1; } 100% { transform:translateX(68cqw); opacity:0; } }
@keyframes press{ 0%,70%,100% { transform:scale(1); box-shadow:none; } 75% { transform:scale(.94); } 85% { box-shadow:0 0 0 8px rgba(246,145,33,.2); } }
@keyframes fly{ 0% { opacity:0; transform:translate(0,0) scale(.4); } 15% { opacity:1; } 70% { opacity:1; transform:translate(var(--tx), var(--ty)) scale(1); } 100% { opacity:0; transform:translate(var(--tx), var(--ty)) scale(.6); } }
:root:root:root .has-gsap .founder__sign path{ stroke-dashoffset:1; }
@keyframes sparkle{ 0% { transform:rotate(0) translateY(0); } 50% { transform:rotate(180deg) translateY(-6px); } 100% { transform:rotate(360deg) translateY(0); } }
@media (min-width:600px){:root:root:root .checklist--2col{ grid-template-columns:1fr 1fr; gap:12px 24px; }
:root:root:root .field-row{ grid-template-columns:1fr 1fr; }
:root:root:root .stats{ grid-template-columns:repeat(2, 1fr); }
:root:root:root .feats{ grid-template-columns:repeat(2, 1fr); }
:root:root:root .reviews__grid{ grid-template-columns:repeat(2, 1fr); align-items:start; }
:root:root:root .reviews__grid > .review:nth-child(even){ margin-top:48px; }
:root:root:root .reviews__grid{ padding-bottom:48px; }
:root:root:root .footer__top{ grid-template-columns:1fr 1fr; }
:root:root:root .audience{ grid-template-columns:repeat(2, 1fr); }
:root:root:root .others{ grid-template-columns:repeat(2, 1fr); }
:root:root:root .partners{ grid-template-columns:repeat(4, 1fr); }
:root:root:root .mission{ grid-template-columns:1fr 1fr; }

}
@media (min-width:900px){:root:root:root .nav__menu{ display:block; }
:root:root:root .nav__burger{ display:none; }
:root:root:root .nav__actions :is(.btn .elementor-button,.btn:not(.gx-w)){ display:inline-flex; }
:root:root:root .hero-slide{ grid-template-columns:minmax(0, 1.05fr) minmax(0, .95fr); }
:root:root:root .hero-slide__visual{ width:100%; }
:root:root:root .stats{ grid-template-columns:repeat(4, 1fr); }
:root:root:root .feats--3{ grid-template-columns:repeat(3, 1fr); }
:root:root:root .founder__grid{ grid-template-columns:.9fr 1.1fr; }
:root:root:root .tabs__panel{ grid-template-columns:1fr 1fr; }
:root:root:root .why__grid{ grid-template-columns:.85fr 1.15fr; }
:root:root:root .reviews__grid{ grid-template-columns:repeat(3, 1fr); }
:root:root:root .reviews__grid > .review:nth-child(even){ margin-top:0; }
:root:root:root .reviews__grid > .review:nth-child(3n+2){ margin-top:48px; }
:root:root:root .faqt__grid{ grid-template-columns:.8fr 1.2fr; }
:root:root:root .footer__top{ grid-template-columns:1.4fr 1fr 1fr 1.2fr; }
:root:root:root .page-hero__grid{ grid-template-columns:1fr 1fr; }
:root:root:root .split{ grid-template-columns:.8fr 1.2fr; }
:root:root:root .split__aside{ position:sticky; top:110px; }
:root:root:root .faq__layout{ grid-template-columns:300px 1fr; }
:root:root:root .faq__side{ position:sticky; top:110px; }
:root:root:root .faq__cats{ flex-direction:column; align-items:stretch; }
:root:root:root .contact__grid{ grid-template-columns:.85fr 1.15fr; grid-template-areas:"intro form" "info form"; row-gap:18px; }
:root:root:root .audience{ grid-template-columns:repeat(3, 1fr); }
:root:root:root .others{ grid-template-columns:repeat(4, 1fr); }

}
@media (min-width:1200px){:root:root:root .hero-slide__visual{ width:88%; margin-right:2%; }

}
@media (max-width:599px){:root:root:root .hero-slide__visual{ width:94%; }
:root:root:root .chip{ padding:8px 11px; font-size:12px; }
:root:root:root .bubble{ font-size:12px; padding:10px 12px; }
:root:root:root .tabs__tab{ padding:0 14px 0 6px; font-size:14px; }
:root:root:root .tabs__panel{ padding:16px; }
:root:root:root .pillars{ grid-template-columns:1fr; }
:root:root:root .sms-dash{ width:62%; left:4%; top:5%; padding:10px; }
:root:root:root .sms-dash__msg{ font-size:11px; padding:8px; }
:root:root:root .sms-dash__kpis b{ font-size:14px; }
:root:root:root .anim--cc{ padding:14px; gap:10px; }
:root:root:root .cc-wall{ left:14px; right:14px; bottom:14px; padding:10px 12px; }
:root:root:root .cc-wall__kpis b{ font-size:18px; }
:root:root:root .cc-agents{ display:none; }
:root:root:root .mobi-web{ width:70%; }
:root:root:root .marquee__track,:root:root:root .marquee__track :is(li,:where(.gx-tag-li)){ gap:36px; }
:root:root:root .marquee__track{ padding-right:36px; }
:root:root:root .marquee__track img{ max-height:44px; max-width:110px; }
:root:root:root :is(.btn--lg .elementor-button,.btn--lg:not(.gx-w)){ --h:52px; font-size:15px; }
:root:root:root .acc__a{ padding-left:22px; }
:root:root:root .page-hero__logo{ left:8px; }
:root:root:root .hero-slide__ctas :is(.btn .elementor-button,.btn:not(.gx-w)){ width:100%; justify-content:space-between; }

}
@media (prefers-reduced-motion:reduce){:root:root:root *,:root:root:root *::before,:root:root:root *::after{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:200ms !important; scroll-behavior:auto !important; }
:root:root:root .marquee{ mask-image:none; -webkit-mask-image:none; }
:root:root:root .marquee__inner{ animation:none !important; width:100%; }
:root:root:root .marquee__track{ flex-wrap:wrap; justify-content:center; width:100%; }
:root:root:root .marquee__track[aria-hidden="true"]{ display:none; }
:root:root:root .sms-b{ opacity:1; transform:translate(var(--tx), var(--ty)); }

}
:root:root:root .has-gsap .reveal:not(.is-revealed){ opacity:0; transform:translateY(24px); }
:root:root:root .has-gsap .hl__brush path,:root:root:root .has-gsap .draw-arcs .draw{ stroke-dashoffset:1; }
:root:root:root .reviews__note .ico{ fill:var(--tag-4); width:16px; height:16px; }
:root:root:root .mission__card{ justify-items:start; }
:root:root:root .badge-pill__dot svg{ width:18px; height:18px; }
:root:root:root .page-hero__text .crumbs{ margin-bottom:-4px; }
:root:root:root .hero-slide__text,:root:root:root .page-hero__text,:root:root:root .founder__content,:root:root:root .panel__text,:root:root:root .footer__top > *,:root:root:root .footer__top > :where(.gx-w) > :where(.elementor-widget-container) > *,:root:root:root .faqt__intro,:root:root:root .split > *,:root:root:root .split > :where(.gx-w) > :where(.elementor-widget-container) > *{ min-width:0; }
:root:root:root .hero-slide__text :is(.display .elementor-heading-title,.display:not(.gx-w)),:root:root:root .page-hero__text :is(.display .elementor-heading-title,.display:not(.gx-w)),:root:root:root .founder__content :is(.h2 .elementor-heading-title,.h2:not(.gx-w)){ justify-self:stretch; }
:root:root:root .badge-pill{ max-width:100%; }
@media (max-width:599px){:root:root:root .badge-pill{ white-space:normal; height:auto; min-height:32px; padding-block:5px; line-height:1.3; }
:root:root:root :is(.btn .elementor-button,.btn:not(.gx-w)){ max-width:100%; }
:root:root:root .cta__btns :is(.btn .elementor-button,.btn:not(.gx-w)){ width:100%; justify-content:space-between; }

}
:root:root:root .badge-pill__dot{ flex:none; width:24px; height:24px; }
:root:root:root .badge-pill__dot svg{ width:21px; height:21px; fill:var(--orange-600); }
:root:root:root .badge-pill--soft .badge-pill__dot svg,:root:root:root .badge-pill--light .badge-pill__dot svg{ fill:var(--orange-600); }
:root:root:root .badge-pill--soft .badge-pill__dot{ background:#fff; border:1px solid var(--orange-200); }
:root:root:root .founder__vision{ display:grid; gap:10px; padding:22px 24px; border-radius:var(--r-md); background:var(--bg-soft); border:1px solid var(--line); border-left:4px solid var(--orange-500); }
:root:root:root .founder__vision-label{ display:inline-flex; align-items:center; gap:8px; font:700 13px/1 var(--font); letter-spacing:.06em; text-transform:uppercase; color:var(--orange-700); }
:root:root:root .founder__vision :is(p,:where(.gx-tag-p)){ font:500 16px/1.6 var(--font); color:var(--gray-900); }
:root:root:root .founder__ctas{ display:flex; flex-wrap:wrap; gap:12px; }
:root:root:root .vision{ text-align:center; }
:root:root:root .vision__inner{ display:grid; justify-items:center; gap:20px; max-width:880px; }
:root:root:root .vision__text{ font:500 clamp(1.05rem, .95rem + .5vw, 1.3rem)/1.65 var(--font); color:var(--blue-100); }
:root:root:root .page-hero .founder__grid{ align-items:center; }
:root:root:root .founder__arcs{ filter:drop-shadow(0 14px 10px rgba(3,31,62,.16)); }
:root:root:root :is(.btn--whatsapp .elementor-button,.btn--whatsapp:not(.gx-w)){ background-image:linear-gradient(135deg, var(--wa-light) 0%, var(--wa) 45%, var(--wa-dark) 100%); color:#fff; box-shadow:0 8px 20px -10px rgba(18,161,80,.7); }
:root:root:root :is(.btn--whatsapp .elementor-button,.btn--whatsapp:not(.gx-w)) .ico--wa{ width:22px; height:22px; color:#fff; transition:color var(--dur-1), transform var(--dur-2) var(--ease-spring); }
:root:root:root :is(.btn--whatsapp:hover .elementor-button,.btn--whatsapp:hover:not(.gx-w)){ background-image:none; background-color:#fff; color:var(--wa-dark); border-color:var(--wa); transform:translateY(-2px); }
:root:root:root :is(.btn--whatsapp:hover .elementor-button,.btn--whatsapp:hover:not(.gx-w)) .ico--wa{ color:var(--wa); transform:rotate(-12deg) scale(1.1); }
:root:root:root .footer__social a[aria-label="WhatsApp"]{ background:var(--wa); color:#fff; }
:root:root:root .footer__social a[aria-label="WhatsApp"]:hover{ background:#fff; color:var(--wa); box-shadow:inset 0 0 0 1.5px var(--wa); }
:root:root:root .hv--cc :is(.hv-img img,.hv-img:not(.gx-w)){ width:74%; height:74%; }
:root:root:root .vcard{ position:relative; margin:0; overflow:hidden; isolation:isolate; display:grid; gap:18px; padding:clamp(24px, 3.2vw, 36px) clamp(22px, 3.2vw, 40px); border-radius:var(--r-lg);
  background:linear-gradient(150deg, var(--blue-800) 0%, var(--blue-900) 70%); color:#fff; box-shadow:0 24px 50px -24px rgba(3,31,62,.55); }
:root:root:root .vcard::before{ content:""; position:absolute; inset:auto -10% -40% 30%; height:80%; z-index:-1; background:radial-gradient(closest-side, rgba(246,145,33,.35), transparent); }
:root:root:root .vcard__arcs{ position:absolute; z-index:-1; right:-14%; top:-24%; width:62%; fill:var(--orange-500); opacity:.16; animation:rotate 60s linear infinite; }
:root:root:root .vcard__mark{ position:absolute; left:14px; top:-18px; z-index:-1; font:800 160px/1 var(--font); color:var(--orange-500); opacity:.22; }
:root:root:root .vcard__label{ display:inline-flex; align-items:center; gap:10px; width:fit-content; padding:6px 14px 6px 8px; border-radius:var(--r-pill); background:rgba(255,255,255,.1); font:700 12.5px/1 var(--font); letter-spacing:.12em; text-transform:uppercase; color:var(--orange-300); }
:root:root:root .vcard__dot{ width:10px; height:10px; border-radius:50%; background:var(--orange-500); box-shadow:0 0 0 4px rgba(246,145,33,.25); animation:live 1.8s ease-out infinite; }
:root:root:root .vcard__quote{ margin:0; }
:root:root:root .vcard__quote :is(p,:where(.gx-tag-p)){ font:500 clamp(1rem, .95rem + .35vw, 1.15rem)/1.65 var(--font); color:var(--blue-100); }
:root:root:root .vcard__quote em{ font-style:normal; font-weight:700; color:#fff; background:linear-gradient(transparent 62%, rgba(246,145,33,.55) 62%); padding:0 2px; border-radius:2px; }
:root:root:root .vcard__pills{ display:grid; grid-template-columns:repeat(3, 1fr); gap:10px; }
:root:root:root .vcard__pill{ display:flex; align-items:center; gap:10px; padding:10px 12px; border-radius:var(--r-sm); background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.12); transition:transform var(--dur-2) var(--ease-out), background-color var(--dur-2); }
:root:root:root .vcard__pill:hover{ transform:translateY(-3px); background:rgba(255,255,255,.12); }
:root:root:root .vcard__pill-ico{ display:grid; place-items:center; width:34px; height:34px; border-radius:10px; background:var(--grad-arc); color:var(--blue-900); flex:none; }
:root:root:root .vcard__pill-ico .ico{ width:18px; height:18px; }
:root:root:root .vcard__pill b{ display:block; font:700 13.5px/1.2 var(--font); color:#fff; }
:root:root:root .vcard__pill small{ font-size:12px; color:var(--blue-200); }
:root:root:root .vcard__sign{ justify-self:end; font:600 13px/1 var(--font); color:var(--orange-300); letter-spacing:.02em; }
:root:root:root .vcard__sign::before{ content:"— "; }
:root:root:root .vcard--big{ max-width:980px; margin-inline:auto; padding:clamp(28px, 5vw, 64px); }
:root:root:root .vcard--big .vcard__quote :is(p,:where(.gx-tag-p)){ font-size:clamp(1.15rem, 1rem + .8vw, 1.6rem); line-height:1.55; }
:root:root:root .vcard--big .vcard__mark{ font-size:260px; top:-40px; }
:root:root:root .vcard--big .vcard__pill{ padding:14px 16px; }
@media (max-width:700px){:root:root:root .vcard__pills{ grid-template-columns:1fr; }
 }
:root:root:root .media-card{ position:relative; margin:8px 0 0; width:100%; border-radius:var(--r-lg); overflow:hidden; aspect-ratio:4/3; box-shadow:var(--sh-3); background:var(--bg-soft); }
:root:root:root .media-card img{ width:100%; height:100%; object-fit:cover; transition:transform 1.2s var(--ease-out); }
:root:root:root .media-card:hover img{ transform:scale(1.05); }
:root:root:root .media-card::after{ content:""; position:absolute; right:-18%; bottom:-30%; width:60%; aspect-ratio:1; background:url("https://www.cm.gts-africa.com/wp-content/uploads/gts/media/gts-arcs.svg") center/contain no-repeat; opacity:.85; filter:drop-shadow(0 8px 10px rgba(3,31,62,.25)); transform:rotate(-20deg); transition:transform 1s var(--ease-out); pointer-events:none; }
:root:root:root .media-card:hover::after{ transform:rotate(10deg); }
:root:root:root .media-card__credit{ position:absolute; left:12px; bottom:10px; padding:4px 8px; border-radius:6px; background:rgba(3,31,62,.55); color:#fff; font-size:11px; }
:root:root:root .media-card--cut{ aspect-ratio:1; background:radial-gradient(closest-side, var(--blue-50), #fff); box-shadow:none; border:1px solid var(--line); }
:root:root:root .media-card--cut img{ object-fit:contain; }
:root:root:root .media-wide{ display:grid; gap:20px; margin-top:32px; }
:root:root:root .media-wide .media-card{ aspect-ratio:16/10; }
@media (min-width:900px){:root:root:root .media-wide{ grid-template-columns:1fr 1fr; }
:root:root:root .media-wide--contact{ grid-template-columns:1fr 1.2fr; align-items:stretch; }
:root:root:root .media-wide--contact .media-card{ margin:0; aspect-ratio:auto; min-height:260px; }
 }
:root:root:root .why__media{ position:relative; }
:root:root:root .why__media .media-card__credit{ top:12px; bottom:auto; }
:root:root:root .marquee{ padding-block:14px; }
:root:root:root .marquee__track{ gap:20px; padding-right:20px; }
:root:root:root .marquee__track :is(li,:where(.gx-tag-li)){ display:grid; place-items:center; gap:0; width:176px; height:96px; padding:12px; border-radius:var(--r-md); background:#fff; border:1px solid var(--line); box-shadow:var(--sh-1);
  transition:transform 450ms var(--ease-spring), box-shadow 400ms var(--ease-out), border-color 300ms; }
:root:root:root .marquee__track :is(li,:where(.gx-tag-li))::after{ display:none; }
:root:root:root .marquee__track img{ max-width:none; max-height:none; object-fit:contain; filter:grayscale(1) contrast(1.05); opacity:.6; transition:filter 400ms, opacity 400ms, transform 450ms var(--ease-spring); }
:root:root:root .marquee__track :is(li,:where(.gx-tag-li)):hover{ transform:translateY(-6px) scale(1.04); border-color:var(--orange-300); box-shadow:0 16px 30px -14px rgba(3,31,62,.28), 0 0 0 4px rgba(246,145,33,.12); }
:root:root:root .marquee__track :is(li,:where(.gx-tag-li)):hover img{ filter:none; opacity:1; transform:scale(1.08); }
:root:root:root .marquee__track img:hover{ transform:scale(1.08); }
@media (max-width:599px){:root:root:root .marquee__track :is(li,:where(.gx-tag-li)){ width:140px; height:80px; }
:root:root:root .marquee__track img{ transform:scale(.82); }
:root:root:root .marquee__track :is(li,:where(.gx-tag-li)):hover img{ transform:scale(.9); }
 }
:root:root:root .reviews__grid{ perspective:1200px; }
:root:root:root .review{ position:relative; overflow:hidden; transform-style:preserve-3d; will-change:transform; }
:root:root:root .review::before{ content:""; position:absolute; inset:0 0 auto; height:4px; background:var(--grad-arc); transform:scaleX(0); transform-origin:left; transition:transform 600ms var(--ease-out); }
:root:root:root .review:hover::before,:root:root:root .review.is-in::before{ transform:scaleX(1); }
:root:root:root .review::after{ content:"“"; position:absolute; right:18px; bottom:-34px; font:800 120px/1 var(--font); color:var(--blue-50); z-index:0; transition:transform 600ms var(--ease-out), color 400ms; }
:root:root:root .review:hover::after{ transform:translateY(-10px) rotate(-8deg); color:var(--orange-100); }
:root:root:root .review > *,:root:root:root .review > :where(.gx-w) > :where(.elementor-widget-container) > *{ position:relative; z-index:1; }
:root:root:root .review__av{ transition:transform 500ms var(--ease-spring), background-color 300ms, color 300ms; }
:root:root:root .review:hover .review__av{ transform:scale(1.12) rotate(-6deg); background:var(--blue-500); color:#fff; }
:root:root:root .review__rating svg{ transition:transform 500ms var(--ease-spring); }
:root:root:root .review:hover .review__rating svg{ transform:rotate(72deg) scale(1.2); }
:root:root:root .review__quote .w{ opacity:.15; transition:opacity 400ms; }
:root:root:root .review.is-in .review__quote .w{ opacity:1; }
:root:root:root .hv--cc :is(.hv-img img,.hv-img:not(.gx-w)),:root:root:root .media-card--cut img{ -webkit-mask-image:radial-gradient(ellipse 72% 70% at 50% 42%, #000 62%, transparent 100%); mask-image:radial-gradient(ellipse 72% 70% at 50% 42%, #000 62%, transparent 100%); }
:root:root:root .hv--cc :is(.hv-img img,.hv-img:not(.gx-w)){ width:80%; height:80%; }
:root:root:root .hv--cc .bubble--2{ top:auto; bottom:30%; right:-4%; }
:root:root:root .viz{ container-type:normal; }
:root:root:root .viz__svg{ position:absolute; inset:0; width:100%; height:100%; }
:root:root:root .viz__svg text{ font-family:var(--font); }
:root:root:root .viz__svg text:not([fill]){ fill:var(--gray-900); }
:root:root:root .viz__svg .t-xxs{ font-size:10.5px; font-weight:500; }
:root:root:root .viz__svg .t-xxs:not([fill]),:root:root:root .viz__svg .t-xs:not([fill]){ fill:var(--gray-600); }
:root:root:root .viz__svg .t-xs{ font-size:12px; font-weight:500; }
:root:root:root .viz__svg .t-sm{ font-size:13.5px; font-weight:700; }
:root:root:root .viz__svg .t-md{ font-size:15px; font-weight:700; }
:root:root:root .viz__svg .t-lg{ font-size:20px; font-weight:700; letter-spacing:-.02em; }
:root:root:root .viz__svg .t-xl{ font-size:26px; font-weight:700; letter-spacing:-.02em; }
:root:root:root .viz__svg .t-w:not([fill]){ fill:#fff; }
:root:root:root .viz__cap{ position:absolute; z-index:2; left:16px; top:14px; right:16px; display:flex; align-items:center; gap:10px; width:fit-content; max-width:calc(100% - 32px);
  padding:8px 14px 8px 10px; border-radius:var(--r-pill); background:rgba(255,255,255,.92); border:1px solid var(--line); box-shadow:var(--sh-1); font:600 13px/1.3 var(--font); color:var(--gray-900); }
:root:root:root .viz__live{ width:9px; height:9px; border-radius:50%; background:var(--orange-500); flex:none; box-shadow:0 0 0 4px rgba(246,145,33,.2); animation:live 1.8s ease-out infinite; }
:root:root:root .page-hero__logo--tr{ left:auto; right:-10px; top:-18px; }
@media (max-width:599px){:root:root:root .viz__cap{ font-size:11.5px; padding:6px 10px 6px 8px; }
 }
:root:root:root .hv--cc :is(.hv-img img,.hv-img:not(.gx-w)){ display:none; }
:root:root:root .hv-disc{ position:absolute; z-index:1; inset:0; margin:auto; width:76%; height:76%; border-radius:50%; overflow:hidden;
  background:radial-gradient(circle at 50% 30%, #fff 0%, var(--blue-25) 55%, var(--blue-100) 100%); box-shadow:inset 0 0 0 6px #fff, 0 24px 40px -20px rgba(3,31,62,.35); animation:float 7s var(--ease-in-out) infinite; }
:root:root:root .hv-disc img{ width:100%; height:100%; object-fit:cover; object-position:50% 18%; transform:scale(1.04); }
:root:root:root .hv--cc .bubble{ z-index:3; }
:root:root:root .founder__card{ inset:11%; border-radius:50%; border:6px solid #fff; box-shadow:0 24px 40px -20px rgba(3,31,62,.3); background:radial-gradient(circle at 50% 30%, #fff, var(--gray-100)); }
:root:root:root .founder__card img{ object-position:50% 14%; transform:scale(1.02); }
:root:root:root .founder__arcs{ inset:0; width:100%; height:100%; }
:root:root:root .founder__badge{ right:-4%; bottom:4%; }
:root:root:root .founder__excerpt{ container-type:inline-size; justify-self:stretch; margin:4px 0 0; padding:14px 20px; border:1px solid var(--line); border-radius:var(--r-sm); background:var(--bg-soft); }
:root:root:root .founder__excerpt :is(p,:where(.gx-tag-p)){ margin:0; font:500 clamp(13px, calc(100cqi / 36.4), 17px)/1.5 var(--font); color:var(--gray-900); white-space:nowrap; }
:root:root:root .founder__excerpt em{ font-style:normal; font-weight:700; color:var(--blue-500); background:none; }
@container (max-width: 470px){ .founder__excerpt p { font-size:15px; white-space:normal; text-wrap:balance; } }
:root:root:root .collage{ position:relative; aspect-ratio:1/1; max-width:540px; width:100%; margin-inline:auto; }
:root:root:root .collage__main{ position:absolute !important; inset:6% 4% 10% 10%; width:auto !important; margin:0 !important; aspect-ratio:auto !important; border-radius:var(--r-xl) !important; }
:root:root:root .collage__card{ position:absolute; z-index:2; display:flex; align-items:center; gap:12px; padding:14px 16px; border-radius:var(--r-md); background:#fff; border:1px solid var(--line); box-shadow:var(--sh-3); font:500 13px/1.3 var(--font); color:var(--text-muted); animation:float 7s var(--ease-in-out) infinite; }
:root:root:root .collage__card b{ display:block; font-weight:700; color:var(--gray-900); font-size:14px; }
:root:root:root .collage__card img{ width:40px; height:auto; }
:root:root:root .collage__card--a{ left:0; bottom:4%; }
:root:root:root .collage__card--b{ right:0; top:0; flex-direction:column; align-items:flex-start; gap:2px; animation-delay:-2s; }
:root:root:root .collage__card--c{ right:-2%; bottom:22%; animation-delay:-4s; }
:root:root:root .collage__big{ font:700 34px/1 var(--font); color:var(--blue-500); letter-spacing:-.03em; }
:root:root:root .shift{ display:grid; gap:16px; align-items:stretch; }
:root:root:root .shift__card{ position:relative; padding:28px; border-radius:var(--r-lg); border:1px solid var(--line); }
:root:root:root .shift__card :is(ul,:where(.gx-tag-ul)){ display:grid; gap:14px; margin-top:16px; }
:root:root:root .shift__card :is(li,:where(.gx-tag-li)){ position:relative; padding-left:30px; font-size:16px; line-height:1.5; }
:root:root:root .shift__card :is(li,:where(.gx-tag-li))::before{ content:""; position:absolute; left:0; top:3px; width:20px; height:20px; border-radius:50%; }
:root:root:root .shift__tag{ display:inline-block; padding:6px 12px; border-radius:var(--r-pill); font:700 12.5px/1 var(--font); letter-spacing:.08em; text-transform:uppercase; }
:root:root:root .shift__card--before{ background:var(--bg-soft); color:var(--text-muted); }
:root:root:root .shift__card--before .shift__tag{ background:var(--gray-100); color:var(--gray-600); }
:root:root:root .shift__card--before :is(li,:where(.gx-tag-li))::before{ background:#FDECEC url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 8l8 8M16 8l-8 8' stroke='%23C62F2F' stroke-width='2.6' stroke-linecap='round'/%3E%3C/svg%3E") center/12px no-repeat; }
:root:root:root .shift__card--after{ background:var(--grad-navy); color:var(--blue-100); border:0; box-shadow:0 24px 50px -24px rgba(3,31,62,.5); }
:root:root:root .shift__card--after .shift__tag{ background:var(--orange-500); color:var(--blue-900); }
:root:root:root .shift__card--after :is(li,:where(.gx-tag-li)){ color:#fff; font-weight:500; }
:root:root:root .shift__card--after :is(li,:where(.gx-tag-li))::before{ background:var(--orange-500) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m6 12.5 4 4L18 8' fill='none' stroke='%23031F3E' stroke-width='2.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat; }
:root:root:root .shift__arrow{ display:grid; place-items:center; width:52px; height:52px; margin:auto; border-radius:50%; background:var(--grad-arc); color:var(--blue-900); transform:rotate(90deg); box-shadow:var(--sh-btn-blue); }
@media (min-width:900px){:root:root:root .shift{ grid-template-columns:1fr auto 1fr; }
:root:root:root .shift__arrow{ transform:none; }
 }
:root:root:root .mission2{ text-align:center; }
:root:root:root .mission2__arcs{ position:absolute; z-index:-1; left:50%; top:50%; width:min(760px, 130%); transform:translate(-50%, -50%) rotate(-12deg); fill:var(--orange-500); opacity:.08; }
:root:root:root .mission2__inner{ display:grid; justify-items:center; gap:24px; max-width:960px; }
:root:root:root :is(.mission2__quote .elementor-heading-title,.mission2__quote:not(.gx-w)){ font-size:clamp(1.6rem, 1.2rem + 2vw, 2.75rem); line-height:1.25; letter-spacing:-.03em; }
:root:root:root :is(.mission2__quote .elementor-heading-title,.mission2__quote:not(.gx-w)) em{ font-style:normal; color:var(--blue-500); background:linear-gradient(transparent 70%, rgba(246,145,33,.35) 70%); }
:root:root:root .mission2__words{ display:flex; flex-wrap:wrap; justify-content:center; gap:10px; }
:root:root:root .mission2__words :is(li,:where(.gx-tag-li)){ padding:10px 18px; border-radius:var(--r-pill); background:#fff; border:1px solid var(--line); font:700 14px/1 var(--font); color:var(--gray-900); box-shadow:var(--sh-1); }
:root:root:root .mission2__words :is(li,:where(.gx-tag-li)):nth-child(1):not(:where(.elementor-widget-container) > *),:root:root:root .mission2__words :where(.gx-w):nth-child(1) > :where(.elementor-widget-container) > li{ border-color:var(--blue-200); }
:root:root:root .mission2__words :is(li,:where(.gx-tag-li)):nth-child(2):not(:where(.elementor-widget-container) > *),:root:root:root .mission2__words :where(.gx-w):nth-child(2) > :where(.elementor-widget-container) > li{ border-color:var(--orange-300); }
:root:root:root .mission2__words :is(li,:where(.gx-tag-li)):nth-child(3):not(:where(.elementor-widget-container) > *),:root:root:root .mission2__words :where(.gx-w):nth-child(3) > :where(.elementor-widget-container) > li{ border-color:#9FD4B9; }
:root:root:root .mission2__sub{ color:var(--text-muted); max-width:52ch; }
:root:root:root .htl{ position:relative; }
:root:root:root .htl__line{ position:absolute; left:0; right:0; top:62px; height:3px; border-radius:3px; background:var(--line); overflow:hidden; display:none; }
:root:root:root .htl__fill{ position:absolute; inset:0; background:linear-gradient(90deg, var(--orange-500), var(--blue-500)); transform-origin:left; transform:scaleX(1); }
:root:root:root .htl__list{ display:grid; gap:16px; }
:root:root:root .htl__item{ position:relative; display:grid; gap:8px; padding:20px; border-radius:var(--r-md); background:var(--bg-soft); border:1px solid var(--line); transition:transform var(--dur-2) var(--ease-out), box-shadow var(--dur-2), background-color var(--dur-2); }
:root:root:root .htl__item:hover{ transform:translateY(-6px); background:#fff; box-shadow:var(--sh-3); }
:root:root:root .htl__year{ font:700 34px/1 var(--font); letter-spacing:-.03em; color:var(--blue-500); }
:root:root:root .htl__item:last-child .htl__year{ color:var(--orange-600); }
:root:root:root .htl__dot{ display:none; }
:root:root:root .htl__item b{ font:700 16px/1.3 var(--font); color:var(--gray-900); }
:root:root:root .htl__item :is(p,:where(.gx-tag-p)){ font-size:14px; color:var(--text-muted); line-height:1.5; }
@media (min-width:900px){:root:root:root .htl__line{ display:block; }
:root:root:root .htl__list{ grid-template-columns:repeat(5, 1fr); }
:root:root:root .htl__item{ padding-top:70px; background:transparent; border-color:transparent; }
:root:root:root .htl__year{ position:absolute; top:0; left:20px; }
:root:root:root .htl__dot{ display:block; position:absolute; top:54px; left:20px; width:18px; height:18px; border-radius:50%; background:#fff; border:4px solid var(--orange-500); box-shadow:0 0 0 6px rgba(246,145,33,.15); }
:root:root:root .htl__item:hover{ background:var(--bg-soft); }

}
:root:root:root .partner__logo{ display:grid; place-items:center; height:64px; }
:root:root:root .partner__logo img{ max-height:56px; max-width:150px; width:auto; height:auto; mix-blend-mode:multiply; transition:transform 450ms var(--ease-spring); }
:root:root:root .partner:hover .partner__logo img{ transform:scale(1.08); }
:root:root:root .partner{ transition:transform var(--dur-2) var(--ease-out), box-shadow var(--dur-2); }
:root:root:root .partner:hover{ transform:translateY(-4px); box-shadow:var(--sh-3); background:#fff; }
:root:root:root .founder-band{ padding-block:clamp(36px, 5vw, 56px); background:var(--grad-navy); color:var(--blue-100); }
:root:root:root .founder-band__inner{ display:grid; gap:20px; align-items:center; justify-items:start; }
:root:root:root .founder-band h2{ color:#fff; }
:root:root:root .founder-band__kicker{ font:700 12px/1 var(--font); letter-spacing:.12em; text-transform:uppercase; color:var(--orange-300); margin-bottom:6px; }
:root:root:root .founder-band__pic{ position:relative; width:112px; height:112px; flex:none; }
:root:root:root .founder-band__pic img{ position:absolute; inset:12%; width:76%; height:76%; border-radius:50%; object-fit:cover; object-position:50% 14%; background:#fff; }
:root:root:root .founder-band__pic svg{ position:absolute; inset:0; fill:var(--orange-500); }
@media (min-width:900px){:root:root:root .founder-band__inner{ grid-template-columns:auto 1fr auto; }
 }
:root:root:root .fhero__roles{ display:flex; flex-wrap:wrap; gap:8px; }
:root:root:root .fhero__roles :is(li,:where(.gx-tag-li)){ padding:8px 14px; border-radius:var(--r-pill); background:var(--bg-soft); border:1px solid var(--line); font:600 13.5px/1.2 var(--font); color:var(--gray-900); }
:root:root:root .fhero__roles :is(li,:where(.gx-tag-li)):first-child:not(:where(.elementor-widget-container) > *),:root:root:root .fhero__roles :where(.gx-w):first-child > :where(.elementor-widget-container) > li{ background:var(--blue-50); border-color:var(--blue-100); color:var(--blue-600); }
:root:root:root .chaps{ position:relative; display:grid; gap:20px; }
:root:root:root .chaps__line{ display:none; }
:root:root:root .chap{ position:relative; display:grid; align-content:start; gap:10px; padding:26px 24px 24px; border-radius:var(--r-lg); background:#fff; border:1px solid var(--line); box-shadow:var(--sh-1); transition:transform var(--dur-2) var(--ease-out), box-shadow var(--dur-2); overflow:hidden; }
:root:root:root .chap:hover{ transform:translateY(-6px); box-shadow:var(--sh-3); }
:root:root:root .chap__num{ position:absolute; right:16px; top:6px; font:800 64px/1 var(--font); letter-spacing:-.04em; color:var(--blue-50); }
:root:root:root .chap__ico{ position:relative; display:grid; place-items:center; width:48px; height:48px; border-radius:14px; background:var(--grad-blue); color:#fff; }
:root:root:root .chap:nth-of-type(2) .chap__ico{ background:var(--grad-arc); color:var(--blue-900); }
:root:root:root .chap:nth-of-type(3) .chap__ico{ background:linear-gradient(135deg, #3DDC97, var(--success)); }
:root:root:root .chap:nth-of-type(4) .chap__ico{ background:var(--grad-navy); }
:root:root:root .chap__era{ position:relative; font:700 13px/1 var(--font); letter-spacing:.06em; text-transform:uppercase; color:var(--orange-700); margin-top:6px; }
:root:root:root .chap h3{ position:relative; font-size:19px; font-weight:700; }
:root:root:root .chap :is(ul,:where(.gx-tag-ul)){ position:relative; display:grid; gap:8px; }
:root:root:root .chap :is(li,:where(.gx-tag-li)){ position:relative; padding-left:16px; font-size:var(--fs-ui); line-height:1.5; color:var(--text-muted); }
:root:root:root .chap :is(li,:where(.gx-tag-li))::before{ content:""; position:absolute; left:0; top:.6em; width:6px; height:6px; border-radius:50%; background:var(--orange-500); }
@media (min-width:900px){:root:root:root .chaps{ grid-template-columns:repeat(4, 1fr); padding-top:12px; }
:root:root:root .chaps__line{ display:block; position:absolute; left:6%; right:6%; top:0; height:3px; border-radius:3px; background:var(--line); overflow:hidden; }
:root:root:root .chaps__fill{ position:absolute; inset:0; background:linear-gradient(90deg, var(--blue-500), var(--orange-500)); transform-origin:left; }

}
:root:root:root .edu{ display:grid; gap:20px; }
:root:root:root .edu__list{ display:grid; gap:12px; }
:root:root:root .edu__item{ display:flex; align-items:center; gap:14px; padding:16px 18px; border-radius:var(--r-md); background:var(--bg-soft); border:1px solid var(--line); }
:root:root:root .edu__ico{ display:grid; place-items:center; width:42px; height:42px; border-radius:12px; background:var(--blue-500); color:#fff; flex:none; }
:root:root:root .edu__item b{ display:block; font:700 15px/1.3 var(--font); color:var(--gray-900); }
:root:root:root .edu__item small{ color:var(--text-muted); font-size:var(--fs-small); }
@media (min-width:900px){:root:root:root .edu{ grid-template-columns:200px 1fr; align-items:center; }
:root:root:root .edu__list{ grid-template-columns:repeat(3, 1fr); }
 }
@media (max-width:599px){:root:root:root .hero-slide__ctas :is(.btn .elementor-button,.btn:not(.gx-w)),:root:root:root .cta__btns :is(.btn .elementor-button,.btn:not(.gx-w)),:root:root:root .mmenu__foot :is(.btn .elementor-button,.btn:not(.gx-w)){ justify-content:center; }
 }
:root:root:root .split--media{ align-items:center; }
:root:root:root .split--media > .media-card{ margin:0; aspect-ratio:4/3.1; }
:root:root:root .split__text{ display:grid; justify-items:start; gap:16px; }
:root:root:root .split__text .prose{ margin-top:4px; }
:root:root:root .split__text .prose > :is(p,:where(.gx-tag-p)):first-child:not(:where(.elementor-widget-container) > *),:root:root:root .split__text .prose > :where(.gx-w):first-child > :where(.elementor-widget-container) > p{ margin-top:0; }
@media (min-width:900px){:root:root:root .split--media{ grid-template-columns:1fr 1fr; }
 }
:root:root:root .media-card img{ object-position:50% 22%; }
:root:root:root .media-wide .media-card{ aspect-ratio:4/3; }
:root:root:root .media-wide .media-card img{ object-position:50% 12%; }
:root:root:root .media-card::after{ right:-10%; bottom:-14%; width:30%; opacity:.9; }
:root:root:root .shift__head{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; }
:root:root:root :is(.shift__logo img,.shift__logo:not(.gx-w)){ height:42px; width:auto; padding:6px 10px; border-radius:10px; background:#fff; }
:root:root:root .reviews__note .tcard__stars svg{ width:15px; height:15px; }
:root:root:root .tmarquee{ overflow:hidden; padding-block:16px 8px; mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); -webkit-mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
:root:root:root .tmarquee__inner{ display:flex; width:max-content; animation:tmarquee 55s linear infinite; }
:root:root:root .tmarquee:hover .tmarquee__inner,:root:root:root .tmarquee.is-paused .tmarquee__inner{ animation-play-state:paused; }
:root:root:root .tmarquee__track{ display:flex; gap:20px; padding-right:20px; }
@keyframes tmarquee{ from { transform:translateX(-50%); } to { transform:translateX(0); } }
:root:root:root .tcard{ width:360px; height:100%; display:flex; flex-direction:column; gap:16px; padding:24px; text-align:left; border-radius:var(--r-md); background:#fff; border:1px solid var(--line); box-shadow:var(--sh-card); cursor:pointer;
  transition:transform 450ms var(--ease-spring), box-shadow 400ms var(--ease-out), border-color 300ms; position:relative; overflow:hidden; }
:root:root:root .tcard::before{ content:""; position:absolute; inset:0 0 auto; height:4px; background:var(--grad-arc); transform:scaleX(0); transform-origin:left; transition:transform 500ms var(--ease-out); }
:root:root:root .tcard:hover{ transform:translateY(-8px) scale(1.03); box-shadow:var(--sh-3); border-color:var(--orange-200); }
:root:root:root .tcard:hover::before{ transform:scaleX(1); }
:root:root:root .tcard__top{ display:flex; justify-content:space-between; align-items:center; gap:10px; }
:root:root:root .tcard__stars{ display:inline-flex; gap:3px; }
:root:root:root .tcard__stars svg{ width:18px; height:18px; fill:var(--orange-500); }
:root:root:root .tcard__tag{ padding:5px 10px; border-radius:var(--r-pill); background:var(--blue-50); color:var(--blue-600); font:600 12px/1 var(--font); white-space:nowrap; }
:root:root:root .tcard__quote{ flex:1; font:400 var(--fs-body)/1.6 var(--font); color:var(--gray-900); display:-webkit-box; -webkit-line-clamp:5; -webkit-box-orient:vertical; overflow:hidden; }
:root:root:root .tcard__who{ display:flex; align-items:center; gap:12px; padding-top:14px; border-top:1px solid var(--line); }
:root:root:root .tcard__photo{ display:grid; place-items:center; width:48px; height:48px; border-radius:50%; overflow:hidden; flex:none; background:var(--grad-blue); color:#fff; font:700 16px/1 var(--font); box-shadow:0 0 0 3px #fff, 0 0 0 5px var(--orange-200); }
:root:root:root .tcard__photo img{ width:100%; height:100%; object-fit:cover; }
:root:root:root .tcard__who b{ display:block; font:700 15px/1.3 var(--font); color:var(--gray-900); }
:root:root:root .tcard__who small{ display:block; font-size:13px; color:var(--text-soft); margin-top:2px; }
:root:root:root .tmarquee__hint{ text-align:center; font-size:13px; color:var(--text-soft); margin-top:10px; }
:root:root:root .tmodal{ position:fixed; inset:0; z-index:200; display:grid; place-items:center; padding:20px; }
:root:root:root .tmodal__backdrop{ position:absolute; inset:0; background:rgba(3,31,62,.55); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); }
:root:root:root .tmodal__card{ position:relative; width:min(640px, 100%); padding:clamp(28px, 5vw, 48px); border-radius:var(--r-lg); background:#fff; box-shadow:0 40px 80px -30px rgba(3,31,62,.6); overflow:hidden; }
:root:root:root .tmodal__card::before{ content:"“"; position:absolute; right:24px; top:-30px; font:800 200px/1 var(--font); color:var(--orange-100); }
:root:root:root .tmodal__body{ position:relative; display:grid; gap:22px; }
:root:root:root .tmodal__body .tcard__stars svg{ width:26px; height:26px; }
:root:root:root .tmodal__body .tcard__quote{ -webkit-line-clamp:unset; display:block; font:500 clamp(1.15rem, 1rem + .6vw, 1.45rem)/1.55 var(--font); }
:root:root:root .tmodal__body .tcard__photo{ width:64px; height:64px; font-size:20px; }
:root:root:root .tmodal__body .tcard__who b{ font-size:17px; }
:root:root:root .tmodal__close{ position:absolute; z-index:2; right:14px; top:14px; display:grid; place-items:center; width:42px; height:42px; border-radius:50%; background:var(--bg-page); color:var(--gray-900); transition:background-color var(--dur-1), color var(--dur-1); }
:root:root:root .tmodal__close:hover{ background:var(--blue-500); color:#fff; }
@media (max-width:599px){:root:root:root .tcard{ width:290px; padding:20px; }
 }
@media (prefers-reduced-motion:reduce){:root:root:root .tmarquee__inner{ animation:none !important; }
:root:root:root .tmarquee{ overflow-x:auto; }
 }
:root:root:root .tmodal__body .tcard__top{ padding-right:52px; }
:root:root:root .why__grid > *,:root:root:root .why__grid > :where(.gx-w) > :where(.elementor-widget-container) > *,:root:root:root .page-hero__grid > *,:root:root:root .page-hero__grid > :where(.gx-w) > :where(.elementor-widget-container) > *,:root:root:root .tabs__panel > *,:root:root:root .tabs__panel > :where(.gx-w) > :where(.elementor-widget-container) > *,:root:root:root .contact__grid > *,:root:root:root .contact__grid > :where(.gx-w) > :where(.elementor-widget-container) > *,:root:root:root .faq__layout > *,:root:root:root .faq__layout > :where(.gx-w) > :where(.elementor-widget-container) > *,:root:root:root .founder__grid > *,:root:root:root .founder__grid > :where(.gx-w) > :where(.elementor-widget-container) > *,:root:root:root .faqt__grid > *,:root:root:root .faqt__grid > :where(.gx-w) > :where(.elementor-widget-container) > *{ min-width:0; }
@media (max-width:599px){:root{ --fs-h2:clamp(1.5rem, 1.2rem + 1.6vw, 1.75rem); }
:root:root:root .nav__brand small{ font-size:12px; }
:root:root:root :is(.btn .elementor-button,.btn:not(.gx-w)){ white-space:normal; height:auto; min-height:var(--h); padding-block:12px; line-height:1.25; text-align:center; }
:root:root:root .founder__ctas{ justify-self:stretch; display:grid; }
:root:root:root .founder__ctas :is(.btn .elementor-button,.btn:not(.gx-w)){ width:100%; }
:root:root:root .stats{ grid-template-columns:repeat(2, minmax(0, 1fr)); gap:10px; }
:root:root:root .stat{ padding:16px 14px; gap:4px; }
:root:root:root .stat__top{ margin-bottom:4px; }
:root:root:root .stat__desc{ font-size:13px; }
:root:root:root .hero__bar{ height:44px; }
:root:root:root .footer__top{ gap:28px; }
:root:root:root .footer__col{ gap:0; }
:root:root:root .footer__col h3{ margin-bottom:4px; }
:root:root:root .footer__col a{ padding-block:10px; }
:root:root:root .ccard a{ display:inline-block; padding-block:12px; margin-block:-12px; }
:root:root:root .tabs__rail{ mask-image:linear-gradient(90deg, #000 calc(100% - 48px), transparent); -webkit-mask-image:linear-gradient(90deg, #000 calc(100% - 48px), transparent); }
:root:root:root .faq__cats{ flex-wrap:nowrap; overflow-x:auto; scrollbar-width:none; margin-inline:calc(var(--gutter) * -1); padding:2px var(--gutter);
    mask-image:linear-gradient(90deg, #000 calc(100% - 48px), transparent); -webkit-mask-image:linear-gradient(90deg, #000 calc(100% - 48px), transparent); }
:root:root:root .faq__cats::-webkit-scrollbar{ display:none; }
:root:root:root .faq__cat{ flex:none; }
:root:root:root .panel__visual.viz{ aspect-ratio:auto; display:flex; flex-direction:column; }
:root:root:root .viz .viz__cap{ position:relative; inset:auto; margin:12px 12px 0; }
:root:root:root .page-hero__visual .viz .viz__cap{ margin-top:48px; }
:root:root:root .viz .viz__svg{ position:relative; inset:auto; height:auto; aspect-ratio:520/420; }
:root:root:root .partners{ grid-template-columns:repeat(2, minmax(0, 1fr)); gap:10px; }
:root:root:root .partner{ padding:16px 12px; overflow-wrap:anywhere; }
:root:root:root .partner__logo img{ max-width:100%; }
:root:root:root .cta__arcs{ opacity:.18; }

}
:root:root:root .ccm{ display:grid; grid-template-columns:minmax(0, 1fr); grid-template-areas:"intro" "form" "aside"; gap:clamp(28px, 4vw, 40px); align-items:start; }
:root:root:root .ccm__intro{ grid-area:intro; display:grid; justify-items:start; gap:18px; }
:root:root:root .ccm__intro .crumbs{ margin-bottom:-2px; }
:root:root:root :is(.ccm__logo img,.ccm__logo:not(.gx-w)){ display:block; width:clamp(220px, 34vw, 320px); height:auto; margin:0 0 -18px -8px; }
:root:root:root .ccm__intro .lead{ max-width:52ch; }
:root:root:root .ccm__intro .lead strong{ font-weight:600; color:var(--gray-900); }
:root:root:root .ccm__form{ grid-area:form; position:relative; overflow:clip; }
:root:root:root .ccm__form::before{ content:""; position:absolute; inset:0 0 auto 0; height:4px; background:linear-gradient(90deg, var(--blue-700) 0%, var(--blue-500) 45%, var(--cyan-400) 100%); }
:root:root:root .ccm__aside{ grid-area:aside; display:grid; gap:14px; }
:root:root:root .ccm__proline{ display:block; max-width:440px; border-radius:var(--r-sm); transition:transform var(--dur-2) var(--ease-out), filter var(--dur-2); }
:root:root:root .ccm__proline:hover{ transform:translateY(-2px); filter:drop-shadow(0 10px 18px rgba(0,99,175,.22)); }
:root:root:root .ccm__proline:focus-visible{ outline:3px solid var(--blue-500); outline-offset:4px; }
:root:root:root .ccm__proline img{ display:block; width:100%; height:auto; }
:root:root:root .ccm__note{ margin:0 0 4px; font-size:15px; line-height:1.5; color:var(--text-muted); }
:root:root:root .ccm__note a{ font-weight:600; color:var(--blue-500); white-space:nowrap; }
:root:root:root .ccm__cards{ display:grid; gap:10px; }
:root:root:root .ccm__cards .ccard{ padding:14px 16px; align-items:center; }
@media (min-width:640px) and (max-width:1023px){:root:root:root .ccm__cards{ grid-template-columns:repeat(3, minmax(0, 1fr)); }
:root:root:root .ccm__cards .ccard{ flex-direction:column; align-items:flex-start; }

}
@media (min-width:1024px){:root:root:root .ccm{ grid-template-columns:minmax(0, 5fr) minmax(0, 7fr); grid-template-areas:"intro form" "aside form"; column-gap:clamp(40px, 5vw, 72px); row-gap:32px; }
:root:root:root .ccm__intro{ padding-top:8px; }

}
@media (prefers-reduced-motion:reduce){:root:root:root .ccm__proline{ transition:none; }
:root:root:root .ccm__proline:hover{ transform:none; }
 }


/* ==== Raccords entre les zones Elementor (en-tête, page, pied de page) ==== */
:root:root:root .elementor-location-header{position:relative;z-index:100}
/* Bulle de chat 3CX (plugin du site) masquée : absente du site d'origine. Supprimer cette ligne pour la réafficher. */
[phonesystem-url][party]{display:none!important}

/* ==== Formulaires Fluent Forms aux couleurs du site ==== */
:root:root:root .gts-ff .fluentform{font:400 16px/1.5 var(--font);color:var(--text)}
:root:root:root .gts-ff .fluentform fieldset{min-inline-size:0}
:root:root:root .gts-ff .fluentform .ff-step-header{margin:0 0 28px}
:root:root:root .gts-ff .fluentform .ff-step-titles{display:flex;justify-content:space-between;gap:8px;margin:0;padding:0;overflow:visible;table-layout:auto;counter-reset:step;width:100%}
:root:root:root .gts-ff .fluentform .ff-step-titles li{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;padding:0;font:500 13px/1 var(--font);color:var(--text-soft);text-align:center}
:root:root:root .gts-ff .fluentform .ff-step-titles li::before{content:counter(step);counter-increment:step;position:relative;z-index:1;display:grid;place-items:center;width:34px;height:34px;margin:0;border:0;border-radius:50%;background:var(--bg-page);color:var(--text-muted);font:700 13px/1 var(--font);transition:background-color 400ms,color 400ms}
:root:root:root .gts-ff .fluentform .ff-step-titles li::after{content:"";position:absolute;z-index:0;top:17px;left:calc(50% + 22px);right:calc(-50% + 22px);width:auto;height:2px;background:var(--line)}
:root:root:root .gts-ff .fluentform .ff-step-titles li:last-child::after{display:none}
:root:root:root .gts-ff .fluentform .ff-step-titles li.ff_completed::after{background:var(--blue-500)}
:root:root:root .gts-ff .fluentform .ff-step-titles li.ff_active{color:var(--gray-900)}
:root:root:root .gts-ff .fluentform .ff-step-titles li.ff_active::before,:root:root:root .gts-ff .fluentform .ff-step-titles li.ff_completed::before{background:var(--blue-500);color:#fff;border:0}
/* indicateur « barre de progression » (formulaire ProCom n° 5) */
:root:root:root .gts-ff .fluentform .ff-el-progress-status{margin:0 0 12px;padding:0;font:600 17px/1.35 var(--font);color:var(--gray-900);letter-spacing:-0.01em}
:root:root:root .gts-ff .fluentform .ff-el-progress{height:8px;margin:0;border-radius:var(--r-pill);background:var(--gray-100);overflow:hidden}
:root:root:root .gts-ff .fluentform .ff-el-progress-bar{height:100%;border-radius:var(--r-pill);background:linear-gradient(90deg,var(--blue-500),var(--cyan-400));transition:width var(--dur-3) var(--ease-out)}
:root:root:root .gts-ff .fluentform .ff-el-progress-bar span{display:none}
:root:root:root .gts-ff .fluentform .gts-ff__legend{margin:0 0 8px;font:600 18px/1.3 var(--font);color:var(--gray-900)}
:root:root:root .gts-ff .fluentform .ff-el-group{margin:0 0 16px}
:root:root:root .gts-ff .fluentform .ff-el-group.ff-custom_html{margin:0}
:root:root:root .gts-ff .fluentform .ff-el-input--label{display:block;margin:0 0 6px;padding:0;font:500 14px/1.3 var(--font)}
:root:root:root .gts-ff .fluentform .ff-el-input--label label{display:inline;margin:0;font:500 14px/1.3 var(--font);color:var(--gray-900)}
:root:root:root .gts-ff .fluentform .ff-el-is-required.asterisk-right label::after{content:" *";margin-left:2px;color:var(--orange-700)}
:root:root:root .gts-ff .fluentform .ff-el-form-control{display:block;width:100%;min-height:52px;padding:12px 16px;border-radius:var(--r-sm);border:1px solid var(--line);background-color:var(--bg-soft);font:400 16px/1.4 var(--font);color:var(--gray-900);box-shadow:none;transition:border-color var(--dur-1),box-shadow var(--dur-1),background-color var(--dur-1)}
:root:root:root .gts-ff .fluentform textarea.ff-el-form-control{min-height:130px;resize:vertical}
:root:root:root .gts-ff .fluentform select.ff-el-form-control{appearance:none;-webkit-appearance:none;padding-right:44px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235B6475' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;background-size:18px}
:root:root:root .gts-ff .fluentform .ff-el-form-control::placeholder{color:var(--text-soft);opacity:1}
:root:root:root .gts-ff .fluentform .ff-el-form-control:hover{border-color:var(--gray-400)}
:root:root:root .gts-ff .fluentform .ff-el-form-control:focus{outline:none;background-color:#fff;border-color:var(--blue-500);box-shadow:0 0 0 4px rgba(0,99,175,.12)}
:root:root:root .gts-ff .fluentform .ff-el-is-error .ff-el-form-control{border-color:var(--danger)}
:root:root:root .gts-ff .fluentform .ff-el-is-error .error,:root:root:root .gts-ff .fluentform .text-danger{margin-top:6px;font:400 13px/1.4 var(--font);color:var(--danger)}
:root:root:root .gts-ff .fluentform .ff-t-container{display:grid;grid-template-columns:1fr;gap:0 16px;width:100%}
:root:root:root .gts-ff .fluentform .ff-t-cell{width:auto;padding:0;flex:none}
/* les étapes défilent côte à côte : on coupe à gauche et à droite seulement, pour garder les ombres des boutons et le halo de focus */
:root:root:root .gts-ff .fluentform .ff-step-container{overflow:visible;clip-path:inset(-24px 0 -40px 0)}
:root:root:root .gts-ff .fluentform .fluentform-step{overflow:visible}
:root:root:root .gts-ff .fluentform .ff-inner_submit_container .ff-t-cell,:root:root:root .gts-ff .fluentform .ff-inner_submit_container .ff-el-group{margin:0;padding:0}
:root:root:root .gts-ff .fluentform .ff-el-recaptcha{margin:8px 0 0}
/* dernière étape : « Précédent » et « Envoyer » sur la même ligne de base */
:root:root:root .gts-ff .fluentform .ff-inner_submit_container .step-nav{margin:0}
:root:root:root .gts-ff .fluentform .step-nav,:root:root:root .gts-ff .fluentform .ff_submit_btn_wrapper{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px;margin:8px 0 0;padding:0;text-align:right}
:root:root:root .gts-ff .fluentform .fluentform-step:has(> .ff_submit_btn_wrapper){display:flex;flex-wrap:wrap;align-items:center}
:root:root:root .gts-ff .fluentform .fluentform-step:has(> .ff_submit_btn_wrapper) > *{flex:0 0 100%}
:root:root:root .gts-ff .fluentform .fluentform-step:has(> .ff_submit_btn_wrapper) > .ff-inner_submit_container{flex:1 1 auto;order:98;width:auto;margin:8px 0 0;justify-content:flex-start}
:root:root:root .gts-ff .fluentform .fluentform-step:has(> .ff_submit_btn_wrapper) > .ff_submit_btn_wrapper{flex:0 0 auto;order:99;margin-left:auto}
:root:root:root .gts-ff .fluentform .ff-btn{--h:52px;display:inline-flex;align-items:center;justify-content:center;gap:10px;height:var(--h);min-width:0;margin:0;padding:0 28px;float:none;border-radius:var(--r-pill);border:1.5px solid transparent;font:600 15px/1 var(--font);white-space:nowrap;cursor:pointer;background-origin:border-box;box-shadow:none;transition:background-color var(--dur-1),color var(--dur-1),border-color var(--dur-1),box-shadow var(--dur-2),transform var(--dur-2) var(--ease-out)}
:root:root:root .gts-ff .fluentform .ff-btn:active{transform:scale(.98)}
:root:root:root .gts-ff .fluentform .ff-btn-next,:root:root:root .gts-ff .fluentform .ff-btn-submit{order:2;background-color:transparent;background-image:linear-gradient(135deg,#1E74B8 0%,var(--blue-500) 45%,var(--blue-800) 100%);color:#fff;box-shadow:0 8px 20px -10px rgba(0,99,175,.6)}
:root:root:root .gts-ff .fluentform .ff-btn-next:hover,:root:root:root .gts-ff .fluentform .ff-btn-submit:hover{background-image:none;background-color:#fff;color:var(--blue-500);border-color:var(--blue-500);box-shadow:var(--sh-btn-blue);transform:translateY(-2px);opacity:1}
:root:root:root .gts-ff .fluentform .ff-btn-prev{order:1;margin-right:auto;background-color:transparent;background-image:linear-gradient(135deg,#FFB25B 0%,var(--orange-500) 50%,#E0700A 100%);color:var(--blue-900);box-shadow:0 8px 20px -10px rgba(246,145,33,.7)}
:root:root:root .gts-ff .fluentform .ff-btn-prev:hover{background-image:none;background-color:#fff;color:var(--orange-700);border-color:var(--orange-500);transform:translateY(-2px);opacity:1}
:root:root:root .gts-ff .fluentform .ff-btn:focus-visible{outline:3px solid var(--blue-500);outline-offset:3px}
:root:root:root .gts-ff .fluentform .ff-btn.disabled,:root:root:root .gts-ff .fluentform .ff-btn[disabled]{opacity:.6;cursor:wait;transform:none}
:root:root:root .gts-ff .fluentform .ff-message-success{margin:0;padding:18px 20px;border:0;border-radius:var(--r-md);background:#E6F4EE;color:var(--success);box-shadow:none;font:500 15px/1.5 var(--font)}
:root:root:root .gts-ff .fluentform .ff-message-success p{margin:0}
:root:root:root .gts-ff .fluentform .ff-errors-in-stack{margin-top:14px;font:400 14px/1.4 var(--font);color:var(--danger)}
@media (min-width:600px){:root:root:root .gts-ff .fluentform .ff-t-container{grid-template-columns:1fr 1fr}}
@media (max-width:599px){:root:root:root .gts-ff .fluentform .ff-step-titles li{font-size:12px}:root:root:root .gts-ff .fluentform .ff-btn{--h:48px;padding:0 22px}}
/* le cadre reCAPTCHA (304 px fixes) dépasse la carte sur les petits téléphones : on le réduit */
@media (max-width:420px){:root:root:root .gts-ff .fluentform .ff-el-recaptcha{transform:scale(.86);transform-origin:0 0;margin-bottom:-10px}}
@media (prefers-reduced-motion:reduce){:root:root:root .gts-ff .fluentform .ff-btn,:root:root:root .gts-ff .fluentform .ff-el-form-control,:root:root:root .gts-ff .fluentform .ff-step-titles li::before{transition:none}}

/* ===== Founder block (home): hierarchy, one-line quote, quote card (2026-11-10) ===== */
:root:root:root:root .founder__role{ margin:-12px 0 8px; font-size:.95rem; letter-spacing:.005em; text-wrap:balance; }
:root:root:root:root .founder__excerpt{
  container-type:inline-size;
  justify-self:stretch;
  margin:4px 0 0;
  padding:14px 20px;
  border:1px solid var(--line);
  border-radius:var(--r-sm);
  background:var(--bg-soft);
}
:root:root:root:root .founder__excerpt :is(p,:where(.gx-tag-p)){
  margin:0;
  font:500 clamp(13px, calc(100cqi / 36.4), 17px)/1.5 var(--font);
  color:var(--gray-900);
  white-space:nowrap;
}
:root:root:root:root .founder__excerpt em{
  font-style:normal; font-weight:700; color:var(--blue-500); background:none;
}
@container (max-width: 470px){
  :root:root:root:root .founder__excerpt :is(p,:where(.gx-tag-p)){ font-size:15px; white-space:normal; text-wrap:balance; }
}
/* ===== Stats cards aligned (2026-11-10) ===== */
:root:root:root:root .stats > *, :root:root:root:root .stats .stat{ margin-top:0; }/* End custom CSS */