/* cyrillic-ext */
@font-face {
  font-family: 'Ubuntu';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/ubuntu/v20/4iCv6KVjbNBYlgoC1CzjvWyNPYZvg7UI.woff2)
    format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

/* cyrillic */
@font-face {
  font-family: 'Ubuntu';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/ubuntu/v20/4iCv6KVjbNBYlgoC1CzjtGyNPYZvg7UI.woff2)
    format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

/* greek-ext */
@font-face {
  font-family: 'Ubuntu';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/ubuntu/v20/4iCv6KVjbNBYlgoC1CzjvGyNPYZvg7UI.woff2)
    format('woff2');
  unicode-range: U+1F00-1FFF;
}

/* greek */
@font-face {
  font-family: 'Ubuntu';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/ubuntu/v20/4iCv6KVjbNBYlgoC1Czjs2yNPYZvg7UI.woff2)
    format('woff2');
  unicode-range: U+0370-03FF;
}

/* latin-ext */
@font-face {
  font-family: 'Ubuntu';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/ubuntu/v20/4iCv6KVjbNBYlgoC1CzjvmyNPYZvg7UI.woff2)
    format('woff2');
  unicode-range:
    U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF,
    U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */
@font-face {
  font-family: 'Ubuntu';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/ubuntu/v20/4iCv6KVjbNBYlgoC1CzjsGyNPYZvgw.woff2)
    format('woff2');
  unicode-range:
    U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329,
    U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* cyrillic-ext */
@font-face {
  font-family: 'Ubuntu';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/ubuntu/v20/4iCs6KVjbNBYlgoKcg72nU6AF7xm.woff2)
    format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

/* cyrillic */
@font-face {
  font-family: 'Ubuntu';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/ubuntu/v20/4iCs6KVjbNBYlgoKew72nU6AF7xm.woff2)
    format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

/* greek-ext */
@font-face {
  font-family: 'Ubuntu';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/ubuntu/v20/4iCs6KVjbNBYlgoKcw72nU6AF7xm.woff2)
    format('woff2');
  unicode-range: U+1F00-1FFF;
}

/* greek */
@font-face {
  font-family: 'Ubuntu';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/ubuntu/v20/4iCs6KVjbNBYlgoKfA72nU6AF7xm.woff2)
    format('woff2');
  unicode-range: U+0370-03FF;
}

/* latin-ext */
@font-face {
  font-family: 'Ubuntu';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/ubuntu/v20/4iCs6KVjbNBYlgoKcQ72nU6AF7xm.woff2)
    format('woff2');
  unicode-range:
    U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF,
    U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */
@font-face {
  font-family: 'Ubuntu';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/ubuntu/v20/4iCs6KVjbNBYlgoKfw72nU6AFw.woff2) format('woff2');
  unicode-range:
    U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329,
    U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* cyrillic-ext */
@font-face {
  font-family: 'Ubuntu';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/ubuntu/v20/4iCv6KVjbNBYlgoCxCvjvWyNPYZvg7UI.woff2)
    format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

/* cyrillic */
@font-face {
  font-family: 'Ubuntu';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/ubuntu/v20/4iCv6KVjbNBYlgoCxCvjtGyNPYZvg7UI.woff2)
    format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

/* greek-ext */
@font-face {
  font-family: 'Ubuntu';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/ubuntu/v20/4iCv6KVjbNBYlgoCxCvjvGyNPYZvg7UI.woff2)
    format('woff2');
  unicode-range: U+1F00-1FFF;
}

/* greek */
@font-face {
  font-family: 'Ubuntu';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/ubuntu/v20/4iCv6KVjbNBYlgoCxCvjs2yNPYZvg7UI.woff2)
    format('woff2');
  unicode-range: U+0370-03FF;
}

/* latin-ext */
@font-face {
  font-family: 'Ubuntu';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/ubuntu/v20/4iCv6KVjbNBYlgoCxCvjvmyNPYZvg7UI.woff2)
    format('woff2');
  unicode-range:
    U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF,
    U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */
@font-face {
  font-family: 'Ubuntu';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/ubuntu/v20/4iCv6KVjbNBYlgoCxCvjsGyNPYZvgw.woff2)
    format('woff2');
  unicode-range:
    U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329,
    U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  --primary-color: #03b1c7;
  --secondary-color: #00131f;
  --base-font-size: 16px;
  --base-font-family: 'Ubuntu', sans-serif;
  --h1-color: var(--primary-color);
  --h2-color: var(--primary-color);
  --h3-color: var(--secondary-color);
  --h4-color: var(--secondary-color);
  --h5-color: var(--secondary-color);
  --h6-color: var(--secondary-color);
  --p-color: var(--secondary-color);
  --primary-button-text-color: var(--secondary-color);
  --primary-button-background-color: #fff;
  --secondary-button-text-color: var(--primary-color);
  --primary-button-border-color: transparent;
  --secondary-button-background-color: transparent;
  --secondary-button-border-color: transparent;
}

html {
  scroll-behavior: smooth;
}

/* =========================
   GLOBAL (stabilise les espacements du builder + typographie)
 ========================= */
.hero,.sys,.infra,.process,.pricing,.faq,.cta,.footer{box-sizing:border-box}
.hero *,.sys *,.infra *,.process *,.pricing *,.faq *,.cta *,.footer *{box-sizing:border-box}

/* Anti-justify / anti "word spacing" forcé par certains builders */
.hero p,.sys p,.infra p,.process p,.pricing p,.faq p,.cta p,.footer p,
.sysCard__text,.processCard__text,.pricingCard__lead,.faqItem__content,.infraPoint__text{
  text-align:left!important;
  text-align-last:left!important;
  text-justify:auto!important;
  word-spacing:normal!important;
  letter-spacing:normal!important;
  hyphens:none!important;
  white-space:normal!important;
}

/* Exceptions: center specific intro text that should be centered */
.process .process__intro,
.pricing .pricing__intro,
.faq .faq__intro,
.cta .cta__text{
  text-align:center!important;
  max-width:none!important;
}

/* Exceptions: justify process card content */
.process .processCard__title,
.process .processCard__text{
  text-align:justify!important;
}

/* Harmonise le rythme vertical global (moins de "trous") */
.hero{padding:64px 16px 52px;max-width:100vw;overflow:hidden}
.sys{padding:52px 16px}
.infra{padding:64px 16px}
.process{padding:64px 16px}
.pricing{padding:64px 16px}
.faq{padding:64px 16px}
.cta{padding:72px 16px}
.footer{padding:28px 16px;border-top:1px solid #e5e7eb}

/* =========================
   SECTION 1 — HERO
 ========================= */
.hero__inner{max-width:1100px;margin:0 auto}
.hero__grid{display:flex;align-items:center;justify-content:space-between;gap:48px;flex-wrap:wrap}
.hero__copy{flex:1;min-width:280px;max-width:560px}
.hero__title{margin:0;font-size:46px;line-height:1.08;font-weight:900;letter-spacing:-0.03em;color:var(--secondary-color)}
.hero__accent{color:var(--primary-color)}
.hero__copy p{margin:0}
.hero__lead{margin-top:14px;font-size:16px;line-height:1.7;color:var(--secondary-color);max-width:60ch}
.hero__cta{margin-top:18px}

.hero__btn,
.cta__btn--primary{
  display:inline-flex;align-items:center;justify-content:center;
  padding:8px 14px;border-radius:6px;
  background:var(--primary-button-background-color);
  border:1px solid var(--primary-button-border-color);
  font-weight:900;font-size:14px;color:var(--primary-button-text-color);text-decoration:none;
  box-shadow:0 16px 36px rgba(15,23,42,.14);
  min-width:210px;
  transition:transform .15s ease,box-shadow .15s ease,background .15s ease,color .15s ease;
}
.hero__btn:hover,.cta__btn--primary:hover{transform:translateY(-1px);box-shadow:0 22px 46px rgba(15,23,42,.18);border:1px solid var(--hover-primary-button-border-color);background:var(--hover-primary-button-background-color)}
.hero__btn:visited,.hero__btn:active,.hero__btn:focus{text-decoration:none!important;color:var(--primary-button-text-color)!important}

.hero__visual{flex:1;min-width:320px;max-width:620px;display:flex;justify-content:flex-end}

/* HERO CARD */
.heroCard{
  width:100%;
  max-width:620px;
  border-radius:24px;
  background:linear-gradient(180deg,#eef2ff 0,#f5f3ff 100%);
  border:1px solid rgba(229,231,235,.9);
  padding:20px;
  display:grid;
  grid-template-columns:1.45fr 1fr;
  gap:14px;
  box-shadow:0 28px 70px rgba(15,23,42,.14);
}
.heroCard__left,.heroCard__seo,.heroCard__leads{
  background:#fff;
  border-radius:18px;
  border:1px solid rgba(229,231,235,.85);
  box-shadow:0 14px 40px rgba(15,23,42,.10);
}
.heroCard__left{padding:16px}
.heroCard__head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;gap:10px}
.heroCard__headTitle{font-size:13px;white-space:nowrap}
.pubPill{
  font-size:11px;font-weight:900;
  padding:6px 10px;border-radius:999px;
  border:1px solid rgba(229,231,235,.9);background:#fff;
  animation:pubGlow 6s ease-in-out infinite;
}
.heroCard__list{display:grid;gap:10px}
.aItem{
  padding:12px;border-radius:14px;
  background:#f8fafc;border:1px solid rgba(229,231,235,.9);
  opacity:.35;transform:translateY(6px);
  animation:artPulse 6s ease-in-out infinite;
}
.a1{animation-delay:0s}.a2{animation-delay:.7s}.a3{animation-delay:1.4s}
.heroCard__itemTitle{display:block;font-size:13px;line-height:1.25;color:var(--secondary-color)}
.heroCard__itemMeta{display:block;margin-top:4px;font-size:12px;line-height:1.35;color:var(--secondary-color)}

.heroCard__right{display:grid;grid-template-rows:1fr auto;gap:12px}
.heroCard__seo{padding:14px}
.heroCard__seoTitle{font-size:13px}

.heroChart{
  position:relative;height:130px;margin-top:10px;border-radius:14px;
  border:1px dashed rgba(148,163,184,.50);
  background:rgba(248,250,252,.85);overflow:hidden;
}
.heroChart__grid{position:absolute;inset:0;background:repeating-linear-gradient(to right,rgba(148,163,184,.16) 0 1px,transparent 1px 22px)}
.heroChart__svg{position:absolute;inset:10px 10px 12px 10px;width:calc(100% - 20px);height:calc(100% - 22px)}
.heroChart__line{stroke-dasharray:520;stroke-dashoffset:520;animation:seoDrawHero 6s ease-in-out infinite}
.heroChart__dots{animation:seoDotsHero 6s ease-in-out infinite}

.heroCard__leads{
  padding:14px;
  display:flex;align-items:center;justify-content:space-between;gap:12px;
}
.heroCard__leadsCopy{display:flex;flex-direction:column;gap:2px}
.heroCard__leadsTitle{font-size:13px}
.heroCard__leadsMeta{font-size:12px;color:var(--secondary-color)}
.leadPill{
  padding:7px 14px;border-radius:999px;
  background:#eef2ff;color:var(--primary-color);font-weight:900;
  border:1px solid rgba(79,70,229,.18);
  animation:leadPulse 6s ease-in-out infinite;
}

@keyframes artPulse{0%,18%{opacity:.25;transform:translateY(6px)}28%,68%{opacity:1;transform:translateY(0)}100%{opacity:.25;transform:translateY(6px)}}
@keyframes pubGlow{0%,25%{box-shadow:none}38%,70%{box-shadow:0 14px 30px rgba(79,70,229,.20)}100%{box-shadow:none}}
@keyframes leadPulse{0%,55%{transform:scale(1)}66%{transform:scale(1.06)}100%{transform:scale(1)}}
@keyframes seoDrawHero{0%{stroke-dashoffset:520;opacity:0}18%{opacity:1}52%{stroke-dashoffset:0}78%{stroke-dashoffset:0;opacity:1}100%{stroke-dashoffset:0;opacity:0}}
@keyframes seoDotsHero{0%,20%{opacity:0;transform:translateY(4px)}34%,78%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(-4px)}}

@media (prefers-reduced-motion:reduce){
  .aItem,.pubPill,.heroChart__line,.heroChart__dots,.leadPill{animation:none!important}
}

/* HERO responsive */
@media (max-width:980px){
  .hero{padding:56px 16px 44px}
  .hero__grid{flex-direction:column;align-items:flex-start;gap:22px}
  .hero__visual{justify-content:flex-start;max-width:100%;min-width:0}
  .heroCard{max-width:100%;grid-template-columns:1fr}
  .heroCard__headTitle{white-space:normal}
}
@media (max-width:520px){
  .hero__title{font-size:32px}
  .hero__btn{width:100%;min-width:0}
}

/* =========================
   SECTION 2 — SYS (fix final: pas de justification, pas d'espaces tirÃ©s)
 ========================= */
.sys__inner{max-width:1040px;margin:0 auto}
.sys__head{text-align:center;margin-bottom:28px}
.sys__title{
  margin:0 auto;
  max-width:980px;
  font-size:38px;
  line-height:1.18;
  font-weight:800;
  letter-spacing:-0.02em;
  color:var(--secondary-color);
  text-align:center!important;
}
.sys__titleMuted{color:var(--secondary-color);font-weight:700}
.sys__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;align-items:stretch}

.sysCard{
  background:#fff;
  border:1px solid rgba(229,231,235,.95);
  border-radius:20px;
  padding:24px;
  box-shadow:0 18px 44px rgba(17,24,39,.10);
  min-height:240px;
}
.sysCard__top{display:flex;flex-direction:column;align-items:center;text-align:center}
.sysCard__icon{width:46px;height:46px;border-radius:14px;display:flex;align-items:center;justify-content:center;margin-bottom:14px;font-size:18px}
.sysCard__icon--red{background:#fdecec;color:#ef4444}
.sysCard__title{margin:0;font-size:18px;font-weight:800;color:var(--secondary-color)}
.sysCard__text{
  margin:12px 0 0;
  color:var(--secondary-color);
  font-size:14px;
  line-height:1.65;
  text-align:left!important;
  text-align-last:left!important;
  word-spacing:normal!important;
  letter-spacing:normal!important;
  hyphens:none!important;
   white-space:normal!important;
  max-width:38ch;
}

@media (max-width:1024px){
  .sys__title{font-size:34px}
  .sys__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
  .sysCard{min-height:auto}
}
@media (max-width:560px){
  .sys__head{margin-bottom:22px}
  .sys__title{font-size:28px;line-height:1.22}
  .sys__grid{grid-template-columns:1fr;gap:14px}
  .sysCard{padding:18px}
}

/* =========================
   SECTION — Infrastructure
 ========================= */
.infra__inner{max-width:1100px;margin:0 auto}
.infra__grid{display:flex;gap:44px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.infra__copy{flex:1;max-width:640px}
.infra__title{margin:0;font-size:42px;line-height:1.12;font-weight:900;letter-spacing:-0.03em;color:var(--secondary-color)}
.infra__accent{color:var(--primary-color)}
.infra__lead{margin-top:14px;font-size:16px;line-height:1.7;color:var(--secondary-color);max-width:62ch}
.infra__points{margin-top:24px;display:flex;flex-direction:column;gap:18px}

.infraPoint{display:flex;gap:14px;align-items:flex-start}
.infraPoint__icon{
  width:44px;height:44px;border-radius:999px;
  background:#e8f0ff;
  border:1px solid rgba(37,99,235,.12);
  display:flex;align-items:center;justify-content:center;
  color:var(--primary-color);font-size:18px;flex-shrink:0;
}
.infraPoint__title{font-size:15px;font-weight:800;color:var(--secondary-color)}
.infraPoint__text{margin-top:6px;font-size:14px;line-height:1.65;color:var(--secondary-color);max-width:56ch}

.infra__panel{flex:0 0 460px;display:flex;justify-content:flex-end}
.infraPanel{
  width:100%;
  padding:32px;
  background:#fff;
  border:1px solid rgba(229,231,235,.95);
  border-radius:22px;
  box-shadow:0 26px 70px rgba(15,23,42,.12);
}
.infraPanel__head{display:flex;align-items:center;gap:10px;margin-bottom:18px}
.infraPanel__check{
  width:22px;height:22px;border-radius:50%;
  background:#2563eb;color:#fff;display:flex;align-items:center;justify-content:center;
  font-size:14px;font-weight:800;
}
.infraPanel__title{font-size:15px;font-weight:800;color:#111827}

.infraPanel__row{
  display:flex;justify-content:space-between;gap:14px;
  padding:14px 0;border-bottom:1px solid rgba(229,231,235,.95);
  font-size:14px;color:var(--secondary-color);
}
.infraPanel__row--last{border-bottom:none}
.infraPanel__value{font-weight:800;color:var(--primary-color)}
.infraPanel__note{margin-top:18px;font-size:13px;line-height:1.6;color:var(--secondary-color)}

@media (max-width:980px){
  .infra__grid{flex-direction:column;align-items:flex-start;gap:28px}
  .infra__panel{flex:1;max-width:100%;justify-content:flex-start}
  .infraPanel{padding:24px}
}
@media (max-width:520px){
  .infra__title{font-size:32px}
}

/* =========================
   SECTION — Process
 ========================= */
.process{text-align:center}
.process__inner{max-width:1100px;margin:0 auto}
.process__title{margin:0;font-size:38px;line-height:1.2;font-weight:900;letter-spacing:-0.02em;color:var(--secondary-color)}
.process__intro{margin:12px auto 0;max-width:720px;font-size:16px;line-height:1.7;color:var(--secondary-color)}

.process__grid{
  margin-top:36px;
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:18px;
}
.processCard{
  background:#fff;border:1px solid rgba(229,231,235,.95);
  border-radius:20px;padding:26px 22px;
  text-align:left;
  box-shadow:0 18px 44px rgba(17,24,39,.10);
  min-height:190px;
}
.processCard__num{font-size:34px;font-weight:900;line-height:1;color:var(--primary-color)}
.processCard__title{margin:12px 0 0;font-size:16px;font-weight:800;color:var(--secondary-color);text-align:justify!important}
.processCard__text{margin-top:10px;font-size:14px;line-height:1.65;color:var(--secondary-color);text-align:justify!important}

.process__divider{margin:44px auto 0;width:220px;height:1px;background:var(--primary-color)}

@media (max-width:1100px){
  .process__grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:900px){
  .process__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:560px){
  .process__title{font-size:30px}
  .process__grid{grid-template-columns:1fr;gap:14px}
  .processCard{padding:22px;min-height:auto}
}

/* =========================
   SECTION — Pricing
 ========================= */
.pricing{text-align:center}
.pricing__inner{max-width:1100px;margin:0 auto}
.pricing__title{margin:0;font-size:38px;line-height:1.2;font-weight:900;letter-spacing:-0.02em;color:var(--secondary-color)}
.pricing__intro{margin:12px auto 0;max-width:760px;font-size:16px;line-height:1.7;color:var(--secondary-color)}

.pricing__grid{
  margin-top:36px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  align-items:stretch;
}

.pricingCard{
  background:#fff;
  border:1px solid rgba(229,231,235,.95);
  border-radius:22px;
  padding:28px 24px;
  text-align:left;
  box-shadow:0 20px 52px rgba(17,24,39,.10);
}

.pricingCard--highlight{
  background:linear-gradient(180deg,#eef2ff 0%,#f3f4ff 65%,#f5f3ff 100%);
  border:1px solid rgba(79,70,229,.18);
  box-shadow:0 30px 80px rgba(79,70,229,.14);
}

.pricingCard__icon{
  width:44px;height:44px;border-radius:12px;
  border:1px solid rgba(229,231,235,.95);
  background:#fff;
  display:flex;align-items:center;justify-content:center;
  font-size:18px;color:var(--primary-color);margin-bottom:16px;
}
.pricingCard__title{margin:0;font-size:18px;font-weight:900;color:var(--secondary-color);line-height:1.25}
.pricingCard__lead{margin-top:10px;font-size:14px;line-height:1.65;color:var(--secondary-color)}

.pricingCard__list{margin:16px 0 0;padding:0;list-style:none;display:grid;gap:10px}
.pricingCard__list li{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:#334155;line-height:1.55}
.pricingCard__list li::before{content:"";margin-top:7px;width:6px;height:6px;border-radius:999px;background:var(--primary-color);flex-shrink:0}

.pricingCard__cta{margin-top:18px}
.pricingCard__link{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:8px 14px;border-radius:6px;
  background:var(--primary-button-background-color);
  border:1px solid var(--primary-button-border-color);
  font-size:14px;font-weight:900;color:var(--link-text-color);text-decoration:none;
}
.pricingCard__link:hover{text-decoration:none;transform:translateY(-1px);box-shadow:0 12px 26px rgba(15,23,42,.14);border:1px solid var(--hover-primary-button-border-color);background:var(--hover-primary-button-background-color)}
.pricingCard__note{margin-top:10px;font-size:12px;color:var(--secondary-color)}

@media (max-width:1024px){
  .pricing__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:560px){
  .pricing__title{font-size:30px}
  .pricing__grid{grid-template-columns:1fr;gap:14px}
  .pricingCard{padding:22px}
}

/* =========================
   SECTION — FAQ
 ========================= */
.faq__inner{max-width:900px;margin:0 auto}
.faq__head{text-align:center;margin-bottom:28px}
.faq__title{margin:0;font-size:38px;line-height:1.2;font-weight:900;color:var(--secondary-color)}
.faq__intro{margin:12px auto 0;font-size:16px;line-height:1.7;color:var(--secondary-color)}

.faqItem{
  background:#fff;
  border:1px solid rgba(229,231,235,.95);
  border-radius:20px;
  padding:22px 24px;
  margin-bottom:14px;
  box-shadow:0 18px 44px rgba(17,24,39,.08);
}
.faqItem__summary{
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  font-weight:900;
  font-size:16px;
  color:var(--secondary-color);
  outline:none;
}
.faqItem__summary::-webkit-details-marker{display:none}
.faqItem__icon{
  width:32px;height:32px;border-radius:999px;
  display:flex;align-items:center;justify-content:center;
  border:1px solid rgba(229,231,235,.95);
  background:#fff;
  font-size:16px;color:var(--secondary-color);
  transition:transform .2s ease;
}
details[open] .faqItem__icon{transform:rotate(180deg)}
.faqItem__content{
  margin-top:12px;
  max-width:760px;
  font-size:15px;
   line-height:1.7;
  color:var(--secondary-color);
}

@media (max-width:560px){
  .faq__title{font-size:30px}
  .faqItem{padding:18px 20px}
  .faqItem__summary{font-size:15px}
  .faqItem__content{font-size:14px}
}

/* =========================
   CSS VARIABLES
  ========================= */
:root {
  --primary-color: #03b1c7;
  --secondary-color: #00131f;
  --base-font-size: 16px;
  --base-font-family: 'Ubuntu', sans-serif;
  --h1-color: var(--primary-color);
  --h2-color: var(--primary-color);
  --h3-color: var(--secondary-color);
  --h4-color: var(--secondary-color);
  --h5-color: var(--secondary-color);
  --h6-color: var(--secondary-color);
  --p-color: var(--secondary-color);
  --primary-button-text-color: var(--secondary-color);
  --hover-primary-button-text-color: var(--secondary-color);
  --primary-button-background-color: #fff;
  --hover-primary-button-background-color: #fff;
  --primary-button-border-color: transparent;
  --hover-primary-button-border-color: transparent;
  --secondary-button-text-color: var(--primary-color);
  --hover-secondary-button-text-color: var(--primary-color);
  --secondary-button-background-color: transparent;
  --hover-secondary-button-background-color: transparent;
  --secondary-button-border-color: transparent;
  --hover-secondary-button-border-color: transparent;
  --link-text-color: var(--primary-color);
  --hover-link-text-color: var(--primary-color);
  --link-background-color: unset;
  --hover-link-background-color: unset;
  --link-border-color: unset;
  --hover-link-border-color: unset;
  --menu-text-color: #00131f;
  --hover-menu-text-color: #00131f;
}
.cta__inner{max-width:980px;margin:0 auto}
.cta__title{margin:0;font-size:38px;line-height:1.2;font-weight:900;letter-spacing:-0.02em;color:var(--secondary-color)}
.cta__text{margin:14px auto 0;max-width:760px;font-size:16px;line-height:1.75;color:var(--secondary-color)}
.cta__actions{margin-top:26px;display:flex;justify-content:center;align-items:center;gap:14px;flex-wrap:wrap}

.cta__btn,
.cta__btn--primary{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:8px 14px;min-width:220px;border-radius:6px;
  font-size:14px;font-weight:900;text-decoration:none;
  border:1px solid var(--primary-button-border-color);
  box-shadow:0 18px 44px rgba(15,23,42,.10);
  transition:transform .15s ease,box-shadow .15s ease;
}
.cta__btn--primary{background:var(--primary-button-background-color);color:var(--primary-button-text-color);border-color:var(--primary-button-border-color)}
.cta__btn--secondary{background:#fff;color:var(--secondary-color)}
.cta__btn:hover{transform:translateY(-1px);box-shadow:0 26px 70px rgba(15,23,42,.14);border:1px solid var(--hover-primary-button-border-color);background:var(--hover-primary-button-background-color)}
.cta__note{margin-top:12px;font-size:12px;line-height:1.6;color:var(--secondary-color)}

@media (max-width:560px){
  .cta{padding:64px 16px}
  .cta__title{font-size:30px}
  .cta__btn{width:100%;min-width:0}
}

/* =========================
   FOOTER
 ========================= */
.footer__inner{max-width:1100px;margin:0 auto}
.footer__top{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.footer__brand{display:flex;align-items:center;gap:12px}
.footer__logo{
  width:38px;height:38px;border-radius:999px;
  background:var(--secondary-color);color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-weight:900;font-size:14px;
  box-shadow:0 14px 34px rgba(15,23,42,.12);
}
.footer__name{font-weight:900;font-size:14px;color:var(--secondary-color)}
.footer__tagline{font-size:13px;color:var(--secondary-color)}
.footer__links{display:flex;gap:18px;flex-wrap:wrap}
.footer__link{font-size:13px;color:var(--secondary-color);text-decoration:none;font-weight:700}
.footer__link:hover{text-decoration:underline}
.footer__bottom{margin-top:18px;text-align:center;font-size:12px;color:var(--secondary-color)}

@media (max-width:560px){
  .footer__top{flex-direction:column;align-items:flex-start;gap:12px}
  .footer__bottom{text-align:left}
}

/* FIX SYS — neutralise les styles du builder qui justifient/étirent le texte */
.sys, .sys *{
  text-align: initial !important;
  text-justify: auto !important;
  word-spacing: normal !important;
  letter-spacing: normal !important;
  hyphens: none !important;
}

.sys .sys__head, .sys .sys__title{
  text-align: center !important;
}

.sys .sysCard__text{
  text-align: left !important;
  text-align-last: auto !important;
  text-justify: none !important;
  word-spacing: normal !important;
  letter-spacing: normal !important;
  hyphens: none !important;
  white-space: normal !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}

/* Simple Menu Styles */
section[section-id] .simple-menu {
  display: flex;
  flex-direction: var(--section-list-logo-alignment, column);
  overflow-y: hidden;
  gap: 5px;
}

section[section-id] .simple-menu.main {
  padding: 0.5rem;
  display: flex;
  flex-direction: row;
  width: 100%;
  justify-content: space-between;
}

section[section-id] .simple-menu.main ul li {
  list-style: none;
}

section[section-id] .simple-menu.main ul li a p {
  font-size: 16px;
  color: var(--section-menu-text-color, var(--menu-text-color));
}

section[section-id] .simple-menu .simple-menu.main .sign-up {
  font-size: 14px;
  border: 1px solid var(--primary-button-border-color);
  border-radius: 6px;
  padding: 8px 8px;
  color: var(--primary-button-text-color);
  background: var(--primary-button-background-color);
}